Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I just started my new project right now, however I can't find any documentation on how I should proceed to accept translations on it.

  • how I should proceed to accept translations through the
  • I really need to create a Translation group to start accept this kind of contribution?

I do not care if you are a translator or developer, I'm really interested in hearing from both sides. So, go make your answer below and don't forget to suggest best practices too. Thanks!

share|improve this question
up vote 2 down vote accepted

Launchpad translations uses a free software translation system called GNU gettext. This is available as a library for pretty much any programming language you decide to use. Normally, the syntax is something like:

_('String in English')

This will translate the string for the user using their locale. If there is no translation for their locale the English string is used.

There will probably be tools for your specific language to extract these strings to translate from your code and put them in a .pot file. A .pot file contains information about the strings that need to be translated. It can also contains licencing information at the top (this is required to be a BSD licence for use in Launchpad) and comments for the translators.

Once you have your pot file, you should put it in a po/ directory in the root of your source code. The pot file should be named textdomain.pot. When using gettext in your code, you will need to specify the text domain - see the gettext documentation for your programming language for more details. Normally, the text domain is the same as the name of your software package.

Once you have the po/ directory and pot file, you can import them into Launchpad.

In the translations tab of your project you should set Launchpad to manage your translations.

alt text

Also, set up the import from your code branch.

alt text

Once this is done, translators will be able to translate the strings in your pot file into their language.

share|improve this answer
Use only 'Import template and translation files' if you are importing translations for the first time from a project hosted elsewhere already containing translations. Otherwise 'Import template files' works best in most of the cases. – David Planella Oct 10 '11 at 17:28
And you'll also find plenty of information on the Launchpad help documentation: – David Planella Oct 10 '11 at 17:29

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.