# 2026-10-15 ## LimboAI 文档汉化(index.html → index.zh.html) - 目标:把 readthedocs 离线包(单页 Sphinx 文档,`index.html`,588KB,2190 个可翻译块)汉化为中文。 - 方案:块级抽取 + 占位符标记 + 批量人工翻译 + 回填重建。 - `_i18n/serialize.py`:把每个块(p/h1-h6/td/th/dt/dd/li)序列化为紧凑模板: ``=不译的内联元素(code/img/abbr 等原样保留),`...`=链接,``/``=加粗/斜体,其余内联标签透明化。 - `_i18n/make_batches.py`:按首次出现顺序去重并分配稳定 uid,切成 `batches/batchNN.txt`(11 批,1451 条唯一模板)。 - `_i18n/trans/batchNN.json`:uid → 中文模板(全部 11 批已完成)。 - `_i18n/build.py`:回填重建 + 校验(标记一致性、结构对比)、页脚/面包屑/abbr title/代码注释润色、侧栏汉化徽标。 - 关键实现坑(后续复用注意): 1. 片段回填必须用 `html.parser`,`lxml` 会把裸文本包成 `

` 破坏结构。 2. `` 内含 `

` 的“容器块”要跳过重建,否则会拍平丢失内层 `

`(280 个,已用容器检测处理)。 3. 标题里的 `a.headerlink` 需在 clear() 前取出再回填,否则丢失 303 个标题锚点。 4. 校验只强制 ``、``、`` 必须一致,`/` 允许额外配对。 - 结果:`index.zh.html`(580KB),结构计数与原文件一致(section/p/li/a/code/pre/table/td 全部对齐),无英文残留(仅类名/方法名等标识符保留英文),45 处代码注释已译。 - 术语约定:Behavior Tree→行为树、State Machine→状态机、Blackboard→黑板(类名保留)、Inherits:→继承:、Inherited By:→被继承:、Properties→属性、Method Descriptions→方法说明;所有 API/类名/节点名/文件名保留英文。