QtApplets-国际化多语言设置

210 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。 头图

QtApplets-国际化多语言设置

用了Qt搞了多久的开发,一直没有国际化,也就是多语言设置。今天来简单研究一下。


QtApplets-国际化多语言设置1 制作一个简单的界面2 在Pro文件中加入翻译模块3 制作TS文件4 Linguist中打开对应文件5 编译发布版本6 使用7 效果演示☞ 源码

关键字: QTranslator多语言国际化翻译设置

1 制作一个简单的界面

这里我简单拖了一个界面出来,放了一个Label和一个Button用来模拟控件,还有连个Button用来切换两种语言。如下图

2 在Pro文件中加入翻译模块

在Pro文件中加入对应的翻译模块

 TRANSLATIONS += English.ts\
                 Chines.ts

3 制作TS文件

这里都是傻瓜式的,如下图所示【工具】->【外部】->【Qt语言家】->【更新翻译】

这样在我们的源码目录中就可以看到这两个文件了,如下图所示。

4 Linguist中打开对应文件

这个要选择与我们编译器一致的版本。一开始需要选择一个源语言和目标源,聪明的你一定会。这里我没有截图了

把每一项都给翻译一遍,保存退出,回到Qt

5 编译发布版本

傻瓜操作,如下图所示

这步完成后,会在源码目录下多出两个qm文件来,如下图所示

image-20211108211048074

6 使用

使用的方式有很多了,可以当做资源文件来用,也可以直接动态加载都可以,我这里把它弄成资源文件了。实现代码如下:

 /**
  * @brief International::on_pushButton_2_clicked
  * 切换中文
  */
 void International::on_pushButton_2_clicked()
 {
     QTranslator trans;
     trans.load(":/Chines.qm");
     qApp->installTranslator(&trans);
     this->ui->retranslateUi(this);
 }
 /**
  * @brief International::on_pushButton_3_clicked
  * 切换英文
  */
 void International::on_pushButton_3_clicked()
 {
     QTranslator trans;
     trans.load(":/English.qm");
     qApp->installTranslator(&trans);
     this->ui->retranslateUi(this);
 }

7 效果演示

☞ 源码

源码链接:GitHub仓库自取

使用方法:☟☟☟