gettext窗口和域的麻烦

时间:2012-10-22 23:10:49

标签: python internationalization wxpython

我在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文件

1 个答案:

答案 0 :(得分:0)

我建议按照wxPython wiki上的说明进行操作:http://wiki.wxpython.org/Internationalization#How_to_get_gettext_tools_for_Win32

如果您遇到困难,请在wxPython邮件列表上寻求帮助。那里有很多人在他们的应用程序中写下了这种支持。