QT QTranslator 中英文翻译linguist语言家 翻译过程

简介: QT QTranslator 中英文翻译linguist语言家 翻译过程

1、QT项目中,.pro文件内添加如下代码

TRANSLATIONS    +=  test_zh.ts

test_zh是自己起的名字,名字部分可以修改(一般中文为zh,英文为en)


.ts是后缀,后缀不能改


1.png


2、用tr()在所有需要中英文翻译的源代码处修改格式

用tr("XXX") 替换 "XXX"        


1)翻译前:

QMessageBox::information(this, "消息框", "this is a content");

2)翻译后:

QMessageBox::information(this, "消息框", tr("this is a content"));

1.png



3、生成并修改.ts翻译文件

1)生成.ts文件


点击qt的【工具】--【外部】--【Qt语言家】--【更新翻译】


1.png


此时在项目文件夹下会生成一个.ts结尾的翻译文件


1.png


2)修改.ts文件


在项目文件夹中双击.ts结尾的文件,会进入linguist语言家编辑界面,这里会识别出项目里所有你用tr()形式需要翻译的地方,在下图红框里填入对应的中文即可


1.png1.png




改好所有翻译之后保存,ctrl+s保存也可,左上角点击保存也行


4、通过.ts文件生成.qm文件

qt 里,工具栏选择【工具】--【外部】--【Qt语言家】--【发布翻译】


注意:刚才生成.ts文件选择的是更新翻译,不要弄混


1.png


点击发布翻译后,项目文件里会生成一个.qm结尾的文件,是以.ts文件为基础生成的


1.png


5、将.qm文件以【添加资源文件】的形式加入qt项目中

添加资源文件过程不做赘述,添加后项目目录如图


1.png


6、在main.cpp中载入翻译文件

 

    QTranslator translator;
    translator.load(":/test_zh.qm");
    a.installTranslator(&translator);

注意:翻译文件加载的位置必须在界面实例化之前完成;


而且注意加载资源文件的路径,路径一定要对,不然无法加载正确翻译


1.png


至此,已经可以将英文翻译为中文


翻译前:


1.png


翻译后:


1.png


参考:


QT---之QTranslator【界面语言翻译】及QT-Linguist的用法_锥子A的博客-CSDN博客


Qt中QTranslator中的翻译文件*.ts文件是如何生成的?_Just do it-CSDN博客_qt 生成ts文件


相关文章
|
1月前
|
存储 数据安全/隐私保护 C++
Qt 中文文档 Qt5.15 PDF Class (从官网Qt 5.15 翻译)
Qt 中文文档 Qt5.15 PDF Class (从官网Qt 5.15 翻译)
42 0
|
3月前
|
程序员
QT 官方QObject对象翻译要点(纯属个人翻译,不靠谱)
QT 官方QObject对象翻译要点(纯属个人翻译,不靠谱)
23 1
|
3月前
|
XML 自然语言处理 数据格式
Qt国际化翻译解决方案
Qt国际化翻译解决方案
|
1月前
|
SQL XML API
Qt C++ 模块 描述列表【从Qt 官网 6.5 版本翻译】
Qt C++ 模块 描述列表【从Qt 官网 6.5 版本翻译】
13 0
|
自然语言处理
【QT】多语言翻译
【QT】多语言翻译
【QT】多语言翻译
Qt中文翻译(官方文档,界面,工具等)集锦
Qt中文翻译(官方文档,界面,工具等)集锦
621 0
|
小程序 IDE 开发工具
好工具推荐系列:Qt多国语言翻译国产软件digital translate
好工具推荐系列:Qt多国语言翻译国产软件digital translate
252 0
|
开发者
Qt翻译原生widgets(QTextEdit右键菜单等)
简述 在国际化的处理中,如果使用 Qt widgets 自带的原生功能,其中很多文本并不会被自行翻译,例如:QTextEdit 右键菜单(复制、粘贴)。 最好的方式是 Qt 能提供相关模块的 ts 翻译源,开发者根据所要翻译的内容自行翻译。但是,查找 Qt 安装目录,并没有相关的的翻译源。既然这样,那我们只能自行解决了! 简述 添加翻译源 提取翻译源 发布 加载
2357 0
|
1月前
|
网络协议 C++
C++ Qt开发:QTcpSocket网络通信组件
`QTcpSocket`和`QTcpServer`是Qt中用于实现基于TCP(Transmission Control Protocol)通信的两个关键类。TCP是一种面向连接的协议,它提供可靠的、双向的、面向字节流的通信。这两个类允许Qt应用程序在网络上建立客户端和服务器之间的连接。Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用`QTcpSocket`组件实现基于TCP的网络通信功能。
38 8
C++ Qt开发:QTcpSocket网络通信组件
|
15天前
|
图形学 Python 容器
【PyQt5桌面应用开发】3.Qt Designer快速入门(控件详解)
【PyQt5桌面应用开发】3.Qt Designer快速入门(控件详解)
35 0

热门文章

最新文章

推荐镜像

更多