Translation strings should be pushed regularly onto Transifex
Context
I am a translator for Taiwanese Mandarin (zh_TW
). I've just finished making zh_TW
translations catch up to the available source strings (so right now zh_TW
is among the languages marked as 100% translated).
Problem
The last source strings update was on 2023-11-12 (UTC+9) according to Transifex, ie. when shared-mime-info 2.4 was released. There are currently 41 strings that are in the source strings (new or updated) that haven't been synchronized to Transifex yet. These strings are guaranteed to be untranslated until the release after the next one given the current translation update process, if they don't get pushed before the next release.
If source string push happens on release, that makes it impossible for any language to ever ship at 100% translated no matter how hard translators try.
How this issue shows up:
- shared-mime-info 2.4 has 891 source strings
(counted by downloading the release then running this;
pocount
is from Translate Toolkit)meson setup _build; ninja -C build shared-mime-info-pot; pocount po/shared-mime-info.pot
- The maximum translation progress in 2.4 is 888 strings (de, pl, ru, sv, uk) because there were strings added between the last push before the release and the actual release. Since the push happened after release there was no chance for translators to catch up.
- 888 is higher than the total number in 2.3 (872), which suggests there was a push between 2.3 and 2.4
- The main branch right now has 919 strings
- The maximum translation progress on Transifex is still 891 strings because there hasn't been a push between the release of 2.4 and now.
- If a release happens today, new strings in the next version are guaranteed to be untranslated since we wouldn't have a chance to submit them before release
Proposed solution
- It would be nice if a source string push can happen now to clear the backlog.
- Ideally source strings are pushed whenever a commit lands in the main branch. This will make sure the source strings are always available for translation.
- This could be as simple as a
ninja -C _build shared-mime-info-pot && tx push --source
in the build job in.gitlab-ci.yml
. - That might have implications for the predictability of builds. But the issue is only being hidden right now by running the tool on maintainer's local machines instead of on CI.
- This could be as simple as a