[转帖]Qt多国语言(国际化)问题小结_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2979 | 回复: 0   主题: [转帖]Qt多国语言(国际化)问题小结        下一篇 
clover
注册用户
等级:少校
经验:843
发帖:73
精华:0
注册:2013-6-28
状态:离线
发送短消息息给clover 加好友    发送短消息息给clover 发消息
发表于: IP:您无权察看 2013-6-28 13:59: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 <QApplication>
#include <QTranslator>
#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, 转载请注明出处)




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论