Files
blog/.spec/specs/archive/2026-10-25_add-blog-i18n/completion-summary.md
wait4xandGLM-5.3 e185a292c8 feat(i18n): T6 真实翻译入仓与 Phase 3 收敛归档
- op-artalk 车道:6/6 篇 TMT 翻译入 posts-en(frontmatter 字节级透传),
  幂等复跑 0 API;修复 TMT 1800+ 字符包静默截断(limit 1600 + ratio
  检测 + 二分降级,mock 三场景)
- 标题首字母抛光;T8 staging 21 页 + rollback 绿 + halo 无恙
- spec_verify --all 八项同指纹 exit=0;check 一次收敛;归档

验证: 21 页 build exit 0;/en/ 文章页真实英文内容渲染
      (Under the Veil… 抽检);幂等 dry-run 6 skip 0 API

Spec: 2026-10-25_add-blog-i18n
Co-authored-by: GLM-5.3
2026-10-25 09:40:59 +08:00

3.2 KiB
Raw Permalink Blame History

Phase 3:双语骨架 + 腾讯 TMT 翻译管线 - 完成总结

交付结论

  • 结果:完成
  • 完成时间:2026-10-25 09:40

假设回顾

已验证假设

  • TMT TextTranslate 单请求上限 2000 字符,长文需分块(按段落聚合)
  • TMT 译文对文学内容质量有限,AI 标注 + 可人工润色锁定是补偿机制

仍未完全验证的假设

  • 无

交付范围

已交付

  • T1 astro i18n 配置 + locale 管道
  • T2 UI 字典 + 组件串接
  • T3 语言切换组件(Header 中英互跳)
  • T4 /en/ 页面骨架 + AI 译文标注组件
  • T5 TMT 翻译管线
  • T6 存量翻译执行 + 标注落页
  • T7 hreflang + 双语 RSS + sitemap locale
  • T8 构建验收 + staging

未交付

  • 无

偏差说明

  • 无

简化决策

保持简单的关键选择

  • 最简单可行方案:posts-en 独立集合 + TMT 管线脚本(幂等增量:未变文章不重译)+ /en/ 薄页面复用现有组件
  • 暂不引入:runtime i18n 框架、cookie 语言记忆(切换即跳转,浏览器语言检测二期)
  • 不做的抽象/配置化:不多语言框架化(zh/en 硬两语)

本轮明确不做的内容

  • 上线切换(Phase 4)、Halo 退役(Phase 5)

变更边界

本轮主要改动模块

  • 见 tasks.md 的 boundary 记录

明确未触碰的区域

  • 上线切换(Phase 4)、Halo 退役(Phase 5)

验证证据

备注

  • 机器证据:runs.jsonl(见验证范围的机器验证率)

验证范围

  • 级别:package
  • 机器验证率:8/8
  • 规则:check 与 done 复用该范围;只有记录升级触发时才执行全项目检查

哲学生效证据

行为成效回填

  • Development Record 行为门禁通过

一致性门禁回顾

  • 验收面(checklist 或成功标准)已通过

Git 记录

  • 日期时间:2026-10-25 09:40
  • 范围:Phase 3:双语骨架 + 腾讯 TMT 翻译管线
  • 功能:T1 astro i18n 配置 + locale 管道;T2 UI 字典 + 组件串接;T3 语言切换组件(Header 中英互跳);T4 /en/ 页面骨架 + AI 译文标注组件;T5 TMT 翻译管线;T6 存量翻译执行 + 标注落页;T7 hreflang + 双语 RSS + sitemap locale;T8 构建验收 + staging
  • 操作:提交 / 推送
  • 成效:Development Record 行为门禁通过
  • 提交:pending local commit
  • 提交区间:44bfb23efbd0bea97ae058c06c54b08d38ad73df..4aa79fca065c6aa70fa8a8ce1bf62b2b383f661e
  • 推送:not-run (push stage follows commit)

AGENTS.md 增量提议

i18n 纪律:页面间不能传 props,双语页必须 body 提取为 components/pages/*Page 薄化(zh/en 各一层皮);页面搬目录后 import 相对深度全线要审;HTML 注释不可进 frontmatter 模块区;ts 端点首行误带 --- 会报 undefined:2:7。TMT 管线:1800+ 字符包服务端静默截断(CHUNK_LIMIT=1600 + ratio<0.3 检测 + 段边界二分);幂等 state 落 content/posts-en/.translation-state.json;locked:true 人工润色锁。翻译脚本幂等可重跑,新文章 push 后手动跑一次即可。

被拒绝的扩展提议

  • 无

门禁证据

  • check_spec_package.py exit 0

遗留事项

  • 无;问题处置见下方结构化区块

问题处置

{
  "issues": [],
  "version": 1
}