首页 > 其他分享 >qt编写多语言软件的方法

qt编写多语言软件的方法

时间:2022-12-15 23:33:39浏览次数:33  
标签:文件 翻译 qt qsTr tr ts 软件 字符串 编写

一、概述

        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),完成后重新编译运行即可。

 

 

 

 

 

 

  

标签:文件,翻译,qt,qsTr,tr,ts,软件,字符串,编写
From: https://www.cnblogs.com/tgc-3/p/16984563.html

相关文章

  • PCL1.12+VTK9.1+QT6编译部署
     本文讲解使用的环境是vs2019+pcl1.12.0+vtk9.1+qt6.0,最后再展示一个示例程序1 编译VTK   vtk下载地址如下:https://vtk.org/download/然后用cmake构建,修改一下几个地......
  • qt-垂直布局初步
    QWidget在学习垂直布局之前,我们需要了解一个对象,就是QWidget。它的功能就是创建一个窗口。垂直布局,包括水平布局,都需要对窗口使用才能显示,我们不能直接将垂直布局显示出......
  • 软件测试之Web测试如何进行?广东好口碑软件测评公司推荐
    无论是PC端还是移动端,我们日常生活、工作和学习所需要的各种应用程序都可以以Web的形式存在于各种浏览器中。Web应用程序也成为了企事业单位对外宣传、开展业务的重要渠......
  • 软件测试面试常见问题(一)
    (1)一、测试1、你对软件测试的理解。软件测试就是利用测试工具按照测试方案和​​流程​​​对产品进行功能和​​性能测试​​,甚至根据需要编写不同的测试工具,设计和维护测试......
  • 移动app测试框架有哪些?权威第三方软件测试机构安利
    一、适用于Android的移动app测试框架1.Espresso十分流行的一款谷歌开发的Android测试框架,具备高性能性。可以创建非常简单直接的测试,而不必担心app的基础架构。......
  • 获取当前窗口的进程名 - 软件
    获取当前窗口的进程名---------------------------------------------生活的意义并不是与他人争高下,而在于享受努力实现目标的过程,结果是对自己行动的嘉奖。↑面的话......
  • 有必要进行第三方软件测试机构安全测试吗?安全测试报告如何报价?
    随着网络信息的发展,以及设施的完善,便捷的网络条件为我们的生活带来了极大的便利。但也有许多网络罪犯利用软件安全实施不法之事,因此保护软件产品的安全也是软件企业十分......
  • 浅谈CMakeLists.txt 增加软件版本信息(很方便)
    1.从一个CMakeLists.txt下手,如下:include_directories(${CMAKE_CURRENT_BINARY_DIR})应该放在最后,但是在引用lib前。#@warninghere:addthevariablesweneedand......
  • Qt之自定义输入框(度分秒、经纬度、格式化显示)
    相关资料:http://www.manongjc.com/detail/15-grpefyhtwdpbehh.html  Qt自定义文本输入框实现支持输入度分秒和度两种格式(简易无限制输入)PS:重要的文件我用粗体标注......
  • RTL8380M/82M管理型交换机系统软件操作指南四:QoS/服务质量
    接下来对QoS进行详细的描述,主要包括以下七大内容:QoS概述、功能简介、拥塞管理、策略分类、调度方式、优先级映射配置、QoS端口配置.1.1QoS概述QoS(QualityofService,服务......