Launchpad Translations 2.1.12: Change in translation precedence policy
danilo at canonical.com
Thu Dec 25 11:50:00 GMT 2008
Launchpad Translations has changed the translation precedence policy
with the December release: now upstream ("packaged") translations will
be given more priority in specific cases. Yet, Launchpad Translations
keeps the ability to override any specific upstream translation if so is
This mostly concerns Ubuntu and it's upstreams (packages), though it
will have a small effect on projects hosting their translations in
Launchpad as well. If you understand better with examples, just look at
the "examples" section below.
== Ubuntu ==
This should be the final solution that will make sync from Ubuntu's
upstream translations (contained in packages, thus also called
"packaged") "Do The Right Thing".
When a translation has been (inadvertently) modified before a packaged
translation was imported, when packaged translation actually comes in,
it will be set as the active one.
However, if there was already a packaged translation, translators
working on Ubuntu translations in Launchpad will be able to override it,
and when a new packaged translation comes in, it won't be set active
unless Ubuntu translator decides to do that.
This should solve the most common problem of diverging translations
between Ubuntu and it's upstreams: they are done accidentally (i.e. done
in Launchpad before upstreams have even started their work on
Now, we can concentrate on providing better tools for sending
fixes/improvements done in Launchpad upstream.
This is not a perfect solution, and still means duplicate, unnecessary
work. To further alleviate that, we'll work on providing more frequent
sync with upstreams in the future, but there's a lot of hard work
Note that all of this happens on a single "message" level basis.
=== Recommended convergence path ===
To "converge" all Ubuntu's and it's upstreams translations, this is the
procedure we recommend.
1. Go through all the Ubuntu packages for your language, and look for
"changed in Launchpad" messages (you can see the count in "Changed"
column on language overview pages like
https://translations.launchpad.net/ubuntu/intrepid/+lang/sr — clicking
on the number there will take you directly to just those messages, and
you can easily revert by choosing a "Packaged" translation). You have
to be a reviewer for your language to do this (i.e. member of Ubuntu
translations team for the language).
2. For any changed translations that you keep, we suggest you submit
them upstream so they benefit from your work as well.
3. If 1. involves too much work, we can arrange for automatically
reverting all translations in Ubuntu for a particular language. To
discuss that (because it's hardly the best thing to lose all potential
fixes and improvements), please file a question on
4. Keep submitting fixes/improvements you make upstream: during course
of your work on Ubuntu translations, you'll find more problems and
you'll fix them. For your translation to hit other distributions, you
should submit them upstream.
=== Examples ===
To illustrate when upstream translations have precedence, here's an
1. GNOME Panel, message "_Open", untranslated
2. Ubuntu GNOME Panel message for "_Open" is untranslated
3. Someone translates Ubuntu message in Launchpad to "_Foo"
4. Upstream translates "_Open" to "_Bar"
5. When new upstream translation arrives, Launchpad makes "_Bar" active
over "_Foo" (making "_Foo" a suggestion)
Example case where Launchpad translation takes precedence is:
1. GNOME Panel, message "_Open", translated to "Foow"
2. Ubuntu GNOME Panel translation for "_Open" is imported and is now
3. Someone fixes translation in Ubuntu to "_Foo"
4. Upstream changes translation for "_Open" to "Foo"
5. When new upstream translation arrives, Launchpad keeps "_Foo" active
over upstream's "Foo"
Now, ideally, Ubuntu translators will forward fixes upstream as well, so
a new upstream translation matching "_Foo" would actually come from
upstream, the two will be matched, and Ubuntu would continue using the
upstream translation from then on (even if it changes: that's the logic
that Launchpad Translations already has).
== Launchpad hosted projects ==
For projects doing their translations in Launchpad, it will all behave
just like for Ubuntu, but "packaged translations" term can replaced by
"translations uploaded by project maintainers" (later, through bzr sync
Since it's a general procedure for maintainers to only do an initial
upload of translations, and only regularly upload new templates (POT
files), this should not affect anyone. Those having multiple sources of
translations (i.e. someone committing translations directly to their
source code repository) would be able to benefit from the same
improvement as Ubuntu translators will.
For any questions, feel free to email me or ask on
More information about the ubuntu-translators