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文件


相关文章
|
6月前
|
存储 数据安全/隐私保护 C++
Qt 中文文档 Qt5.15 PDF Class (从官网Qt 5.15 翻译)
Qt 中文文档 Qt5.15 PDF Class (从官网Qt 5.15 翻译)
440 0
|
6月前
|
程序员
QT 官方QObject对象翻译要点(纯属个人翻译,不靠谱)
QT 官方QObject对象翻译要点(纯属个人翻译,不靠谱)
74 1
|
6月前
|
XML 自然语言处理 数据格式
Qt国际化翻译解决方案
Qt国际化翻译解决方案
137 0
|
5月前
|
存储 数据安全/隐私保护
Qt Installer Framework翻译(5-3)
Qt Installer Framework翻译(5-3)
|
6月前
|
SQL XML API
Qt C++ 模块 描述列表【从Qt 官网 6.5 版本翻译】
Qt C++ 模块 描述列表【从Qt 官网 6.5 版本翻译】
43 0
|
自然语言处理
【QT】多语言翻译
【QT】多语言翻译
【QT】多语言翻译
Qt中文翻译(官方文档,界面,工具等)集锦
Qt中文翻译(官方文档,界面,工具等)集锦
712 0
|
小程序 IDE 开发工具
好工具推荐系列:Qt多国语言翻译国产软件digital translate
好工具推荐系列:Qt多国语言翻译国产软件digital translate
291 0
|
开发者
Qt翻译原生widgets(QTextEdit右键菜单等)
简述 在国际化的处理中,如果使用 Qt widgets 自带的原生功能,其中很多文本并不会被自行翻译,例如:QTextEdit 右键菜单(复制、粘贴)。 最好的方式是 Qt 能提供相关模块的 ts 翻译源,开发者根据所要翻译的内容自行翻译。但是,查找 Qt 安装目录,并没有相关的的翻译源。既然这样,那我们只能自行解决了! 简述 添加翻译源 提取翻译源 发布 加载
2432 0
|
4月前
|
数据安全/隐私保护 C++ 计算机视觉
Qt(C++)开发一款图片防盗用水印制作小工具
文本水印是一种常用的防盗用手段,可以将文本信息嵌入到图片、视频等文件中,用于识别和证明文件的版权归属。在数字化和网络化的时代,大量的原创作品容易被不法分子盗用或侵犯版权,因此加入文本水印成为了保护原创作品和维护知识产权的必要手段。 通常情况下,文本水印可以包含版权声明、制作者姓名、日期、网址等信息,以帮助识别文件的来源和版权归属。同时,为了增强防盗用效果,文本水印通常会采用字体、颜色、角度等多种组合方式,使得水印难以被删除或篡改,有效地降低了盗用意愿和风险。 开发人员可以使用图像处理技术和编程语言实现文本水印的功能,例如使用Qt的QPainter类进行文本绘制操作,将文本信息嵌入到图片中,
173 1
Qt(C++)开发一款图片防盗用水印制作小工具