Translation synchronization policy

Asked by Gintautas Miliauskas

What is the official Launchpad policy on translation synchronization? For example, for the coming GNOME 2.22 release, can I be sure that any local translations in Rosetta would be overwritten by upstream translations in GNOME? If yes, when will it happen? If not, how can I easily identify and override such local changes? What happens to old translations when a new distribution is created -- does the new distribution get the translations from the old distribution, or from upstream? How frequently are translations synchronized for unreleased software? I have not been able to find an official policy for coordinating L10N content with upstream, and the uncertainty is very frustrating.

Thanks in advance for your time.

Question information

Language:
English Edit question
Status:
Answered
For:
Launchpad itself Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Jeroen T. Vermeulen (jtv) said :
#1

Even though you don't mention it, I understand that you're talking about Ubuntu translations. There are really 3 parties that matter here: Ubuntu, Launchpad, and upstream projects. Unfortunately the lines are a bit blurred in some places, which is something we're working to fix, but not all your questions are really about Launchpad.

Now, on to your individual questions:

There is no Launchpad policy on when translations are synchronized. That is up to each individual project or distribution's translators. I've asked someone on the Ubuntu side to look at your question and explain Ubuntu's practices.

Differences between Ubuntu and upstream translations: if a string's translation is changed in Launchpad, Launchpad will keep using that translation for that string until it is told otherwise. As a matter of good practice, translators should keep changes in Launchpad to a minimum.

To revert a string to its upstream version, look it up in its translation page and select the "Packaged" translation (and then save the changes on that page, of course). It will then "stick" to the upstream version: when a new upstream translation for that string is uploaded, the package will automatically upgrade to the new translation.

You can find all strings that are currently changed in Launchpad by selecting "Changed in Launchpad" in the Show: box on the translation pages, and clicking Filter. You will then get a filtered view showing only the strings that have been changed in Launchpad, making it easier to review them and revert to upstream translations where it makes sense.

You also ask (if I understand you correctly) what happens when a new major Ubuntu version is created. The answer is that it starts out with a copy of the previous version's current translations. Any Ubuntu-specific changes are included.

It's not clear to me what you mean by unreleased software, but as I said I've asked a colleague to look at that part of your question.

Revision history for this message
Gintautas Miliauskas (gintas) said :
#2

Thank you for the thorough answers. Indeed I didn't mention Ubuntu because I forgot that Launchpad is bigger than that, sorry about the confusion. I'll be waiting for any relevant comments from Ubuntu people. I would still appreciate a few clarifications:

If a string is first translated in Launchpad and later the same string is translated upstream, the Launchpad translation is kept, correct?

Do strings translated only in Launchpad and not upstream count as 'Changed'?

Is there an easy way to reset changed translations of a whole package? A few packages have many changed translations that appear to have been carried over and over from old package versions (2006ish). It's not that much trouble to clickety-click through the pages of translations, but I am wondering if I can avoid this in the future. In effect what I am looking for is a "I trust upstream translations, reset all translations to packaged values" button.

I'm sorry I didn't clarify what I meant by unreleased software. Here's a concrete example: Ubuntu Hardy will carry GNOME 2.22 which is not yet released, so for the time being GNOME 2.21.xx is used for testing. At some point in time packages from GNOME 2.21 together with their translations were imported. Obviously, at the time of import the translations were incomplete. Can I expect that the latest translations that are going to ship with GNOME 2.22 will be merged in Launchpad automatically before Hardy is released, or is it my responsibility as a translation team coordinator to upload the latest translations?

An extra question: is there a way to do a global string search within translations in Launchpad? For example, if I want to change the translation of a particular word globally, is there something I can use to identify all instances of the old translation?

Thanks for your help in advance, and I hope I am not taking too much of your time.

Revision history for this message
Martin Pitt (pitti) said :
#3

For the "unreleased software" part: Hardy got GNOME 2.22 final in the last days. Every upload to Ubuntu automatically imports the source package's translations (i. e. the upstream ones) into Launchpad. In some cases they are held in a queue (when the domain or file paths change), but by and large they should be in LP now. Our automatically built langpacks will make sure that they will also land in Hardy shortly afterwards.

https://wiki.ubuntu.com/TranslationLifecycle describes the entire import/langpack process, FYI.

Revision history for this message
Jeroen T. Vermeulen (jtv) said :
#4

Yes, if a string is first translated in Launchpad and then later a translation imported from upstream also translates the same string, we keep the Launchpad version. Until somebody selects the upstream version in Launchpad, that is; if the last imported translation of the message is selected, then a new import from upstream will override the old one.

Strings that are translated in Launchpad but not upstream do not count as "Changed"; they're in a separate category, "Newly translated in Launchpad."

There's no easy way to reset the translations for an entire package; I'd suggest going through the translations using the "Changed in Launchpad" filter and reverting to the packaged (imported) version where possible. If there is a problem with strangers gratuitously overriding upstream translations, you may want to consider assigning a translation group and setting the privileges so that only members of that group can determine what translations go in and which don't.

Unfortunately there is no string search yet (bug 44). We're working on a search that will serve some use cases, but for now Google may be your best bet.

Can you help with this problem?

Provide an answer of your own, or ask Gintautas Miliauskas for more information if necessary.

To post a message you must log in.