dsh-locale-russian:为 DeepSeek Harness 提供俄语界面

前言

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 不能直接管理。可选两种方式:

补丁行(适合本地开发副本)

  1. 将仓库放到固定目录,例如 ~/Developer/dsh-locale-russian。
  2. 在 ~/.dsh/profiles/desktop/cordis.patch.yml 追加(保留原有条目):
   - insert:
       - id: locale-ru
         name: file:///绝对路径/到/dsh-locale-russian/lib/index.js
  1. 重启应用。

手动等同 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 中的依赖),重启应用。下次改语言设置时语言项会自行清理。

运行时机制(简要)

  1. 声明语言:ctx.locale.addLanguage({ id: 'ru', label: 'Русский', fallback: 'en' })。
  2. 按 namespace 注册词典:ctx.locale.register(namespace, 'ru', {...}),键与原版一致,值为俄语。
  3. 俄语复数与插件元数据替换逻辑见上文;构建产物带包标识、内容摘要及词典表,摘要会打进 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
羽毛球分组比赛记分
小程序二维码

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

小夜