Qt多国语言

当我们的软件需要支持多国语言时,Qt对多国语言的支持也比较好,可以使用Qt的翻译家轻松实现我们软件的UI展示语言,如果是代码中生成的一些字符串,也需要经过翻译,也可以通过翻译家翻译,有个前提条件是要用tr把我们需要翻译的字符串包起来,这样使用Qt的更新翻译时就会把tr包起来的字符串也加到翻译的列表中。具体做法如下:

1.先在我们的工程文件也就是pro文件增加以下配置并保存

TRANSLATIONS += 路径/*_CN.ts \

                                    路径/*_EN.ts \

2.然后在菜单栏点击工具-外部-Qt语言家-更新翻译,则Qt会在你配置的路径生成上述配置的两个文件,如果没生成,请检查是否有配置lupdate.exe的路径和对应的g++路径,也就是Qt的bin目录和Qt的Tools的bin目录,这两个最好直接在环境变量中配置

3.生成完成之后,打开Qt的linguist.exe工具,可以从Qt的开始程序中打开,也可以直接搜索linguist.exe工具直接打开,打开之后在linguist.exe软件的界面点击菜单栏的打开,选择刚才生成的*_EN.ts文件,然后软件会自动显示界面和代码中需要翻译的所有项,可以进行逐个翻译,翻译完成后,可回到工程中,在菜单栏点击工具-外部-Qt语言家-发布翻译,则可生成对应的两个*.qm文件,这两个文件则就是最终的语言包文件

4.生成好了qm语言包文件后,则可使用QTranslator对象加载qm文件,并调用QApplication::installTranslator即可将语言包加载到软件中,显示对应加载的语言包,如果需要在线切换显示的语言,则需要在UI中重写changeEvent函数,进行ui的retranslateUi,则可切换不同的语言显示,可自定义一个语言管理单例类去管理语言的切换

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值