Qt国际化(系统文本-QMessageBox按钮、QLineEdit右键菜单等)
2023-09-14 08:56:50 时间
我们可以从Qt的安装目录中找到它,以我的目录为例:D:\Qt\Qt5.5.1\5.5\msvc2013\translations。
如果没有此文件,不用着急,我们可以查找此文件对应的翻译源qt_zh_CN.ts。然后使用lrelease,生成对应的qt_zh_CN.qm文件。
加载翻译文件加载为中文之后,假设我们存在多语言切换问题,那么当我把语言切换为中文后,之前的qt_zh_CN.qm已经加载了,如何再切换回来呢?
好了,既然存在load,那么不出意外地话也会存在unload吧。不好意思,翻完所有的API我们并没有发现此接口!
继续分析,installTranslator是安装翻译文件的意思,那么我们可以想办法把它卸载掉,通过查找我们很容易发现removeTranslator接口。
官网对此接口的的解释为:Removes the translation file translationFile from the list of translation files used by this application. (It does not delete the translation file from the file system.)
也就是说:从翻译文件列表中移除翻译文件后,并没有从文件系统中删除翻译文件。
那么也就是说,通过调用此接口,就可以移除翻译文件了。翻译文件一旦被移除,那么之前所加载的对应语言也就无效了。
if (language != MyApp::English) m_systemTranslator.load(QString(":/qm/qt_zh_CN.qm")); qApp- installTranslator( translator); qApp- removeTranslator( translator); }
如上,切换语言的时候判断当前语言,如果为中文则加载qt_zh_CN.qm翻译文件,然后安装翻译器。否则,进行卸载!
这样,加载对应语言的时候,无论是自定义的文本,还是系统文本,我们都可以自由的切换了。
相关文章
- trylock参数_Qt互斥量的trylock使用
- QT的基本知识「建议收藏」
- QT断点调试[通俗易懂]
- qt运行cmd命令_cmd ping大包命令
- Qt中基本的绘图方法
- Qt官方示例-迷你网页浏览器
- Linux系统使用Qt开发快速入门教程(linux下qt教程)
- Qt在Linux上的移植实践(qt移植到linux)
- Qt QStringListModel用法详解
- Qt 4.8在Linux系统中的应用(qt4.8linux)
- Linux系统下QT项目打包实战(linuxqt打包)
- Qt软键盘: 让Linux更快速实现输入(linuxqt软键盘)
- Qt在Linux下的强大开发体验(qt在linux开发)
- 管理掌握Linux Qt系统管理技能,实现无忧运作(linuxqt系统)
- Qt下Linux系统的输入法研究(qt输入法linux)
- Linux下Qt源码编译实践(qt源码编译linux)
- Linux 下 Qt 调试技巧(qt调试linux)
- Linux下高效安装Qt(linux下安装qt)
- Linux上静态编译Qt应用实现方案(linux静态编译qt)
- 开发linux下 Qt 图形界面开发实践(linux下qt图形界面)
- Linux下Qt跃动编程之旅(linux下qt串口编程)
- 从零开始:Qt 编译在 Linux 上的指南(qt编译linux)
- 探索Linux世界:体验Qt桌面之美(linux桌面qt)
- 集成开发Linux与Qt集成开发:实现无缝交互(linux与qt)
- 深入浅出:Qt在嵌入式Linux中的开发(qt嵌入式linux)
- Linux环境下如何卸载Qt应用(linux卸载qt)
- Linux QT支持中文交互体验(linux qt 中文)
- 使用Linux系统成功运行QT程序的步骤与技巧(linux运行qt程序)
- Qt实现MySQL数据库操作详解(qt操作mysql数据库)