本文已参与「新人创作礼」活动,一起开启掘金创作之路。
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文件来,如下图所示
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仓库自取
使用方法:☟☟☟