python html5 bootstrap 视频教程

德云社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8105|回复: 0

*.ts *.qm 文件 - Qt/C++ GUI 框架多语言本地化源 二进制目标文件

[复制链接]

194

主题

288

帖子

1322

积分

超级版主

Rank: 8Rank: 8

金钱
798
金币
15
威望
0
贡献
0
发表于 2016-12-13 15:08:14 | 显示全部楼层 |阅读模式
AI人工智能 语音助理 人工翻译 教程
*.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() 包起来:

  1. QPushButton hello(QPushButton::tr("Hello world!"));
复制代码

这样,Qt 才会知道哪些术语需要翻译。


02、在 pro 文件中,说明要翻译源文件的名称:

  1. TRANSLATIONS = clabel_zh_CN.ts
复制代码

03、采用 Qt lupdate 工具,把要翻译术语提取出来:

  1. lupdate-qt4 clabel.pro
复制代码

04、调用 Qt 翻译工具 linguist,或采用其它工具,翻译  clabel_zh_CN.ts 要翻译源文件:

  1. linguist-qt4 clabel_zh_CN.ts
复制代码

05、采用 Qt lrelease 工具,将 clabel_zh_CN.ts 文件转换成 clabel_zh_CN.qm 文件:

  1. lrelease-qt4 clabel_zh_CN.ts
复制代码

06、再次改写源代码,加上多语言本地化选择语言代码:

  1. QTranslator trans;
  2. trans.load("clabel_zh_CN");
  3. app.installTranslator(&trans);

  4. QPushButton hello(QPushButton::tr("Hello world!"));
  5. hello.show();

  6. 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、编写源代码:

  1. button = QPushButton(u"hello world!")
复制代码

02、采用 PyQt4 pylupdate4 工具,把要翻译术语提取出来:

  1. pylupdate4 main.py -ts clabel_zh_CN.ts
复制代码

工程文件结构:

  1. SOURCES    = main.py\
  2.              ui_mainWindow.py\
  3.              otherFile.py\
  4.              etc
复制代码

03、调用 Qt 翻译工具 linguist,或采用其它工具,翻译  clabel_zh_CN.ts 要翻译源文件:

  1. linguist clabel_zh_CN.ts
复制代码

04、采用 Qt lrelease 工具,将 clabel_zh_CN.ts 文件转换成 clabel_zh_CN.qm 文件:

  1. lrelease clabel_zh_CN.ts
复制代码

05、再次改写源代码,加上多语言本地化选择语言代码:

  1. from PyQt4 import QtGui
  2. from PyQt4 import QtCore

  3. import sys

  4. trans = QtCore.QTranslator()
  5. trans.load("clabel_zh_CN") #加载之前生成 clabel_zh_CN.qm 文件 (注意:没有后缀,程序知道)

  6. app = QtGui.QApplication(sys.argv)
  7. app.installTranslator(trans)

  8. button = QPushButton(u"hello world!")
  9. button.show()
  10. button.exec_()
复制代码

PySide

01、编写源代码:

  1. button = QPushButton(u"hello world!")
复制代码

02、采用 PySide-pylupdate 工具,把要翻译术语提取出来:

  1. pyside-lupdate main.py -ts clabel_zh_CN.ts
复制代码

工程文件结构:

  1. SOURCES    = main.py\
  2.              ui_mainWindow.py\
  3.              otherFile.py\
  4.              etc
复制代码

03、调用 Qt 翻译工具 linguist,或采用其它工具,翻译  clabel_zh_CN.ts 要翻译源文件:

  1. linguist clabel_zh_CN.ts
复制代码

04、采用 Qt lrelease 工具,将 clabel_zh_CN.ts 文件转换成 clabel_zh_CN.qm 文件:

  1. lrelease clabel_zh_CN.ts
复制代码

05、再次改写源代码,加上多语言本地化选择语言代码:

  1. from PySide import QtGui
  2. from PySide import QtCore

  3. import sys

  4. trans = QtCore.QTranslator()
  5. trans.load("clabel_zh_CN") #加载之前生成 clabel_zh_CN.qm 文件 (注意:没有后缀,程序知道)

  6. app = QtGui.QApplication(sys.argv)
  7. app.installTranslator(trans)

  8. button = QPushButton(u"hello world!")
  9. button.show()
  10. button.exec_()
复制代码


长按二维码关注 "德云社区" ,点击最下方 "阅读原文" 了解更多资讯

版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载;否则,将追究其法律责任。

AI人工智能 语音助理 人工翻译 教程
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|Sitemap|小黑屋|德云社区 |网站地图  

GMT+8, 2024-10-31 09:18 , Processed in 0.029343 second(s), 27 queries .

工业和信息化部: 粤ICP备14079481号-2

技术支持 乐数软件     版权所有 © 2014-2021 德云社区    

快速回复 返回顶部 返回列表