*.ts *.qm 文件 - Qt/C++ GUI 框架多语言本地化源 二进制目标文件
*.ts 文件是 Qt translate 类使用前的要翻译源文件,即:多语言英译中的本地化源文件,其代码为 xml 格式形式。可采用 Qt lupdate 工具 (或 "Qt *.TS 文件提取" 小程序),将要翻译术语从源代码提取成 *.ts 文件。
*.qm 文件是 Qt translate 类要读取的源文件,即:多语言 "英译中" 的本地化翻译文件,其代码为不可读形式。可采用 Qt lrelease 工具 (或 "Qt *.QM 文件发布" 小程序),将 *.ts 文件转换成 *.qm 文件。也可采用 Qt 翻译工具 linguist (或 "翻译 UI (用户界面)" 小程序) 翻译完成后,"发布" 或 "另外发布" 生成 *.qm 文件。
Qt
01、编写源代码,对于要翻译术语,可用 tr() 包起来: - QPushButton hello(QPushButton::tr("Hello world!"));
复制代码这样,Qt 才会知道哪些术语需要翻译。
02、在 pro 文件中,说明要翻译源文件的名称: - TRANSLATIONS = clabel_zh_CN.ts
复制代码
03、采用 Qt lupdate 工具,把要翻译术语提取出来:
04、调用 Qt 翻译工具 linguist,或采用其它工具,翻译 clabel_zh_CN.ts 要翻译源文件: - linguist-qt4 clabel_zh_CN.ts
复制代码
05、采用 Qt lrelease 工具,将 clabel_zh_CN.ts 文件转换成 clabel_zh_CN.qm 文件: - lrelease-qt4 clabel_zh_CN.ts
复制代码
06、再次改写源代码,加上多语言本地化选择语言代码:
- QTranslator trans;
- trans.load("clabel_zh_CN");
- app.installTranslator(&trans);
- QPushButton hello(QPushButton::tr("Hello world!"));
- hello.show();
- app.exec();
复制代码
百度网盘 https://pan.baidu.com/s/1dFngMn3
软件仓库
https://github.com/digitser
https://digitser.sourceforge.io/
https://pan.baidu.com/s/1dGxcM7R
支持CPU多线程-多进程 最佳HTML QT/ TS文件 GUI文档 静态网站-站群 机器-人工翻译工具 http://dts.digitser.cn/zh-CN/app/translate/index.html http://forum.digitser.cn/thread-2180-1-1.html
PyQt4
01、编写源代码: - button = QPushButton(u"hello world!")
复制代码
02、采用 PyQt4 pylupdate4 工具,把要翻译术语提取出来:
- pylupdate4 main.py -ts clabel_zh_CN.ts
复制代码工程文件结构: - SOURCES = main.py\
- ui_mainWindow.py\
- otherFile.py\
- etc
复制代码
03、调用 Qt 翻译工具 linguist,或采用其它工具,翻译 clabel_zh_CN.ts 要翻译源文件:
04、采用 Qt lrelease 工具,将 clabel_zh_CN.ts 文件转换成 clabel_zh_CN.qm 文件:
05、再次改写源代码,加上多语言本地化选择语言代码:
- from PyQt4 import QtGui
- from PyQt4 import QtCore
- import sys
- trans = QtCore.QTranslator()
- trans.load("clabel_zh_CN") #加载之前生成 clabel_zh_CN.qm 文件 (注意:没有后缀,程序知道)
- app = QtGui.QApplication(sys.argv)
- app.installTranslator(trans)
- button = QPushButton(u"hello world!")
- button.show()
- button.exec_()
复制代码
PySide
01、编写源代码: - button = QPushButton(u"hello world!")
复制代码
02、采用 PySide-pylupdate 工具,把要翻译术语提取出来:
- pyside-lupdate main.py -ts clabel_zh_CN.ts
复制代码工程文件结构: - SOURCES = main.py\
- ui_mainWindow.py\
- otherFile.py\
- etc
复制代码
03、调用 Qt 翻译工具 linguist,或采用其它工具,翻译 clabel_zh_CN.ts 要翻译源文件:
04、采用 Qt lrelease 工具,将 clabel_zh_CN.ts 文件转换成 clabel_zh_CN.qm 文件:
05、再次改写源代码,加上多语言本地化选择语言代码:
- from PySide import QtGui
- from PySide import QtCore
- import sys
- trans = QtCore.QTranslator()
- trans.load("clabel_zh_CN") #加载之前生成 clabel_zh_CN.qm 文件 (注意:没有后缀,程序知道)
- app = QtGui.QApplication(sys.argv)
- app.installTranslator(trans)
- button = QPushButton(u"hello world!")
- button.show()
- button.exec_()
复制代码
长按二维码关注 "德云社区" ,点击最下方 "阅读原文" 了解更多资讯
版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载;否则,将追究其法律责任。
|