QT多语言翻译工作解决方式多样,但考虑多语言支持,建议做法如下:
1.在工程文件(.pro)里加入TRANSLATIONS标签,例如:TRANSLATIONS += myproject_zh.ts
2. 在命令行下调用: lupdate myproject.pro,生成.ts文件(lupdate命令如果提示不存在,说明该lupdate.exe文件路径没配到系统的环境变量path,该目录是qt安装的bin)
3. 启动Qt Linguist进行翻译。
4. 在命令行下调用:lrelease myproject.pro,生成.qm文件(多语言可发布多个qm文件)
5. 在需要切换语言的地方写:
QTranslator *translator = new QTranslator(this);
if( translator->load("myproject_zh.qm"))
qApp->installTranslator(translator);
如果要实时切换,可以关闭并重新创建窗体,或者干脆重新启动进程。