classical-chinese-translationlisted
Install: claude install-skill j912835225-prog/whetstone
# classical-chinese-translation · 译古书
古籍全译是**长序列交付**,不是翻译题。失败从来不在译不动,在**译到第七十八回时禁令已经静默失效**。
所以这件事一半是工序,一半是防漂移。防漂移那半更要紧。
## 一、开工前只问三件(问完就闭嘴动手)
| 定什么 | 两读并存时取窄 | 为什么 |
|---|---|---|
| **全译还是节译** | 取全译 | 「除了某几处」是删节的入口;一旦开了例外,例外会自己长大 |
| **诗词曲赋怎么办** | 保留原文+附白话 | 只译不留=毁书;只留不译=没解决读者的问题 |
| **加不加分析** | **不加,除非明说要** | 读者要的是「看得下去」,不是译者的读书笔记。曾有一次自作主张给每回加分析段,一次都没问,工时翻倍 |
第三条是硬闸。想加,**开工前问一句**,不是加完一百回再说。
## 二、底本纪律
**没有实体底本不许动笔。** 凭记忆译古书=编。
```
项目夹/
原文/001.txt … NNN.txt ← 从 epub/txt 机械提取,一回一件
译文/第001回.md … ← 一回一件,与原文一一对应
docs/提取.py ← 提取脚本,留着可复跑
```
- epub 提取:`unzip` → `OEBPS/Text/*.html` → 正则去标签。**保留 class 标记**(诗、词一类)转成 `[Shi]`/`[Ci]`,后面靠它认诗词。
- 提取完先数一遍回数和总字数,对不上先查提取脚本,别往下走。
### 回目单独抽,单独核
**数得对,不等于抽全了。** 这是本工序最贵的一课:
某次提取脚本的正则只吃 `h1` 和带 class 的 `p/div`,把回目所在的 `<div class="hdr">` **整块漏掉**——于是原文件里根本没有回目,一百条回目全是**凭记忆补的**。事后与底本逐条比对:**41 回不符**,绝大多数是把另一个版本(繁本/词话本)的回目安到了这个底本头上。
机制在这里:**缺口不会报错,它只是安静地把位置腾出来,让记忆去填。** 而记忆填进来的,往往是另一个版本。
→ 硬工序,三步都别省:
1. **单抽回目**:从各回自身的标题块抽(比 `toc.ncx` 权威),落 `docs/回目-底本.txt`。
2. **两处交叉**:正文标题块 vs `toc.ncx`,逐条比。全对=底本内部自洽,可信;有出入=先查是抽取错还是底本手民误。
3. **逐字核译文**:译文里每条回目与底本比对,**这一步必须机器跑,不许眼看**——那 41 处错当时全都「看着没问题」。
底本自身的手民误(人名错字一类)**照录不擅改,另行标注**——你译的是这个底本,不是你脑子里的通行本。
## 三、体例(一回一件,六段固定)
```markdown
# 第N回
## 上句 · 下句 ← 回目对句
开卷诗/词:
> 原文
*白话*
---
[正文全译。--- 分段,对话换行]
---
*底本:…。散文全译,诗词曲赋保留原文并附白话。全本不删节。*
```
- **诗词**:原文进 `>` 块,白话紧跟在下。判词、偈语、书信、公文、疏文同办。
- **对话换行**,别挤成一坨——这是「看得下去」的主要来源。
- **页脚那句是闸**,见下。
## 四、四条防漂移(本件的真正价值)
### 1.