提问人:Abel Gutiérrez 提问时间:11/5/2023 更新时间:11/5/2023 访问量:20
如何将python gettext翻译设置为源语言
How to set python gettext translations to source language
问:
我有这段翻译代码:
translations = gettext.translation(
locale_language,
localedir="gui/locale",
languages=[locale_language]
)
translations.install()
可以是(源语言)或(翻译语言)locale_language
"en"
msgid
"es"
msgstr
我需要正确切换语言,但由于源语言是英语,因此未填写。我必须这样做才能在语言更改时运行以前的代码。en.mo
es.mo
en.mo
我想知道是否有更好的方法可以做到这一点,即没有空(上面的代码也需要检查 if ,但这不是问题)。en.mo
if
locale_language == "en"
答:
1赞
gimix
11/5/2023
#1
有一个永无止境的讨论,是否应该是实际的英语字符串,或者更确切地说是一个“键”,它需要翻译成英语,就像任何其他语言一样:例如,看看这个问题。当然,如果你使用键字符串,文件需要像其他文件一样完整。msgid
en.mo
但是,如果您想使用实际的英语字符串作为 s,那么您可以简单地避免安装英语翻译,并可能定义一个虚拟函数,例如msgid
_()
def _(msg):
return msg
这样你就根本不需要了。en.mo
评论
0赞
Abel Gutiérrez
11/5/2023
虚拟文件在我的代码中将是一个问题,因为我在多个文件中使用相同的虚拟文件。填充似乎是最好的解决方案(也是最乏味的)。_()
_
en.mo
评论