Comment 3 for bug 818230

Revision history for this message
Данило Шеган (danilo) wrote : Re: LP translations get overwritten by upstream imports

First of all, Launchpad does not prefer Launchpad translations at all times. Actually, it mostly prefers upstream translations. Only when an upstream translation has been consciously overridden in Ubuntu is it kept when new upstream translations show up.

What you are experiencing seems to be two problems: multi-release translations imports interfering with translations sharing, and the fact that chromium-browser can not really be properly represented in Launchpad.

The former would manifest itself as older upstream translations overriding more recent ones in a different series simply through a package re-upload (in Ubuntu: eg. re-uploading old package in Natty will override translations in Oneiric) or import from a branch on older project series (for chromium-browser, but it has only a single series which imports translations, so it could not be it there). Since we give preference to upstream translations, we should at least ensure they are newer than what we already have in the database.

As for the problem you are having with chromium-browser translations, it really is a fact that Launchpad is not designed to properly represent a fork of a project, which is what you are trying to achieve. Launchpad believes launchpad.net/chromium-browser is the *upstream* for translations, and whenever they are imported from a source tree, it gives them preference as well. Ideally, we'd have special support for this, or at least an option to change what translations are given preference (this has been requested in the past as well). I'd like to make this bug about this particular problem, so I am triaging it as a feature request. It shouldn't be hard to implement, but we are not likely to have time to do that anytime soon.

Alternatively, I know Fabian has done great work with making stuff work better for chromium-translations, and he can still decide to merge translations differently with Launchpad ones before they are imported.

Since Launchpad is open source, we do invite anyone interested to contribute as well, and one can start on https://dev.launchpad.net/. The relevant functionality to start looking at is in lib/lp/translations/model/potmsgset.py mostly passed around as share_with_other_side argument to methods.