qt弹框显示中文

问题背景:

QT开发的产品需要运行在国产环境UOS操作系统下,其中打印弹框是英文(如下图所示),需要汉化。

Image text


解决步骤:

一、在qtcreator的安装目录下,找到qt_zh_CN.qm文件。

我的目录是:qt\5.12.2\mingw73_32\translations

二、将qt_zh_CN.qm文件拷贝到项目目录中,然后在main中使用如下代码,加载翻译文件

QString filePath = binDir + "/../config/linux/qt_zh_CN.qm";
    
QTranslator trans;
trans.load(filePath);

QApplication::installTranslator(&trans);

三、汉化后的效果如下图:

Image text

可以看到,有部分因为未汉化,或者部分文字汉化不准确

这是因为使用的qm文件不是新版的。


编译新版的qm文件

一、找到qt_zh_CN.ts文件,

在https://download.qt.io/archive/qt/上下载对应的qttranslations包,我下载的是:

dm8_20220822_rev166351_x86_rh6_64_ctm.tar

二、解压包,找到qt_zh_CN.ts文件,用txt编辑器打开,文件中的内容如下:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh_CN">
<dependencies>
<dependency catalog="qtbase_zh_CN"/>
<dependency catalog="qtscript_zh_CN"/>
<dependency catalog="qtmultimedia_zh_CN"/>
<dependency catalog="qtxmlpatterns_zh_CN"/>
</dependencies>
</TS>

三、使用**.\lrelease.exe**命令生成新的qm文件

PS D:\soft\qt\5.12.2\mingw73_64\bin>.\lrelease.exe C:\Users\Administrator\Desktop\111\qtbase_zh_CN.ts C:\Users\Administrator\Desktop\111\qtmultimedia_zh_CN.ts C:\Users\Administrator\Desktop\111\qtscript_zh_CN.ts C:\Users\Administrator\Desktop\111\qtxmlpatterns_zh_CN.ts -qm C:\Users\Administrator\Desktop\111\qt_zh_CN.qm

四、将编译好的qm文件,放进项目,效果截图如下

Image text

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值