Qt翻译文件处理工具

作者: 玖零儛 | 来源:发表于2018-04-13 17:30 被阅读114次

    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吧~

    相关文章

      网友评论

        本文标题:Qt翻译文件处理工具

        本文链接:https://www.haomeiwen.com/subject/mbzdfftx.html