前言:最近需要对许多文档进行更新,而且需要同步英文修改。在中文相关内容更新完毕后现在只剩下一个工作 —— 全部翻译成英文。本文将介绍一下如何低成本实现准确翻译。
背景
对于往常大量的文档来说,最常见的就是 DeepL 和 Google Translate 来进行翻译。但是往往需要手动复制粘贴很麻烦,而且有字符数目限制,开放的 API 也需要不少时间进行开发。
需求
其实市面上已经有 GPT 批量翻译的产品了,比如:双语 PDF 电子书,网页翻译等等。价格看了一下,一个完整的 pdf 大概是 5 RMB 10w 字的样子。
目前我们需要处理的是开发文档,类似的 markdown,或者 JSDoc 等等代码标注类型的文件。
总结一下需求,希望翻译这块的工作:
- 便宜、快捷、上手快,不需要二次开发。
- 可以处理包含代码内容,markdown 等等可能还有其他多种格式。
然后介绍下 Cursor
然后我就想到之前用的 Cursor,给开发同学一句话介绍就是集成了 ChatGPT 的可以辅助编程的 VSCode。
让我们看看他的功能:
- Chat: 与类似 ChatGPT 的机器人交谈,可以看到当前文件
- Edit: 请求 AI 更改代码块,查看编辑的差异
- Debug: 将光标悬停在 linter 错误上,自动修复它们
- Write: 从简短的英文描述中生成整个代码库
实际 🌰:
- 随便生成一个排序函数
- GPT 直接生成了一个最简单的原生方法的 sortArray 方法
- 选中 sortArray 之后,让它帮我改成桶排序
- 然后就会生成一段代码,同时会在编辑器产生 diff ,选择 Accept 或者 Reject 都可以
GPT + Cursor 来翻译真的太好用了
首先配置好 GPT 的 key
这里我是使用了 ChatGPT Plus 的账号生成的 key:
最重要的一点
在使用前要将数据设置为本地存储,这样会更安全。
开始翻译
我找了一段 Vue 的 quickStart 官方文档,我的 prompt 是:
Please help me translate all English into Chinese, code reference symbols reserved, markdown syntax is also observed, the codeblock code in markdown is not translated, but the comments need to be translated. No translation if the format is the same as {@link XXX#XXX XXX()}. HTML tags are not translated.
如果是中译英的话可以直接修改 prompt 就好,然后针对具体文档,哪些需要翻译,哪些不需要翻译大家在使用的时候可以都根据自己的情况来进行修改 prompt 就好。
然后 GPT 单次的 token 限制为 4096 ,所以单次选择的文本不要太多。
然后操作就是
选中
→ 输入 prompt
→ 等待翻译
→ 检查一下
→ Accept
后面翻译了 20 多篇文档,粗略大概花了 1 个小时,不过肯定是需要人工再校对一遍把一些外链接给换成英文,但是省了很多事。
总结
25 篇文档总共花费:
人力:1 个
时间:< 2h (生成 + 校对)
金钱:20刀 用于购买 ChatGPT Plus 会员
后记
其实思维发散一下,很多东西都可以用来进行 diff 翻译了,这么好的方法赶紧用起来吧!(省下的时间可以回家玩王国之泪了,逃走