我在windows上遇到gettext问题。 我正在使用python的gettext模块和名为gettext_windows的第三部分模块: http://bazaar.launchpad.net/~bialix/gettext-py-windows/trunk/view/head:/gettext_windows.py 代码如下:
gettext_windows.setup_env()
_ = gettext.gettext
self._appName = "bitbucket"
self._localeDir = os.getcwd() + "\\data\\locale\\"
self._languages = ["it_IT", "pl_PL"]
if gettext_windows.get_language()[0] in self._languages:
lang = gettext_windows.get_language()[0]
self._translation = gettext.translation(self._appName, self._localeDir, lang)
self._translation.install(unicode=True)
使用PoEdit创建 .po / .mo文件。 然后我保存这些文件,然后将它们放入:
data
----locale/
--------it_IT/
------------LC_MESSAGES/
----------------bitbucket.mo
----------------bitbucket.po
data
----locale/
--------pl_PL/
------------LC_MESSAGES/
----------------bitbucket.mo
----------------bitbucket.po
当我尝试执行我的应用时,我遇到了以下错误:
找不到域bitbucket的翻译文件
有人可以解释我的错误吗?
这些文件位于良好的目录中。
如果我尝试从gettext模块中使用find()方法:
print gettext.find('bitbucket', self._localeDir, self._languages, all=True)
它正常工作并返回it_IT / pl_PL语言的* .mo文件
答案 0 :(得分:0)
我建议按照wxPython wiki上的说明进行操作:http://wiki.wxpython.org/Internationalization#How_to_get_gettext_tools_for_Win32
如果您遇到困难,请在wxPython邮件列表上寻求帮助。那里有很多人在他们的应用程序中写下了这种支持。