Skip to content

i18n(figures): 交互图表 UI 文案中文化覆盖层#27

Merged
fancyboi999 merged 3 commits into
mainfrom
feat/figures-i18n-zh
Jun 12, 2026
Merged

i18n(figures): 交互图表 UI 文案中文化覆盖层#27
fancyboi999 merged 3 commits into
mainfrom
feat/figures-i18n-zh

Conversation

@fancyboi999

Copy link
Copy Markdown
Owner

概要

134 个 LF 交互 widget 的静态 UI 文案全量中文化。核心架构决策:覆盖层而非改源——上游 figures*.js 保持 byte 级一致,每日同步照旧一把梭。

实现

  • 新增 site/figures-i18n-zh.js(687+ 行,zh 特化 C 类保护):包装 mountLessonFigures,widget 挂载后查表替换四类静态文案(标题/操作提示/控件 label/caption)
  • fail-safe:查表未命中保持英文;覆盖层异常被 try/catch 吞掉不影响 widget 本体;上游新增 widget 自动降级为英文
  • lesson.html 仅加 1 个 script 标签

翻译范围

类别 数量 状态
widget 标题 134 全译(5 个译法即英文术语:Pass@K 等)
操作提示 123 全译
控件 label ~290 全译(变量名/公式/演示词样本刻意保留)
caption 教学散文 134 段约 4900 词 全译

刻意不翻:词向量/n-gram widget 的英文词样本(cat/the/king——翻了会破坏英文词向量演示语义)、变量名(w1、β、d_model)、公式、doc1 tf=4 等演示数据。

不在本期范围(fail-loud)

  • 325 处动态拼接文案(lf-meta/lf-num/lf-formula,拖动实时重写)保持英文——覆盖层接不住,需 hook 每个渲染函数,复杂度/收益比差
  • figures.js 旧大动画 10 个(tokenizer-bpe、attention-matrix 等,非 LF 结构)
  • 翻译为本 agent 人工完成,未用外部 LLM API(automation 红线)

验证

  • 覆盖率页(全部 134 widget 渲染 + i18n 应用):caption 134/134 中文,标题/提示/控件全数处理,残留英文逐一核对均为刻意保留
  • 真实课页实测:policy-gradient widget 标题/提示/滑杆/caption 中文渲染,拖动滑杆后动态更新不受影响,零 console 错误
  • node site/build.js --check 通过(503 课)

134 个 LF 交互 widget 的静态文案全量中文化,采用覆盖层架构而非改源:

- 新增 site/figures-i18n-zh.js(zh 特化,C 类保护):包装
  mountLessonFigures,挂载后查表替换标题(lf-label)、操作提示、
  控件 label、说明散文(lf-cap)。未命中保持英文——上游新增 widget
  自动安全降级,翻译表事后补
- 上游 figures*.js / lesson-figures.js 保持 byte 级一致,每日同步
  照旧一把梭,不背手工合并债
- 翻译范围:134 标题 + 123 操作提示 + ~290 控件 label + 134 段
  caption(约 4900 词教学散文)。词向量/n-gram 的英文词样本、
  变量名、公式、演示数据刻意不翻
- 不翻动态拼接文案(lf-meta/lf-num/lf-formula,拖动实时重写,
  需 hook 渲染函数,第一期不碰)与 figures.js 旧大动画 10 个

验证:覆盖率页 134/134 caption 中文、129 标题中文(5 个译法即
英文术语形态);真实课页 policy-gradient widget 中文渲染 + 拖动
滑杆动态更新不受影响 + 零 console 错误;build --check 通过。
@vercel

vercel Bot commented Jun 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ai-engineering-from-scratch-zh Ready Ready Preview, Comment Jun 12, 2026 4:09am

运行时实验发现 9 个 widget(gpu-memory-breakdown、zero-sharding、
speculative-decoding、tool-routing、autonomy-oversight、bayes-update、
entropy-kl 等)在 _render() 里重建 ctrl 行,mount 时的替换被拖动冲掉,
出现「中文→英文」跳变。

修复:host 上挂 input/change 委托监听(冒泡晚于 widget 渲染),交互后
重跑该 host 的 ctrl 替换;label 含可变数字的条目(activations (batch N)、
÷ N、draft N、docN tf=M)新增 6 条模式匹配兜底。

验证:回退实验 9 个 widget 全部清零(唯一剩余为 sampling-decoder
候选词演示数据的误报,刻意不翻范围)。
审查(134 段 CAP 全量对照 + 术语 grep docs 验证)发现:
- CONDITIONING(linear-system-conditioning widget)条件控制→条件数:
  该 widget 讲线性方程组条件数/病态性,非生成模型条件控制(真错译)
- 投机解码→推测解码:宿主课 25-speculative-decoding 正文通篇用
  「推测解码」,全站 72 vs 22
- 权重绑定→权重共享:docs 已显式定名(pre-training-mini-gpt)
- 残差「点到直线的距离」→「竖直方向上的差距」(垂直距离歧义)
- differential-attention「注意力质量」→「注意力权重」(mass 歧义)
- 「百里挑一的疾病」→「患病率约 1/100」(成语褒义错配 + 保留字面率)
- 「天真的大权重」→「朴素地取大初始权重」(翻译腔)
@fancyboi999 fancyboi999 merged commit 2dffdff into main Jun 12, 2026
3 checks passed
@fancyboi999 fancyboi999 deleted the feat/figures-i18n-zh branch June 12, 2026 04:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant