为网页界面添加俄语翻译,未译条目自动回退英文
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/4 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Balla1ore/dsh-locale-ru该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
装得上吗[实装验证]—
曾在 dsh 0.2.1-rc.5 下真实安装成功,但当前 dsh 已更新至 0.2.2-rc.1,本站尚未在新版下复验
L4 · 真实安装等级说明 →数据截至 2026/11/05·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 俄语界面翻译
- 未译条目回退英文
DeepSeek Harness 俄语支持:2615 行网页界面 + 165 行外壳(菜单、托盘、对话框、登录窗口)
README
由 DeepSeek 最新模型翻译生成dsh-locale-ru —— 为 DeepSeek Harness 网页界面提供俄语
DSH 客户端插件:往网页界面里加上 「Русский」 语言,并附带 DSH 自带全部命名空间的翻译词典。
* 2615 行,分布在 58 个命名空间 —— 这是从已安装的 DSH 0.2.0-rc.2(locales/source-en.json)里提取出来的全部英文和中文界面词典。
* 未翻译的行(比如来自更新版 DSH 的)会自动保留英文:语言声明了回退链 ru → en。
* 插件不含依赖,也不需要构建:浏览器那一半就是一个自包含文件 lib/client.js。
组成
| 文件 | 用途 |
| package.json | 清单:dsh.client(浏览器那一半)、dsh.bundle(作为套件安装用的 patch)、exports["./client"] |
| lib/index.js | 宿主那一半:空的 apply,只是为了让包在 Loader 里有一行记录 |
| lib/client.js | 已构建的浏览器 bundle:语言定义 + 全部词典(window.__ModuleLoader__.load) |
| locales/ru.json | 翻译源文件:命名空间 → 键 → 俄语文本 |
展开完整文档(README 剩余 1 节)
dsh-locale-ru —— 为 DeepSeek Harness 网页界面提供俄语
DSH 客户端插件:往网页界面里加上 「Русский」 语言,并附带 DSH 自带全部命名空间的翻译词典。
* 2615 行,分布在 58 个命名空间 —— 这是从已安装的 DSH 0.2.0-rc.2(locales/source-en.json)里提取出来的全部英文和中文界面词典。
* 未翻译的行(比如来自更新版 DSH 的)会自动保留英文:语言声明了回退链 ru → en。
* 插件不含依赖,也不需要构建:浏览器那一半就是一个自包含文件 lib/client.js。
组成
| 文件 | 用途 |
| package.json | 清单:dsh.client(浏览器那一半)、dsh.bundle(作为套件安装用的 patch)、exports["./client"] |
| lib/index.js | 宿主那一半:空的 apply,只是为了让包在 Loader 里有一行记录 |
| lib/client.js | 已构建的浏览器 bundle:语言定义 + 全部词典(window.__ModuleLoader__.load) |
| locales/ru.json | 翻译源文件:命名空间 → 键 → 俄语文本 |
| locales/source-en.json | 翻译所依据的英文/中文源(用于校验和后续更新) |
| locale/en.json、locale/ru.json | 「插件」页面上显示的插件名称和描述 |
| cordis.patch.yml | 套件的 patch 层:插入自己的插件行 |
| tools/build-client.mjs | 从 locales/ru.json 构建 lib/client.js |
| tools/verify.mjs | 独立校验:清单、宿主那一半、bundle 加载、语言和词典注册、源覆盖率、{...} 占位符是否一致 |
| tools/install.mjs | 一条命令完成 DSH 配置档里的安装/卸载 |
| tools/extract-dictionaries.cjs | 从已安装的 DSH 里提取词典(DSH 更新后用) |
安装
插件就是普通的本地模块(不是 npm 上的套件),所以安装无非是把文件夹复制进配置档,再在配置档的用户 patch 文件里加一行。
在本文件夹里执行;默认配置档是 "desktop"
node tools/install.mjs --dry-run # 看看会做什么
node tools/install.mjs # 安装
脚本会:
1. 把包复制到 <DSH_HOME>\profiles\<配置档>\plugins\dsh-locale-ru;
2. 往 <DSH_HOME>\profiles\<配置档>\cordis.patch.yml 里加内容(并备份为 cordis.patch.yml.before-locale-ru):
- insert:
- id: locale-ru
name: './plugins/dsh-locale-ru/lib/index.js'
insert 行里的路径相对于 patch 文件本身解析,所以不需要 pnpm install,也不需要配置档的依赖。
手动安装
<DSH_HOME>\profiles\desktop\cordis.patch.yml —— 加到末尾
- insert:
- id: locale-ru
name: './plugins/dsh-locale-ru/lib/index.js'
从 git 安装(不用压缩包,也不用 npm)
「插件」页面接受 git 地址、tarball、本地绝对路径或包名:在「添加插件」里填入仓库地址,DSH 会把包安装成一套组件,之后可以在同一处启用和停用。
发布自己的仓库 —— tools\publish-github.cmd <仓库地址>:脚本会添加 origin、推送 main 分支、打上 v1.0.0 标签,并提醒你发布带归档的 release。仓库必须已存在且为空;登录 GitHub 在 Git Credential Manager 窗口中确认。
启用语言
设置 → 通用 → 语言 → 「Русский」。选择会记在 DSH 设置里。
配置档 HMR 会自己重读配置,所以不用重启宿主;如果语言没出现 —— 刷新页面(F5)。
卸载
node tools/install.mjs --remove
DSH 更新后更新翻译
1. что изменилось в установленном DSH
node tools/extract-dictionaries.cjs --check
2. переизвлечь источник (при необходимости)
node tools/extract-dictionaries.cjs
3. дополнить locales/ru.json новыми ключами и пересобрать бандл
node tools/build-client.mjs
node tools/verify.mjs
窗口菜单(「Application」/「Edit」)
这是界面里唯一不在网页词典里的地方,它分成两部分:
| 部分 | 谁来绘制 | 插件能翻译吗? |
| 标题栏里的「Application」「Edit」标签(Windows) | 桌面外壳,把菜单栏直接插进页面(shadow DOM,lib/preload-app.cjs) | 能 —— 俄语激活期间,包会改写标签和 aria-label |
| 里面的菜单项(「Undo」「Redo」「Cut」「Copy」「Paste」「Delete」「Select All」,子菜单「Application」) | 外壳的主进程 —— 这是 Electron 原生菜单(Menu.popup,lib/main.js) | 不能 —— 从页面够不到它 |
外壳有自己的词典,只有两种语言(165 行,英语和中文, lib/main.js 和两个 preload 脚本),它的语言选择函数只接受 zh 和 en:
// lib/main.js
function resolveDesktopLocale(locale) {
return locale.toLowerCase().startsWith("zh") ? { id: "zh-CN", messages: zh } : { id: "en", messages: en };
}
所以选中俄语时(locale.preference = "ru"),外壳会回退到英语:原生菜单项、托盘菜单、系统对话框、欢迎和更新界面都保持英语。这是应用的局限,不是包的局限:要翻译它们,DSH 得自己为外壳提供俄语表。包翻译的是页面能拿到的东西 —— 菜单栏标签。
「插件」面板里的卡片
包会在侧边栏「插件」里注册自己(槽位 plugins.item):一张「Русский язык」卡片,带简短说明,它的页面上写着翻译了什么、外壳翻译是怎么做的、有哪些手动命令。不用从那里启动任何东西:外壳翻译包会自己准备(见下文)。
完整翻译外壳(应用补丁)
应用外壳(窗口菜单、托盘、对话框、登录窗口、更新界面)它自带的词典只有英文和中文,所以俄语翻译直接写进已安装的应用里——写进 app.asar 内的三个文件:
| 文件 | 翻译什么 |
| lib/main.js | 窗口菜单项、托盘菜单、系统对话框(退出、后台运行)、更新界面和启动错误界面、语言选择 |
| lib/preload-app.cjs | 菜单栏「应用」/「编辑」的标签 |
| lib/preload-welcome.cjs | 登录和欢迎窗口 |
自动完成的部分:
1. 启动时,包的主机端(lib/index.js)会检查应用归档;如果里面没有俄语词典,它会在旁边准备一个修正后的归档(app.asar.locale-ru.new)。这只是普通的文件写入——应用照常运行。
2. 启动器(launch-dsh-ru.vbs)在应用尚未运行时应用准备好的归档,然后启动 DeepSeek Harness。所以 DSH 更新后,你只要像平常一样启动应用就行——翻译会自己回来。
要让这套机制生效,DeepSeek Harness 的快捷方式必须指向启动器:
只需执行一次;原快捷方式会以 .lnk.before-locale-ru 的名字保留在旁边 pwsh -File dsh-locale-ru\tools\install-launcher.ps1 还原快捷方式 pwsh -File dsh-locale-ru\tools\install-launcher.ps1 -Restore
手动方式(如果不想改快捷方式):
.\apply-shell-ru.cmd # 立即应用(DeepSeek Harness 必须已关闭) .\watch-shell-ru.cmd # 监视器:在应用关闭的那一刻应用 .\restore-shell-ru.cmd # 还原原始 app.asar
监视器就是同一个脚本的 --swap-when-free 模式:它先检查准备好的归档,然后每 2 秒尝试替换一次,直到 Windows 释放文件(也就是恰好在应用退出的那一刻)。默认等待 12 小时;结果会显示在窗口里,也会写进 shell-patch.log。
脚本在设计上很谨慎:每次修改都是替换一段精确的文本片段,这段文本必须能找到,否则什么都不改;重建后的归档会逐字节校验所有条目(只有三个文件允许变化),每个修正过的文件都要通过 node --check。原始归档会以 app.asar.before-locale-ru 的名字保留在旁边。
重要:DSH 更新会替换 app.asar,把英文还回来。包会重新准备补丁,启动器会在下次启动时应用它。这是对应用文件的非官方补丁,所以它不能替代 DSH 那边的修复(外壳缺少俄语表)。
兼容性
不要把这个包和另一个 DSH 俄语本地化同时启用(比如 npm 上另一位作者的同名插件):语言 ru 只能注册一次,第二个插件不会加载。如果在启用这个包之前,「设置 → 通用 → 语言」里已经有俄语——先关掉另一个插件。
限制
插件加载前的字符串。 Web 外壳自身的加载界面(Loading plugins…、Failed to load plugins)硬编码在外壳的 bundle 里,插件本身不翻译——它只在首次打开页面时闪现一瞬间。
* 外壳的原生菜单。 窗口菜单项、托盘菜单、系统对话框、欢迎页和更新页由外壳自己翻译,而它只有英文和中文(见上一节)。菜单栏本身的标签由包从页面重写。
* 由宿主注册表持有的文本。 斜杠命令的描述和类似文本在宿主侧以 {en, zh} 对注册,并在客户端词典之外解析,所以这些内容显示英文版本。
* 没有复数规则。 DSH 的本地化系统不支持按数变格,所以带 {count} 的字符串用中性结构翻译,如「Файлы ({count})」「Выбрано: {count}」。
* 第三方库的媒体和按钮(例如 PDF 查看器里的标签)可能保持英文。
* 插件不翻译模型回复和系统提示词——只翻译界面。
检查
node tools/verify.mjs
脚本像浏览器模块系统那样加载 lib/client.js,把插件挂载到替身 ctx 上,并检查:模块的字符串标识符与包名一致,bundle 自给自足,语言 ru 已注册并回退到 en,全部 58 个命名空间已注册,源文件的全部 2615 个键都已翻译,且 {...} 替换的集合与英文一致。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Balla1ore/dsh-locale-ru
为网页界面添加俄语翻译,未译条目自动回退英文
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 18,619已汉化DeepSeek 客户端
73.1
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,270已汉化DSH
70.8
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。