QT中的中英文翻译(ts和qm使用方法)

环境:QT5.14.2 和QT Creator4.11.1(Community)

第一步:如图,在需要翻译的英文文本前使用tr方法

第二步:在.pro文件里添加这段:

TRANSLATIONS += \

zh.ts

第三步:在QT Creator自带的Qt语言家下选择:更新翻译

这时生成的.ts文件在你的工程目录下:

可以把文件添加到工程里方便查看和操作:

然后右键该文件选择Qt Linguist打开:

选择你要翻译的文本,翻译即可:

然后点击√:

保存该文件。

查看ts文件可以看到刚刚修改的内容:

第四步:发布翻译:

点击后会生成一个qm文件,同样在工程目录下:

这时候,需要在程序上加载该文件,建议把qm文件拷贝到运行目录,如图,我这里拷贝到的是debug的exe同级目录下:

同时在代码中增加包含翻译的库文件,和对应的加载代码:

这里贴下代码:

#include <QTranslator>
#include <QDebug>
QTranslator *qtTranslator = new QTranslator;
    //获取翻译文件路径并加载
    if(qtTranslator->load(QCoreApplication::applicationDirPath() + "/zh.qm")){
            a.installTranslator(qtTranslator);
        }
    else{
        qDebug("load failed!!\n");
        qDebug() << QCoreApplication::applicationDirPath();
    }

其中,QCoreApplication::applicationDirPath()是获取程序的运行目录的。

完成之后,调试运行一下,可以看到翻译成功了:

后续有新增的翻译,先在程序里增加需要翻译的文本,如:

然后选择:更新翻译

再用Qt Linguist打开,进行翻译保存

然后发布翻译:

这里是更新工程目录下的qm文件,还需要再把该qm文件拷贝到程序运行目录:

更新翻译前:

更新翻译后

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值