mdbook-translator
一个用于 mdBook 的翻译预处理器插件,使用 DeepSeek API 自动翻译 Markdown 文档。
功能特性
- 🌐 自动翻译 mdBook 文档内容
- 🔄 智能缓存机制,避免重复翻译
- 🎯 保留代码块和专业术语
- 🚀 基于 DeepSeek API 的高质量翻译
- ⚙️ 可配置prompt
- 📚 支持多语言翻译
安装
使用 cargo install
配置
1. 获取 DeepSeek API 密钥
访问 DeepSeek 官网 获取 API 密钥,并设置环境变量:
2. 配置 book.toml
在你的 mdBook 项目的 book.toml 文件中添加以下配置:
[]
= "你的书籍标题"
= ["作者名"]
[]
= "book-zh" # 可选:指定输出目录
[]
= "mdbook-translator"
= "Chinese" # 目标翻译语言
= "请保持Send、Future、Trait等rust中的专业术语不要翻译" # 可选:自定义翻译提示
# 支持配置代理
= "http://127.0.0.1:8099" # 可选:HTTP 代理 URL
配置选项说明
language: 目标翻译语言(如 "Chinese"、"Japanese"、"Korean" 等)prompt: 可选的自定义翻译提示,用于指导翻译行为proxy: 可选的 HTTP 代理 URLbuild-dir: 可选的输出目录,默认为 "book"
使用方法
基本使用
# 在你的 mdBook 项目目录中运行
插件会自动:
- 读取源文档
- 调用 DeepSeek API 进行翻译
- 缓存翻译结果
- 生成翻译后的文档
清理缓存
如果需要重新翻译,可以删除缓存文件:
调试模式
插件会输出调试信息到标准错误输出,包括缓存命中情况等。
工作原理
- 文档解析: 插件遍历 mdBook 的所有章节和页面
- 内容分块: 将长文本分割成适合 API 处理的块
- 智能翻译: 调用 DeepSeek API 进行翻译,保留代码块和格式
- 缓存机制: 使用 SHA256 哈希缓存翻译结果,避免重复翻译
- 文档重建: 用翻译后的内容替换原文档内容
注意事项
- 确保设置了正确的
DEEPSEEK_API_KEY环境变量 - 首次翻译可能需要较长时间,后续构建会使用缓存加速
- 代码块和特殊格式会被保留,不会被翻译
- 建议在翻译前备份原始文档
依赖项
mdbook: mdBook 核心库reqwest: HTTP 客户端,用于 API 调用serde_json: JSON 序列化/反序列化sha2: 哈希计算,用于缓存键生成anyhow: 错误处理clap: 命令行参数解析toml: TOML 配置文件解析
for开发者
从源码构建
# 克隆项目
# ssh
# 或https
# 构建项目
# 安装到系统路径
贡献
欢迎提交 Issue 和 Pull Request!