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

标签: go-tour-i18n

  • 在为 A Tour of Go 多语言项目新增阿拉伯语版本时,我第一次真正处理 RTL(从右到左)语言。翻译本身仍沿用既有 TranslationUnit、Quality Check、Course SEO 和 Locale Surface Review 流程,但 RTL 很快暴露了桌面双栏重叠、移动端编辑器被压窄、课程导航方向语义变化、代码区必须保持 LTR 等问题。最终通过调整共享布局、响应式规则和浏览器回归测试完成阿拉伯语正式上线,并在排查 PageUp/PageDown 快捷键时进一步确认了一个可在官方 go.dev/tour 复现的上游焦点问题。整门阿拉伯语实际投入约 7 小时,相比普通 LTR 语言多出的时间,主要来自首个 RTL locale 的一次性基础设施建设。

  • 本文记录我使用 Desktop Commander Remote MCP 将 ChatGPT 接入 Ubuntu 本地开发环境的实际过程,包括设备连接与验证、ChatGPT 插件安装、本地文件系统与终端访问,以及在 go-tour-i18n 项目中的真实开发体验。相比过去频繁在 ChatGPT 与终端之间复制命令和执行结果,Remote MCP 能明显减少人工中转,让 ChatGPT 直接读取仓库、检查 Git 状态并执行部分开发任务。同时也记录 Desktop Commander Tool calls 限额,以及 ChatGPT 在处理开发任务时可能自动调用 Codex、因此 Codex 额度并不只由手动使用产生这一实际情况。

  • 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 作为质量验收目标。

  • 在 go-tour-i18n 多语言翻译项目推进过程中,我曾经通过 ChatGPT + GitHub batch 完成 A Tour of Go 简体中文 103 页全量重译验证。后续扩展 ja-JP 翻译时,继续沿用了基于 TranslationUnit 的翻译流程,并尝试从 GitHub 写入调整为 raw-responses artifact 导入模式。实际测试发现,ChatGPT 能够理解项目流程、读取 batch 和 manifest,但在新任务中无法稳定完成从 TranslationUnit 翻译结果到 raw-responses 文件和 artifact 交付的完整闭环。本文记录这次 AI 辅助翻译流程稳定性验证过程,并分析翻译能力与工程执行能力之间的差异。

  • A Tour of Go 简体中文第一阶段 103 个课程页面已经全部进入 ready 状态。在现有版本已经具备较高翻译质量和完整发布能力后,我重新评估此前暂时搁置的 minimal-protect 翻译模式。当前 zh-CN 译文工程性估计约为 94 分,而成熟的 minimal-protect 目标希望达到 96~97 分。通过 methods/24 的真实实验可以看到,raw-input 会错误修改 .play 指令,而 minimal-protect 只保护完整 .play 后成功消除了这一问题,同时让 validator 继续发现 link inline-code 和 font span 等下一层结构差异。同页对比中,默认 protected-token 使用 15 个保护 token,而 minimal-protect 仅使用 1 个,更多原始上下文可以直接交给 GLM-5.2。后续将继续使用原有 7 个代表页验证翻译质量、结构稳定性、重试成本和跨语言保护规则的复用程度,再决定是否正式切换默认模式。

  • 在 A Tour of Go 多语言项目的 Playground 浏览器直连代理稳定运行后,继续补齐第三方调用身份识别。根据 Go Playground 官方对第三方服务的使用说明,在 ZgoCloud Nginx 的 /compile 与 /fmt 转发请求中统一增加项目级唯一 User-Agent go-tour-i18n/1.0 (+https://github.com/shuijingwan/go-tour-i18n),避免绑定具体语言或服务器。完成 Nginx 配置检查及 Compile、Format、CORS、方法限制等生产回归后,又向 golang-dev 公开邮件列表发送使用告知,使当前 Playground 调用链在保持正常运行的同时具备稳定、可识别且适合未来多语言扩展的项目身份。

  • 记录 A Tour of Go 中文版在手机端出现“运行”和“格式化”偶发失败后的排查过程。通过微信、自带浏览器、QQ 浏览器、百度 APP,以及 Wi-Fi、5G 等不同环境反复测试,确认问题无法稳定复现;进一步分析 ZgoCloud Nginx 日志后发现,当天所有正常进入服务器的 /compile、/fmt 请求均返回 200/204,但部分前端失败无法与现有日志完整对应。为避免在根因不明确时贸然修改生产架构,最终为 Playground 增加独立 JSON 访问日志和专用错误日志,补充请求耗时、上游状态和上游响应时间等观测信息,为下一次真实故障留下更完整的排查证据。

  • A Tour of Go 新的 ZgoCloud Playground 执行节点搭建完成后,本文继续记录生产端 Run / Format 的实际切换过程:从代码审计、统一 Playground 基础地址、生产与本地运行模式隔离,到 release manifest、自动部署脚本和生产发布同步更新。上线后还遇到了 EdgeOne 缓存旧 /tour/script.js,导致浏览器继续请求旧 /_/compile 的问题;定向清除缓存后,Run 与 Format 最终成功切换到 ZgoCloud,并通过桌面浏览器和手机真实网络环境验收。

👨‍💻 个人品牌

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

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

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

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

👉 关于我

.env (14) 404 (14) add (16) AI 翻译 (36) Array (19) A Tour of Go (79) CentOS (23) ChatGPT (32) ChatGPT Plus (19) chrome (19) Cloudflare (40) Codex (29) 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 (87) go-tour-i18n (16) Google AdSense (30) Go 文档 (20) 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) Shell (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) 国际化 (17) 多语言翻译 (51) 开源项目 (16) 技术博客 (15) 故障排查 (21) 数据库迁移 (16) 本地化 (22) 浏览器 (14) 阿里云 (20) 页面缓存 (14)

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