dsh_locale_ru: Register Russian Interface for DeepSeek Harness

前言

DeepSeek Harness(DSH)默认只内置英语和中文(zh)两套界面文案。若你在俄语环境下使用 Desktop 或 Web 客户端,或需要向俄语用户演示同一套 Harness,只能依赖浏览器翻译或忍受大量英文残留,既不稳定,也难以保证术语一致。

dsh_locale_ru 是社区维护的客户端语言包:以外部 bundle 形式向 DSH 注册第三种语言 ru(«Русский»),并为当前构建中所有暴露本地化字符串的 namespace 提供词典。它不修改应用本体;卸载后行为恢复为安装前。下面介绍其定位、安装步骤与使用时的边界。

这是什么

  • 仓库: tenkrol/dsh_locale_ru
  • 维护者:tenkrol
  • 分类:客户端插件(client plugin,非应用内设置项)
  • 许可证:MIT
  • 包版本(package.json):0.2.0
  • 适配:DeepSeek Harness 0.2.x;README 标明在 0.2.1-rc.5 构建上通过 tools/check.mjs --reference 校验

一句话:在 Harness 的 locale 体系里挂载 ru,覆盖 65/65 namespace、共 2,914 条字符串(相对英文源键与 {placeholder} 做对照校验)。未来构建若新增未译键,会回退到英文,避免界面缺字。

核心功能

语言注册与覆盖范围

语言包通过 bundle patch 插入一行 locale-ru,客户端半部在运行时调用 locale 服务 addLanguage({ id: 'ru', … }),并按 namespace 注册与官方 locale.register(ns, {zh, en}) 同结构的词典文件。每个 dictionaries/<namespace>.json 的文件名必须与 namespace 完全一致,否则该 namespace 仍显示英文。

校验与构建工具链

维护者在不启动应用的情况下可运行:

node tools/build-client.mjs                    # dictionaries/*.json -> lib/client.js
node tools/check.mjs                           # 结构、bundle 加载、apply()
node tools/check.mjs --reference ./reference   # 键集合与占位符与英文源一致

lib/client.js 为生成物;改译请编辑 dictionaries/*.json 并参阅 GLOSSARY.md 中的术语与占位符规则。

与官方内置语言的关系

DSH 发行版本身不包含 ru;只有安装本包后设置里才会出现 «Русский»。移除包后,若 profile 里仍保存过 ru,会按 README 说明回退到浏览器语言。

安装与启用

语言包以 bundle 挂载:profile 的 dsh.profile.bundles 需列出该包,且包需能从 profile 对应目录的 node_modules 解析。仓库提供的安装脚本会完成写入与 symlink(等价于包管理器所做的挂载):

node tools/install.mjs --profile desktop

常用参数:

  • --home:覆盖 $DSH_HOME,默认 ~/.dsh
  • --profile:选择 DSH profile 名称(示例为 desktop)

卸载:

node tools/install.mjs --profile desktop --uninstall

安装完成后按 README 顺序操作:

  1. 若 Desktop profile 启用了 HMR,composition 会热重建;
  2. 重新加载页面,让浏览器拿到包含语言 bundle 的新 window.__DSH_BOOT__;
  3. 打开 Settings → General → Language,选择 Русский;选项写入 profile 的 host settings 并立即生效。

回滚:执行 --uninstall, reload 页面,再选其他语言。

说明:本文安装命令来自仓库 README,不是 dsh plugin add github:tenkrol/dsh_locale_ru 这类凭名称拼接的命令;请以克隆或下载后的仓库内 tools/install.mjs 为准。

典型用法与目录结构

日常使用者只需完成上一节的 install → reload → 选语言。贡献翻译或排查漏译时,可参考 README 中的路径分工:

路径 作用
cordis.patch.yml bundle patch,挂载 locale-ru
lib/client.js 生成的浏览器侧 bundle
dictionaries/<namespace>.json 各 namespace 译文字典
tools/install.mjs 安装/卸载到指定 profile

从已安装的 DSH 构建提取英文对照目录时:

node tools/extract-reference.cjs "<path-to>/app.asar" .recon/en
node tools/check.mjs --reference .recon/en

开发环境要求:Node.js 20.11+(使用 import.meta.dirname),无其他运行时依赖。

适用场景与注意

适合谁

  • 需要在 DSH Web/Desktop 界面使用俄语的操作者或演示场景;
  • 愿意通过社区语言包扩展官方仅 en/zh 的语言集合,并接受与特定 DSH 构建版本绑定的覆盖范围。

权限与安全

插件作为客户端 bundle 随 DSH 进程加载,与当前 profile 下的 Harness 权限相同。安装前应阅读 GitHub 仓库 源码与 MIT 许可证,确认组织策略允许从该来源挂载 bundle。

已知限制(README)

  • 仅翻译构建中带 dictionary 的字符串;硬编码在 dictionary 外的文案仍为英文。
  • 复数、语序等不在 locale API 内处理,需拆成独立键(如 «1 задача / 2 задачи»)。
  • sidebarExcel.language 故意保持 "en":表格引擎只注册英文 locale,改为 ru 会破坏数字与日期格式。
  • 覆盖范围随 DSH 版本变化;新版本新增字符串在补译前显示英文,--reference 检查用于发现差异。

结尾

dsh_locale_ru 用外部客户端语言包的方式,为 DeepSeek Harness 0.2.x 提供完整 namespace 级别的俄语词典,安装路径清晰、可卸载回滚。目录与源码可在社区插件页与 GitHub 查阅:

羽毛球分组比赛记分
小程序二维码

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

Xiaoye