Qt汉化QColorDialog窗口

  • Post author:
  • Post category:其他


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>&amp;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>&amp;Yes</source>
        <translation>是(&amp;Y)</translation>
    </message>
    <message>      
        <source>Yes to &amp;All</source>
        <translation>全部是(&amp;A)</translation>
    </message>
    <message>       
        <source>&amp;No</source>
        <translation>否(&amp;N)</translation>
    </message>
    <message>      
        <source>N&amp;o to All</source>
        <translation>全部否(&amp;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显示中文



版权声明:本文为sang_12345原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。