原创

qt国际化

基于qt语言家的语言切换

Assistant(Qt语言家),类似于MSDN最权威的速应用程序翻译和国际化的工具。Qt 使用单一的源码树 和单一的应用程序二进制包就可同时支持多个语言和书写系统,有助于软件走向国际化,普度众生。

具体步骤:

  1. 生成.ts文件,lupdate
  2. 翻译成制定语言,生成.qm文件,lrelease。
  3. 加载qm文件,load()
  4. install

效果呈现

中文:

英文:

step1:pro文件添加对翻译的支持
 TRANSLATIONS = Translate_EN.ts \
 Translate_CN.ts
step2:生成.ts文件

step3:使用qt语言家翻译ts文件

Translate_CN.ts 汉语­>汉语(一般不用改,我们使用的是汉语,只需要改汉译英的)

Translate_EN.ts

汉语­>英语

step4:生成.qm

step5:加载qm文件
定义QTranslator对象
 QTranslator *m_Translator;

分配对象

 m_Translator = new QTranslator(this);
切换英文
 m_Translator‐>load("Translate_EN.qm");

切换中文

 m_Translator->load("Translate_CN.qm");
step6:安装qm文件
 qApp‐>installTranslator(m_Translator);
问题:日历还没有修改
 ui‐>calendarWidget‐>setLocale(QLocale::Chinese);    //设置英文
 ui‐>calendarWidget‐>setLocale(QLocale::C);          //设置中文

注意事项:

如果加载不成功,说明路径错了,QtCreator生成的.qm和.ts文件是在.pro目录下,需要移至debug目录下,才能正确读取.qm和.ts文件,实现语言的切换

源代码以及示例程序github地址:

https://github.com/ADeRoy/Qt-controls/tree/master/language

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Qt多线程编程之线程的同步和互斥

    QMutex, QReadWriteLock, QSemaphore, QWaitCondition 提供了线程同步的手段。使用线程的主要想法是希望它们可以尽可...

    DeROy
  • 五子棋

    一个不是很好的五子棋项目,因为以前没写过五子棋,或者说对于没有人机对决的AI五子棋,感觉没什么好写的。当然,我对算法这块也不怎么强,上次有朋友留言要五子棋项目,...

    DeROy
  • 文件打包解包的方法

    在很多情况下,软件需要隐藏一些图片,防止用户对其更改,替换。例如腾讯QQ里面的资源图片,哪怕你用Everything去搜索也搜索不到,那是因为腾讯QQ对这些资源...

    DeROy
  • ubuntu下添加新用户 踢出在线用户

    zhangheng
  • cmake设置msvc的运行库(runtime library)塈指定openjpeg使用静态库

    版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net...

    用户1148648
  • 开源大数据处理系统/工具大全

    本文一共分为上下两部分。我们将针对大数据开源工具不同的用处来进行分类,并且附上了官网和部分下载链接,希望能给做大数据的朋友做个参考。下面是第一部分。

    Isaac Zhang
  • ICIP2018 | 图像鉴黄做得好,健康上网少烦恼

    作者:Xizi Wang, Feng Cheng, Shilin Wang*, Huanrong Sun, Gongshen Liu, ChengZhou

    机器之心
  • 如何在 Highcharts 图中当所占百分比为 0 时不显示0%

    祈澈菇凉
  • 动手写物联网服务平台(一、前言)

    用雷布斯的话说,"5G+AI+IoT就是下一代超级互联网。”,雷军给出了他对于互联网未来发展的判断。在雷军看来,5G不仅将给智能终端带来巨大的机遇,更为重要的是...

    特立独行的猫a
  • 全球Top10科技公司仍然重男轻女,这份报告详细对比了苹果和Facebook的男女薪资差距

    一周前,苹果、Facebook、谷歌和亚马逊四家科技巨头公司的首席执行官在美国国会举行的反垄断听证会上作证,并接受监管机构的「拷问」。

    新智元

扫码关注云+社区

领取腾讯云代金券