feat: Release v0.10 - Modular Architecture & External Config

- 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
This commit is contained in:
谭凯
2026-01-31 22:49:44 +08:00
parent 9ef82393be
commit 7a93c52b42
306 changed files with 30313 additions and 1071 deletions
+80
View File
@@ -0,0 +1,80 @@
# 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. 安装依赖
```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