1.4 Qt工具之Qt Linguist介绍
转自:http://www.hellotongtong.com/Qt5base1/qtlinguist-intro.html
1.4 Qt工具之Qt Linguist介绍
***【免费下载源码和PPT课件】***
***【在线视频课程(****)】***
***【在线视频课程(51cto)】***
1.4 Qt工具之Qt Linguist介绍
Qt国际化的概念
有些软件需要开发多语言界面版本,如中文本和英文本,并且在软件里可以方便地切换界面语言。
Qt也支持多语言界面
Qt国际化的三部曲
QT国际化(lupdate/linguits/lrelease)
Qt国际化的操作步骤
①tr函数:在程序设计阶段,程序代码中每一个用户可见的字符串都用tr()函数封装,以便QT提取界面字符串用于生成翻译资源文件。用UI设计器可视化窗体时同一用一种语言,如汉语
②ts文件:在项目配置文件(.pro文件)中设置需要导出的翻译文件(.ts)名称,使用lupdate工具扫描项目文件中需要翻译的字符串,并生成翻译文件
③Linguist翻译专家:使用Qt的Linguist程序打开生成的翻译文件,将程序中的字符串翻译为需要的语言,如将所有中文字符串翻译为英文
④qm文件:使用lrelease工具编译翻译好的翻译文件,生成更为紧凑的“.qm”文件
⑤翻译器:在应用程序中使用QTranslator调用不同的“.qm”文件,实现不同的语言界面
如何生成ts文件(lupdate)
然后看输出:
Updating 'chinese.ts'...
Found 1 source text(s) (1 new and 0 already existing)
Updating 'english.ts'...
Found 1 source text(s) (1 new and 0 already existing)
本地已经生成了对应的ts文件,
Ts文件就是普通的xml格式的文件。
如何编辑ts文件(Linguist)
打开本地的“linguist.exe”,
路径为:“D:\__qt598\5.9.8\mingw53_32\bin”
其中“D:\__qt598”为你本地的QT5.9.8的安装路径。
如何发布ts文件(lrelese)
Starting external tool "D:\__qt598\5.9.8\mingw53_32\bin\lrelease.exe" E:/awork/qt/__learning/chapter1_Linguist/chapter1_Linguist.pro
Info: creating stash file E:\awork\qt\__learning\chapter1_Linguist\.qmake.stash
Updating 'E:/awork/qt/__learning/chapter1_Linguist/chinese.qm'...
Generated 1 translation(s) (1 finished and 0 unfinished)
Updating 'E:/awork/qt/__learning/chapter1_Linguist/english.qm'...
Generated 1 translation(s) (1 finished and 0 unfinished)
此时,已经生产了对应的qm本地文件
如何引用qm文件(QTranslator)
QCoreApplication a(argc, argv);
QTranslator *trans = new QTranslator;
// E:/awork/qt/qtHelloworld/
// 注意:请把“E:/awork/qt/qtHelloworld/”改为您本地的路径
trans->load("E:/awork/qt/qtHelloworld/chinese.qm");
//trans->load("E:/awork/qt/qtHelloworld/english.qm");
a.installTranslator(trans);
qDebug() << QObject::tr("hello_msg");
return a.exec();
好文章,来自【福优学苑@音视频+流媒体】
***【免费下载源码和PPT课件】***
***【在线视频课程(****)】***
***【在线视频课程(51cto)】***