wenyi文译双语EPUB输出:保留原书样式图片,一键生成原文译文对照版
【免费下载链接】wenyi将被语言阻隔的作品,带到读者的语言中。Bringing literature into your language.项目地址: https://gitcode.com/gh_mirrors/we/wenyi
文译(wenyi)是一款面向书籍与长篇文字的 AI 翻译工具,它的双语 EPUB 输出功能可以让译文"长"在原书的皮肤里:基于原书 XHTML 模板回填译文,尽量保留原书样式、图片、目录和锚点;再加上一个--bilingual参数,即可一键生成原文译文对照版 EPUB——译文正常显示,原文淡化排在其旁,方便对照阅读与校对。
双语 EPUB 对照版:原文译文如何排布
启用双语输出后,每一段的译文在上、原文在下。原文以较小的字号、灰色文字配浅底色块呈现,视觉上自然淡化,不喧宾夺主;日文源书还会保留振假名(ruby)与注释链接。阅读效果如下:
这种排版对以下场景特别实用:
- 📖外语学习:精读时随时对照原文,理解措辞与句式
- 🔍翻译校审:译者可快速比对两段文字,发现漏译误译
- 📚出版参考:对照版本身就是常见的双语图书形态
原书样式和图片是如何保留的
很多翻译工具的输出是"裸书"——样式丢失、图片缺失、目录失效。文译的 EPUB 导出走的是模板回填路线,核心逻辑在 epub_writer.py:
- 整包复制:以原书 EPUB 为模板,逐文件复制,
mimetype保持无压缩存储,图片、CSS、字体等资源原样保留 - 精准替换正文:只把正文中的文字片段替换为译文,章节骨架、插图位置、页边注释全部不动
- 重写元数据与目录:更新 OPF 中的书名与语言标记,同步替换 NCX/NAV 目录中的章节标题
- 竖排转横排:自动检测原书是否为竖排(如日文书),若是则注入横排覆盖样式,适配中文阅读习惯
竖排检测与双语样式注入的实现可参考 epub_presentation.py 与 html_bilingual.py。
一键命令:生成双语 EPUB
安装后只需一条命令(需要 Python 3.10+ 与 uv,并配置好模型 API Key):
git clone https://gitcode.com/gh_mirrors/we/wenyi cd wenyi uv sync export DEEPSEEK_API_KEY=sk-... # 一键翻译并同时生成单语版 + 双语对照版 uv run wenyi translate book.epub --bilingual完成后,源文件旁的output/目录会得到两个成品:
| 文件 | 内容 |
|---|---|
book.zh.epub | 单语中文版,继承原书样式 |
book.zh-bi.epub | 原文译文对照版 |
只想出双语版可以加--no-mono:
uv run wenyi translate book.epub --no-mono --bilingual💡 翻译是断点续跑的:中断后重新执行同一条命令即可续跑,已完成的批次不会重复调用模型。
对照版外观自定义:淡化、深色模式与排列顺序
双语版默认将原文淡化显示,并自动适配深色模式(原文块变为深灰底、浅灰字)。如果希望原文继承书籍正文样式而非淡化,或调整原文/译文的上下顺序,在config.yaml中修改即可:
output: bilingual_preserve_source_style: true # 原文继承正文样式 bilingual_order: source_first # 原文在上、译文在下更多输出选项说明见使用指南。
翻译过程中的 Web 工作台(可选)
除了命令行,文译还提供 Web 工作台:实时查看各阶段的 Token 用量、缓存命中率与耗时,并支持原文译文逐段对照校阅、记录改动历史。
Web 栈的部署方式(Docker/本地、Worker 与项目工作流)见Web 部署文档。
不重新调用模型,再次导出 EPUB
译文满意后想换个格式或重新打包?assemble命令可基于已有状态直接重新导出,不会再次消耗模型额度:
uv run wenyi assemble book.epub # 重新导出默认 EPUB uv run wenyi assemble book.epub --format html # 导出 HTML 双语对照 uv run wenyi assemble book.epub --format docx # 导出 Word除了 EPUB,文译还支持 TXT、HTML、Markdown、DOCX 等导出格式;输入侧则支持 EPUB、FB2、TXT、Markdown、HTML、PDF、DOCX 与 SRT 字幕。完整输入输出矩阵见README 支持格式。
小结
| 能力 | 说明 |
|---|---|
| 原书样式保留 | 基于原书 XHTML 模板回填,样式、图片、目录、锚点原样保留 |
| 一键双语输出 | --bilingual同时产出单语版与原文译文对照版 |
| 对照版观感 | 原文淡化显示,支持深色模式,可切换样式继承与排列顺序 |
| 竖排适配 | 自动检测竖排原书并转为横排 |
| 断点续跑 | 中断后重跑同一命令,导出可随时用assemble重做 |
把语言阻隔的作品,带到读者的语言中——这就是文译想做的事。完整架构与流水线细节,可阅读翻译流程文档与配置说明。
【免费下载链接】wenyi将被语言阻隔的作品,带到读者的语言中。Bringing literature into your language.项目地址: https://gitcode.com/gh_mirrors/we/wenyi
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考