Patches and translations

When changing a string of text as a part of a patch, how should the translation in the .po files be handled? For example, a recent paper cut I've worked on involved changing the string "Reboot Anyway" to "Restart Anyway" when gnome-session detected applications still running during restart. When I greped for the offending string, I found not only the string on the Gtk button, but identical strings in a long list of .po files which I later learned contained translations.

The format of these translations of along the lines of

msgid:Reboot Anyway
<translated text>

Changing the text of only the button would results in a discrepancy between the text on the English button and the translation, and changing the msgid line would result in a similar situation. How should I raise the issue that new translations are needed? I know this is a trivial problem in this example, but there are other such bugs that involve rewriting entire paragraphs of text.


You should just create a patch that changes the string in the code, and the rest should be taken care of for you.

When the package is built, the translation template (the gnome-session.pot file) will be regenerated and will pick up your changed string. The template will then be uploaded into Launchpad and the new strings will be exposed for translation there. The old "Reboot Anyway" translations will be marked as obsolete.

Since it is such a visible string, I would strongly encourage you to let the Ubuntu translators know about this, to make sure they are aware of the change and that this string does not unnoticedly become untranslated. You should simply send an e-mail explaining the change to the ubuntu-translators list.

You might have already done that, but this is a really visible change, and one that will mean we'll have to carry diverged translations in Ubuntu, so I'd also encourage you to talk to the upstream gnome-session maintainers to see if the change can be accepted there first, which will make the process a lot easier, both for packagers and translators.