今日开源[第17期]public-domain-books-translation

SaberOnGo/public-domain-books-translation 项目分析

分析日期:2026-06-15
项目地址:https://github.com/SaberOnGo/public-domain-books-translation


一、项目介绍

1.1 项目概述

LifeBook 书坊(public-domain-books-translation) 是一个多语言公版书翻译与 EPUB 制作流程项目。它不是简单的"AI 一键翻译"仓库,而是一个完整的、可追溯的翻译出版流水线,保留了来源证据、版权核查、翻译草稿、审校记录、EPUB 校验、分层随机抽检和版本化发布等全部环节。

1.2 项目地址与官网

项目 链接
GitHub 仓库 https://github.com/SaberOnGo/public-domain-books-translation
创建时间 2026-05-10
最新提交 2026-06-14
许可证 MIT(代码)+ CC BY-NC-SA 4.0(内容)

1.3 项目状态

  • 当前版本:LifeBook Launcher v1.3.12(2026-05-30)
  • Stars:215
  • Forks:21
  • Open Issues:1
  • 总提交数:104 commits
  • 发布版本:6 个 releases
  • 默认分支:main

1.4 多语言 README

项目提供 4 种语言的 README:

  • README.md(英文)
  • README.zh-CN.md(简体中文)
  • readme/README.zh-TW.md(繁体中文)
  • readme/README.ja.md(日本语)

1.5 项目示意图

该项目是纯文本/代码仓库,没有提供 GUI 界面截图。其"可视化"主要体现在:

  • EPUB 输出成品(封面、排版效果)
  • LifeBook Launcher 桌面应用(基于 Tauri 的跨平台启动器)
  • 流程图和文档结构

二、项目亮点

2.1 核心亮点

亮点 说明
AI + 人工协作翻译流程 不是简单调用 AI 翻译,而是建立完整的翻译、审校、质检流水线
分层随机抽检机制 第一版 EPUB 后强制执行统计学抽样检验,覆盖段落、表格、图片、公式、注释
问题族追杀机制 抽检发现的问题必须归纳为"问题族",全书审计同类问题,修复后新 seed 复抽
版本化发布管理 EPUB 按软件发布方式管理(vX.X.X),含 release notes、state JSON
多语言方向模板 支持英语、日语、古希腊语、法语、德语等多种语言到简体中文/其他语言
私人自用模式 支持非公版书的本地个人学习翻译,与公开项目完全隔离
LifeBook Digest EPUB 后处理模块,为长篇书籍生成章节拓扑与知识脉络图
专家级译文质量 Skill 内置专家级翻译质量执行流程和多义词回看机制

2.2 主要功能模块

  1. 书籍工程创建

    • books/scripts/create_book_project.py 自动创建带编号的书籍项目
  2. 翻译流水线

    • 从原文获取、分章、术语表、试译到批量翻译的完整流程
  3. 质量门禁系统

    • 每章译后全量检查
    • 结构性译文覆盖检查
    • EPUB 校验(EPUBCheck)
    • 分层随机抽检
  4. EPUB 制作

    • 封面设计、书籍信息页、XHTML 转换、OPF manifest 管理
  5. 版本发布

    • output/release/ 带版本号 EPUB + release notes
  6. LifeBook Launcher

    • Windows 桌面启动器,自动管理项目和客户端
  7. 翻译工作量评估

    • 预翻译难度评估 + 实际统计

三、项目运行环境与运行条件

3.1 编程语言占比

  • Python: 43.4%
  • Rust: 31.2%
  • TypeScript: 17.8%
  • JavaScript: 4.6%
  • CSS: 3.0%

3.2 核心技术栈

层级 技术
后端/脚本 Python 3(翻译流水线、质检脚本、随机抽检)
桌面启动器 Rust + Tauri v2(LifeBook Launcher)
前端(Launcher UI) React 19 + Vite 8 + TypeScript 6
构建工具 Node.js + npm(EPUB 构建、校验、lint)
EPUB 校验 EPUBCheck(Java,通过 epubchecker npm 包调用)
版本控制 Git(含自定义 commit message 校验脚本)

3.3 关键依赖

books/package.json(共享工具):

{
  "dependencies": {
    "epubchecker": "^5.2.1"
  },
  "scripts": {
    "check:local-paths": "...",
    "new:book": "...",
    "check:gitignore-policy": "...",
    "setup:tools": "...",
    "check:tools": "..."
  }
}

LifeBook Launcher(tools/lifebook-launcher/source/package.json):

  • @tauri-apps/api: ^2.11.0
  • @tauri-apps/plugin-autostart: ^2.5.1
  • react: ^19.2.6
  • lucide-react: ^1.16.0
  • vite: ^8.0.14
  • typescript: ^6.0.3

Launcher Rust 依赖(Cargo.toml):

  • tauri: 2.11.2
  • tokio: 1.x(异步运行时)
  • reqwest: 0.12(HTTP 客户端)
  • serde: 1.x(序列化)
  • chrono: 0.4(日期时间)

3.4 运行环境要求

  • 操作系统: Windows(Launcher 主要支持),Linux/macOS(部分脚本兼容)
  • Python: 3.x
  • Node.js: 支持 npm 的现代版本
  • Java: EPUBCheck 需要 Java 运行时
  • Git: 用于项目管理和 commit 校验
  • AI 客户端: OpenCode Desktop、Codex App、Claude Code、aider、Antigravity 等(可选)

3.5 安装方式

# 克隆仓库
git clone https://github.com/SaberOnGo/public-domain-books-translation.git

# 安装共享工具依赖
cd books
npm install

# 安装 LifeBook Launcher 依赖
cd ../tools/lifebook-launcher/source
npm install

# 运行 Launcher(开发模式)
npm run tauri dev

四、项目代码介绍

4.1 代码架构图

仓库根目录结构

public-domain-books-translation/
├── AGENTS.md                          # AI Agent 强制规则
├── README.md / README.zh-CN.md        # 多语言 README
├── opencode.jsonc                     # OpenCode 客户端适配配置
├── .opencode/                         # OpenCode agent 和命令定义
├── .gitignore
│
├── books/                             # 书籍工程目录 + 共享 Node.js 工具
│   ├── package.json                   # 共享依赖(epubchecker 等)
│   ├── scripts/
│   │   ├── create_book_project.py     # 创建书籍工程核心脚本
│   │   ├── run_python.js              # Node 调用 Python 的桥接脚本
│   │   ├── check_gitignore_policy.py
│   │   └── setup_local_tools.py
│   ├── zh-Hans/                       # 简体中文成书目录
│   ├── private/                       # 私人自用项目(Git 忽略)
│   └── node_modules/                  # 共享依赖(Git 忽略)
│
├── template/epub_pipeline/            # EPUB 制作权威模板
│   ├── README.md                      # 模板总说明
│   ├── common/                        # 通用 EPUB 流程
│   │   ├── README.md
│   │   ├── scripts/                   # 共享脚本
│   │   │   ├── check_no_local_absolute_paths.py
│   │   │   ├── select_random_review_passages.py
│   │   │   ├── evaluate_translation_difficulty.py
│   │   │   └── update_translation_metrics.py
│   │   ├── references/                # 政策文档
│   │   │   ├── quality_gate_framework.md
│   │   │   ├── stratified_random_spotcheck.md
│   │   │   ├── release_versioning.md
│   │   │   ├── cover_design_policy.md
│   │   │   ├── book_info_frontmatter_policy.md
│   │   │   ├── epub_assets_figures_tables.md
│   │   │   └── translation_effort_metrics.md
│   │   ├── prompts/                   # 翻译流程 prompt(00-19)
│   │   └── assets/                    # 默认 EPUB 资源
│   │
│   ├── English-to-Simplified-Chinese/ # 英译中模板
│   ├── Japanese-to-Simplified-Chinese/# 日译中模板
│   ├── Ancient-Greek-to-Simplified-Chinese/
│   ├── targets/zh-Hans/               # 简体中文目标语言质量规则
│   ├── profiles/classical-science-zh-Hans/  # 特殊书籍类型覆盖
│   └── modes/private_use/             # 私人自用模式覆盖
│
├── digest/                            # LifeBook Digest 后处理模块
│   ├── lifebook_digest/               # Python 模块
│   ├── prompts/                       # Digest 生成 prompt
│   ├── references/                    # Digest 工作流规则
│   ├── schemas/                       # 配置 schema
│   ├── qa/                            # Digest 审校清单
│   └── examples/                      # 配置示例
│
├── doc/
│   ├── public/                        # 公开用户文档
│   │   ├── how-to-use-prompts.zh-CN.md
│   │   └── user_prompt/               # 4 个启动 prompt 模板
│   └── project/                       # 项目工程文档
│       └── ai-clients/                # AI 客户端接入说明
│
├── skills/                            # 可复用 Skill 文件
│   ├── public-domain-epub-pipeline/SKILL.md
│   ├── expert-translation-quality/SKILL.md
│   ├── translation-quality-defect-families/SKILL.md
│   └── print-compatible-book-layout/SKILL.md
│
├── research/                          # 语言方向调研产物
│   └── English-to-Simplified-Chinese/book-discovery/
│
├── tools/
│   └── lifebook-launcher/             # LifeBook Launcher
│       ├── LifeBook Launcher Setup.exe # Windows 安装包
│       └── source/                    # 开发源码(Tauri + React)
│           ├── src-tauri/Cargo.toml   # Rust 后端
│           ├── src/                   # React 前端
│           └── package.json
│
├── tests/                             # 测试
├── license/                           # 多语言许可证
│   ├── LICENSE.en.md                  # MIT(代码)+ CC BY-NC-SA 4.0(内容)
│   ├── CONTRIBUTING.en.md
│   ├── COMMERCIAL_LICENSE.en.md
│   └── DIGEST_LICENSE.en.md
│
└── readme/                            # 多语言 README 和 Digest 说明
    ├── README.zh-TW.md
    ├── README.ja.md
    └── digest/

书籍工程内部结构(创建后)

books/zh-Hans/1_示例书名_作者名/
├── chapters/
│   ├── src/           # 原文 Markdown
│   ├── translated/    # 译文草稿
│   └── final/         # 终稿
├── frontmatter/       # 封面、书籍信息页
├── metadata/          # book.yaml、private_use_declaration.md
├── assets/            # 图片、SVG、CSS
├── qa/                # 质量控制记录
│   ├── chapter_controls/
│   ├── pretranslation/
│   ├── fidelity/
│   ├── readability/
│   └── gates/
├── reviews/
│   └── random_spotcheck/round_XXX/
├── preproduction/     # 制作规格
├── state/             # pipeline_state.json
├── output/
│   ├── book.epub              # 当前构建产物
│   ├── release/               # 版本化发布产物
│   └── private_artifacts/     # 私人产物
└── package.json       # 本书脚本(继承共享依赖)

4.2 核心模块介绍

4.2.1 books/scripts/create_book_project.py — 书籍工程创建

  • 自动创建带编号的书籍项目
  • 复制模板层(common + language-pair + target + profile)
  • 生成初始目录结构和配置文件

4.2.2 template/epub_pipeline/common/scripts/ — 共享脚本

脚本 功能
check_no_local_absolute_paths.py 本地绝对路径泄漏检查(可移植性门禁)
select_random_review_passages.py 分层随机抽检采样器
evaluate_translation_difficulty.py 翻译难度预评估
update_translation_metrics.py 翻译工作量统计更新

4.2.3 template/epub_pipeline/common/references/ — 政策文档

文档 说明
quality_gate_framework.md 质量门禁框架
stratified_random_spotcheck.md 分层随机抽检规则
release_versioning.md 版本发布管理
cover_design_policy.md 封面设计政策
book_info_frontmatter_policy.md 书籍信息页政策
epub_assets_figures_tables.md EPUB 资源、图表、表格规范
translation_effort_metrics.md 翻译工作量指标

4.2.4 template/epub_pipeline/common/prompts/ — 翻译流程 Prompt

  • 00-19 编号的标准化 prompt 文件
  • 覆盖从原文获取到版本发布的完整流程

4.2.5 tools/lifebook-launcher/ — LifeBook Launcher

  • Rust 后端: Tauri 框架,处理文件系统操作、项目管理和 AI 客户端通信
  • React 前端: 用户界面,项目列表、启动配置、状态显示
  • 功能: 自动管理项目、一键启动 AI 客户端、版本检查

4.2.6 digest/ — LifeBook Digest 后处理模块

  • 为长篇书籍生成章节拓扑与知识脉络图
  • 包含 Python 模块、prompt、规则、schema、审校清单

4.3 核心代码解析

4.3.1 分层随机抽检机制

# select_random_review_passages.py 核心逻辑
# 1. 按层次分层:段落、表格、图片、公式、注释
# 2. 每层按统计学方法随机抽样
# 3. 2 个独立 Agent 各评 120 个样本
# 4. 发现问题归纳为"问题族"
# 5. 全书审计同类问题
# 6. 修复后使用新 seed 复抽

4.3.2 问题族追杀机制

抽检发现问题
    ↓
归纳为"问题族"(如:人名翻译不一致)
    ↓
全书审计同类问题
    ↓
批量修复
    ↓
使用新 seed 重新抽样
    ↓
验证修复效果

4.3.3 模板层架构

common/                    # 通用流程(所有语言对共享)
    ↓
English-to-Simplified-Chinese/  # 语言对特定模板
    ↓
targets/zh-Hans/           # 目标语言质量规则
    ↓
profiles/classical-science-zh-Hans/  # 书籍类型覆盖
    ↓
modes/private_use/         # 私人自用模式覆盖

4.3.4 质量门禁流程

原文获取 → 分章 → 术语表 → 试译 → 批量翻译
    ↓
每章译后全量检查
    ↓
结构性译文覆盖检查
    ↓
EPUB 构建
    ↓
EPUBCheck 校验
    ↓
分层随机抽检(第一轮)
    ↓
问题族修复
    ↓
分层随机抽检(复抽)
    ↓
版本发布(vX.X.X)

4.3.5 核心代码文件清单

文件路径 功能
books/scripts/create_book_project.py 创建书籍工程,自动分配编号,复制模板层
template/epub_pipeline/common/scripts/check_no_local_absolute_paths.py 本地绝对路径泄漏检查(可移植性门禁)
template/epub_pipeline/common/scripts/select_random_review_passages.py 分层随机抽检采样器
template/epub_pipeline/common/scripts/evaluate_translation_difficulty.py 翻译难度预评估
books/package.json 共享 Node.js 工具依赖
tools/lifebook-launcher/source/src-tauri/Cargo.toml Launcher Rust 后端配置
AGENTS.md 所有 AI Agent 的强制行为规则
opencode.jsonc OpenCode 客户端适配配置

五、项目的应用、优点和不足

5.1 应用场景

  1. 公版书翻译出版

    • 将 Project Gutenberg 等公版书籍翻译成中文/其他语言,产出高质量 EPUB
  2. 学术/古典文献翻译

    • 支持古希腊语、拉丁语等古典语言到现代语言的翻译
  3. 个人学习自用

    • 非公版书的本地个人翻译(不传播、不商用)
  4. 多语言翻译研究

    • 语言对模板可作为翻译方法论研究素材
  5. AI 辅助出版实验

    • 探索 AI Agent 在出版流程中的系统化应用

5.2 项目优点

优点 详细说明
质量管控极其严格 逐章零问题 PASS、分层随机抽检、问题族全书审计、双 Agent 独立评审,质量门槛远超普通 AI 翻译项目
流程标准化 从原文获取到版本发布的 20+ 个步骤全部模板化,可复制到任意语言对
可追溯性强 每本书保留完整的来源证据、QA 记录、审校历史、release notes
多语言架构 支持任意源语言到任意目标语言,模板层(common + language-pair + target + profile)设计清晰
版权意识强 严格区分公版/授权/私人自用三种模式,私人项目完全隔离于 Git
可扩展的 Skill 系统 翻译质量问题族、专家级译文质量等经验可跨书复用
配套桌面工具 LifeBook Launcher 降低普通用户使用门槛
版本化管理 EPUB 像软件一样版本迭代,支持持续改进
开源友好 代码 MIT 许可证,非代码内容 CC BY-NC-SA 4.0

5.3 项目不足与待改进

不足 详细说明
学习曲线陡峭 模板体系庞大(20+ prompt 文件、多份 policy 文档),新用户/AI Agent 需要大量阅读才能上手
Token 成本高 分层随机抽检要求每轮 2 个 Agent 各评 120 个样本,多轮迭代消耗大量 AI 调用
当前语言对有限 虽有架构支持多语言,但实际模板主要集中在到简体中文的方向
缺乏可视化界面 除 Launcher 外,核心流程依赖命令行和 AI 客户端,对非技术用户不够友好
依赖外部 AI 服务 需要用户自行配置 DeepSeek/OpenAI/Claude 等 API Key
Java 运行时依赖 EPUBCheck 需要 Java,Windows 用户可能遇到环境配置问题
私人模式无质量折扣 私人自用项目不降低质量要求,对个人轻量使用而言流程过重
社区规模小 215 stars、21 forks,处于早期阶段,社区贡献和模板积累尚有限
无在线演示/预览 无法快速体验成品效果,必须下载完整仓库并配置环境

5.4 社区与生态

  • 活跃维护:最新提交于 2026-06-14,持续更新
  • 多语言文档:README 支持 4 种语言
  • 版本发布:已发布 6 个版本,最新为 LifeBook Launcher v1.3.12
  • Skill 系统:4 个可复用 Skill 文件
  • AI 客户端支持:OpenCode、Codex、Claude Code、aider、Antigravity 等

六、总结

LifeBook 书坊(public-domain-books-translation) 是一个高度工程化、质量导向的 AI 辅助公版书翻译出版系统。它不是"让 AI 随便翻译一下"的玩具项目,而是试图建立一套可复现、可审计、可持续迭代的数字出版流水线。其核心价值在于:

  1. 把 AI 翻译从"一次性输出"升级为"可验证的流程"
  2. 用统计学抽样和版本化管理保证出版质量
  3. 用模板架构支持多语言、多类型的翻译项目

对于希望系统性地利用 AI 进行高质量书籍翻译的个人或团队,这是一个非常有参考价值的基础设施项目。但对于只想快速翻译一两本书的 casual 用户,其复杂度和成本可能过高。


参考来源

  1. LifeBook 书坊 GitHub 仓库
  2. 项目 README(简体中文)
  3. 项目 Releases
posted @ 2026-06-15 00:20  zhang-yd  阅读(5)  评论(0)    收藏  举报