目的
就是想让QT编的软件支持中英文。
情况
1、首先配置项目的pro文件:
这样就会生成相应的翻译配置文件,当前是:
translate1_cn.ts:中文的配置文件,因为一般默认就是中文,所以一般中文的翻译文件是不需要的
translate1_en.ts:英文的配置文件
2、lupdate 生成ts文件
通过执行如下命令:
lupdate imageAnalyse.pro
生成:
translate1_cn.ts、translate1_en.ts这两个文件。
之后,更改了代码,添加了需要翻译的字符,可以直接用这一个命令进行更新
如图所示:
3、通过Linguist进行翻译
4、通过lrelease ts文件 生成 压缩的qm文件
5、代码中引用翻译文件进行翻译工作
void Translate::translate(QApplication &app)
{qDebug("enter function Translate::translate");QString lang = this->getLanguage();QString langFile;if(lang == "zh_cn"){langFile = QString(":/translate/translate1_cn.qm");}else if(lang == "en_us"){langFile = QString(":/translate/translate1_en.qm");}else{langFile = QString(":/translate/translate1_cn.qm");}bool res = m_trans->load(langFile);if(!res){QString error = langFile+" load error!";qWarning(error.toStdString().c_str());}app.installTranslator(m_trans);qDebug("exit function Translate::translate lang=%s", lang.toStdString().c_str());
}
效果
英文配置的情况:
中文配置的情况:
总结
中英文对应,就是中英文一一对应,并不是我一开始想的自动翻译,这就好像键值对一样,就是这么的简单。
相应代码链接:https://download.csdn.net/download/maokexu123/89658658