QMessageBox、QColorDialog、按钮汉化显示
版本:Qt5.9.9
环境:QtCretator MinGW
在Qt源码目录下找到qt_zh_CN.ts
复制一份到工程目录,该文件在:G:\install\Qt\Qt5.9.9\5.9.9\Src\qttranslations\translations
。
打开qt_zh_CN.ts
文件,找到QColorDialog
标签,添加以下内容:
<message>
<source>&Pick Screen Color</source>
<translation>拾取屏幕颜色(&P)</translation>
</message>
<message>
<source>Cursor at %1, %2
Press ESC to cancel</source>
<translation>坐标:%1,%2
按ECS键取消</translation>
</message>
如下图所示:
找到QDialogButtonBox
标签:
<context>
<name>QDialogButtonBox</name>
...
...
...
</context>
完整的复制一份这个标签并在在下方粘贴,并命名为:QPlatformTheme
,
如下图所示:
使用Linguist
打开这个文件,如果有问号显示,那么这是翻译有问题的,将它手动的改一下中文译文即可!
然后重新发布就可以生成.qm文件,在main
函数中加载翻译文件即可!
///
/// 加载翻译
///
QTranslator base;
if(base.load(":/translations/qt_zh_CN.qm"))
{
a.installTranslator(&base);
}else
{
QMessageBox::warning(nullptr, QObject::tr("警告"), QObject::tr("加载翻译文件qt_zh_CN.qm失败,部分界面可能无法汉化显示!"));
}
注意:加载翻译文件必须要在窗口显示之前!
ends…