概览
dsh-client-locale
源码级技术说明locale 插件:LocaleRuntime——zh/en 偏好以 locale.preference 存储在 $DSH_HOME/settings.yaml 中;若没有显式 Host 值,全新浏览器会暂时使用 navigator 请求的语言(按主子标签匹配;若其请求的语言本应用都不提供,则使用 zh)。Host 读取在插件激活后执行,因此 settings 服务不可用不会阻塞页面;读取结果会实时替换浏览器暂定值。settings API 仅限回环请求,因此远程浏览器的选择仅保留在进程内。locale/change 仅在切换语言时触发。该服务还拥有 ns×locale 字典注册表(类型化 register(ns, {zh, en}) 按 LocaleNamespaceMap 校验,bind(ns)→TranslateNS<ns>;查找链 ns → common → zh → key),实现 slot 系统的 LocaleFace,并经 ctx.slots.installLocale 自行安装,支撑框架注入的 t 标准席位(Translate/TranslateNS 是 ui-slots 的类型;请从那里导入——本包的再导出仅为字典所有者提供便利)。该持久化边界由Host settings 支撑的偏好决策拥有。收起技术说明
zh/en 偏好以 locale.preference 存储在 $DSH_HOME/settings.yaml 中;若没有显式 Host 值,全新浏览器会暂时使用 navigator 请求的语言(按主子标签匹配;若其请求的语言本应用都不提供,则使用 zh)。Host 读取在插件激活后执行,因此 settings 服务不可用不会阻塞页面;读取结果会实时替换浏览器暂定值。settings API 仅限回环请求,因此远程浏览器的选择仅保留在进程内。locale/change 仅在切换语言时触发。该服务还拥有 ns×locale 字典注册表(类型化 register(ns, {zh, en}) 按 LocaleNamespaceMap 校验,bind(ns)→TranslateNS<ns>;查找链 ns → common → zh → key),实现 slot 系统的 LocaleFace,并经 ctx.slots.installLocale 自行安装,支撑框架注入的 t 标准席位(Translate/TranslateNS 是 ui-slots 的类型;请从那里导入——本包的再导出仅为字典所有者提供便利)。该持久化边界由Host settings 支撑的偏好决策拥有。这是 Harness 已内置的原子模块,不是可独立激活的 Profile 层。
能力
它贡献了什么
README / ZH
插件文档
@deepseek-ai/dsh-client-locale
English | 中文
locale 插件:LocaleRuntime——zh/en 偏好以 locale.preference 存储在 $DSH_HOME/settings.yaml 中;若没有显式 Host 值,全新浏览器会暂时使用 navigator 请求的语言(按主子标签匹配;若其请求的语言本应用都不提供,则使用 zh)。Host 读取在插件激活后执行,因此 settings 服务不可用不会阻塞页面;读取结果会实时替换浏览器暂定值。settings API 仅限回环请求,因此远程浏览器的选择仅保留在进程内。locale/change 仅在切换语言时触发。该服务还拥有 ns×locale 字典注册表(类型化 register(ns, {zh, en}) 按 LocaleNamespaceMap 校验,bind(ns)→TranslateNS<ns>;查找链 ns → common → zh → key),实现 slot 系统的 LocaleFace,并经 ctx.slots.installLocale 自行安装,支撑框架注入的 t 标准席位(Translate/TranslateNS 是 ui-slots 的类型;请从那里导入——本包的再导出仅为字典所有者提供便利)。该持久化边界由Host settings 支撑的偏好决策拥有。
模型体验
无。locale 注册表为浏览器 UI 文案提供服务;这里没有任何内容进入模型请求。
KV Cache 影响
无;该包既不组装也不发送提供方请求。
已知限制与暂缓事项
- 部分界面仍保留内联文案——设置行、侧边栏、问题作答器和模型选择使用 locale seat;其他包仍直接拥有静态文本。
- 注册表持有的文本只读取一次翻译——在 slot 渲染路径之外于注册时捕获的文案(例如 command 注册表中的
/model命令描述)在重新注册前保持注册时的语言;slot 渲染的文案随切换实时更新。
LIMITATIONS
已知限制
- **部分界面仍保留内联文案**——设置行、侧边栏、问题作答器和模型选择使用 locale seat;其他包仍直接拥有静态文本。 - **注册表持有的文本只读取一次翻译**——在 slot 渲染路径之外于注册时捕获的文案(例如 command 注册表中的 `/model` 命令描述)在重新注册前保持注册时的语言;slot 渲染的文案随切换实时更新。
