1.找到本地Qt安装目录下的qt_zh_CN.qm文件,我们拷贝一份出来放在别的路径下进行操作,仅供我们当前的程序使用。文件参考位置:D:\Qt\5.15.2\msvc2019_64\translations\
2.如果你的Qt包含qt_zh_CN.ts文件,那么直接调到第3步;
如果你的Qt不包含qt_zh_CN.ts文件,我们用qt语言家(Linguist.5.15.2)来创造该文件,用qt语言家打开qt_zh_CN.qm,然后另存为qt_zh_CN.ts后关闭打开的qt_zh_CN.qm,这个.ts文件名也可以自己定义别的名字;
3.使用记事本打开第2步中的.ts文件搜索QColorDialog,然后添加我们自定义的汉化项
<message>
<source>&Pick Screen Color</source>
<translation>拾取屏幕颜色</translation>
</message>
QColorDialog中的Ok和Cancel的汉化我们直接定位到全局,就不在QColorDialog这里单独汉化了。
在.ts文件首部添加如下代码,之后保存.ts文件:
<context>
<name>QPlatformTheme</name>
<message>
<source>OK</source>
<translation>确定</translation>
</message>
<message>
<source>Save</source>
<translation>保存</translation>
</message>
<message>
<source>Save All</source>
<translation>全部保存</translation>
</message>
<message>
<source>Open</source>
<translation>打开</translation>
</message>
<message>
<source>Cancel</source>
<translation>取消</translation>
</message>
<message>
<source>Abort</source>
<translation>终止</translation>
</message>
<message>
<source>Close</source>
<translation>关闭</translation>
</message>
<message>
<source>Apply</source>
<translation>应用</translation>
</message>
<message>
<source>Reset</source>
<translation>重置</translation>
</message>
<message>
<source>Help</source>
<translation>帮助</translation>
</message>
<message>
<source>Discard</source>
<translation>抛弃</translation>
</message>
<message>
<source>&Yes</source>
<translation>是(&Y)</translation>
</message>
<message>
<source>Yes to &All</source>
<translation>全部是(&A)</translation>
</message>
<message>
<source>&No</source>
<translation>否(&N)</translation>
</message>
<message>
<source>N&o to All</source>
<translation>全部否(&O)</translation>
</message>
<message>
<source>Retry</source>
<translation>重试</translation>
</message>
<message>
<source>Ignore</source>
<translation>忽略</translation>
</message>
<message>
<source>Restore Defaults</source>
<translation>恢复默认</translation>
</message>
</context>
4.再次使用qt语言家打开刚刚我们编辑完重新保存的.ts文件,然后点击文件->发布,之后就会在.ts同一目录下看到一个新的.qm文件;
5.在main.cpp程序中加载我们生成的.qm文件,这三行代码自然是添加到QApplication app(argc, argv);后面了。
QTranslator translator;
translator.load("E:/app_qt_zh_CN.qm");
app.installTranslator(&translator);
路径的选择:
第一种方式使用绝对路径;
第二种方式使用相对路径:将最后的.qm文件放在main.cpp同一父目录下的.qrc资源文件中,然后编译一下就可以直接使用相对路径了,缺点就是不够灵活;
参考博客:
QColorDialog中文翻译完整版_会编程的打字员的博客-CSDN博客_pyqt qcolordialog显示中文