liangsheng 发表于 2017-12-17 20:29:59

效率优先 Qt/C++ *.ts *.qm 文件汉化 机器 人工翻译小程序流程

效率优先 Qt/C++ *.ts *.qm 文件汉化 机器 人工翻译小程序流程
截止 2018 年 02 月,Google 基于开源 Linux OS 技术开发的 "智能手机" Android 操作系统已全球普及,就差火星了,最新官方稳定版为 8.0。2016 年起火热至今的开源 AI (人工智能),最佳部署平台也是 Linux 环境。而 Linux 环境最著名的 C++ GUI (图形用户界面) 开发框架,比肩 MicroSoft 公司 VC++ 库的,那就是 Qt C++ 库。
在 "智能手机" 还不是太普及,Nokia 诺基亚还未收购并 LGPL 开源 Qt 的 2008 年之前,在中国一说到要做 GUI (图形用户界面) App,可能第一想到的是 MicroSoft 公司的 .Net C# 环境或 MFC 框架,还有那红极一时的 Delphi。虽说当时 Linux 开源领域 Qt 已很有名,譬如:2008 年前很多 CG 行业的 App 应用都在考虑转 Qt 领域 (最著名的是美国 AutoDesk 公司)。为什么?因为,Qt 之前就采用的 GPL 开源许可授权协议,被 Nokia 诺基亚 2018 年收购后并进一步采用了 LGPL 开源许可授权协议 (真正做到了 Free 自由开源免费)。
本文所要介绍的 Qt/C++ *.ts *.qm 文件,"德云社区" 2009 年前后因需汉化 AutoDesk 公司 "MudBox 数字雕刻与纹理绘画软件" 界面。那时,百度、Google 搜索 *.ts *.qm 文件资源还很少,当然,现在也不算多。
高效智能 界面文档 批处理式 "机器 人工翻译" 工具 (支持 HTML .TS .QM 文档格式化 字符转码)http://dt.digitser.cn/zh-CN/app/translate/index.html
*.ts *.qm 文件
*.qm 文件是从 *.ts 文件,采用 Qt 自带的 lrelease.exe 并运行相关 CMD 命令或由 Qt 自带的 linguist.exe 应用生成的 "Qt Multi-language" 本地化文件。
*.ts 文件是从 Qt/C++ 或相关绑定 (如 Python 语言绑定 PyQt、PySide) 源代码中,提取出来的 "Translate Source 翻译资源" 文件。
采用 Qt 自带的 lupdate.exe 并运行相关 CMD 命令,在 Windows OS 下提取 *.cpp (Qt/C++ 源文件) 或 *.py (Python 语言绑定 PyQt、PySide 源文件) 可获得 *.ts 文件。"德云社区" 以前是将 *.ts 文件批量导入德国 Passolo (后被 SDL Trados 塔多斯收购) 或 Qt 自带的 linguist.exe 应用中翻译并生成 *.qm 文件。
但效率不高,且用户体验也不行;因此,"德云社区" 才制作了以下一系列专用小程序,都集成在 "数字翻译" 和 "数字 IDE 专业版" 应用中,未单独发布:
"Qt *.TS 文件提取" 小程序从 *.cpp (Qt/C++ 源文件) 或 *.py (Python 语言绑定 PyQt、PySide 源文件) 中批量提取、获得 *.ts 文件。
不用运行 CMD 命令,只需选择源工程目录位置-格式,及提取文件名 (默认 en-US) 即可,见下图。
有人会说界面有点复杂,没关系,等你会用 "德云社区" 的一个小程序后,其它小程序用法基本一致,大同小异。"Qt *.TS 文件提取" 小程序

"Qt *.TS 文件编排" 小程序批量剔除 *.ts 文件中的多余字符,排版-生成最终制作 *.qm 文件所需的文件 "排版样式"。
操作方式同上,若需单独列出 "访问键",请选择 "启用"。"Qt *.TS 文件编排" 小程序

"Qt *.QM 文件发布" 小程序把所有 *.ts 文件批量发布成 "Qt Multi-language" 本地化 *.qm 文件。
操作方式同上,但发布前请采用 "德云社区" 的 "翻译 UI (用户界面)" 小程序,翻译所有 "已编排" *.ts 文件。 "Qt *.QM 文件发布" 小程序

"翻译 UI (用户界面)" 小程序"批量-多线程-多进程" 翻译 "已编排" *.ts 文件。
翻译前请使用 "德云社区" 的 "文件字符提取" 小程序,从 "已编排" *.ts 文件中提取出 "翻译字符" *.dscp 文件,并自动 "机器翻译" 或手动 "人工翻译" 提取 *.dscp 文件。
若 *.dscp 文件中存在大量 "重复术语",请使用 "德云社区" 的 "文件行重复" 小程序 "剔除" 所有 "重复术语"。
当然,若要生成 "zh-CN 语言" 本地化 *.qm 文件,请使用 "德云社区" 的 "文件克隆" 工作,先将所有 en-US.ts 文件克隆出一份 zh-CN.ts 文件。

若要生成 "zh-TW 语言" 本地化 *.qm 文件,请使用 "德云社区" 的 "文件克隆" 工作,先把所有已翻译 zh-CN.ts 文件克隆出一份 zh-TW.ts 文件,再使用 "文件转 zh-TW" 小程序将所有 zh-TW.ts 文件中的 "简体中文" 字符 "快速-批量" 转换成 "繁体中文"。
此处所说的 *.dscp 文件,也就是翻译时要用到的 "术语库",是以 6 个连续 "─" 字符 (主要针对德国 Passolo 应用 "术语文件",采用不可见 "\t" Tab 键空格分隔术语的改进) 分隔术语的 "纯文本" 文件。"翻译 UI (用户界面)" 小程序

"文件字符提取" 小程序
"文件行重复" 小程序
"文件克隆" 小程序
"文件转 zh-TW" 小程序
相比之下,"德云社区" 将之前的 "标准翻译流程" 划分成了很多步,并对每步进行了效率及功能优化。若将所有功能加在一起,比之前的 "标准翻译流程" 会多不少,且 "整体运行效率" 更高,唯一的缺点是要花点时间了解-学习。

当然,"德云社区" 集成了以上 "小程序" 的 "数字翻译" 和 "数字 IDE 专业版" 应用,还有很多功能,在此将不一一介绍。
德云社区 "数字翻译" App 工具集成了大量 HTML4/HTML5 文档翻译、QT *.TS 文件翻译、GUI 标准翻译资源快速提取-除重-翻译、版本管理、文本编辑、编码转换、批处理工具。
譬如:GUI (图形用户界面) 翻译、文档翻译、QT *.TS 文件提取、QT *.TS 文件编排、QT *.QM 文件发布、文件行重复、文件字符提取、文件版本、文件空格、全文搜索、全文替换、全文插入、全文删除、简转繁、文件转 UTF8、文件搜索、文件重命名、文件序列重命名、文件移动、文件拷贝、文件克隆、文件合并、语音助理、定时关机、文件下载等。
若图文不太方便,可前往 http://dts.digitser.cn/zh-CN/app/translate/video.html 查看视频教程。
http://forum.digitser.cn/data/attachment/forum/201605/19/132155fevczeyds5e5y1wy.jpg
扫一扫关注 德云社区 微信公众号
版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载。
页: [1]
查看完整版本: 效率优先 Qt/C++ *.ts *.qm 文件汉化 机器 人工翻译小程序流程