版权声明:引用请注明出处 https://blog.csdn.net/quange_style/article/details/71254995
嵌入式QT 常常需要支持多种语言动态切换,而QT在这方面很容易就可以实现
需要注意的几个点:
1、文件编码统一为UTF-8
2、要翻译的内容用QObject::tr()函数包括起来。
3、代码里面的内容最好是用英文来写。
步骤:
1、在pro 文件加入
TRANSLATIONS+=language/qt_gui_zh_CN.ts
TRANSLATIONS+=language/qt_gui_en_US.ts
等要翻译的中文或英文语言包
2、在qt creator 下 工具->外部->Qt语言专家->更新发布
就会生成qt_gui_zh_CN.ts 和qt_gui_en_US.ts文件
3、用qt 工具linguist.exe 软件打开ts文件,并且在里面编辑对应的语言翻译
4、在qt creator 下 工具->外部->Qt语言专家->发布翻译
即可生成qt_gui_zh_CN.qm 和qt_gui_en_US.qm文件
5、在代码工程里面导入语言文件
QApplication a(argc, argv);
QTranslator translator;
QString QmName = "qt_gui_zh_CH.qm";
if(Language==Lan_zh_CN)
{
QmName = "qt_gui_zh_CH.qm";
}
else if(Language==Lan_en_US)
{
QmName = "qt_gui_en_US.qm";
}
if(translator.load(QtLanguagePath+QmName))
a.installTranslator(&translator);
dvrmain Dvrmainwindow;
Dvrmainwindow.show();
int ret_val;
ret_val=a.exec();
return ret_val;