QT库对国际化的支持:语言翻译。

QT库对国际化的支持:语言翻译。

主要利用Qt提供的lupdate、linguist、和lrelease工具。这些工具在Qt安装目录里有。

主要步骤:

  1. 修改工程的.pro文件,添加如下代码:TRANSLATIONS = XXXX.ts。然后编译,一定要编译。代码示例:

    TRANSLATIONS = InternationalDemo.ts
    
  2. 打开Qt x.xx.xx for Desktop(MinGW x.x.x 32
    bit)
    ,首先进入工程目录下,然后执行命令:lupdate XXX.pro。上述XXX.pro就是第一步中修改的.pro文件。这样工程目录下就生成了XXX.ts文件。但是最终需要不是.ts,而是.qm,所以继续。
    示例

  3. 在Qt命令行中输入Linguisit或者直接运行Linguist应用,打开Linguist

  4. 文件->打开,打开工程目录下生成的.ts文件,然后设置源语言和目标语言,默认源语言是任意国家语言,目标语言是中文。

    .ts已经提取了代码中的字符串,我们只需要选中源文,在下面写对应的译文。每写完一项源文,点击上方图标在这里插入图片描述,表示该项源文已经译完,进行下一项。

    所有源文译完,保存一下,然后文件->发布。
    在这里插入图片描述

  5. 最后修改源代码,在main函数或者合适的地方添加如下代码

    QTranslator *translator = new QTranslator;
    translator->load("D:/Documents/QtProjects/InternationalDemo/InternationalDemo.qm");
    a.installTranslator(translator);
    

    需要引用头文件#include <QTranslator>。

tr参数

函数原型为:

[static] QString QObject::tr(const char *sourceText, const char *disambiguation = Q_OBJECT, int n = Q_OBJECT)
  1. sourceText:就是需要的源字符串。
  2. disambiguation:不同的字符串可能相同,为了消除歧义和区分,给相同的字符串添加不同的描述,默认为0。
  3. n:用于存在复数的情况,具体怎么回事不晓得。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值