Qt多国语言(国际化)问题小结-阿里云开发者社区

开发者社区> 云计算> 正文

Qt多国语言(国际化)问题小结

简介: 引言:目前,Qt作为图形开发软件使用的人群越来越多,很多公司的产品有多国语言支持的需求,笔者就教学与项目开发中的经历,小结了Qt多国语言(国际化)问题,仅供参考。   假设我们已经建好一个工程,且可以运行出基本的界面。

引言:目前,Qt作为图形开发软件使用的人群越来越多,很多公司的产品有多国语言支持的需求,笔者就教学与项目开发中的经历,小结了Qt多国语言(国际化)问题,仅供参考。

 

假设我们已经建好一个工程,且可以运行出基本的界面。

1、打开项目工程文件QTDemo.pro,添加如下语句:

TRANSLATIONS += en.ts zh_CN.ts zh_TW.ts

 

2、然后在命令行窗口中输入以下命令:

lupdate QTDemo.pro

这样就生成了3个语言文件:en.tszh_CN.tszh_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  就出现中文的界面了,其他的依次类推。 

 

(原文出处:http://www.embedhq.org, 转载请注明出处)

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章