在qt里进行多语言包处理的一些注意点

在qt里进行多语言包处理的一些注意点

前端时间要将我们的软件弄一个英文版出来,这个软件是在qt creator上开发的,在创建语言包时磕磕绊绊的遇到些问题这里记录一下

在qt creator上做语言包主要是运用lupdate和lrelease,linguist这三个工具。

首先在工程里的.pro文件里添加

TRANSLATIONS = xx.ts

然后运行lupdate,会生成xx.ts文件

如果源文件或界面文件的需要翻译的内容有改变,需要重新运行lupdate

使用linguist打开xx.ts进行翻译,记得保存

然后运行lrelease生成xx.qm,这个就是语言包了,使用时加载一下就可以了

    QTranslator *trans=new QTranslator;
    bool flag = trans->load("xx");
    a.installTranslator(trans);

如果一切顺利,那么到这里就结束了

下面是一些注意点,首先我们确保qt这里的编码是utf-8的

1、在代码里加入

QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));   

2、cpp文件的文本是utf-8的,如果不是,可以用文本编辑器转换一下

3、在cpp的开头加入#pragma execution_character_set("utf-8"),这句只有在vs2010以上版本才有效,因此qt的sdk包需要相对应的包才行

以上三点是我遇到需要注意的地方。记录一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值