这段时间一直都在怼qt的国际化,以前也接触过国际化,但是感觉不是那么的深刻,这次是因为一个项目要做一个国际化的版本,代码里面是不能出现中文的,所以就翻译了一下。qt用的是4.8.6 64位的,IDE(集成开发环境)用的是vs2010。

我就把我操作的流程在这里给大家说一遍,按照我这么做的话肯定是没有什么问题,其实就是需要两个文件,一个是ts文件,一个是qm文件。

第一步需要在pro文件中加上一段话。

TRANSLATIONS    +=  offlinedataquery_zh.ts

文件名其实可以自己去定的,我这里因为是项目需要名称定的是offlinedataquery_zh,这个zh是表示中文翻译,如果你有其他语言的需要也可以定义其他,比如日语可以定义jp都可以。

第二步找到qt的bin目录,这个可以用cmd。

然后执行

lupdate offlinedataquery.pro

这里文件还是要找准路径才行。

这里就会在根目录下生成一个ts文件。

然后再执行

lrelease offlinedataquery_zh.ts

这个时候就生成了一个qm文件,这个就是我们在代码中需要加载的文件

    QTranslator* Translator = new QTranslator;
QString tmp_gcdir = QObject::tr(getenv("GCDIR"));
QString tmp_trans = tmp_gcdir + "/translations/offlinedataquery_zh.qm";
Translator->load(tmp_trans);
app.installTranslator(Translator);

这样就可以翻译成功了。

但是我这边有个问题有个问题,ts中文中好像不是每一个tr()都能翻译过来,所以我只能自己去添加。

    <message utf8="true">
<location filename="seltimedlg.ui" line=""/>
<source>WAMS substation</source>
<translation>WAMS子站</translation>
</message>

按照这样的格式去添加就可以了,最后再执行一遍lrelease offlinedataquery_zh.ts,再次生成qm文件就可以了。

整个流程就是这样的 希望对您有帮助,其实也不难,就是要耐心一点就可以了!!!

最新文章

  1. SharePoint 2013 图文开发系列之计时器任务
  2. sd卡脱机烧写系统的方法(测试成功)
  3. Python之路【第十七篇】:Django【进阶篇 】
  4. Linux / UNIX create soft link with ln command
  5. [LeetCode]题解(python):079 Word Search
  6. Python Generators(生成器)--yield
  7. Apache启动失败,请检查相关配置。MySQL5.1已启动成功
  8. github如何搜索资料
  9. 配置web.xml文件用于配置tomcat
  10. Java API获取topic所占磁盘空间(Kafka 1.0.0)
  11. Introduction tp Operating System
  12. python网页爬虫开发之三
  13. P2064进制转换
  14. 【转】PHP中file_put_contents追加和换行
  15. React(0.13) 定义一个动态的组件
  16. RAM,ROM,NAND Flash,NOR Flash(A)
  17. jQuery.page 分页控件
  18. 【NOI2013】小Q的修炼
  19. AsycnTask
  20. Decker hello world

热门文章

  1. Linux 一条命令杀死占用端口的所有进程
  2. 如何在vue-cli 3.x中使用jquery
  3. vue 引入公共css文件
  4. ISO/IEC 9899:2011 条款6.4.6——标点符号
  5. osg fbx 模型树结构
  6. 编译安装MySQL5.6
  7. QML使用moveToThread线程【QML工程使用C++】
  8. 基于pythonselect.select模块通信的实例讲解
  9. 【AI教育】可以看看行业痛点分析
  10. (七)Centos之链接命令