Skip to content

feat(site): 多语言架构 + 繁体(zh-Hant)站点#100

Merged
jnMetaCode merged 1 commit into
mainfrom
feat/site-zh-hant
Jul 13, 2026
Merged

feat(site): 多语言架构 + 繁体(zh-Hant)站点#100
jnMetaCode merged 1 commit into
mainfrom
feat/site-zh-hant

Conversation

@jnMetaCode

Copy link
Copy Markdown
Owner

你要解决什么问题?

站点此前只有中/英双语,写死在 build.mjs 里。要「让更多人用」需要支持更多语言,但当前架构每加一种语言都要复制粘贴一大段生成逻辑。

这个 PR 做了什么改变?

  1. 把站点 i18n 重构为语言列表 LANGS 驱动——首页生成、skill 详情页、语言切换器、hreflang、sitemap 全部按 LANGS 循环。以后新增语言只需往 LANGS 加一项 + 写一个 T.<code> 翻译对象,drop-in。
  2. 新增繁体中文(zh-Hant) 作为第一个新语言,验证多语言架构。

这个改变适合放在核心库中吗?

适合本 fork(站点是 fork 独有资产,多语言扩大触达)。纯 site/build.mjs 改动,不碰上游任何文件、不碰 skills、零上游同步负担

你考虑了哪些替代方案?

  • 繁体用 OpenCC 自动转换 vs 手写:项目零依赖,且 OpenCC 简→繁有一简对多繁的上下文歧义(發/髮、後/后、裡/里、雲/云、麵/面)。选择手写 T.zht,用台港自然术语(軟體/程式碼/專案/預設/除錯/計畫/全域/使用者/檔案),准确且零依赖。
  • 日文一起上 vs 暂缓:日文需真人翻译,公开营销文案无母语审校=品牌风险。本 PR 暂不含日文;架构已就绪,日后加 T.ja 即可(建议配母语审校或标注 beta)。
  • skill 正文也翻译 vs 只翻外壳:skill 正文来自 SKILL.md(中文),繁体站沿用 en 站策略——外壳翻译、正文用中文(繁体读者读中文无碍)。

这个 PR 是否包含多个不相关的改变?

否,单一主题:站点多语言化 + 繁体。

已有的 PR

  • 已查所有 open/closed PR,无重复
  • 相关:无

测试环境

工具 版本 模型
站点构建(node build.mjs) Node ≥20 / macOS 14 Opus 4.8 (claude-opus-4-8)

评估

站点是静态生成,构建即验证:

  • 构建成功:63 页(3 语言 × (首页 + 20 skill 详情))
  • en / zh 站零回归:英文 skill 卡片仍英文标题、中文站仍简体
  • 繁体站:html lang="zh-Hant"、skill 卡片用中文标题(render 分支修复后非英文语言默认走中文内容)、繁体术语正确
  • 语言切换器:每页显示其余语言链接(zh 页→EN/繁體;繁体页→中文/EN)
  • hreflang:每页含 zh-CN / en / zh-Hant / x-default 四条
  • sitemap:三语言各 21 条 URL

建议 review 时目视一下语言切换器(现在是 2 个链接而非 1 个)在窄屏的排版;功能已验证,若视觉需微调我再补 CSS。

严格性

  • 非 skills 行为塑造内容改动(只动 site/build.mjs
  • 经回归验证(en/zh 站未受影响)
  • 未改精心调优的行为塑造内容

人工审核

  • 提交前已由人类搭档 review 完整 diff

把站点从写死 zh/en 重构为语言列表 LANGS 驱动,新增语言只需加一项
+ 写一个 T.<code> 对象即可 drop-in。首个新增语言:繁体中文。

- LANGS 配置化:首页生成、skill 详情页、语言切换器、hreflang、
  sitemap 全部按 LANGS 循环
- 语言切换器从二选一(中文↔EN)改为多语言链接
- render 分支由 `=== 'zh'` 改为 `=== 'en'`,非英文语言默认走中文内容
  (繁体 skill 卡片/正文用中文,仅外壳翻译,与 en 站策略一致)
- T.zht:手写繁体(台港自然用词:軟體/程式碼/專案/預設/除錯/計畫/
  全域/使用者/檔案 等;处理 發/後/裡/雲/麵 等一简对多繁),不引入
  OpenCC 依赖
- 收尾日志按语言数动态输出

日文暂缓:公开营销文案需母语审校,避免机翻上线砸品牌。

测试:构建 63 页(3 语言 × (首页+20 skill));en/zh 站零回归;
繁体 htmlLang=zh-Hant、skill 卡片用中文标题、语言切换/hreflang/
sitemap 三语言齐全。
@jnMetaCode jnMetaCode merged commit 6ba77fa into main Jul 13, 2026
2 checks passed
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