一、环境介绍
操作系统介绍:win10 64位
QT版本: 5.12.6
二、需要提前了解的知识
QT国际化支持: https://blog.csdn.net/xiaolong1126626497/article/details/113970945
三、问题原因
QT自带的标准对话框QFontDialog、QColorDialog、QMessageBox默认的文字全是英文的,QLineEdit和QTextEdit的右键菜单,默认的文字也全是英文的。
四、解决方法
1. 去QT官网下载对应版本的源码包,解压之后在源码包搜索qt_xxx.ts,中文对应的就是qt_zh_CN.ts文件。
2. 将该文件拷贝出来,再使用文本编辑器打开搜索QDialogButtonBox这个context,替换为QPlatformTheme(这一步是解决OK按钮翻译不完全的问题)。
3. 搞定之后,再将ts文件发布成qm文件,在工程里安装翻译文件即可。
关于如何发布qm文件和加载翻译文件,可以参考第二章的链接。
下面图片是翻译之后的效果:
五、多个翻译文件如何加载的问题
在解决标准对话框为中文字体的时候,如果本来工程里就需要支持国际化,也就是说工程本来就有翻译文件需要加载, 这时又需要加载QT的翻译文件,这个问题如何解决?
先说明,工程同一时刻只能加载一个翻译文件,为了能同时使用工程原来的翻译文件,也想使用QT的翻译文件,可以将两个ts文件手动合在一起,然后再生成一个新的qm文件即可解决。