gettext

Модуль для работы с локализацией

locales
- en
-- LC_MESSAGES
--- myapp.mo
--- myapp.po
$ xgettext -o locales/en/LC_MESSAGES/myapp.po script.py
# возможно данные по кодировке придется подправить в файле .po

$ msgfmt locales/en/LC_MESSAGES/myapp.po -o locales/en/LC_MESSAGES/myapp.mo

install()

install(domain, localedir=None, codeset=None, names=None)

Устанавливает функию _() в глобальное окружение скрипта

gettext.install('myapp', 'locale')
_('Hello')
# привет

translation()

translation(domain, localedir=None, languages=None, class_=None, fallback=False, codeset=None)

Возвращает GNUTranslations

trans = gettext.translation('myapp', 'locales', ['en'])

GNUTranslations()

class GNUTranslations
gettext(message)
trans.gettext('Привет')
# Hello