我想为我的应用程序添加多语言支持,这是使用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中开发多语言应用程序的工作流程和细节的文章。
请您使用一些方便的技巧为我提供建议吗?
答案 0 :(得分:1)
只需在任何地方使用tr
(或trUtf8
)即可。只有在识别出受多重继承问题影响的代码时才会感到烦恼translate
。
我建议您查看Qt的i18n overview和Qt Linguist Manual。它们显然都面向C ++项目,但它应该让你清楚地了解所需的内容。
对于一个工作示例,您还可以下载Eric Python IDE的源代码 - 它是用PyQt4编写的,并且支持六种或更多种语言。