首先在工程文件.pro中加入TRANSLATIONS = zh_CN.ts en_US.ts
两个翻译文件, 支持中英文两种语言切换
接下来用Qt的Linguist分别打开和编辑ts文件
通过全局类来加载:
void QmlLanguage::setLanguage(int nLanguage)
{
QTranslator translator;
if (nLanguage == 0)
{
translator.load(":/en_US.qm");
}else{
translator.load(":/zh_CN.qm");
}
m_app->installTranslator(&translator);
m_engine->retranslate();
}
重点的是这句 m_engine->retranslate();但是只在5.10版本以上可以使用,
5.10一下没有这个接口
所以我们另觅他法:
通过信号来使得5.10以下版本都可以实现动态切换
emit languageChanged();