多语言翻译qt自带语言包有些没有翻译过来的问题

您所在的位置:网站首页 velpro翻译过来 多语言翻译qt自带语言包有些没有翻译过来的问题

多语言翻译qt自带语言包有些没有翻译过来的问题

2024-07-15 05:09| 来源: 网络整理| 查看: 265

1、将Qt自带的一些窗口和弹出菜单翻译成中文:如颜色窗口、鼠标右键QLineText、QMessageBox、QTextEdit等实现原理 1.1、加载qt语言翻译文件包qt_zh_CN.qm

在Qt的安装目录C:\Qt\Qt5.7.0VS2015\5.7\msvc2015\translations中有名为qt_zh_CN.qm翻译文件,QLineEdit等通过加载该翻译文件就能实现右键中文菜单,如下所示:

QApplication a(argc, argv);   //加载Qt中的资源文件,使Qt显示中文(包括QMessageBox、QLineEdit右键菜单等)  

QTranslator translator; translator.load(":/translations/qt_zh_CN.qm"); a.installTranslator(&translator); 1.2、对QTextEdit等无效,问题的原因在于

QTextEdit中使用的对象QWidgetTextControl中的复制、粘贴等右键菜单选项在qt_zh_CN.qm中没有被翻译。 解决方法:

1.找到C:\Qt\Qt5.7.0VS2015\5.7\Src\qtbase\src\widgets目录(你的Qt安装目录,如我的E:\Qt\5.12.2\Src\qtbase\src\widgets),用Qt Creator打开里面的widgets.pro文件,添加一行:

//TRANSLATIONS += widgets.ts; //(注意:网上提供的答案:这行在我的Qt版本下无效,我的Qt版本Qt5.12.2)

需要添加这行:

TRANSLATIONS = widgets.ts

2.然后在Qt Creator的系统菜单中,选择:工具->外部->Qt语言家->更新翻译,就会在widgets.pro所在目录下生成一个widgets.ts文件;

3.用Qt Linguist打开widgets.ts,翻译所有需要汉化的Qt控件,然后选择:文件->发布,就会在widgets.ts所在目录生产一个widgets.qm文件,然后用上面的方式应用到项目中即可。

注意:网上说只翻译QWidgetTextControl窗口时错的。得将所有界面全部汉化处理。

网上github:qt_zh_CN.ts/qt_zh_CN.ts at master · niemingzhao/qt_zh_CN.ts · GitHub

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3