本帖最后由 whhqkj 于 2013-5-18 10:36 编辑
作者:嵌入式学院武汉华嵌中心 讲师 李家凯 引言:目前,Qt作为图形开发软件使用的人群越来越多,很多公司的产品有多国语言支持的需求,笔者就教学与项目开发中的经历,小结了Qt多国语言(国际化)问题,仅供参考。 假设我们已经建好一个工程,且可以运行出基本的界面。 1、打开项目工程文件QTDemo.pro,添加如下语句: TRANSLAtiONS += en.ts zh_CN.ts zh_TW.ts 2、然后在命令行窗口中输入以下命令: lupdate QTDemo.pro 这样就生成了3个语言文件:en.ts,zh_CN.ts,zh_TW.ts 3、用linguist(在QT安装目录下的bin目录中)打开zh_CN.ts(简体中文),选择“编辑”->“翻译文件设置…”,选择Chinese/China:选中某一个字符串,在译文文本框 中输入对应于中文的字符串: 同理,进行zh_TW.ts(繁体中文)文件的翻译,en.ts(英文)文件不用翻译。 4、用 lrelease QTDemo.pro 将对应的.ts文件生成.qm文件,.qm文件比较紧凑、体积小。 5、在程序中添加对国际化的支持,将main.cpp修改为如下内容: #include #include #include "QtDemo.h" int main(int argc, char **argv) { QApplication app(argc, argv); //以下3句话是装载的程序 QTranslator translator; translator.load(QString(argv[1])); app.installTranslator(&translator); QtDemo *dlg = new QtDemo; dlg->show(); return app.exec(); } 重新执行make命令,生成可执行程序。 在运行程序时通过传递命令行参数指定所使用的语言,注意不需要指定扩展名.qm,例如: ./QTDemo zh_CN 就出现中文的界面了,其他的依次类推。
(原文出处:武汉华嵌嵌入式培训中心, 转载请注明出处)
|