obsolete translations exported to the branch
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
High
|
Данило Шеган |
Bug Description
a week ago, i slightly changed the format of some of the Chromium
strings to make them more readable for Translators. Here is an example:
chromium-
#. IDS_BROWSER_
#. - description: The format for titles displayed in tabs and popup windows
#: id: 3848258323044014972
-msgid "<ph name=\"
+msgid "%{PAGE_TITLE} - Chromium"
msgstr ""
I thought 'msgid' was the key, so i expected the old version to
disappear after some days (3??).
In the branch lp imports from me, there's no 'ph name=' anymore anywhere
(since Oct 24). Yet, in the branch lp exports to me, i have thousands of
'ph name='.
ex with 384825832304401
$ grep -A2 3848258323044014972 chromium_strings/*
chromium_
chromium_
chromium_
--
chromium_
chromium_
chromium_
--
chromium_
chromium_
chromium_
--
chromium_
chromium_
chromium_
$ find * | xargs grep -c 'ph name' | grep -v :0
chromium_
chromium_
chromium_
chromium_
devtools_
devtools_
devtools_
inspector_
inspector_
(all those 'po' are new, upstream doesn't have translations for those
templates)
The problem is that those strings, once turned back into their original
grit format, are causing FTBFS of the package.
So now, i'm kind of stuck. I had to disable the translation patching in
my package to prevent the FTBFS, which is too bad after the time i've
spent on this.
After an initial investigation by henninge, it seems the tarball export is fine, so it's a bug in the branch export script.
Related branches
- Gavin Panella (community): Approve
-
Diff: 53 lines (+22/-1)3 files modifiedlib/lp/translations/doc/translations-export-to-branch.txt (+2/-0)
lib/lp/translations/scripts/tests/test_translations_to_branch.py (+18/-0)
lib/lp/translations/scripts/translations_to_branch.py (+2/-1)
tags: | added: code-integration |
Changed in rosetta: | |
assignee: | nobody → Данило Шеган (danilo) |
milestone: | none → 10.12 |
status: | Triaged → In Progress |
Changed in rosetta: | |
status: | In Progress → Fix Committed |
tags: |
added: qa-ok removed: qa-needstesting |
The problem seems to be in the optimization to recognize when PO files need to be re-exported: updated template doesn't trigger export of all PO files. In general, this is not a big issue for proper gettext handling applications because missing messages from PO files are considered untranslated anyway (and since there were no updates on these PO files, since the POT messages are new they are still untranslated).
In general, I suggest you normalize PO files against the POT file using msgmerge during the build process if you depend on PO file being complete ("msgmerge -U chromium_ strings/ fi.po chromium_ strings/ chromium_ strings. pot"): that is recommended anyway (even when we fix this bug, it will make your build process much less fragile and actually dependent only on your POT file being correct).