我是使用 gettext 库翻译文本的新手。我想翻译下一个文件中的文本:
dobles_message.py
def set_message(self, language):
t = gettext.translation("basketmetrics_i18n", "../i18n", fallback=True, languages=["'" + language + "'"])
t.install()
_ = t.gettext
self.message = _("mensaje_dd_1")
为此,首先我使用以下指令创建了 dobles_message.po:
xgettext -i dobles_message.py -o dobles_message.pot -d basketmetrics_i18n
然后,我创建了这些目录结构 i18n/es/LC_MESSAGES 和 i18n/en/LC_MESSAGES,并使用以下说明为每个语言创建了 .po 版本:
msginit -i dobles_message.pot -o ../i18n/es/LC_MESSAGES/basketmetrics_i18n.po -l es
msginit -i dobles_message.pot -o ../i18n/en/LC_MESSAGES/basketmetrics_i18n.po -l en
第三,我更改了字符集并翻译了每个文件的文本。第四,我在目录 i18n/es/LC_MESSAGES 和目录 i18n/en/LC_MESSAGES 中使用此指令从每个 .po 文件创建了 .mo 文件
msgfmt basketmetrics_i18n.po -o basketmetrics_i18n.mo
但是,当我运行我的应用程序而不是翻译文本时,我的应用程序会向我显示 msgid。
这些是我的文件和目录结构:
慕森王
慕运维8079593
相关分类