Qt多国语言国际化

Qt版本

ubuntu14 qt5.7

元素

1、tr(***),如tr(“Text_hello”,“hello1”) ,hello1指当找不到对应翻译内容时的默认内容
指示出哪些需要翻译
2、.ts文件
第一步需要在,pro文件中写明哪几种ts文件

TRANSLATIONS = lang_en.ts \
               lang_zh.ts \
               lang_la.ts

第二步:编译
第三步:通过tool—extern—Linguist-----lupdata生成对应几个ts文件
此时ts文件会包含工程中所有的tr()内容
第四步、通过Linguist软件 (可以通过“/”目录 下搜索)更改更个ts文件内容,这项工作属翻译组的任务,与软件编程无关
3、通过tool—extern—Linguist-----lrelease生成对应几个qm文件

应用

第一步:将qm文件拷贝至程序目录下。
第二步:在程序中指令翻译方式
比如:

    static QTranslator* translator;
    if(translator != NULL)
    {
        qApp->removeTranslator(translator);
        delete translator;
        translator = NULL;
    }
    translator = new QTranslator;
    QString qmFilename = "lang_"+langCode;//加上lang_的目的是因为本项目中qm的文件名。
    if(translator->load(QString("./")+qmFilename))//qm的文件名
    {
        qApp->installTranslator(translator);//这种方法适用于客户在产品上自己选择语言。
    }

错误认知更改

1、软件并不会多国语言自动翻译,而是由项目开发人员,自己翻译。此活也可以通过代码实现选择,如:

if(语言==英文)
{

}
else if(语言==英文)
{
}
else
{
}

优点:不存在ts.qm的管理问题。代码适用于多种软件平台。
缺点:当增加一种语言时,翻译组与开发组交流会变得很乱。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值