dsh-locale-multilingual:为 DSH 补齐四种离线界面语言

前言

DeepSeek Harness(DSH)桌面端的界面文案默认只有简体中文(zh)和英文(en)。locale 服务虽然支持注册额外语言包,官方并未附带其它语言的词典。若你需要繁体中文(台湾)、日语、韩语或法语界面,只能依赖社区语言包。下面介绍维护者 clarag0d 发布的 dsh-locale-multilingual:四种语言均在本地完成,不调用模型 API,也不消耗额度。

这是什么

dsh-locale-multilingual 是 DSH 插件,在 设置 → 一般 → 语言 中增加 繁體中文(台灣)、日本語、한국어、Français 四个选项。插件以 npm 包名 dsh-locale-multilingual 发布,当前版本 0.6.3,许可证 MIT。仓库:clarag0d/dsh-locale-multilingual。

顺带区分:DSH Desktop/locales/zh-TW.pak 属于 Electron/Chromium 原生 locale,管的是系统菜单与文件对话框,与 DSH 业务界面无关,不能替代本插件。

语料从哪来

语言 来源 说明
繁體中文(zh-TW) 运行时 OpenCC(cn → twp) 离线字形与台湾用词转换,不落盘静态词典
日本語(ja) lang/ja.json 随插件打包
한국어(ko) lang/ko.json 随插件打包
Français(fr) lang/fr.json 随插件打包

ja / ko / fr 的 JSON 含 dicts(61 个 namespace、3415 条词条)与 texts(147 条不走词典的白名单 UI 文案)。三种文件与 zh-TW 覆盖范围一致,靠 key 集合对齐保证 parity。

核心机制(三条通道)

DSH 界面字符串来自三类路径,插件分别处理:

  1. Locale 词典:浏览器端注册四种 locale(zh-TW 回退 zh,其余回退 en),收集各包注册的简中词条并向 Host 取译文;Host 对繁中用 OpenCC 即时转换,对其余语言读 lang/<locale>.json(按 mtime 缓存,改文件后重启进程即可生效)。
  2. 标题栏菜单(如「应用」「编辑」):不经 locale 服务,在 preload 的 shadow DOM 内通过 [data-dsh-windows-menu] 直接改写标签。
  3. 白名单 UI 文案:部分插件硬编码文案(如工作台市场页)仅对 ui-strings.json 中列出的原字符串做精确匹配替换;会话标题、消息正文不会被改。

后两条通道会穿透 shadow DOM,并约每 1.5 秒重扫一次,以应对晚挂载的菜单与 shadow 内变更无法被挂在 document.body 上的 MutationObserver 捕获的情况。

安装与启用

推荐从 npm 安装:

dsh plugin add dsh-locale-multilingual

安装后重启 DSH,在 设置 → 一般 → 语言 中选择目标语言。

从 GitHub 安装(需本机有 git,且 pnpm 会解析为 SSH 地址,需 GitHub SSH 密钥):

dsh plugin add clarag0d/dsh-locale-multilingual

若缺少上述条件,请改用 npm 方式。

本地目录开发可在配置中声明 file: 依赖并将 bundle 写入 dsh.profile.bundles,具体字段见仓库 README;改完后同样重启 DSH。

卸载:从 dsh.profile.bundles 与 dependencies 中移除 dsh-locale-multilingual,再重启。

典型用法

除切换语言外,维护者若 fork 或改译名,可编辑 lang/ja.json 等文件;Host 按文件修改时间加载。仓库提供自检:

npm run verify

等价于 node scripts/verify.mjs,校验 JSON 结构、各语言 key 与白名单集合一致,以及 client.js 的 load({ id })、cordis.patch.yml 的 id 与 package.json 的 name 一致(不一致会导致插件加载但不注册,且无报错)。CI 在 push 与 PR 时也会跑该脚本。

适用场景与注意

适合:需要在 DSH 内使用繁体(台湾)、日、韩、法界面、且希望完全离线的用户与团队。

局限(README 明确说明):

  • 对话内容、会话标题、卡片正文不会被翻译;白名单只匹配固定 UI 字符串。
  • Electron 原生菜单与文件对话框不在插件范围内。
  • zh-TW 无磁盘上的 lang/zh-TW.json,仅运行时 OpenCC。
  • ja / ko / fr 为人工维护,术语尽量贴合现有 UI,纠错可通过 GitHub Issues 提交。

安全:与其它 DSH 插件一样,代码在 当前 DSH 进程权限 下运行。安装前建议浏览 GitHub 仓库 源码与 MIT 许可证,确认符合你的环境策略。DSH 社区插件目录(如 SkillHub 条目)为独立生态站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-locale-multilingual 用 OpenCC 与本地 JSON 补全 DSH 缺失的四种 UI 语言,安装命令简单、启用路径固定在通用设置里。若你正维护多语言团队或习惯繁体/日/韩/法界面,可先 npm 安装、重启后在语言菜单中切换验证。

  • 目录页:https://www.skillhub.cn/plugins/clarag0d/dsh-locale-multilingual
  • GitHub:https://github.com/clarag0d/dsh-locale-multilingual
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜