Qt Designer国际化需要做的操作
- 首先,提取源文件中要翻译的字符串生成.ts文件,手动翻译,生成一个.qm文件。
- 其次,程序中使用QTranslator安装翻译文件。
具体步骤如下:
SOURCES += main.py #main.py文件为导入main.ui 文件的py文件
FORMS += main.ui #main.py文件是用Designer生成的ui文件
TRANSLATIONS += zh_cn.ts #即将生成的中文翻译文件
2、利用
PySide下的
pyside-lupdate.exe进行翻译文件提取:
命令行语句为:
pyside-lupdate main.pro
在当前目录下会生成一个zh_cn.ts
(main.pro中
TRANSLATIONS
的值),文件为XML格式。
3、使用QtLinguist翻译zh_cn.ts文件进行逐项翻译,并发布为.qm文件。
(1)选择翻译的语言:编辑--翻译文件设置 --选择目标语言。
(2)对列出的字符串进行逐项翻译,保存。每个字符串翻译完成后需要勾选工具栏上的勾号,将其设置为Finfished状态。
(3)生成.qm文件:文件--另发布为...--保存为qm Qt Designer的I18N文件。
也可以使用
PySide安装目录下的lrelease进行翻译:
lrelease zh_cn.ts,
这样会在当前目录下生成一个
zh_cn
.qm的翻译文件
示图如下:
4、将
zh_cn.qm
加载到程序当中去,这样即可实现程序国际化。
将下面程序添加到主程序中:
import sys
app = QtGui.QApplication(argv)
myappTranslator = QtCore.QTranslator()
myappTranslator.load(
"zh_cn.qm"
)
app.installTranslator(myappTranslator)
mainwindow = MyWidget() #main.py文件中的窗口
sys.exit(app.exec_())