@JeffreyCalm: 国内出版社这两年把大部分重心都压在爆款外文书翻译上这条路要走到头了。 村上春树的最新长篇小说《夏帆》7 月 3 日日文版首发,7 月 6 日基于 Claude 版本的简中精译版本已经上线 Z-Lib。小红书上普遍反馈比过去作品的御用翻译林…
摘要
介绍了一个名为「文译」的开源项目,利用Claude和DeepSeek等AI模型将多语言小说(EPUB/FB2/TXT)翻译成中文,并保留原排版。项目已在GitHub开源,支持断点续译、术语库和润色功能。
查看缓存全文
缓存时间: 2026/07/07 23:39
国内出版社这两年把大部分重心都压在爆款外文书翻译上这条路要走到头了。 村上春树的最新长篇小说《夏帆》7 月 3 日日文版首发,7 月 6 日基于 Claude 版本的简中精译版本已经上线 Z-Lib。小红书上普遍反馈比过去作品的御用翻译林少华翻译的要好。 译者甚至把长篇作品连续翻译的项目工程在 github 上开了源:
BigDawnGhost/wenyi
Source: https://github.com/BigDawnGhost/wenyi
文译
专注于将多语言 EPUB、FB2 或 TXT 小说翻译成中文,并尽量保留 EPUB 原排版、图片、目录和跳转。
项目的日常入口只有一个命令:translate。它会完成预扫、分析、翻译、可选润色、章末审校、标点规范化和 EPUB 导出;中断后可以继续跑。
快速开始
uv sync
export DEEPSEEK_API_KEY=sk-...
uv run trans-novel translate book.epub
翻译完成后,默认会在源文件目录下生成译文 EPUB。运行状态、章节 JSON、术语库和报告会放在 state/ 目录下。
中断后继续:
uv run trans-novel resume book.epub
查看进度:
uv run trans-novel status book.epub
仅重新导出 EPUB:
uv run trans-novel tools assemble book.epub
输入和输出
- 输入:EPUB、FB2、TXT。
- 默认输出:中文 EPUB。
- EPUB 输入会按原 XHTML 模板回填译文,尽量保留原书样式、图片、目录和锚点。
- TXT 输入会生成新的 EPUB。
- 需要纯文本时使用
--format txt。
示例:
uv run trans-novel translate book.epub
uv run trans-novel translate book.epub --format txt
uv run trans-novel translate book.epub --chapter 3
常用开关
uv run trans-novel translate book.epub --polish
uv run trans-novel translate book.epub --no-polish
uv run trans-novel translate book.epub --qa
uv run trans-novel translate book.epub --no-qa
--polish/--no-polish 会覆盖 config.yaml 里的 pipeline.polish。当前仓库的 config.yaml 写的是 polish: true,所以不加参数时默认会润色;代码层面的缺省值是 false,只在配置文件没写该字段时生效。
润色会让每个翻译批次多一次 strong 档 LLM 请求,质量可能更稳,但会明显增加耗时和成本。已经翻译完成的批次会被断点续跑跳过,后来再开关润色不会自动重跑旧译文。
配置
主要配置都在 config.yaml:
language.source:auto由模型识别源语言,也可以写死语言代码,如ja、en、ko、ru、de等。llm.tiers: 配置strong、cheap、fast三档模型。pipeline.review: 章末审校。pipeline.autofix_severe: 对严重问题自动重译并采纳通过校验的结果。pipeline.polish: 翻译后再做中文润色。pipeline.backtranslate_sample: 回译抽检比例,0为关闭。pipeline.consistency_qa: 全书跨章一致性扫描。pipeline.book_understanding: 翻译前预扫整本书,生成全书概览和逐章梗概。pipeline.rolling_context_segments: 每批翻译时带入的前文译文段数。segment.max_chars_per_batch: 每个翻译批次的大小。segment.max_chars_per_segment: 超长段落的拆分阈值。
离线测试或调试流程时,可以把 llm.provider 改成 fake,不会发网络请求。
工作流程
默认连续流程大致是:
读取输入
→ 解析章节、正文段落和 EPUB 目录
→ 模型识别源语言(或使用配置指定语言)
→ 预扫整本书,生成全书概览和逐章梗概
→ 分析样章,建立初始术语表
→ 按章、按批翻译
→ 可选润色
→ 标点规范化
→ 章末 review
→ 可选严重项自动重译
→ 可选一致性 QA
→ 回填导出 EPUB/TXT
每个批次翻译完成后都会写入 state/,所以长书中断后可以续跑。已经有译文的批次会跳过,只补未完成部分。
一致性机制
- 术语库:人名、地名、专有名词和敬称会进入 SQLite 术语库,翻译时按配置注入提示词。
- 全书理解:翻译前预扫源文,生成全书概览和章节梗概,让早期章节也能参考全书走向。
- 滚动上下文:章内批次串行处理,后一个批次能看到前面最近几段译文。
- 段数对齐:每批输入 N 段,要求模型输出 N 段 JSON;段数不符会重试,仍失败则逐段兜底。
- 章末 review:按章检查漏译、误译、术语、人称等问题;默认只记录问题,是否自动修复由
autofix_severe控制。 - 标点规范化:译文统一为简体中文大陆常用全角标点。
常用工具
uv run trans-novel tools glossary book.epub list
uv run trans-novel tools glossary book.epub conflicts
uv run trans-novel tools qa book.epub
uv run trans-novel tools report book.epub
uv run trans-novel tools assemble book.epub
这些工具主要用于查看术语库、检查一致性、生成报告或重新导出成品。QA 和报告默认只汇总问题,不会自动改正文。
模型档位
默认配置使用 DeepSeek,并通过 OpenAI SDK 调用 https://api.deepseek.com。
strong: 翻译、润色、全局分析、标题翻译。cheap: 章末 review、一致性 QA、回译比对。fast: 全书预扫、章节梗概、术语抽取、回译等机械任务。
如果模型 ID 变化,直接改 config.yaml 里的 llm.tiers。
项目结构
trans_novel/
ingest/ 输入解析、EPUB/FB2/TXT 切分
llm/ LLM 抽象接口、DeepSeek provider、FakeClient
glossary/ SQLite 术语库、抽取、冲突处理
agents/ 分析、翻译、审校、润色、一致性、提示词
pipeline/ 编排器、断点状态、滚动上下文、校验
postprocess/ 标点规范化
assemble/ EPUB/TXT 回填导出、QA 报告
tests/ 离线测试
测试
UV_CACHE_DIR=/tmp/uv-cache uv run python -m unittest discover -s tests
如果本机 uv 缓存目录可写,也可以直接运行:
uv run python -m unittest discover -s tests
憧憬与不足
本项目为作者个人兴趣所开发,仅在于针对长文本书籍的译介做出一份微薄的努力,未来想让翻译在够准确的前提下更加顺畅,努力从可读向好读迈进。现阶段翻译文本一些口头禅前后翻译不一致,专有名词翻译不准确的问题,已经改进!如果还有什么问题,可以提交issue,如果你有什么想法,欢迎在讨论区提出,如果你有一定的编程能力,欢迎给我提交PR,让这个项目变得更好。👏
相似文章
@Jolyne_AI: 开源图书 ai 翻译利器:bilingual_book_maker。 用大语言模型(ChatGPT、Claude 等)把文件和整本书快速做成多语言译本,支持 epub、txt、srt 等常见格式,流程简单、上手快。 GitHub:http…
bilingual_book_maker 是一个开源 AI 翻译工具,利用 ChatGPT、Claude 等大语言模型快速将 epub/txt/srt/pdf 书籍翻译成多语言版本,支持多种模型并采用吴恩达的三步翻译法提高质量。
@amiaoapp: 天天啃外文文献、看国外技术博客,每次想翻译 PDF 段落,复制粘贴到网页翻译里全是一堆莫名其妙的断句和乱码换行?还得自己一行行手动删空格、删换行,效率低到让人原地抓狂?赶紧把这种折寿又折腾的“古法复制粘贴”连夜送进碎纸机! 推荐一款Git…
推荐一款开源的实时翻译工具CopyTranslator,支持跨平台,能自动处理PDF复制时的断行乱码,实现复制即翻译,提升外文文献阅读效率。
@cevenif: 还在一段段复制粘贴翻译电子书?你可能已经浪费了大量时间。 发现一个开源神器,直接把整本书丢进去就完事了:TranslateBookWithLLM 支持 EPUB 电子书、SRT 字幕、DOCX 文档、纯文本等常见格式 本地 Ollama …
TranslateBookWithLLM 是一个开源桌面应用,支持使用本地 Ollama 或云端 API 翻译 EPUB、SRT、DOCX 等格式的文档,保留原始排版并支持断点续传。
@shachepi: 天下苦沉浸式翻译久矣。 除了昨天的陪读蛙,KISS Translator 也是个顶级平替。 纯粹,完全开源。界面清爽。除了网页翻译,它同样自建接口支持非常全(Claude、Gemini 等各类AI都能接)。不想被商业插件割韭菜,用这种自接…
天下苦沉浸式翻译久矣。 除了昨天的陪读蛙,KISS Translator 也是个顶级平替。 纯粹,完全开源。界面清爽。除了网页翻译,它同样自建接口支持非常全(Claude、Gemini 等各类AI都能接)。不想被商业插件割韭菜,用这种自接 API 的最稳,加载也快,效果还好! 还没找到顺手平替的,再试试这个。 项目地址:https://github点com/fishjar/kiss-translator
@XAMTO_AI: GitHub上有个宝藏项目叫 EBOOK ETC,把微信读书、京东读书、喜马拉雅的资源全薅过来集中管理。 ① 经典文学、经管励志、职场创业、技术手册全都有 ② 标签分类 + 搜索功能,找书快得飞起 ③ epub、mobi、azw3 三种格…
这是一个GitHub上的开源项目,汇总了来自多个中文读书应用的电子书资源并分类整理,支持多种格式下载。