【问题标题】:Best practices for internationalization using PyQt4使用 PyQt4 进行国际化的最佳实践
【发布时间】:2011-11-13 21:45:36
【问题描述】:

我想为我使用 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 中开发多语言应用程序的工作流程和细节的文章。

您能否在这方面给我一些好的和方便的技术建议?

【问题讨论】:

    标签: internationalization python-3.x pyqt4


    【解决方案1】:

    只需在任何地方使用tr(或trUtf8)即可开始。仅当您确定受多重继承问题影响的代码时才使用translate(这很可能永远不会)。

    我建议你看看 Qt 的 i18n overviewQt Linguist Manual。它们显然都面向 C++ 项目,但它应该让您非常清楚地了解需要什么。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-22
      • 2010-09-14
      • 1970-01-01
      • 1970-01-01
      • 2010-09-13
      • 2012-02-26
      • 2011-11-14
      • 2013-08-05
      相关资源
      最近更新 更多