qt编写多语言软件的方法

一、概述

        qt在编写多国际化软件时,一般采用多语言的方式,既先用英文字符串写代码,后期再进行翻译为其他语言的版本。

二、多语言翻译方法

2.1在c++文件中多语言方法

        在c++文件中,需要翻译的多语言字符串需要用tr()方法将字符串进行标记。既使用tr("英文字符串")(注意:因为Qt中的类都继承自QObject类,所以这里直接使用了tr,如果不是在继承自QT的类中使用,应该用Object::tr(...)来调用。)来对字符串进行标记,告诉qt这个字符串是需要被翻译为多种语言的字符串。如下图所示。

 

 2.2在qml中多语言方法

        在qml文件中和c++略有不同,qml文件中,需要使用qsTr()方法将字符串进行标记。既使用qsTr("英文字符串")来对字符串进行标记。如下图所示。

 

 

        需注意,在c++中用tr()函数后就可以进行下一步更新翻译的步骤了,但是qml中使用qsTr()函数后还需要在pro文件中添加翻译路径,如下图所示,路径具体为要翻译的qsTr所在qml文件在Sources文件中的路径。

 

 2.3更新翻译

  在上面,需要翻译为多种语言的相关字符串已经使用tr()函数或qsTr()函数包装起来了。现在要做的就是更新这些要翻译的字符串到ts文件。更新翻译(lupdate)就是用于扫描qml中被qsTr()包裹的字符串和c++文件中被tr()包裹的起来的字符串生成到ts文件中,ts文件就是记录这些字符串翻译信息的文件。

具体步骤:

①在pro文件中添加ts文件(如下图,ts文件的名字可以任意取),在更新翻译后,如果原本不存在这个ts文件则会在自动在工程文件目录下生成这个ts文件。

 

②进行更新翻译,点击工具-外部-QT语言家-更新翻译(lupdate)如下图:

 

 

2.4翻译对应字符串

  ①使用QT自带的的Linguist软件打开之前在pro文件中指定的ts文件,ts文件路径一般为工程文件的根目录下。

  ②点击菜单栏编辑-翻译文件设置,对要翻译的目标语言进行设置。如下图

 

  ③进行字符串翻译如下图:

 

2.5发布翻译

  翻译完成后进行发布翻译,即将ts文件转化为qt能够识别的qm二进制文件。步骤:点击工具-外部-QT语言家-发布翻译(release),完成后重新编译运行即可。

 

 

 

 

 

 

  

posted @   小人物1112227  阅读(368)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示