What do I choose for a translation domain and template name?

Created by Henning Eggers on on 2010-02-12
Keywords:
translation domain template name

First off, please be aware that "translation domain" has nothing to do with "internet domain".

A translation domain is just a name used to group all strings for an application or module of an application. When translations are installed on a system, they will be looked up by the domain which is defined in the source code.

Have a look at the /usr/share/share/locale/de/LC_MESSAGES on your local system and you will see the MO files (compiled PO files) which carry the translation domain of the application for which they contain German translations. Replace "de" with any locale installed on your system.

So, the translation domain should already be defined in the source code and it should be unique. To name the template like the domain is just a nice convention but not required. Template names in Launchpad have stricter naming rules (only lower case, no underscores) than translation domains so in those cases the name of the template and the translation domain will differ.

Please do *not* include version information in the template name, e.g. "mydomain1.2", to make message sharing possible. You can and must do that for the translation domain, though, if you want to facilitate having multiple versions of your application installed on any system at the same time.