Skip to content

v0.15.0 — 21 种界面语言

Choose a tag to compare

@KannaKuron KannaKuron released this 15 Sep 13:05
· 21 commits to main since this release

v0.15.0 — 2026-09-15

类型:feat

  • 界面支持 21 种语言。卡片文案从「zh/en 两本内联词典」扩成三层:zh/en 仍内联,19 门第三语言各占 LOCALES 表里的一条,每条前带 /* locale: <tag> */ 标记(冒烟测试按该标记切块)。语言集合:zh、en + ar、de、fr、hi、id、it、ja、ko、nl、pl、pt、ru、sv、th、tr、vi、zh-HK、zh-MO、zh-TW。
  • 词典经 ctx.locale.register 交给 DSH 的 locale 服务:ctx.locale.register(NS, Object.assign({ zh: zh, en: en }, LOCALES)),21 个 tag 全部注册,宿主侧消费者读到与卡片相同的文案;插件自己的查找(dictionaryFor:精确 tag → 主语言子标签 → 英文)覆盖 DSH 语言目录里没有的第三语言,繁体 tag(zh-HK / zh-MO / zh-TW 与 Hant)归到 zh-hk 词典,pt-BR 这类区域 tag 落到主语言。
  • 语言跟随 DSH 的 ctx.locale,切换即时生效。字典不在激活期被捕获:每次查表按当时的 active tag 取、按 tag 缓存;卡片外面包一层 LocaleLive,订阅 locale.subscribe 在语言切换时重绘,不需要刷新页面。
  • 新增守护测试「每本词典的键集与中文完全相等」(替代原先只比 zh/en 的断言):缺键在查表时只会静默回退英文,面板会呈现半翻译状态,所以 19 本词典逐本与 zh 的键集做全等断言;另加「查找必须是活的、不得在激活期捕获」断言,含 mock locale 服务下的真实渲染(切到 ja / de / zh-Hant-TW / pt-BR 各自出词,空 tag 回退英文)。
  • 译文为机器辅助翻译,欢迎在 issue / PR 里修正。每门语言只占 LOCALES 表里的一处,互不影响——改一门不碰其他门,也不碰 zh/en 内联词典;键集断言会在改动后立刻校验。
  • 顺带修掉两处过时文案/文档:卡片描述与 host 侧注释仍写着「默认关闭 / default OFF」,而 v0.10.0 起 posixPaths 已是默认开启(文案改为「默认开启 / on by default」,注释标注 v0.10.0);README 与 README_EN 的「POSIX 路径指示(v0.7.0)」一节停留在 v0.7.0 的旧行为(只讲 systemPrompt.context 一条指示),已重写为「POSIX 路径方言」——门控开关、源头替换、参数翻译、结果回流、DSH_PATH_DIALECT 运行时事实逐条写明。另补上 README / README_EN / AGENTS.md 文件末尾缺失的换行。
  • 冒烟测试 34 → 35 项,npm test 全绿。
  • 相关:Release v0.15.0

安装 / 升级:dsh plugin --profile <name> add dsh-gitbash-shell(npm 包名);host 半变更需重启 DSH。

Full changelog: v0.14.0...v0.15.0