没有不值得去解决的问题,也没有不值得去学习的技术!

分类: Go Tour

  • A Tour of Go 的社区翻译历史中,法语、德语、韩语等多个项目都曾长期维护、积累大量提交,却最终出现仓库归档、站点离线,甚至原仓库不可访问的情况。本文结合官方 tracking issue 与多语言仓库 Git 历史,分析社区翻译真正困难的并不是第一次上线,而是多年以后仍然能够持续同步上游、维护部署、掌握 production 权限,并承担服务器、带宽、CDN、域名、AI 工具和维护时间等长期成本。也正因为如此,我现在不仅重视统一流程、正式文档和自动化,也开始通过广告尝试让多语言项目逐渐具备一定的自我供血能力,降低长期完全依赖个人时间、热情和资金补贴的风险。

  • A Tour of Go 韩语翻译在 codex-ko-KR-004 中首次出现 13 个 TranslationUnit 里 3 个 validation failure。进一步排查发现,其中 concurrency/2 与 concurrency/6 并不是 Go identifier 真正丢失,而是韩语助词直接附着在 ASCII 标识符后,触发了 validator 的词法边界误判;concurrency/4 则属于真实的 present font span 结构错误。本文记录如何区分“应该改译文”与“应该改 validator”,并通过 ko-KR 窄规则、正反测试与 revalidate 流程,将结果从 10/13 提升到 12/13,最后再修正真实 candidate 问题达到 13/13。核心原则是:validator 的目标应保护技术身份,而不是强迫目标语言适应源语言的书写边界。

  • A Tour of Go 韩语版原本预计约 6 小时完成,但最终从初始化到 production 收尾跨越约 44 小时。根据 76 次 Git 提交按 30 分钟封顶方式估算,实际活跃投入约 15 小时 43 分,结合 ChatGPT、Codex、浏览器、服务器、Cloudflare 和 Naver 等未完整进入 Git 的操作,最终更适合记作约 16~18 小时。本文复盘韩语为什么明显慢于法语:包括多轮 Quality Check 与 revision、Final Review 后再次返工、韩语语法触发新的 validator 边界、5 小时模型额度影响生产节奏,以及 TranslationUnit 完成后仍持续出现的 preview、production、Cloudflare、课程目录和 Naver 上线问题。最终也重新认识到,成熟流程的价值并不是保证每门语言都越来越快,而是遇到真实问题时,能够正确地慢下来并留下可复用的改进。

  • A Tour of Go 法语版在约 9 小时内完成上线后,我没有立即开始下一门韩语,而是先继续完善新增 locale 的执行流程。这一轮优化不再重复讨论“如何建立一套标准流程”,而是进一步减少已经可以机械化的重复操作:新增 locale init 初始化能力、自动生成语言骨架与状态文件、完善首次 production 自动化与 production identity、精简命令执行成本,并建立 Deferred Issues 机制记录已经真实发现但暂缓处理的问题。目标不是减少 Quality Check、Final Review 或 production acceptance 等质量 gate,而是把人的时间更多留给真正需要判断的翻译质量和生产风险。

  • A Tour of Go 第三门社区语言 de-DE 已正式上线。从开始推进到完成 TranslationUnit 质量审核、Locale Surface Review、production 部署和最终验收,这一轮粗略投入约 16 小时。 但这 16 小时并不是从零开始完成一门语言的全部成本,而是建立在此前数百小时的项目开发、质量流程、服务器基础设施和第二门语言标准化工作之上的增量成本。de-DE 真正值得复盘的,是第三次完整执行以后又暴露出了哪些历史流程债、哪些人工操作已经可以交给工具,以及为什么下一门语言的目标可以进一步压缩到 8 小时以内。

  • 此前 A Tour of Go 课程页手动 AdSense 广告一直使用 Responsive,并曾通过 max-width: 620px 限制广告容器宽度。当时我在自己的 production 人工测试中,经常看到较小的正方形广告,点击“下一页”后也很容易继续出现广告,体感上的展示概率甚至超过 90%。后来为了充分利用桌面端剩余空间,并尝试获得更宽、可能价值更高的广告,我删除了 620px 最大宽度限制。结果却出现了一个很明显的变化:人工测试中实际看到广告的频率大幅下降,体感甚至不到 5%。由于这些只是发布者自己的有限测试,不能直接作为正式填充率结论,我最终没有简单恢复 620px,而是建立 A/B/C/D 四个独立 Responsive AdSense 广告单元,分别测试 336px、468px、728px 和不限制宽度四种方案,各分配 25% 自然流量,并在同一浏览器标签页中保持稳定分组。目前实验已经正式上线,接下来将停止主动测试,让真实自然流量回答不同广告位宽度究竟如何影响展示量和收益。

  • A Tour of Go 日语版 ja-JP 正式上线后,我没有立即开始第三门语言,而是先复盘第二门语言从开发、翻译、质量审核、projection、production 部署到公网验收的完整过程,并将此前依赖临时分析和上下文记忆的环节固化为正式规范。项目新增 NEW_LOCALE_RUNBOOK.md 和 LOCALE_SURFACE_REVIEW.md,明确新增 locale 的统一入口、TranslationUnit 之外的完整语言质量审核、Rendered Surface Acceptance、首次生产部署与日常维护部署边界,以及 glossary 作为全站术语权威来源的职责,为后续第三门及更多语言建立可重复执行的标准化扩展流程。

  • A Tour of Go 多语言翻译项目的第二门社区语言 ja-JP 于 2026 年 8 月 24 日正式完成生产上线。日语版覆盖 103 个课程 Page 和 19 个 eligible Example,共 122 个 TranslationUnit,全部经过 automatic validation、Quality Check、Final Review 与 promotion,并完成公共 UI、课程目录、独立生产部署、Cloudflare Free、共享静态资源、Playground、SEO 与真实浏览器验收。Google Search Console 已成功处理 ja-JP sitemap 并发现 105 个公开网页。这次上线也真正验证了项目从 zh-CN 扩展到第二门语言的完整多语言架构。

  • 本次重新评估 A Tour of Go 的 TranslationUnit 翻译方案,根本原因不是单纯比较模型能力,而是 ChatGPT 作为批量翻译引擎在实际工作中出现持续稳定性问题,即使从 ZIP 交付简化为 JSON,翻译任务仍可能卡住。实验使用 5 个正式 TranslationUnit、完整 zh-CN glossary、protected token、独立随机匿名和 Engineering Gate,对 ChatGPT GPT-5.6 High、Codex GPT-5.6 Sol High 与 Extra High 进行四模型匿名评审。结果显示,ChatGPT High 的外部评审平均分为 96.67,Codex High 为 95.73,Extra High 为 95.87,三者已进入相近的高质量梯队,而 Extra High 并未表现出稳定优势。综合翻译质量与本地批量执行能力,后续默认翻译引擎准备调整为 Codex GPT-5.6 Sol High,ChatGPT 则重点用于统一 Quality Check,并以所有 TranslationUnit 最终达到 A 作为质量验收目标。

  • A Tour of Go 多语言翻译项目完成简体中文版本后,开始进入第二语言扩展阶段。本文记录选择日语(ja-JP)作为第二语言的原因,以及首批日语翻译任务、batch 管理、raw response 和自动 validation 流程验证过程。

👨‍💻 个人品牌

王世强|技术实践者 · 独立博客作者

15+ 年 Web 与系统实践经验,持续关注网站基础设施、系统优化、AI 工具与自动化。

持续运营技术博客 10+ 年,累计发布 1000+ 篇原创技术文章。

长期建设个人项目,也欢迎合适的技术交流、咨询与合作。

👉 关于我

.env (14) 404 (14) add (16) AI 翻译 (36) Array (19) A Tour of Go (78) CentOS (23) ChatGPT (31) ChatGPT Plus (18) chrome (19) Cloudflare (40) Codex (28) composer (42) composer.json (22) composer update (14) console (16) Container (25) curl (16) delete (31) Docker (33) Dockerfile (15) EdgeOne (35) environment variable (19) error (24) file (15) filter (20) Git (28) GitHub (23) Gitlab (15) GLM-5.2 (27) Go (85) go-tour-i18n (16) Google AdSense (30) Go 文档 (18) Go 语言 (24) GraphQL (24) GraphQL API (14) Gutenberg (36) http (21) https (23) Interface (19) json (24) Laravel (37) Laravel 6 (55) Laravel 9 (25) Lighthouse (17) Lighthouse 5 (14) Linux (22) Module (17) MySQL (78) MySQL 5.7 (22) Nginx (63) normalize.css (28) OKX (15) OneinStack (23) PHP (68) php-fpm (21) php.ini (24) PHP 7.1.12 (22) PHP 7.4 (26) phpmyadmin (15) PhpStorm (24) Polylang (59) postman (18) Query (17) queue (16) Rancher (24) Redis (53) RESTful (27) RESTful API (23) SEO (14) Shopify (19) SlyTranslate (22) SQL (24) String (14) TortoiseGit (14) Twenty Twenty-Five (20) Ubuntu (43) update (20) VPN (17) W3 Total Cache (41) Windows 10 (46) WireGuard (29) WordPress (136) WPCode (23) Wstunnel (16) Yii (40) Yii 2 (70) Yii 2.0 (51) ZgoCloud (14) 国际化 (17) 多语言翻译 (51) 开源项目 (16) 技术博客 (15) 故障排查 (20) 数据库迁移 (16) 本地化 (22) 浏览器 (14) 阿里云 (20) 页面缓存 (14)

2026 年 10 月
一 二 三 四 五 六 日
 1234
567891011
12131415161718
19202122232425
262728293031