- Refactor codebase into src/ (preprocessing, translation, assembly) - Add pipeline/ scripts for individual stages - Externalize configuration to config/config.yaml - Fix Cover Image preservation - Update documentation and manuals
EPUB 双语翻译程序 v0.10 (Architecture Refactored)
一个基于 OpenRouter/OpenAI API 的 EPUB 双语翻译工具,采用全局编号系统和真并发翻译。 v0.10 引入了全新的清洗-提取-回填架构,彻底解决了格式丢失和错位问题。
✨ 核心特性
🛡️ 稳健的架构 (New)
- EpubCleaner 预处理:自动修复 TOC 死链、缺失 UID,标准化 HTML 结构,确保输入源干净可靠。
- FineGrained Extractor:基于 DOM 的高精度提取,支持
<h1>-<h6>及所有<p>标签。 - 格式保护 v2:自动识别数学公式、代码块和行内样式,使用占位符保护,防止 LLM 破坏格式。
🎯 全局编号系统
- DOM 级回填:不再依赖脆弱的正则,而是利用 DOM 引用进行 100% 精确的一一回填。
- 双重模式:支持 Bilingual (双语对照) 和 Chinese (纯译文保留原格式) 模式。
⚡ 真并发翻译
- asyncio.gather 并发执行:高效利用 API 速率限制
- 智能速率控制:基于 Token 桶的 RateLimiter
- 实时进度显示:Rich 进度条显示翻译状态
- 断点续传:自动记录进度,随时中断随时继续
🔧 自动修复 (Self-Healing)
- Format Repair:当 LLM 返回的格式损坏时,自动触发修复机制,利用 LLM 进行自我纠正。
🚀 快速开始
1. 安装依赖
pip install -r requirements.txt
2. 配置环境
复制 .env 模板并填入你的 API Key:
# .env 文件
V3_API_KEY=sk-xxxxxx
OPENROUTER_API_KEY=sk-or-xxxxxx
3. 开始翻译
# 默认使用 OpenRouter (双语模式)
python main.py input/book.epub
# 纯中文模式 (保留原版样式)
python main.py input/book.epub -m chinese
# 测试模式(只翻译前10个块,快速验证)
python main.py input/book.epub --test
📂 目录结构
.
├── config/ # 配置文件
├── input/ # 输入 EPUB 目录
├── output/ # 输出 EPUB 目录
├── cache/ # 缓存目录 (Manifest, Translations, Processed Epubs)
├── logs/ # 运行日志
└── src/ # 源代码
├── epub_cleaner.py # 预处理器
├── fine_grained_extractor.py # 提取器
├── bilingual_builder.py # 构建器
└── translator.py # 主流程
📄 许可证
MIT License
版本: v0.10
更新: 2026-01-19