QT多语言

QT自己提供了一种国际化方案,而不是采用INI配置文件的方式,在QT中提供了tr()函数,而翻译好后的资源以“.qm”命名。

概念

通常在QT中利用QString()、QTranslator等类和tr()函数能够很好的完成加入国际化的支持,具体如下:

1.使用QString对象表示所有用户可见的文本。

2.使用tr()函数获取所有需要翻译的文本,在Qt的翻译机制下,QObject::tr()函数可以获取翻译之后的文本。

3.利用QTranslator::load()和QcoreApplication::installTranslator()读取对应的翻译之后的文件。

“.qm”文件的生成

主要利用Qt提供的工具lupdate、linguist和lrelease来完成翻译并生成最后所需的“.qm”文件。

1.利用lupdate工具从源码中扫描并提取需要翻译的字符串,生成“.ts”文件。运行lupdate时也需要制定一个“.pro”的文件,

只需要定义好`TRANSLATIONS`

2.利用linguist工具来协助完成翻译工作,既打开前面用lupdate生成的“.ts”文件,对其中的字符串逐条进行翻译并保存。由于“.ts”文件采用了XML格式,也可以通过其他工具打开并翻译。

3.利用lrelease工具处理翻译好的“.ts”文件,生成“.qm”文件。

举例

1.新建一个GUI工程,在UI界面添加三个按钮

QT多语言

2.修改“.pro”文件,添加如下代码

TRANSLATIONS = zh_CN.ts\
            en_CN.ts

3.编译,生成“.ts”文件

4.编译完成后,用linguist打开“.ts”文件,逐条翻译。

QT多语言QT多语言

5.翻译完成后保存,选择文件->发布。即可生成“.qm”文件。

6.把“.qm”文件添加到资源文件就可以通过相对路径应用了。

QT多语言

7.Demo下载

 

上一篇:SAP QM 检验批号码跳号问题之对策


下一篇:SAP-QM 对于出货检检验批数量和实际批数量对不上?