前言¶
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 顺序操作:
- 若 Desktop profile 启用了 HMR,composition 会热重建;
- 重新加载页面,让浏览器拿到包含语言 bundle 的新
window.__DSH_BOOT__; - 打开 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 查阅: