0
点赞
收藏
分享

微信扫一扫

Qt增加QTextEdit右键菜单增加中文翻译

笙烛 2022-03-30 阅读 61
qtplugin

QT中有些控件,比如QTextEdit、QLineEdit和QWebEnginePage的右键菜单经常没有中文翻译。
比如下面QTextEdit的右键菜单:
在这里插入图片描述
那么遇到这种情况我们可以自己创建翻译文件

一、创建.ts文件

  1. 创建qt_zh_CN.ts文件 ,注意保存格式为UTF-8;
  2. 复制以下内容qt_zh_CN.ts文件中,并保存。
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh_CN">
<context>
    <name>QLineEdit</name>
    <message>
        <source>&amp;Undo</source>
        <translation>撤销</translation>
    </message>
    <message>
        <source>&amp;Redo</source>
        <translation>重做</translation>
    </message>
    <message>
        <source>Cu&amp;t</source>
        <translation>剪切</translation>
    </message>
    <message>
        <source>&amp;Copy</source>
        <translation>复制</translation>
    </message>
    <message>
        <source>&amp;Paste</source>
        <translation>粘贴</translation>
    </message>
    <message>
        <source>Delete</source>
        <translation>删除</translation>
    </message>
    <message>
        <source>Select All</source>
        <translation>选中所有</translation>
    </message>
</context>
<context>
    <name>QWidgetTextControl</name>
    <message>
        <source>&amp;Undo</source>
        <translation>撤销</translation>
    </message>
    <message>
        <source>&amp;Redo</source>
        <translation>重做</translation>
    </message>
    <message>
        <source>Cu&amp;t</source>
        <translation>剪切</translation>
    </message>
    <message>
        <source>&amp;Copy</source>
        <translation>复制</translation>
    </message>
    <message>
        <source>Copy &amp;Link Location</source>
        <translation></translation>
    </message>
    <message>
        <source>&amp;Paste</source>
        <translation>粘贴</translation>
    </message>
    <message>
        <source>Delete</source>
        <translation>删除</translation>
    </message>
    <message>
        <source>Select All</source>
        <translation>选中所有</translation>
    </message>
</context>
</TS>

二、生成翻译文件

1、使用Qt Linguist(语言家)打开qt_zh_CN.ts文件;
2、检查没问题后发布,生成qt_zh_CN.qm文件;
在这里插入图片描述

三、在程序中调用翻译文件

1、将qt_zh_cn.qm放到程序生成路径下;
2、在main函数中调用加载翻译文件;

    QTranslator tran;
    bool ok = tran.load("qt_zh_CN.qm", QCoreApplication::applicationDirPath());
    if(ok)
    {
        a.installTranslator(&tran);
    }

结尾

再次启动程序,就会发现已经是翻译过的内容了。

在这里插入图片描述

举报

相关推荐

0 条评论