| 
 *.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_()
 
  复制代码 
 
长按二维码关注 "德云社区" ,点击最下方 "阅读原文" 了解更多资讯
  
版权声明: 
本文为独家原创稿件,版权归 德云社区,未经许可不得转载;否则,将追究其法律责任。 
 
 |