How to merge upstream and Launcpad translations?

Asked by Peter Clifton

Hi,

Since gEDA we (the gEDA project) uploaded our .pot files to Launchpad, there have been upstream changes to strings, and some translators have continued to work checking in translation changes to our git repository.

In the mean time, some translations have been changed on Launchpad.

Working through the documentation and FAQs for rosetta, I can't figure out what the best workflow to deal with this is. We'd like to merge new translations from Launchpad back upstream to our git repository, and have Launchpad show "green" translation status for such strings.

Do we need to upload the latest .pot files from our last release? If so, what about .po files which may have been changed?

If I upload new .po files from our git repo, is there some mechanism whereby any existing launchpad changes are merged in, or do we risk loosing people's translation work? I assume there could be a degenerate case where some have been changed both in Launchpad and upstream. Is there some conflict resolution interface to deal with this?

If we're going about using Launchpad-translations wrong, please let me know. For the moment, we don't really want to loose the option of translators working directly into our git repository. Is that possible?

Do I need to download all the launchpad translations, manually merge them offline (then re-upload to Launchpad?).

Thanks for your help

Peter C.

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

The case is a bit unusual: we normally expect a translation to "live" either inside or outside Launchpad, but not try to mix the two without picking one as the "real" source. That said, I think it will work.

When you upload a new version of your template, any unchanged messages will of course retain their translations. A message whose original English text has changed is considered a new message, so its translation will not be carried over. However when you translate such a message in the Launchpad UI, Launchpad is likely to offer the translation for the original message as a suggestion. You can then choose to retain that translation, or copy it and update it to reflect the changes in the original. And if you change an English message back to its original, its translations (which were obsolete for a while) will still be there.

When you upload a new version of an individual translation file, things get more interesting. You are asked whether the translation is a "User" upload (uploading this way is equivalent to making your changes right in the UI) or a "Published" one (which you use to say "this comes from the upstream repository"). The changes made in Launchpad act as a kind of overlay: they take precedence over ones you import from the upstream repository (until you decide otherwise on a message-by-message basis). The way that works may still change a bit in the future as we adapt to users' needs.

I think that by and large this should suit your needs. To deal with conflicts between the "in-Launchpad" translations and the ones from the repository, use the "changed in Launchpad" filter on the translation UI to find messages that are translated differently in both. Once these have been reviewed and the best choices made, you can export Launchpad's version of the translations and include them in your repository. It's up to the "repository" end of the process to make sure you don't overwrite anything in that last step.

Revision history for this message
Caroline Ford (secretlondon) said :
#2

We (tuxpaint) have similar problems as Ubuntu translators translate our application and we end up with a massive delta between our translation efforts and yours.

Can you help with this problem?

Provide an answer of your own, or ask Peter Clifton for more information if necessary.

To post a message you must log in.