如何实现对pyqt4的多语言支持

约书亚·斯特罗

我有一个pyqt4程序,希望实现多语言支持。我拥有所有.qm文件,但无法弄清楚如何使用它们。

我真的找不到太多的文档,而且我尝试的任何方法似乎都无法正常工作。

ekhumoro

关于此主题的文档很多,可以在明显的地方找到这些文档:

下面是一个简单的演示脚本(-h用于运行):

from PyQt4 import QtCore, QtGui

class Window(QtGui.QWidget):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        message = self.tr('Hello World')
        label = QtGui.QLabel('<center><b>%s</b><center>' % message, self)
        buttonbox = QtGui.QDialogButtonBox(self)
        buttonbox.addButton(QtGui.QDialogButtonBox.Yes)
        buttonbox.addButton(QtGui.QDialogButtonBox.No)
        buttonbox.addButton(QtGui.QDialogButtonBox.Cancel)
        layout = QtGui.QVBoxLayout(self)
        layout.addWidget(label)
        layout.addWidget(buttonbox)

if __name__ == '__main__':

    import sys, os, getopt

    options, args = getopt.getopt(sys.argv[1:], 'hl:')
    options = dict(options)
    if '-h' in options:
        print("""
Usage: %s [opts] [path/to/other.qm]

Options:
 -h        display this help and exit
 -l [LOC]  specify locale (e.g. fr, de, es, etc)
""" % os.path.basename(__file__))
        sys.exit(2)
    app = QtGui.QApplication(sys.argv)
    translator = QtCore.QTranslator(app)
    if '-l' in options:
        locale = options['-l']
    else:
        locale = QtCore.QLocale.system().name()
    # translator for built-in qt strings
    translator.load('qt_%s' % locale,
                    QtCore.QLibraryInfo.location(
                        QtCore.QLibraryInfo.TranslationsPath))
    app.installTranslator(translator)
    if args:
        # translator for app-specific strings
        translator = QtCore.QTranslator(app)
        translator.load(args[0])
        app.installTranslator(translator)
    window = Window()
    window.setGeometry(500, 300, 200, 60)
    window.show()
    sys.exit(app.exec_())

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法在PyQT4程序中获得多语言支持

来自分类Dev

尝试实现多语言支持时,应用崩溃

来自分类Dev

如何在Monaco Editor中实现更多语言支持?

来自分类Dev

Drupal 7多语言支持

来自分类Dev

Microsoft LUIS 多语言支持

来自分类Dev

Scout SDK:对Advisor的多语言支持

来自分类Dev

对Android应用程序的多语言支持

来自分类Dev

静态HTML网站-引导程序-多语言支持

来自分类Dev

React Router中的多语言支持

来自分类Dev

Firebase多语言支持:可以吗?

来自分类Dev

对xml文本搜索php的多语言支持

来自分类Dev

如何在我的jsf应用程序中提供完全多语言支持

来自分类Dev

如何为python QT程序添加多语言支持

来自分类Dev

TYPO3:如何使用流体模板处理多语言支持

来自分类Dev

具有多语言支持的Timber和WordPress最佳做法

来自分类Dev

WP8应用程序中的多语言支持

来自分类Dev

xamarin非英语点和逗号计算(Xamarin多语言支持)

来自分类Dev

具有多语言支持的Android应用程序

来自分类Dev

WP8应用程序中的多语言支持

来自分类Dev

为 android 应用程序启用多语言支持

来自分类Dev

离子应用程序中没有插件的多语言支持

来自分类Dev

Javascript对多语言的支持

来自分类Dev

一次在客户端和服务器中提供多语言支持

来自分类Dev

如何使网站多语言

来自分类Dev

PHP中多语言的实现

来自分类Dev

Laravel 4多语言路由

来自分类Dev

Laravel 4多语言路由

来自分类Dev

如何使我的CMS多语言化

来自分类Dev

如何使小型网站多语言化?