菜鸟修炼日记--QT--语言切换功能
作者:互联网
菜鸟修炼日记--QT--语言切换功能
- 前言
- 设备背景简介
- 实现的步骤
- 1. 标注需要翻译的字符
- 2. 生成st翻译文件
- 2.1 在.pro文件中,添加宏:
- 2.2 在QT Creator中更新翻译文件
- 2.3 找到linguist应用程序并打开
- 2.4 在linguist中打开ts文件:langEnglish.ts
- 2.5 选择需要翻译的中文,手动输入英文翻译
- 2.6 点击“Ctrl+t”将此翻译添加到短语书中,这样下次就不要再进行翻译了。![在这里插入图片描述](https://www.icode9.com/i/ll/?i=20210508171543469.png)
- 2.7 点击“Ctrl+enter”确认翻译生效,生效后问号会变成✔![在这里插入图片描述](https://www.icode9.com/i/ll/?i=20210508171655722.png)
- 2.8 全部翻译完成后,保存ts文件,并发布,就生成可用的ts翻译文件
- 3.实现语言切换
- 4 调试修改
- 参考资料
前言
本文将详细介绍如何使用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,--,菜鸟,ts,linguist 来源: https://blog.csdn.net/chen9807/article/details/116534211