Skip to content

v0.5.0 — 21 种界面语言

Choose a tag to compare

@KannaKuron KannaKuron released this 15 Sep 12:35
· 9 commits to main since this release

v0.5.0 — 2026-09-15

类型:feat

  • 界面支持 21 种语言(按 DSH 官方 ctx.locale 规范 + dsh-better-sidebar 的词典规范实现):简繁中文(含 zh-HK / zh-MO / zh-TW)、英语、日语、韩语、德语、法语、意大利语、葡萄牙语、俄语、荷兰语、波兰语、瑞典语、土耳其语、印尼语、越南语、泰语、印地语、阿拉伯语。
    • 语言跟随 ctx.locale 的 active(宿主侧偏好优先,浏览器语言兜底)并实时切换;解析顺序是「精确 tag → 主语言子标签 → 英文」,zh-Hant-* 归到港式繁体。
    • 词典同时注册进 DSH 的 locale 注册表(ctx.locale.register('dsh-ide-git', …)),宿主侧消费者读到的与面板完全一致。
    • 英文始终是键完整的那本:任何未覆盖的语言都回退英文,不会露出键名。
  • 结构:中文与英文是文件内的 ZH / EN,其余语言在 LOCALES 表里一门一条,每条前面有一行 /* locale: <tag> */ 标记;查找从「中文就 ZH、否则 EN」改成表驱动的 dictionaryFor()。加一门语言现在是追加一个条目,不改任何逻辑。
  • 新增守护测试:冒烟测试强制每本词典的键集与中文完全相等——缺键会静默回退英文,面板就成了半翻译状态,这正是它要挡住的(上游 dsh-better-sidebar 用同一条规则,tests/locales.spec.ts)。
  • 代价是客户端半从约 90 KB 涨到 316 KB(gzip 后 70 KB):DSH 的客户端半是无构建单文件,词典只能内嵌,不能像上游那样切懒加载 chunk。
  • 语言文案为机器辅助翻译,欢迎在 issue / PR 里修正——每门语言只改一处,互不影响。
  • 只改客户端半:硬刷新页面即可,不需要重启