Может быть, этот ответ слишком поздно, но я только что нашел это и думаю, что он может вам помочь.
import gettext
t = gettext.translation('test', "./locale", languages=['fr'])
_ = t.gettext
print _("Hello world")
В моей собственной программе я сделал это так:
import gettext
DIR = "lang"
APP = "ToolName"
gettext.textdomain(APP)
gettext.bindtextdomain(APP, DIR)
#gettext.bind_textdomain_codeset("default", 'UTF-8') # Not necessary
locale.setlocale(locale.LC_ALL, "")
LANG = "FR_fr"
lang = gettext.translation(APP, DIR, languages=[LANG], fallback = True)
_ = lang.gettext
Примечание
В моей программе есть каталог lang .
Для каждого языка каталог составляется в lang : * XX_xx * (en_US
)
Внутри каталога en_US
есть LC_MESSAGES
, а внутри TOOLNAME.mo
Но это мой способ общения на разных языках.