PyQt5中Linguist的使用

  1. .py文件中将需要被翻译的代码转换成可以被pylupdate捕获的形式:

    1
    2
    3
    4
    from PyQt5.QtCore import *
    _translate = QCoreApplication.translate

    str1 = _translate("context", "sourceTextL")
  2. 使用pylupdate生成.ts文件:

    1
    pylupdate5 source1.py source2.py -ts translate.ts
  3. 使用 Qt Linguist 处理.ts文件,输入翻译,并编译(文件→发布)为.qm文件;

  4. 在程序中载入该翻译文件:

    1
    2
    3
    4
    5
    6
    from PyQt5.QtCore import *
    app = QApplication()

    translator = QTranslator() # 先新建一个 QTranslator
    translator.load('QtMessage.qm') # 加载qm文件
    app.installTranslator(translator) # 把QTranslator送给我们的程序

    此后,再次调用_translate函数便可实现翻译了:

    1
    _translate("context", "sourceTextL") -> "translatedText"