I18n for wxpython wx.AboutBox

时间:2015-09-08 09:48:35

标签: python internationalization wxpython

我即将翻译wxpython程序。 我用:

调用python gettext
import gettext
languagelist = [locale.getdefaultlocale()[0], 'en_US']
t = gettext.translation('myProgram', localedir, ['de_DE','en_US'])
_ = t.ugettext

这适用于以下所有方面:

self.statusbar.PushStatusText(_('Connecting service ...'))

但是现在有这个wx.AboutBox

info = wx.AboutDialogInfo()
info.Name = swname
info.Version = swversion
info.Developers = swdevelopers
info.License = wordwrap(swlicense, 500, wx.ClientDC(self))
wx.AboutBox(info)

此AboutBox具有标记为“Developers”和“License”的按钮,这些按钮无法翻译。

毫不奇怪我只是运行pygettext -d myProgram mainFile.py来创建.pot文件。

那么如何将wx.AboutBix中的文本输入我的.pot文件?

1 个答案:

答案 0 :(得分:1)

它们已经为您翻译并分别包含在相关语言的wxstd.mo中的wxstd.pot中。

在wxPython中,Phoenix文档是一些更多信息和一个小样本应用程序 - http://wxpython.org/Phoenix/docs/html/internationalization.html?highlight=i18n这也适用于你可能使用的wxPython Classic。