阅读量:0
记录Qt多语言的实现过程
目录
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"); else success = 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"); } }