使用PyQt4进行国际化的最佳实践

时间:2011-11-13 21:45:37

标签: internationalization python-3.x pyqt4

我想为我的应用程序添加多语言支持,这是使用PyQt4用Python编写的。我一直在寻找有关如何添加多种语言的信息,并希望了解其他人如何做到这一点。

Here我读到了:

  

PyQt行为不令人满意,将来可能会改变。   建议使用QCoreApplication.translate()   偏向于tr()(和trUtf8())。这保证可以使用   PyQt的当前和未来版本,使分享更容易   Python和C ++代码之间的消息文件。

pyuic4生成的文件中,我看到的内容如下:

WPopupCalendar.setWindowTitle(QtGui.QApplication.translate("WPopupCalendar", "Календарь", None, QtGui.QApplication.UnicodeUTF8))

这对我来说太长了。我正在考虑制作我自己的tr辅助函数,它会以某种方式自动化该过程。

此外,我找不到描述使用pyqt4在python中开发多语言应用程序的工作流程和细节的文章。

请您使用一些方便的技巧为我提供建议吗?

1 个答案:

答案 0 :(得分:1)

只需在任何地方使用tr(或trUtf8)即可。只有在识别出受多重继承问题影响的代码时才会感到烦恼translate

我建议您查看Qt的i18n overviewQt Linguist Manual。它们显然都面向C ++项目,但它应该让你清楚地了解所需的内容。

对于一个工作示例,您还可以下载Eric Python IDE的源代码 - 它是用PyQt4编写的,并且支持六种或更多种语言。