An instance of :class:`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 :term:`translation string` objects which
predefines a :term:`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 :term:`translation string` has an associated
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 :term:`translation string` is represented as its
A translation directory is a :term:`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 :term:`translation domain`. The name of the ``.mo`` file
(minus the .mo extension) is the translation domain name.
The GNU `gettext <http://www.gnu.org/software/gettext/>`_
library, used by the :mod:`translationstring` locale translation
A callable which receives a :term:`translation string` and
returns a translated Unicode object for the purposes of
A `collection of tools <http://babel.pocoo.org/en/latest/>`_ for
internationalizing Python applications.
`chameleon <https://chameleon.readthedocs.org/en/latest/>`_ is templating
language written and maintained by Malthe Borch.