# EPUB 双语翻译程序 v0.10 (Architecture Refactored) 一个基于 OpenRouter/OpenAI API 的 EPUB 双语翻译工具,采用**全局编号系统**和**真并发翻译**。 v0.10 引入了全新的**清洗-提取-回填**架构,彻底解决了格式丢失和错位问题。 ## ✨ 核心特性 ### 🛡️ 稳健的架构 (New) - **EpubCleaner 预处理**:自动修复 TOC 死链、缺失 UID,标准化 HTML 结构,确保输入源干净可靠。 - **FineGrained Extractor**:基于 DOM 的高精度提取,支持 `

`-`

` 及所有 `

` 标签。 - **格式保护 v2**:自动识别数学公式、代码块和行内样式,使用占位符保护,防止 LLM 破坏格式。 ### 🎯 全局编号系统 - **DOM 级回填**:不再依赖脆弱的正则,而是利用 DOM 引用进行 100% 精确的一一回填。 - **双重模式**:支持 Bilingual (双语对照) 和 Chinese (纯译文保留原格式) 模式。 ### ⚡ 真并发翻译 - **asyncio.gather 并发执行**:高效利用 API 速率限制 - **智能速率控制**:基于 Token 桶的 RateLimiter - **实时进度显示**:Rich 进度条显示翻译状态 - **断点续传**:自动记录进度,随时中断随时继续 ### 🔧 自动修复 (Self-Healing) - **Format Repair**:当 LLM 返回的格式损坏时,自动触发修复机制,利用 LLM 进行自我纠正。 ## 🚀 快速开始 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 配置环境 复制 `.env` 模板并填入你的 API Key: ```bash # .env 文件 V3_API_KEY=sk-xxxxxx OPENROUTER_API_KEY=sk-or-xxxxxx ``` ### 3. 开始翻译 ```bash # 默认使用 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