← Back to team overview

ubuntu-manual team mailing list archive

Re: disappearing translations


Hi Daniel,

2010/8/22 Daniel Schury <das.surst@xxxxxxxxxxxxxx>:
> Hash: SHA1
> Hi to all,
> is the problem with the disappearing translations really solved? I
> noticed, that the german translations for lucid-e1, which were 100% and
> already released, dropped to 20% and are 44% now, after somebody did
> some work on it...How does it happen all the time? It seems like it does
> not really sense to work on lucid-e2 without taking daily backups,
> unless the problem isn't solved

Someone else pointed this out on IRC at #ubuntu-translators last week.

Let me give some background first and then suggest what I think happened.

= Message sharing =

There are several translatable series:

* lucid-e1
* lucid-e2
* maverick

These series use message sharing. This means that if you do a
translation in maverick it propagates instantly to the other series if
the original string is identical. The same applies in other directions
(i.e. from lucid-e2 to maverick and lucid-e1, and so on).

= Automatic imports =

All those series are set (now) to import only templates from their
respective bzr branches. This means that every time a POT template is
updated and commited to the respective bzr branch, it appears
automatically in Launchpad.

This is useful for maintainers in the sense that they only need to
take care to update the template when appropriate (i.e. at the start
of a string freeze period) and commit it. Launchpad does the rest.

There is another setting: "Import translations and templates", which
also makes Launchpad import PO files present in a given branch. This
should only be used if a project is migrating to Launchpad and wants
to import existing translations, or if maintainers e.g. receive
translations per e-mail and want to commit them to the branch.

= Automatic exports =

Translations done in Launchpad are exported daily and automatically in
the form of PO files to a chosen branch. That branch is separate from
the development branch, and as far as I could tell, the ubuntu-manual
team merges it back to the trunk to make the latest translations
available there.

= Imports bug =

There is also a bug in Launchpad whereby empty translations from a
branch will replace the translations done in Launchpad:


= What happened =

That's what I believe happened.

The lucid-e1 and lucid-e2 series had the right setting in Launchpad,
"Import templates only", whereas maverick had the "Import templates
and translations" setting.

The translations branch was merged into the maverick branch. That
contained translations that were older than some done in Launchpad. As
such, some of these translations were empty in the branch, but not in
Launchpad. Combining the imports bug and the setting in the maverick
series, empty translations overwrote translations done in Launchpad.

Then message sharing came into place and those now empty translations
in maverick became also empty in lucid-e1 and lucid-e2.

After realising this on Friday, as a rosetta-admin I changed the
setting from the maverick series to "import templates and
translations" to "import templates only". Having talked to some admins
on #ubuntu-manual some weeks ago, I believe that's the setting you'd

= Conclusion =

So here's my advice:

* Everyone: keep an eye on https://launchpad.net/bugs/548375 if you
are interested in tracking when this is fixed. If someone has
development skills, they might even want to have a go at fixing it -
Launchpad is Open Source! https://dev.launchpad.net/
* Translators: keep backups of translations by exporting the Ubuntu
Manual PO files. Regardless of this bug, it might be adviseable, since
in such a big translation, data loss can be quite annoying.
* Maintainers: try to stick to the "Import templates only" setting
when opening new series for translations. This should avoid the
mentioned bug completely, and that's the correct setting for your
project anyway. You could also consider setting the automatic exports
of translations directly to each series' branch. That will save you
doing the merges (translations will) and keep translations up to date.
The only disadvantage is that translation commits might be in the way
(as in they appear in the commit history), but then again, the GNOME
project manages that approach quite well (see the translation commits
here as an example: http://git.gnome.org/browse/empathy/, but note
that translators themselves do the commits, they don't happen

I hope this helps.


Follow ups