记录Qt多语言的实现过程
目录
1.项目配置文件.pro配置
2.程序中的字符串用tr()封装
3.生成翻译文件
4.使用Qt语言家修改翻译文件
4.1使用Qt语言家打开
4.2 .更改文件配置
5. 生成qm文件
6.代码执行切换语言
6.1入口处
6.2 事件执行
0.效果
1.项目配置文件.pro配置
TRANSLATIONS+= en_tr.ts \zh_tr.ts
2.程序中的字符串用tr()封装
labInfo->setText(tr("字体名称"));
3.生成翻译文件
4.使用Qt语言家修改翻译文件
4.1使用Qt语言家打开
4.2 .更改文件配置
5. 生成qm文件
6.代码执行切换语言
6.1入口处
入口函数引用、声明
//多语言使用
#include <QTranslator>
#include <QSettings>QTranslator trans;
入口函数内部
//多语言入口函数内部QApplication::setOrganizationName("CC-Qt");QApplication::setApplicationName("CC");QSettings settings;QString curLang = settings.value("Language","CN").toString();//读取注册表bool success =false;if(curLang=="EN")success = trans.load("en_tr.qm");elsesuccess = trans.load("zh_tr.qm");if(success)a.installTranslator(&trans);TextEditorExample example;example.show();
6.2 事件执行
extern QTranslator trans;//声明外部变量
void TextEditorExample::on_actLang_EN_triggered()
{if(trans.load("en_tr.qm")){ui->retranslateUi(this);labInfo->setText(tr("字体名称"));QSettings settings;settings.setValue("Language","CN");}
}void TextEditorExample::on_actLang_CN_triggered()
{if(trans.load("zh_tr.qm")){ui->retranslateUi(this);labInfo->setText(tr("字体名称"));QSettings settings;settings.setValue("Language","CN");}
}