VS+QT多语言切换

一、效果

在这里插入图片描述

二、过程

  1. 利用Qt VS Tools工具创建ts文件,如图:
    在这里插入图片描述
    点击“Create New Translation File”,如下图:
    在这里插入图片描述
    这里如果你需要翻译成中文简体,就选择中文简体,如果需要翻译其他语言,就选择对应的语言就行;
    注意:这里是项目工程中添加ts文件,此时本地并没有ts文件;
    ts文件:保存通过Linguist(Qt语言家工具)提取出整个工程代码中带有tr的文本信息;

  2. 利用Qt VS Tools工具创建Qt工程文件,如下图:
    在这里插入图片描述
    点击“Create Basic .pro File…”,如下图:
    在这里插入图片描述
    这里要注意,.pri要勾选,按照默认选项执行就行,最后会生成.pri和.pro文件;
    这一步很重要,因为Linguist工具提取翻译文本需要通过QT的工程文件来提取,包括新增了窗口类文件时、以及添加了ts文件,都要重新创建pro、pri文件;

  3. 打开Qt命令行,例如Qt 5.10.1 32-bit for Desktop (MSVC 2015),执行命令lupdate XXX.pro,这是工程目录下就有ts文件了;
    在这里插入图片描述

  4. 打开Qt语言家工具Linguist,通过工具对源文本进行翻译,翻译完成后,点击文件下的另外发布为,指定到程序运行目录下,完成后,在运行目录下会生成qm文件;
    在这里插入图片描述

  5. 添加以下代码(伪代码):

qApp->removeTranslator(&m_appTranslator);
QTranslator m_appTranslator;
m_appTranslator.load(qm文件);
qApp->installTranslator(&m_appTranslator);
ui.retranslateUi(this);

三、遇到的问题

当tr包含的字符串是中文时,遇到问题:lupdate命令提取文本到ts文件中,显示的是乱码;
解决方法:
1.先将代码文件编码改为UTF-8保存,如下图:
在这里插入图片描述
在这里插入图片描述
选择按UTF-8保存
在这里插入图片描述
2.头文件加入如下代码:

#pragma execution_character_set("utf-8")
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值