9.5 KiB
双语 EPUB 审校编辑器
当前版本:0.8.0
这个工具用于把生成后的中日双语 EPUB 打开成浏览器审校界面。用户可以直接修改中文译文,也可以标记“哪里翻得不好”,并把所有记录沉淀为可交给 Codex 的反馈文件。
版本规则
维护版本号使用 version = "0.1.0" 这种语义化格式:
| 层级 | 触发条件 |
|---|---|
| PATCH | 修复 bug 或兼容性小修 |
| MINOR | 新增向后兼容能力、API 字段或可选配置 |
| MAJOR | 破坏兼容的 API、配置或行为变更 |
本次从 0.1.0 升到 0.2.0,因为新增了独立上传、会话管理、下载接口与可选 --host 配置,且保持原命令行 EPUB 路径用法兼容。
0.2.1 修复目录章节识别:优先读取 EPUB 内部目录页的中文标题,并把目录锚点之间的多个正文 part 合并为同一章;左侧目录增加章节展开/收起按钮。
0.3.0 新增插图阅读能力:目录中会把 EPUB spine 里的插图页作为独立章节显示,阅读模式可直接查看图片;正文子章节标题统一使用 part0000 这类规整编号,方便长篇审校快速定位。
0.4.0 新增阅读型交互与 GPT 重翻:左侧目录/检索改为按需打开的独立侧栏;阅读模式去掉每段下方操作按钮,点击段落直接打开右侧精修与重翻面板,并在面板挤开正文后恢复原阅读位置;本地可配置 OpenAI 兼容 GPT API,对单段生成重翻候选,确认后再应用到编辑框。
0.4.1 修复后端/API 安全与结构细节:章节内插图与文字按 spine 顺序 flush,结构统计补充 text/image 细分字段;内部目录识别增加目录页/链接密度判定;结构和 /api/asset 仅允许已识别的 raster 图片并加 nosniff;重翻接口不再允许单次请求临时覆盖 Base URL 或模型后复用已保存密钥。
0.5.0 改进长篇目录与检索:目录章节标题不再用正文首段猜测,章节内插图作为次级条目挂在所属章节下,阅读时可按原 spine 顺序穿插显示;点击目录不会自动收起侧栏,桌面端正文会为常驻侧栏让位;检索新增“当前范围 / 全书全局”切换。
0.6.0 新增 GPT 提示词设置:可在网页中单独配置“翻译内容提示词”“格式与标点提示词”“角色状态与口吻提示词”,并提供默认预设;单段重翻只携带目标语句、当前译文、相关名词表、少量前后文和角色口吻提示,候选输出会进行中文标点规整与术语 ruby 括号形式修正。
0.7.0 新增实时术语表能力:GPT 重翻会从配置的 mingcibiao.json 实时读取命中术语并写入提示词;网页中可查看当前术语表路径、搜索术语,新增、修改、删除条目并保存,保存后的术语会立即用于下一次重翻。
0.8.0 新增阅读位置恢复:阅读器会自动记录当前章节/part/插图、当前可见段落和滚动位置;重新打开服务、刷新页面或切回已有会话时,会回到上次阅读的位置。
独立安装
这个审校器现在可以脱离 Codex 使用,只需要 Python 和浏览器。把 tools/epub_review_editor 目录复制到其他电脑或服务器后,在该目录里安装依赖:
python -m venv .venv
.\.venv\Scripts\python -m pip install -r requirements.txt
Linux/macOS:
python3 -m venv .venv
./.venv/bin/python -m pip install -r requirements.txt
启动
不预先指定 EPUB,直接打开上传界面:
$env:PYTHONIOENCODING='utf-8'
python 'C:\Users\xin61\Documents\轻小说翻译持续改进\tools\epub_review_editor\server.py'
也可以像原来一样直接打开某个 EPUB:
$env:PYTHONIOENCODING='utf-8'
python 'C:\Users\xin61\Documents\轻小说翻译持续改进\tools\epub_review_editor\server.py' '<中日双语版.epub>' --daemon
默认会自动打开浏览器。如果没有自动打开,命令会打印 URL,例如:
http://localhost:5177
局域网或服务器部署时,把监听地址改为 0.0.0.0,并把审校数据目录固定到一个你会备份的位置:
python .\server.py --host 0.0.0.0 --port 5177 --review-root .\epub_review_sessions
当前版本没有登录鉴权,不要直接暴露到公网。需要远程使用时,优先放在可信局域网、VPN、反向代理鉴权或 SSH 隧道后面。
浏览器上传 EPUB
- 启动时不带 EPUB 路径,会进入开始页。
- 点击“选择 EPUB 文件”,上传中日双语 EPUB 后会自动创建审校会话。
- 开始页会列出已有会话,换电脑或重启服务后可以继续打开之前的审校记录。
- 上传的 EPUB、解包副本、反馈与导出文件都会保存在
--review-root指定目录下。
能做什么
- 阅读模式下按章节连续阅读日文原文与中文译文,不需要逐句点击。
- 每个审校会话会自动保存上次阅读位置,下次打开会回到上次所在章节、part、插图或段落附近。
- 左侧目录和检索默认隐藏,通过顶部“目录”“检索”两个按钮分别打开,不会把两种入口混在同一个常驻侧栏里。
- 目录优先按 EPUB 内部目录页或 nav/toc 组织章节;章节下显示内部
part0000形式的 part 与次级插图条目,可展开/收起,点击 part 后只看该 part,点击章节则按原 spine 顺序连续阅读正文和插图。 - 插图页会作为所属章节的次级条目出现在目录里,点击后可在阅读模式中直接查看原 EPUB 图片;点击目录项不会自动隐藏左侧侧栏。
- 检索支持“当前范围”和“全书全局”两种范围,适合在单章精查和整本书排查术语时切换。
- 在阅读模式中点击段落即可打开右侧精修与重翻面板,直接编辑中文译文、标记问题或调用 GPT 重翻;打开/关闭面板时会尽量保持原来的阅读位置。
- 精修模式保留原有逐段编辑界面,用于较细的逐段复审。
- 可在网页中配置 OpenAI 兼容的
base_url、model、API Key 与重翻提示词,对当前段落生成重翻候选;候选不会自动覆盖正文,需要点击“应用重翻”并保存。 - 可在“提示词与 API”里配置并读取正式术语表,实时搜索、增删改术语并保存;单段重翻会按当前段落命中术语表条目,而不是只在提示词里泛泛要求遵守术语。
- 直接编辑中文译文。
- 标记问题段落或选中文本。
- 记录问题类型、严重程度、标签、备注和可沉淀的长期规则。
- 生成反馈文件,供 Codex 后续持续优化翻译和润色质量。
- 将编辑写回 EPUB 解包内容。
- 导出一份新的“网页审校版 EPUB”。
重要输出
每个 EPUB 会建立独立审校 session。通过浏览器上传时,默认位于:
epub_review_sessions\<timestamp>_<epub-name>_<hash>\
通过命令行直接指定 EPUB 时,仍沿用固定路径:
epub_review_sessions\<epub-name>_<hash>\
关键文件:
feedback/translation_feedback.jsonl:逐次保存的结构化反馈记录。feedback/feedback_for_codex.md:适合直接给 Codex 阅读的审校反馈摘要。exports/*_网页审校版_*.epub:导出的修订版 EPUB。review_state/state.json:网页编辑器当前状态。extracted/:EPUB 解包后的工作副本。
在服务器上使用时,“生成反馈”和“导出审校 EPUB”会返回浏览器可访问的下载地址,不需要登录服务器找文件。
使用建议
- 正式长篇 EPUB 优先使用“阅读模式”:先在左侧点章节/part 连续读,看到问题再点段落快速编辑或标记。
- 需要集中逐段复审时切到“精修模式”,左侧段落列表会跟随当前章节筛选。
- 只想记录问题时:勾选“标记为翻译问题”,写备注,保存本段。
- 想直接修正译文时:编辑中文译文后保存本段。
- 想让 Codex 学习你的偏好时:把“可沉淀为长期规则”写具体,例如“Falchion 固定译为大砍刀,不要译成偃月刀”。
- 想单段重翻时:点击段落打开右侧面板,先在“提示词与 API”中保存 GPT 配置;提示词分为翻译内容、格式标点、角色口吻三块,可恢复预设。术语表路径默认指向本项目的
TRPG玩家在异世界打造最强角色/mingcibiao.json,也可以改成其他mingcibiao.json。再点“重翻本段”;满意后点“应用重翻”,最后保存本段记录。 - 想调整术语时:展开“提示词与 API”,在术语表区域搜索、修改或新增条目,点击“保存术语表”;下一次重翻会重新读取已保存的最新术语。
- 审校结束后点击“生成反馈”,再在聊天里告诉 Codex 读取
feedback_for_codex.md和translation_feedback.jsonl。
当前限制
- 当前解析规则针对本项目的“日文灰字 + 中文紧随其后”的双语 EPUB。
- 目录用于审校导航;插图可以阅读和跳转,但当前版本不提供图片内容编辑。
- GPT API Key、提示词与术语表路径仅保存在
--review-root下的本地gpt_config.json,接口不会回传密钥;重翻时只能使用已保存的 Base URL 和模型,避免把密钥发往未确认端点。术语表编辑会直接写入配置路径指向的 JSON 文件,服务器部署时请保护好审校目录和术语表,不要把没有鉴权的服务暴露到公网。 - 浏览器内保存的是审校工作副本;要生成 EPUB 文件,需要点击“导出审校 EPUB”。