Initial commit

This commit is contained in:
谭凯
2026-01-19 09:51:07 +08:00
commit 9ef82393be
174 changed files with 22285 additions and 0 deletions
+97
View File
@@ -0,0 +1,97 @@
# EPUB 双语翻译程序 v0.07
一个基于 OpenRouter/OpenAI API 的 EPUB 双语翻译工具,采用**全局编号系统**和**真并发翻译**。
## ✨ 核心特性
### 🎯 全局编号系统
- **每个段落分配全局唯一ID**(格式:`p_0001`, `p_0002`...
- **ID贯穿全流程**:提取 → 翻译 → 组装
- **精确对应保证**:绝不出现中英文错行问题
### ⚡ 真并发翻译
- **asyncio.gather 并发执行**:高效利用 API 速率限制
- **智能速率控制**:基于 Token 桶的 RateLimiter
- **实时进度显示**:Rich 进度条显示翻译状态
- **断点续传**:自动记录进度,随时中断随时继续
### 🛡️ 安全与稳定
- **环境隔离**:支持 `.env` 配置,API Key 不落地
- **鲁棒重试**:集成 `tenacity` 处理网络波动
- **缓存系统**:基于 Hash 的持久化缓存,跨天复用
### 🎨 极致排版
- **盘古之白**:自动在中文与西文数字间添加空格
- **样式注入**:注入专用 CSS 优化阅读体验
## 🚀 快速开始
### 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
# 使用 V3 Provider
python main.py input/book.epub -p v3
# 测试模式(只翻译前3个块)
python main.py input/book.epub --test
```
## 📂 目录结构
```
.
├── config/ # 配置文件
│ ├── config.json # 主配置
│ └── prompts.json # 提示词模板
├── input/ # 输入 EPUB 目录
├── output/ # 输出 EPUB 目录
├── cache/ # 缓存目录 (Manifest, Translations)
├── logs/ # 运行日志
└── src/ # 源代码
```
## ⚙️ 核心配置 (config.json)
```json
{
"translation": {
"chunk_size": 5000,
"temperature": 0.3
},
"providers": {
"v3": {
"base_url": "https://api.gpt.ge/v1",
"models": { "fast": "gpt-4o-mini" },
"rate_limits": { "requests_per_minute": 500 }
}
}
}
```
## 📄 许可证
MIT License
---
**版本**: v0.07
**更新**: 2026-01-13