Posted by & filed under python.

Для интернационализации в python используется модуль gettext. Так как мне было трудно найти рабочий пример, то вставляю его сюда:

import gettext     
root='/my/directory/'
transLoc = root +"/i18n"
t = gettext.translation('myapp', transLoc, languages=['ru'])
_= t.ugettext
t.install()
b=_("test")

Перевод берется из mo файлов, которые в моем случае для РУССКОГО языка распологаются:

/my/directory/i18n/ru/LC_MESSAGES/myapp.mo

Папка LC_MESSAGES необходима, иначе не работает. Может где-то можно изменить настройки, но я не нашел.

Файл mo получен из po файла, который имеет следующий текст:

msgid "test"
msgstr "тест"
Опубликовать в Facebook
Опубликовать в Google Plus

Leave a Reply

You must be logged in to post a comment.