在阅读外文长篇小说或网文时,我们经常会遇到只有原版 EPUB 而没有翻译版的情况。传统的机器翻译往往是提取文本单独翻译,忽略了长篇作品中至关重要的上下文连贯性;而简单的 LLM 翻译脚本通常也是 "一次把整章丢给模型",容易导致设定漂移、角色关系错乱。

为了解决这一痛点,我将之前探索的基于 LLM 对电子书进行翻译的思路完善成了一个完整的开源项目:ePubTsuyaku

项目地址:https://github.com/Tritium0041/ePubTsuyaku


# 核心设计思路:像人类一样翻译

Puyku 一本书的内容是由大量人物、时间、地点、动作等要素组成的。传统的机器翻译之所以生硬,是因为它缺乏对这些要素的记忆和理解。epubTranslatorWithLLM 的核心思路是模拟人类读书的步骤,建立一条完整的翻译流水线:

  1. 定调与摘要 (Summary Phase):按 EPUB spine 顺序读取正文,先做全书上下文整理。LLM 读取一章的内容后,总结其中的主要内容,提取关键要素作为翻译时的线索。
  2. 冻结上下文翻译 (Translation Phase):每章被切成多个片段批次。每个批次都在 "当前章节冻结上下文" 上并发翻译,确保上下文稳定,避免翻译过程中角色关系或设定漂移。
  3. 校对与重试 (Review Phase):对每个批次进行结构化校对。LLM 会对翻译前后的要素进行对比,产生置信度评分。如果分数低于阈值,则会自动触发重翻。
  4. 结构重建 (Rebuild):在保留原书 XHTML 结构、目录、资源和大部分元数据的前提下,将译文回写进原 EPUB,生成新书。

# 翻译质量对比评测

为了验证本项目的翻译效果,我从 Z-Library 下载了《玩乐关系》第三卷的日语原版 EPUB 作为测试素材,对三种翻译方案进行了横向对比评测。

参与评测的三个译本分别为:

  • 本项目译本:使用 ePubTsuyaku 翻译流水线,搭配 DeepSeek-v4-flash 模型完成翻译。
  • LLM 译本:使用 Qwen3.6-plus 模型,通过沉浸式翻译插件进行逐段翻译。
  • 机器翻译译本:使用谷歌翻译引擎,通过沉浸式翻译插件完成翻译。

评测工具来自配套的开源评测代码库 translation-quality-evaluator。该工具支持对多个已翻译 EPUB 进行自动化质量对比,核心流程如下:首先从各译本 EPUB 中提取对齐的文本样本,随后调用 LLM judge 对每个样本在准确性、完整性、术语一致性、流畅度、文风和编辑就绪度六个维度进行打分,最终汇总生成结构化的评测报告。评测支持启发式(无需 API Key)和 LLM judge 两种模式,可通过 compare_existing.py 脚本直接对比多个现有译本,无需重新运行翻译流程。

# 直观文本对比

下图展示了第一章开头相同段落在四个版本(原文、本项目译本、LLM 译本、机器翻译)下的对比,可以直观看出差异:

翻译质量对比

  • 机器翻译:语言生硬,充满了 "起重机"(纸鹤的误翻)、"谋杀解谜游戏" 等机翻味极重的词汇,角色名译名混乱("常磐幸太郎"、"高梨美芙露"),角色语气也极不自然。
  • LLM 逐段翻译:虽然比传统机翻流畅,但依然存在 "小赤"(应为阿卡琳)等译名不统一的问题,且部分专有名词未处理(Madamiss、Akarin、Mifuru),语气表达仍显僵硬。
  • 本项目新方法:不仅准确翻译了 "纸鹤"、"谋杀推理体验剧本",还完美还原了轻小说中角色间的对话语气,保留了原文的行文风格,译名前后一致。

# 量化评测数据

我们使用 LLM judge 对三个译本进行了多维度的严格量化评测,结果如下:

各维度评分对比

翻译系统综合评分准确性完整性术语一致性流畅度文风编辑就绪度
本项目新方法57.4368.355.067.777.771.358.7
LLM 逐段翻译35.1140.028.351.765.055.033.3
机器翻译15.2323.343.328.346.733.320.0

与传统机器翻译相比,新方法将综合质量评分提升了 42.20 分,术语 / 人名一致性提升了 14.1%,严重错误率大幅降低(每样本减少 3.67 个严重错误),极大减少了人工二次编辑的成本。


# 强大的工程化特性

除了核心翻译逻辑的升级,ePubTsuyaku 在工程实现上也做了大量完善,使其真正成为一个可用的生产力工具:

  • 前作参考 (Reference Phase):支持传入前作的精翻 EPUB 作为软参考,自动提取系列译名和文风,非常适合系列轻小说的翻译。
  • 断点续跑:支持 progress.json 记录进度,任务失败或中断后可以自动续跑,不用担心长篇翻译中途崩溃前功尽弃。
  • 多模型后端:原生支持 DeepSeek、阿里云、以及通用的 OpenAI-compatible 接口,并提供 mock 模式方便本地联调。
  • 本地 Web UI:内置了直观的本地 Web 界面,支持选书、上传、调参、实时查看日志进度和下载结果,无需死磕命令行。

# Web UI 界面展示

下图为本地 Web UI 的实际运行截图,在一个页面内完成选书、填模型、启动翻译、查看进度和下载结果的全流程:

Web UI 主界面

Web UI 参数配置区


# 快速上手

安装:

uv venv .venv
uv pip install --python .venv/bin/python -r requirements.txt

启动 Web UI:

uv run --python .venv/bin/python webui.py

命令行翻译:

uv run --python .venv/bin/python main.py --input testBook/yourbook.epub --source-lang 日语 --target-lang 中文

如果你也经常啃生肉 EPUB,或者有系列小说的翻译需求,欢迎来试试这个工具!

项目地址:https://github.com/Tritium0041/ePubTsuyaku