背景
近期在搭建英文博客-<e-whisper.com>, 需要对现有的所有中文 Markdown 翻译为英文。
需求如下:
- 将 Markdown 文件从中文 (zh-CN) 翻译为英文 (en)
- 翻译后要保留 Markdown 的完整格式
- 部分 Markdown block 不需要翻译,如:front-matter、代码块 等
但是实际使用中,试了好几款翻译(包括 Google,DeepL,Azure), 结果发现效果都不理想。
也找到了一些专门针对 markdown 的翻译方案,基本上都是这种方案:将 Markdown 拆分为"段".
一起看看吧。
Markdown 商业及开源解决方案
- simpleen: 商业版
- GT4T: 商业版
- markdown-translator: GitHub 开源项目,基于 JavaScript 和 Azure Translate 收费 API
- Markdown Docs Translator: GitHub 开源项目,基于 Python 和 主流免费翻译 API (Yandex/Google/Bing/Deepl)
- ChatGPT + Prompt(markdown+翻译) ?
Simpleen
Simpleen 是个在线翻译服务,你可以通过不同的方式使用 Simpleen 来翻译和本地化你的软件: 使用在线 web 翻译器,在本地使用 CLI(连续翻译)或通过 API 自定义使用。其后端是调用 Deppl 的翻译服务。
以下是使用其翻译的效果:
可以看到,翻译除了将`` 翻译为 \
之外,其他都完全准确。
另外上图也可以看到,Simpleen 定位非常准确,就是针对开发者群体的,还有 Variable 相关功能。
Simpleen 一大特色功能是:Custom Translator, 如:
- Python-i18n
- Vue I18n
- YAML
- JSON
- Markdown
- ...
同时 Simpleen 也支持自定义词库功能,称为:Glossaries. 可以自定义个人词库。
Simpleen 就是将完整的 markdown 文档,按照 markdown 语法格式,将其拆分为一个个的 Segment. 并对每一个 Segment 进行翻译,如下:
通过 Segments 也可以看出,Simpleen 是将上篇提到的 2 种方法结合起来实现:
- 将 Markdown 转换为 html
- 将 html 拆分为 Segments
- 将 Segment 逐一翻译
- 将翻译后的 Segment html 转换为 markdown.
Simpleen 使用总结
优点:
- 准确度高
- 实用的特色功能:Custom Translator
- 实用的特色功能:Variable 支持
- 实用的特色功能:Glossaries
- 底层基于 Deepl, Deepl 的翻译效果是最自然的。
- 多种使用方式:web/api/cli
缺点:
- 贵,基于 Segment 收费,价格也贵的厉害。
- 最便宜的月费也得 $15, 并且只有 1,000 Text Segments
GT4T
标签:API,翻译,markdown,解决方案,translator,开源,Markdown,Azure From: https://blog.51cto.com/ewhisper/6504871