前言¶
DeepSeek Harness(DSH)的 Web 与桌面客户端默认以英文等内置语言展示界面。对需要俄语工作环境的开发者或团队,要么忍受英文 UI,要么自行改源码或维护零散翻译,成本高且容易在版本升级时脱节。
dsh-locale-russian 是社区维护的 DSH 客户端插件:以语言包形式注册 ru locale,并附带从 CLI 构建与已安装桌面应用(app.asar)抽取字符串、校验与组包的翻译流水线。下面介绍它做什么、如何安装,以及桌面端的特殊接入方式。
这是什么¶
- 仓库:nemezida1337/dsh-locale-russian
- 维护者:nemezida1337
- 分类:工作流(语言包 + 翻译维护工具链)
- 定位:俄语本地化 DeepSeek Harness Web 界面;README 描述为「языковой пакет и пайплайн перевода」(语言包与翻译流水线)
插件不 fork、不修改 DSH 本体文件,通过 DSH 可扩展的 locale 机制在运行时注册翻译。缺失的键会回退为英文,不完整翻译不会把界面弄坏。包同时作为 bundle 安装,可像普通依赖一样更新。
社区插件目录页:skillhub.cn 上的 dsh-locale-russian。也可在 DSH 插件 → 概览 中添加市场索引 https://nemezida1337.github.io/dsh-locale-russian/index.json 后从该索引安装。
核心功能¶
界面字符串覆盖¶
README 写明当前约 3056 行、65 个 namespace,覆盖应用展示的界面文案:面板、设置、对话框、工具卡片、提示、UI 错误信息、单位与日期格式等。字符串来自 CLI 构建与已安装应用的 app.asar;维护方称无遗漏键(见仓库 reports/coverage.json)。
术语与风格¶
统一术语见仓库 GLOSSARY.md,文风规则见 STYLE.md。
俄语复数形式¶
复数按 Intl.PluralRules('ru') 选择,而不是英文式的「1 或其它」规则。词典条目可用 | 分隔最多三种形式;插件会包装 LocaleRuntime.prototype.translate,按调用参数中的数量选形。非 ru 语言仍走原逻辑,不影响英文、中文等其它界面。
内置插件卡片文案¶
「内置插件」区卡片标题与描述也会翻译:README 提到约 421 行,来自各包 manifest 与 locale/*.json,汇总在 dictionary/plugin-meta.json,经 LocaleRuntime.resolveText 替换展示;若包自身提供俄语 LocalizedText,则优先使用包内版本。
翻译维护流水线(面向贡献者)¶
仓库 tools/ 下提供抽取、批处理、lint、打包、漂移报告、市场索引生成等脚本;node tools/refresh.mjs 可一键跑完整更新链。若你自研 DSH 插件,README 指向 contrib/plugin-recipe.md 作为实践说明。
安装与启用¶
Web 配置(CLI 可管理)¶
在目标 Web 配置下执行:
dsh plugin --profile web add dsh-locale-russian
该命令通过 pnpm 从 npm 安装到指定 profile,写入 dependencies 与 dsh.profile.bundles,构建树中会出现 locale-ru 条目。也可从 git、tarball 或本地路径安装,例如:
dsh plugin --profile web add github:nemezida1337/dsh-locale-russian
dsh plugin --profile web add file:/绝对路径/到工作副本
DeepSeek Harness 桌面应用¶
desktop profile 归 Electron 应用所有,CLI 不能直接管理。可选两种方式:
补丁行(适合本地开发副本)
- 将仓库放到固定目录,例如
~/Developer/dsh-locale-russian。 - 在
~/.dsh/profiles/desktop/cordis.patch.yml追加(保留原有条目):
- insert:
- id: locale-ru
name: file:///绝对路径/到/dsh-locale-russian/lib/index.js
- 重启应用。
手动等同 dsh plugin 的 npm 安装
在 ~/.dsh/profiles/desktop/package.json 的依赖中加入 "dsh-locale-russian": "^0.1.2"(README 示例版本),并写入 dsh.profile.bundles,再在 profile 目录执行 pnpm add dsh-locale-russian(应用内 pnpm 路径见 README:位于 DeepSeek Harness.app 的 Resources/runtime/primary-runtime/dependencies/pnpm/bin/pnpm.mjs)。
切换语言¶
安装后打开 设置 → 通用 → 语言,选择 Русский(俄语);选择保存在 ~/.dsh/settings.yaml。若系统与浏览器语言已为俄语,README 称首次启动后可能自动切到俄语界面。
卸载¶
删除 cordis.patch.yml 中新增行(若通过 dsh plugin 安装则同时去掉 profile package.json 中的依赖),重启应用。下次改语言设置时语言项会自行清理。
运行时机制(简要)¶
- 声明语言:
ctx.locale.addLanguage({ id: 'ru', label: 'Русский', fallback: 'en' })。 - 按 namespace 注册词典:
ctx.locale.register(namespace, 'ru', {...}),键与原版一致,值为俄语。 - 俄语复数与插件元数据替换逻辑见上文;构建产物带包标识、内容摘要及词典表,摘要会打进
lib/client.js,便于对照当前渲染的是哪一版翻译。
package.json 中 engines.dsh 要求宿主为 ^0.1.5-rc.1 || ^0.2.1-rc.2;安装前请确认本机 DSH 版本兼容。许可证为 MIT。
适用场景与注意¶
适合谁:需要在 DSH Web 或桌面客户端使用俄语界面的用户;愿意跟进上游 UI 变更、参与或自建翻译流水线的维护者。
权限与安全:与其它 DSH 插件一样,客户端插件在 DSH 进程权限内运行。安装前请阅读仓库源码与 LICENSE,仅从可信来源安装。社区目录与 GitHub 索引由维护者发布,与 DeepSeek / 幻方无官方从属关系,不宜当作「官方应用商店」。
桌面与 Web 差异:桌面 profile 不能单靠 dsh plugin --profile desktop 完成安装,需补丁或手动改 profile,步骤比 Web 多一步。
结尾¶
dsh-locale-russian 把 DSH 界面俄语化做成可安装的 bundle,并用工具链保证键覆盖、术语一致和复数语法正确;Web 侧一条 dsh plugin --profile web add 即可启用。详情与开发命令以仓库 README 为准。
- 目录页:https://www.skillhub.cn/plugins/nemezida1337/dsh-locale-russian
- GitHub:https://github.com/nemezida1337/dsh-locale-russian