其他分享
首页 > 其他分享> > 菜鸟修炼日记--QT--语言切换功能

菜鸟修炼日记--QT--语言切换功能

作者:互联网

菜鸟修炼日记--QT--语言切换功能

前言

本文将详细介绍如何使用linguist工具来实现QT的语言切换,使得用户能够通过UI界面来切换界面的语言。
其中linguist工具一般在安装QT Creator时就会自动安装的

设备背景简介

虚拟机:VMWare
操作系统:Ubuntu 16.04.3
QT版本:QT5.9

实现的步骤

1. 标注需要翻译的字符

ui设计界面上的字符可以自动识别,不需要标注,而在源码中的字符如果需要被识别,就需要进行标记。
而标记的方法就是:在需要翻译的字符中用tr()方法来标注,以便linguist能够识别,例如:

ui->display_mode_value_label->setText(tr("正常"));

2. 生成st翻译文件

2.1 在.pro文件中,添加宏:

TRANSLATIONS += language/langEnglish.ts \
                language/langChinese.ts

2.2 在QT Creator中更新翻译文件

在QT Creator中找到linguist,点击更新翻译(lupdate)
在这里插入图片描述
即可生成上面路径下的两个ts文件。
在这里插入图片描述

2.3 找到linguist应用程序并打开

我在/home/用户名/Qt5.9.0/5.9/gcc_64/bin这个路径下找到了该应用程序。

2.4 在linguist中打开ts文件:langEnglish.ts

2.5 选择需要翻译的中文,手动输入英文翻译

在这里插入图片描述

2.6 点击“Ctrl+t”将此翻译添加到短语书中,这样下次就不要再进行翻译了。在这里插入图片描述

2.7 点击“Ctrl+enter”确认翻译生效,生效后问号会变成✔在这里插入图片描述

2.8 全部翻译完成后,保存ts文件,并发布,就生成可用的ts翻译文件

在这里插入图片描述

3.实现语言切换

3.1 在源码中使用该文件就可以将中文翻译为英文

#include <QTranslator>
#include <QApplication>
QTranslator  translator;
translator.load(tr(":/langEnglish.qm"));
qApp->installTranslator(&translator);
 ui->retranslateUi(this);

3.2 使用该文件之后,已经打开的窗口并不会翻译,所以需要将这些窗口delete再new

4 调试修改

之后在源码增加了中文,需要更新ts文件时,只需要将这段中文用tr()来标注,然后重复上述的第二步中的步骤即可。

参考资料

Qt学习笔记:多语言文件.qm的生成和使用

标签:文件,翻译,需要,QT,--,菜鸟,ts,linguist
来源: https://blog.csdn.net/chen9807/article/details/116534211