v0.15.0 — 21 种界面语言
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