Translation classes are what actually implement the translation of
original source file message strings to translated message strings.
The base class used by all translation classes is
NullTranslations; this provides the basic interface you can use
to write your own specialized translation classes. Here are the
methods of NullTranslations:
Takes an optional file object fp, which is ignored by the base
class. Initializes ``protected'' instance variables _info and
_charset which are set by derived classes. It then calls
self._parse(fp) if fp is not None.
No-op'd in the base class, this method takes file object fp, and
reads the data from the file, initializing its message catalog. If
you have an unsupported message catalog file format, you should
override this method to parse your format.
If the unicode flag is false, this method installs
self.gettext() into the built-in namespace, binding it to
"_". If unicode is true, it binds self.ugettext()
instead. By default, unicode is false.
Note that this is only one way, albeit the most convenient way, to
make the _ function available to your application. Because it
affects the entire application globally, and specifically the built-in
namespace, localized modules should never install _.
Instead, they should use this code to make _ available to
their module:
import gettext
t = gettext.translation('mymodule', ...)
_ = t.gettext
This puts _ only in the module's global namespace and so
only affects calls within this module.