使用 Deepseek 将博客批量翻译为英文

自 ChatGPT 3.0 以来,AI 翻译功能以前所未有的准确度横扫翻译市场。因为本博客曾经一度使用过英文写作,所以不少文章存在中英语混用现象,趁着 Deepseek 即将涨价,我花了几分钟时间,将本博客所有文章翻译为了英文。同时借助 i18n 插件,可以很简单将 Hugo 同时部署中英双语版本。
翻译前期工作
- 确认自己的 HUGO 版本和主题已支持 i18n 功能
只要不是特别古董的 hugo 版本(低于0.60.0),应该都支持这个,而且大部分主流 hugo 主题也都默认可以支持 i18n 功能。可以在主题 yaml/toml 文件中查看是否有多语言配置。
- 安装 python
在 python 官网 下载 Windows 版本然后安装。
- 安装必要依赖
用 Windows 终端或者 Git bash 之类的命令行工具安装 requests 和 openai 两个库,前一个用于发送 HTTP 请求,后一个用于 deepseek api 配置(deepseek 使用标准 openai 格式)。
|
|
- 申请 deepseek api
到 deepseek 开放平台 创建 api KEY,创建时复制保存好。 (每个新手机号码注册时都会送 10 元余额,如果没有,可以自己充 10 块钱。)
编写 python 脚本并运行
这里可以直接使用我的脚本,将下边代码保存为 translate.py 文件,然后在 py 文件保存的位置,运行命令行工具,输入 python translate.py
即可开启自动翻译。使用说明:
- 替换 “sk-xxx” 为你自己的 deepseek api KEY
- 替换 “D:/hugo/lawtee/content/” 为你自己的 Hugo 文章目录
- 固定翻译映射主要是解决文章分类可能存在中英文字义差异问题,可以根据实际情况使用。
- MAX_TOKENS 可以自行修改,也可以不改,如果文章普遍很短,可以改小点。
- 这里的翻译逻辑是,将所有 hugo content 目录中的文件夹遍历,对文件夹中只有 index.md 的,将其翻译为 index.en.md ,如果已经同时存在 index.md 和 index.en.md 则不翻译。
提示
AI 翻译速度整体来说不会很快,但 deepseek 已经是目前最快的了。 我 300 多篇文章 80 万汉字大概翻译了五个多小时,消耗 4 块钱 api 。
Hugo 的 frontmatter 部分有可能翻译失败,特别是 frontmatter 与正文衔接处,可能翻译后的结果会丢掉---
,翻译后建议人工排查下,大概每几篇文章就有可能出现一次。也可以在本地用 hugo server 调试是否存在错误。
查看代码
|
|
启用英文站点
参照 hugo 主题配置启用。例如本站 hugo.yaml 设置如下:
- languageCode 设置为 zh-Hans 代表网站默认为中文,对于所有 index.md 文件,默认网址前缀是
https://lawtee.com
,对于所有 index.en.md 文件,网址前缀为https://lawtee.com/en
,其他语言同理。
|
|