Qt翻译文件处理工具

Qt项目在国际化方面使用的是自带的语言家工具,将代码中需要翻译的字符串抽出再进行翻译工作。然后在最后一步的时候....iOS和android可以直接把包含翻译文本的文件给翻译人员,Qt的话还要教别人装上Qt语言家,还只能一条一条的翻译,有点麻烦...于是抽空做了个处理翻译文件的小工具。

生成翻译文件

  • 在代码中将需要翻译的文本用tr("")包含起来
  • 真正显示的文本可能会需要更改,所以在代码中我是保存了一个显示文本的字符串key值,以后更新只用修改translation即可
  • 在.pro文件中加上TRANSLATIONS += Localizations/string_zh.ts来告诉Qt生成的翻译文件搁哪儿
  • 选择:工具->外部->Qt语言家->更新翻译,则会生成对应的ts文件
    这个生成翻译文件的过程有点慢,而且中间还没提示....可以打开任务管理器qtcreator.exe下的lupdate.exe还在就说明仍在抽字符串

主要功能

生成待翻译字符串的excel文件

生成excel文件

.ts文件中的源文本作为excel的第一列key值,翻译文本(如果有的话)在抽出的时候放在第三列,没有则为空


excel截图.png

因为我加入了一列key值,一般情况生成的话key就是你原来的源文本,如果要使用自动翻译功能,将第一列拷贝一份到第二列即可;也可以像我这样代码里代码里不写实际的文本,另外生成一个中文的翻译文件(ts),将translation放上中文,需要其他语言的翻译的时候将中文拷贝到第二列即可

更新翻译文件(.ts)

  • 如果有专门负责翻译的人的话,可以将excel第二列放源文本后给别人,让他把翻译好的字符串放在第三列。翻译好后,选择好excel文件和ts文件,点击译文写入按钮就可以愉快地导入翻译内容了
  • 部分包含标点符号的地方可能有点小问题,可以打开Qt语言家检查下

自动翻译

  • 将要翻译的excel文件第二列放要翻译的文本(重要!!!)
  • 自动翻译功能调用的有道智云的API,需要使用的话自己去注册一个账号,免费送100元体验金。注册好后添加自己的翻译实例和应用,并将你的应用ID和应用密钥填到程序代码的:TSFileEditor\Source\MainApps\TSFileEditor\TranslateWorker.cpp上边
    有道智云
填写位置

以后有时间我再加个在主界面填写这个ID和密钥的地方( ̄▽ ̄)"(懒得改....)

  • 下面是中文翻译成日文的栗子:


    translate.gif

点击excel生成按钮后,就可以得到翻译好的excel了:

翻译结果

  • 然后可以结合功能二来更新翻译文件(ts),之后就可以愉快地发布出(qm)给程序用了

小工具代码下载地址

github仓库->下载地址 ,喜欢的话给个star吧~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,535评论 0 17
  • 本文提及如何使用QT和QT Linguist来实现翻译,如果你对所谓动态翻译感兴趣,请移步到其他文章。笔者也推荐一...
    陆大胖阅读 4,188评论 1 6
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,571评论 9 467
  • 【画面整体】 大小——超过五分之四,对环境感知无力紧张。 位置——偏左,对称,关注过去,努力控制,有强迫倾向。有点...
    皮皮爸爸时代阅读 151评论 0 0
  • 今天在公号上看到尹建莉推送的文章母女对峙:为什么父母一次次“耐心”的说教,却引来孩子愈演愈烈的反驳? 父母用权威武...
    小明和小七阅读 117评论 0 0