aboutsummaryrefslogtreecommitdiffhomepage
path: root/com.dec05eba.gpu_screen_recorder.desktop.in
AgeCommit message (Collapse)Author
2026-06-10feat: add gettext i18n with translations (vi, de, fr, it, es, pt)Trung Lê
Wire up internationalization for the app and ship six translations. Infrastructure: - meson: import i18n, define GETTEXT_PACKAGE/GSR_LOCALEDIR, add po/ subdir, and translate the .desktop and AppStream metainfo via i18n.merge_file (renamed to .desktop.in / .metainfo.xml.in). - main.c: setlocale + bindtextdomain/textdomain so the catalog is loaded. - po/: LINGUAS, POTFILES.in, meson.build (glib preset). String marking: - Wrap every user-visible string with _() across main.c, gsr-window.c, the four pages and the shortcut dialog (titles, subtitles, labels, buttons, combo display names, notifications, toasts, dialogs, menu items). - Leave ids/keys untranslated: codec/container/service ids, GAction/icon/CSS names, GVariant/format strings, accelerators, etc. Linting: - Re-enable gobject-linter's untranslated_string rule (now that i18n exists) as an error so new user-visible strings must be wrapped. Translations (141 messages each, %s/%d/markup placeholders preserved): - Vietnamese (vi), German (de), French (fr), Italian (it), Spanish (es), Portuguese (pt). Codec names, "OK", proper nouns and the product name are intentionally left in English. Verified: msgfmt --check-format passes and the compiled catalogs resolve (e.g. "Record" -> "Ghi hình" / "Aufnahme" / "Enregistrement").