系列: A Tour of Go 多语言翻译项目
A Tour of Go 多语言翻译项目
本系列完整记录 A Tour of Go 多语言翻译项目从架构设计、整页翻译、结构保护、自动校验,到生产发布与后续维护的实际开发过程。
项目入口:
✅ 简体中文:A Tour of Go 简体中文版
✅ 日语:A Tour of Go 日语版
✅ 德语:A Tour of Go 德语版
✅ 法语:A Tour of Go 法语版
✅ 项目源码:GitHub:shuijingwan/go-tour-i18n
当前已上线简体中文、日语、德语和法语版本。项目属于非官方社区多语言翻译项目,与 Go 官方无隶属或授权关系。
-
在网站 Google 搜索自然查询中发现「A Tour of Go 中文版」产生真实点击后,我进一步确认 Go 官方目前仍保留简体中文入口,但过去对应的 tour.go-zh.org 已无法正常访问。基于这一内容缺口,我计划以当前官方 A Tour of Go 为上游,使用 Go 和 GLM-5.2 建立一个可持续同步、自动校验并经过人工审核的简体中文版本,暂定部署至 zh.go-tour.shuijingwanwq.com,中文站使用 EdgeOne。本篇记录项目产生的背景、技术选型、翻译原则、域名与部署架构,以及第一阶段 MVP 规划。
-
本文记录 A Tour of Go 中文版项目在正式开发前完成的设计收敛过程。通过分析官方源码,确认当前固定 upstream 基线中 raw article 与 standalone 模式均为 101 页,而 integrated production 实际为 103 页,因此最终将 production 页面确定为翻译、校验和状态管理的最小单元。项目同时冻结整页翻译、段落结构校验、Candidate 与 Published 独立管理、Upstream Lock、最小等价 Projector 等核心规则,并根据真实使用需求放弃 Gin 和 Web 管理界面,正式采用 Go、Cobra CLI、文件状态存储及官方 Tour 兼容运行方案。
-
本文记录 A Tour of Go 中文版项目进入代码实现后的阶段成果。通过调查六个现有翻译项目,项目最终没有复制整个 golang/website,而是从固定上游提交中提取可独立运行的 Tour 最小源码闭包,并建立文件级来源追踪。在完成英文基线、示例代码运行链路和 7 / 101 / 92 / 1 结构验证后,项目进一步为 101 个课程页面建立机器可读目录、页面级源哈希、持久 page_id、候选译文结构校验和上游变化预览机制。目前 101 个简体中文页面仍全部处于 pending,正式翻译尚未开始。
-
本文记录 go-tour-i18n 项目正式启动简体中文翻译后的首个完整实践:从 welcome/1 页面提取、GLM-5.2 整页翻译,到 standalone 条件内容修复、protected token、术语表、统一校验与开发模式调试,最终完成第一个 zh-CN 页面并进入 ready。文章同时总结了 ChatGPT、Codex 与人工监督之间的协作方式,以及后续评估 DeepSeek 新版本翻译质量和成本的计划。
-
本文记录 go-tour-i18n 项目进入正式翻译阶段后的最新进展:完成 Welcome 全章及 Basics 前 3 页,共有 8 个简体中文页面进入 ready;确认正式发布采用 103 页投影,并区分本地执行与远程 Playground 语义;发现并修复 legacy present 语法中带空格行内代码的 Protected Token 保护问题。文章还回顾了此前针对 WordPress 技术博客整篇翻译进行的 DeepSeek V4 Pro 与 GLM-5.2 对比,并说明由于本轮实际更新的是 V4 Flash、V4 Pro 尚未更新,暂时搁置新的模型对比。后续将先校准跨章节代表页面,再试跑 10 页,稳定后才进入剩余页面的批量自动翻译。
-
本文记录 go-tour-i18n 项目使用 GLM-5.2 翻译 A Tour of Go generics/1 页面时的完整校准过程。一个看似简单的泛型页面先后经历网络权限失败、保护 Token 重复、legacy present 行内代码边界合并、Token 顺序交换等问题,最终通过中文提示词统一、Token 类型元数据和确定性空格规范化,在第五次尝试中通过自动校验,并完成人工润色、术语沉淀和浏览器预览。文章同时说明,当前项目仍处于代表页面校准阶段,尚未进入批量翻译。
-
本文记录 go-tour-i18n 项目翻译 A Tour of Go methods/16 页面时,对左侧教学代码注释翻译策略的完整校准过程。第一次翻译因代码块注释被译成中文而触发现有结构校验失败,随后项目通过全量审计确定:右侧可运行示例继续保持官方原样,左侧教学代码中的自然语言注释则应在安全边界内翻译。为此,项目新增了预格式化 Go 代码扫描、非注释代码逐字保护、注释内 Go 标识符保护、人工 candidate 独立校验,以及斜体、粗体和行内代码结构检查。最终 methods/16 在第二次尝试中通过自动校验、人工润色和浏览器预览,并沉淀了一批 methods 与 interfaces 相关术语。
-
在 A Tour of Go 多语言翻译项目继续校准 methods/20 时,GLM-5.2 第一次翻译因多处 Protected Token 顺序变化被自动校验拒绝。进一步分析发现,16 个受保护标记全部完整保留,所谓“换序”实际上来自英语与中文正常的语序差异。本文记录如何重新划分结构校验与跨语言语义的职责,取消过严的全局 Token 顺序限制,加强 present、链接、代码块、directive 与 Section 结构校验,并使用同一份历史失败响应完成确定性回放,最终证明第一次翻译本身已经正确通过。
-
A Tour of Go 多语言翻译项目完成最后 3 个代表页 concurrency/7、concurrency/11 和 methods/24 的真实翻译与校准,总代表页达到 7 页。本轮继续发现并修复了非尾部指令位置校验、standalone 条件源码投影、Go 普通英语词义误保护、链接显示文本内行内代码保护,以及中文全角标点与 legacy present 行内代码边界等问题。多次失败还通过保存原始模型响应、本地回放和统一校验确认了真正根因。至此代表页校准阶段结束,下一步将进入 10 个普通 pending 页面自动试跑。
-
A Tour of Go 多语言翻译项目进入首批普通页面试跑阶段。basics/4~basics/13 最初有 8 页进入 ready、2 页进入 blocked,随后通过完善网络故障恢复、重试窗口、强调结构保护、行内代码成对保护和重试反馈机制,最终 10 页全部进入 ready。其中 basics/6 暴露出 GLM-5.2 即使看不到 swap 原文,也会根据上下文主动补全内容的问题,由此进一步形成“尽量保留语义上下文,只保护真正危险的结构边界”的翻译保护思路。
