Skip to content

Repository files navigation

Languages: 中文 | English | 日本語

日译中 · AI 翻译流水线

日语小说 / 轻小说电子书(EPUB / TXT)→ 简体中文 的本地翻译工具。tkinter 图形界面 + OpenAI 兼容 API(DeepSeek、OpenAI、通义、Kimi、本地 Ollama 等均可)。该项目完全使用 Vibe Coding,由 DeepSeek V4 Flash 和 DeepSeek V4 Pro 开发。

License: GPL-3.0 Python 3.10+

功能

  • 一键全流程:解析 → 生成全局设定(术语表/世界观)→ 翻译 → 导出
  • 术语表驱动:全书人名、地名、敬语风格统一
  • 并发翻译(1~8 线程,可配置)、失败自动重试、随时停止(1 秒内中断)
  • 断点续传:每个切片单独缓存,中断/重启后自动继续,已翻的不重复调用
  • 缓存指纹:改动切片大小 / 术语表 / 提示词 / 模型后自动重译相关部分
  • 章节标题翻译并应用到 EPUB 目录
  • 导出格式:EPUB / Markdown / TXT / 双语对照(原文+译文)
  • 内置校对视图:逐段修改译文,写回缓存后重新导出
  • 术语一致性 + 漏译质检报告(quality_report.txt)
  • Token 用量与费用估算(单价可配置)
  • 配置档案:整套设置命名保存/切换
  • 启动自动恢复上次进度
  • 命令行批处理:一次翻译多本书

项目展示

设置界面

设置界面:文件与切片、API 配置、提示词模板、配置档案

流水线界面

流水线界面:书籍信息与成本估算、任务列表、进度与日志

全局设定界面

全局设定界面:术语表与世界观设定,可直接编辑保存

校对界面

校对界面:逐任务查看原文/译文并修改,保存后重新导出即生效

安装

需要 Windows + Python 3.10+(在 Python 3.14 上开发验证)。

pip install -r requirements.txt

依赖仅 requests 和 beautifulsoup4。

快速开始

python main.py

或者直接运行文件夹中的 run.bat

  1. ① 设置:选输入文件(.epub/.txt)→ 选供应商预设(或手填 Base URL / API Key / 模型)→ 保存设置
  2. ② 流水线:点「▶ 一键全流程」,或按 ① 解析 → ② 全局设定 → ③ 翻译 → ④ 导出 分步执行
  3. 导出文件生成在输出目录(默认在源文件旁 书名_译/ 文件夹)

API Key 存放在 secrets.json(已 gitignore),不会写入 config.json

界面说明

  • ① 设置:文件与切片、API(供应商预设 / 代理 / 单价)、提示词模板、配置档案
  • ② 流水线:书籍信息与成本估算、步骤按钮、任务列表(含每块耗时)、进度与 ETA、日志
  • ③ 全局设定:查看 / 编辑术语表 JSON,保存后相关译文缓存自动失效
  • ④ 校对:逐任务查看原文与译文,直接修改译文并写回缓存,重新导出即生效

设置项说明

设置 说明
并发翻译数 同时发出的翻译请求数,越大越快,注意 API 限流
切片大小 / 衔接上文结尾长度 每个翻译请求的字符量与前文衔接参考长度
全局扫描采样上限 术语表扫描用的书本采样量;保持默认值会自动按书长调整
最大输出 Token 单次请求输出上限;保持默认值会自动按切片大小调整
单价(元/百万token) 成本估算用,按你的供应商实际价格填写
HTTP 代理 需要代理才能访问 API 时填写,如 http://127.0.0.1:7890
导出 Markdown/EPUB/TXT/双语对照 勾选需要导出的格式

其他高级项(扫描 JSON 模式、seed、重试次数等)在 config.json 中:scan_json_modescan_seedtask_retries。若供应商不支持 response_format/seed,把 scan_json_mode 设为 false、scan_seed 设为空字符串。

命令行批处理

python main.py --book 书1.epub --book 书2.epub        # 多本一键全流程
python main.py --book 书1.epub --parse-only            # 只解析不翻译

常见问题

  • 翻译中途停止后:已完成的切片已缓存,重新点「③ 开始翻译」或「一键全流程」会从断点继续。
  • 重新生成全局设定后所有译文要重翻:这是设计行为——术语表变了,旧译文不再符合新译名约定。
  • 想强制全量重译:删除输出目录下的 translation_cache/ 文件夹。
  • 控制台中文乱码:Windows 控制台默认 GBK 所致,不影响程序与文件内容;批处理模式已尝试切换 UTF-8 输出。
  • 供应商拒绝 response_format / seed 参数:见上方设置项说明关闭。

项目结构

  • main.py — GUI 与流程编排(解析/术语表/翻译/导出/一键全流程)
  • epub_reader.py — EPUB/TXT 解析与切片
  • reassembler.py — EPUB / Markdown / TXT / 双语对照导出
  • glossary.pyprompts.py — 术语表处理与提示词模板
  • api_client.py — OpenAI 兼容 API 客户端(流式、重试、取消)
  • config.pytheme.py — 配置与 GUI 主题

许可证

本项目基于 GNU General Public License v3.0 发布。

开发

项目结构、已知陷阱与约定见 AGENTS.md(无测试框架,验证用临时 harness 脚本 + 合成 EPUB + 真实书回归)。

About

日语小说转中文的本地翻译工具:tkinter 界面 + OpenAI 兼容 API,术语表驱动保证译名一致,支持并发翻译、断点续传、EPUB/Markdown/TXT/双语导出。

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages