QtApplets-国际化多语言设置

Posted DreamLife.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QtApplets-国际化多语言设置相关的知识,希望对你有一定的参考价值。

QtApplets-国际化多语言设置

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


关键字: 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仓库自取

使用方法:☟☟☟


以上是关于QtApplets-国际化多语言设置的主要内容,如果未能解决你的问题,请参考以下文章

iOS多语言(国际化)开发(尾随系统 + APP内手动设置)

yii2 api接口 实现国际化多语言设置

为程序设置多语言界面——C#

iOS- 国际化(多语言设置)

iOS多语言本地化(国际化)设置

iOS多语言本地化(国际化)设置