Repository navigation
First translations for the Linux app #3643
Copy link
Copy link
Closed
Labels
enhancementNew feature or requestNew feature or requestplatform-linuxAbout the Linux appAbout the Linux app
Description
Problem
The Linux app ships in English only. linux/po/LINGUAS holds its two comment lines and no locale, so the packages install no catalogue.
The plumbing is in place (linux/ROADMAP.md, Packaging and platform, Translations):
- The app's strings go through gettext (
linux/crates/app/src/i18n.rs): about 1,150 calls incrates/app/srcoutside the tests, plus the translatable strings indata/resources/ui/, the desktop entry, the metainfo and the GSettings schema. po/POTFILES.inlists every source file, and CI fails when it is stale.linux/po/README.mddescribes adding a locale withmsginitand updating it withtablepro-update-po.
What makes a start harder today:
tablepro.potis not committed (ci(linux): drop the doc-symbol step and stop committing tablepro.pot #3575), and generating it needs gettext 1.0 or newer (linux/po/README.md, Generating tablepro.pot). Ubuntu 26.04 ships 0.23.2 and Fedora 44 ships 0.26, so a translator on either cannot produce the template.- Release criterion 9 is still open: a few SSH details from the ssh crate and some TLS failures still reach the user in English (
linux/ROADMAP.md, Release criteria). - There is no stated place for translators to work.
Proposed solution
- Start with the languages the macOS app already ships, so the same translators can help: French, Korean, Turkish, Vietnamese, Simplified Chinese and Traditional Chinese (
apple/TablePro/Resources/Localizable.xcstrings), asfr,ko,tr,vi,zh_CNandzh_TW. - Have CI generate
tablepro.potwith gettext 1.0 and publish it, as a workflow artifact onmainand a file on eachlinux-v*release, so translators do not need gettext 1.0 themselves. - Decide where translators work, pull requests against
po/*.poonly or a hosted translation service, and say so inlinux/CONTRIBUTING.mdandlinux/po/README.md. - Add a locale to
LINGUASonly once it is complete enough to ship, and check that both packages install its.moand that the app shows it under that locale. - Close release criterion 9 before asking for translations, so translators are not asked twice.
Done means: at least one locale is in LINGUAS, the PPA and COPR packages install it, and the app starts translated under that locale.
Alternatives considered
No response
Platform
Linux
Related database type
N/A / General
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestplatform-linuxAbout the Linux appAbout the Linux app
Activity