「2023.003|CN」用 ChatGPT 高效翻译 Hexo 文章

翻译的要求

  • Front-matter 中的 title 和 excerpt 需要翻译
  • Hexo 和 NexT 主题都定义了自己的 Tag Plugins(Hexo / NexT),用来插入图片、代码等,多数情况下不需要翻译
  • 翻译的质量要相对高,简单校对确认后就能发布

借助 ChatGPT - Genie AI 来翻译

Google 翻译等传统翻译工具难以满足上文中提到的要求,还好 ChatGPT 已问世,它已经基本能满足这些需求。

由于我使用 VSCode 作为编辑器,因此会首先考虑使用 VSCode 插件来解决问题。截至写这篇文章的时,在 VSCode 插件市场里里搜索 ChatGPT,结果中 ChatGPT - Genie AI 这个插件的下载次数和评分均是最好的。所以我首先选择了它。

Genie AI 实质是调用 ChatGPT 的 API 进行翻译的,初次使用的时候会弹出对话框要求填写 OpenAI 的 API key。

翻译的步骤如下:

  1. 选中要翻译的 post 源码内容
    • 如果关联的 OpenAI 的 API key 的账号是 Free Plan 而不是 Plus,发送消息的长度会有上限,当前是 2048。因此这种情况,如果文章较长,只能每次选中小于 2048 字节的 post 源码内容,分多次进行翻译
  2. 在 Genie AI 的界面中输入翻译的要求,我输入的是 This is the source code of a post written with Hexo's Next theme. Please help me generate an English translation version, and the code part does not need to be translated,点击 Ask 按钮
    • 修改其中的 English 为你想要翻译的语言即可
  3. Genie AI 会打开一个新的文件,将翻译后的源码写入其中

存在的问题

  • 我发现有中文直译日文的时候的翻译质量,不如 中文=>英文=>日文 的效果。可能之后文章的翻译都得采用后者的方式了
  • 有时候虽然要求ChatGPT将英语翻译为日文,但是它却最终翻译为了中文
    • 可能是选择的文字太多,虽然ChatGPT free plan 每次消息字数的上限是2048,但如果发送1800+的字数时,容易出现这种问题
    • 可以通过每次选择少于1400个字符来规避这个问题
    • 也可以通过将菜单 Temperature 的 tab 切换为 Creative 来解决