1. 通过 修改5.6\Src\qttranslations\translations\qt_zh_CN.ts 文件 实现 QMessageBox及QTextEdit的中文显示
步骤1:解决QMessageBox的中文显示,将qtbase_ja.ts文件中的QPlatformTheme 的context 内容复制到 qt_zh_CN.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>&Yes</source>
<translatorcomment>确认</translatorcomment>
<translation type="unfinished">(&Y)</translation>
</message>
<message>
<source>Yes to &All</source>
<translation>全部</translation>
</message>
<message>
<source>&No</source>
<translation>取消</translation>
</message>
<message>
<source>Ignore</source>
<translation>忽略</translation>
</message>
<message>
<source>Close</source>
<translation>关闭</translation>
</message>
<message>
<source>Cancel</source>
<translation>取消</translation>
</message>
</context>
步骤2:解决QTextEdit右键的中文显示,将qtbase_ja.ts中context节点中name为QWidgetTextControl的节点全部复制到 qt_zh_CN.ts ,并修改;
<context>
<name>QWidgetTextControl</name>
<message>
<location filename="widgets/qwidgettextcontrol.cpp" line="2230"/>
<source>&Undo</source>
<translation type="unfinished">撤销(&U)</translation>
</message>
<message>
<location filename="widgets/qwidgettextcontrol.cpp" line="2234"/>
<source>&Redo</source>
<translation type="unfinished">恢复(&R)</translation>
</message>
<message>
<location filename="widgets/qwidgettextcontrol.cpp" line="2241"/>
<source>Cu&t</source>
<translation type="unfinished">剪切(&T)</translation>
</message>
<message>
<location filename="widgets/qwidgettextcontrol.cpp" line="2250"/>
<source>&Copy</source>
<translation type="unfinished">复制(&C)</translation>
</message>
<message>
<location filename="widgets/qwidgettextcontrol.cpp" line="2259"/>
<source>Copy &Link Location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="widgets/qwidgettextcontrol.cpp" line="2267"/>
<source>&Paste</source>
<translation type="unfinished">粘贴(&P)</translation>
</message>
<message>
<location filename="widgets/qwidgettextcontrol.cpp" line="2272"/>
<source>Delete</source>
<translation type="unfinished">删除</translation>
</message>
<message>
<location filename="widgets/qwidgettextcontrol.cpp" line="2281"/>
<source>Select All</source>
<translation type="unfinished">选择全部</translation>
</message>
</context>
步骤3:更新完 qt_zh_CN.ts文件需重新发布,利用lrelease 重新发布
步骤4:将发布得到的qm文件加载到程序中,代码如下:
QApplication app(argc, argv);
QTranslator translatorAll;
bool bREt = translatorAll.load(QString("./translation/qt_zh_CN.qm"));
app.installTranslator(&translatorAll);

3744

被折叠的 条评论
为什么被折叠?



