How to best get translations for new source tarball?

David Planella david.planella at
Mon Feb 20 09:35:18 UTC 2012

Al 17/02/12 19:49, En/na Francesco Fumanti ha escrit:
> Hi,
> Onboard is the on-screen keyboard shipping by default with Ubuntu; its
> code is hosted on Launchpad and it is set to use the Ubuntu Translators
> with a Structured policy for its translations.
> Thus, for each series, there are two sets of translations available: the
> translations of the Upstream Project [1] and the translations of the
> source package in Ubuntu [2].
> [1]
> [2]
> Enabling sharing always means that the translations of [1] will be
> forwarded to [2], but never from [2] to [1]; could you please confirm
> that it is correct?

Hi Francesco,

That's not entirely correct, and the good news is that sharing works in 
both ways, i.e. from [1] -> [2] (upstream -> downstream) and from [2] -> 
[1] (downstream -> upstream), if the right permissions are set.

One of the important benefits about sharing is that upstream projects 
can benefit from the translations done in Ubuntu, which are then 
automatically done on their upstream projects too (and it also saves 
duplication of work from translators).

Here's an example:

- I've just translated this string:

- And it automatically got translated upstream:

> Moreover, setting Onboard to use the Ubuntu Translators specifies that
> [1] should be translated by the Ubuntu Translators; it is not a setting
> for [2] correct?

As the project maintainer, you can assign the translation group of the 
*upstream* project [1] to whichever available group you want. However, 
here are some recommendations.

The most common ones are:
- Launchpad Translators
- Ubuntu Translators

 From a consistency point of view, Launchpad projects not related to 
Ubuntu should assign their translations to Launchpad Translators. 
However, some project maintainers prefer using Ubuntu Translators 
nevertheless, as it contains translation teams for more languages.

The only caveat is with sharing: sharing only works if the translator is 
part of both groups - the one assigned for upstream and the one assigned 
for downstream.

I generally recommend translation team leaders from the Launchpad 
Translators group to add the Ubuntu translations team to the 
corresponding Launchpad translations team, to make sure permissions work.

For the *downstream* project [2], translations are _always_ assigned to 
the Ubuntu Translators translation group.

> Though I assume that [2] is also always translated by the Ubuntu
> Translators; correct?

That's correct, yes.

> When I look now at [1] and [2] that were recently created, I notice that
> there are new translations in [2] and not in [1]. Thus, does it make any
> sense in this project to consider the translations done in [1]?

Could you please point us to which translations? This way we'll be 
better able to help you.

> Assuming that I have to release a tarball, how should I know whether to
> use the translations from [1] or [2]? Would it make sense to do the
> following: create a new po file for each language from [1] and [2] with
> the following rule: get the translations from [2] and for the strings
> that have no translations in [2], use the translations in [1] if they
> exist. (I assume that the translations in [2] are more trustworthy than
> the translations in [1] as they are prepared to be shipped in the Ubuntu
> language packs.) Could you tell me the command to do that operation if
> it exist and if it makes sense doing it?

It should all be much simpler: you've got all correct settings for 
translations, you only need one last bit - automatically export 

So if you go to:

Then you can choose a branch where Launchpad will automatically commit 
new translations daily.

You've got two options:

1. Choose the same branch you're using for development: in which case 
you don't have to worry about anything, as you'll always have the latest 
translations in your branch.

2. Alternatively, choose a separate branch for translations: in which 
case, you'll simply have to manually merge the translations regularly 
back to the development branch, and especially before a release.

> Or more generally, what is the best procedure to get translations when I
> have to release a new source tarball? I am not asking about how to
> download the two available sets; I know the download links on the
> translation page of the series. I am asking how I should proceed to have
> a good translation set to include into the source tarball.

I believe the above should answer this question too. Let us know if you 
need some more help.

> Many thanks in advance for any help.
> Cheers,
> Francesco
> PS: The old feisty series is still linked to trunk and there is no
> button to unlink it next to the sentence with that information on
> launchpad. The other series however do have a button to unlink them from
> the corresponding upstream series. Could you please tell me what I can
> do to unlink it?

It's probably because Feisty is no longer active, but that's just a 
guess. I've got permissions on the Ubuntu project, so I've just linked 
it to an obsolete series (onboard 0.91) - I can't seem to remove the 
branch link altogether. If you want me to link it to a another 
particular branch, just let me know.


David Planella
Ubuntu Translations Coordinator / /

More information about the ubuntu-translators mailing list