- A collection of tools for
internationalizing Python applications.
- chameleon is templating language
written and maintained by Malthe Borch.
- The GNU gettext
library, used by the translationstring locale translation
- Message Identifier
- An unchanging string that is the identifier for a particular
translation string. For example, you may have a translation
string which has the default “the fox jumps over the lazy
dog”, but you might give this translation string a message
identifier of foxdog to reduce the chances of minor spelling
or wording changes breaking your translations. The message
identifier of a translation string is represented as its
- Translation Directory
- A translation directory is a gettext translation
directory. It contains language folders, which themselves
contain LC_MESSAGES folders, which contain .mo files.
Each .mo file represents a set of translations for a language
in a translation domain. The name of the .mo file
(minus the .mo extension) is the translation domain name.
- Translation Domain
- A string representing the “context” in which a particular
translation was made. For example the word “java” might be
translated differently if the translation domain is
“programming-languages” than would be if the translation domain
was “coffee”. Every translation string has an associated
- Translation String
- An instance of translationstring.TranslationString,
which is a class that behaves like a Unicode string, but has
several extra attributes such as domain, msgid, and
mapping for use during translation. Translation strings are
usually created by hand within software, but are sometimes
created on the behalf of the system for automatic template
translation. For more information, see
- Translation String Factory
- A factory for generating translation string objects which
predefines a translation domain.
- A callable which receives a translation string and
returns a translated Unicode object for the purposes of