为 Web 界面新增日语选项,缺失译文自动回退英文
29.6/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add rbstxt/dsh-locale-ja该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 新增日语界面选项
- 缺失译文回退英文
DeepSeek Harness 网页 GUI 的日语(ja)语言包插件
README
由 DeepSeek 最新模型翻译生成dsh-locale-ja
这是一个将 DeepSeek Harness (DSH) 的 Web GUI 日语化的语言包插件。
它并非替换 en / zh,而是新增 ja 区域设置。其中收录了 in-box 客户端 UI 所拥有的 42 个命名空间 / 1257 个键。缺失译文的键会回退到 en,因此画面上不会出现原始键名。
安装
dsh plugin --profile web add file:/path/to/jpdsh
dsh plugin add 会在配置文件目录中执行 pnpm,并根据安装结果更新 dsh.profile.bundles。由于本包声明了 dsh.bundle,它会作为配置文件的一个层被集成进来。
也可以直接从 git 安装。
dsh plugin --profile web add github:rbstxt/dsh-locale-ja
安装后,在 设置 → 通用 → 语言 中选择“日本語”,或在 $DSH_HOME/settings.yaml 中写入以下内容。
locale:
preference: ja
headless 或 sdk 等不具备浏览器面的配置文件不在支持范围内。
工作原理
DSH 的插件由 bundle 和 client 两个面构成。本包也遵循这一约定。
展开完整文档(README 剩余 1 节)
dsh-locale-ja
这是一个将 DeepSeek Harness (DSH) 的 Web GUI 日语化的语言包插件。
它并非替换 en / zh,而是新增 ja 区域设置。其中收录了 in-box 客户端 UI 所拥有的 42 个命名空间 / 1257 个键。缺失译文的键会回退到 en,因此画面上不会出现原始键名。
安装
dsh plugin --profile web add file:/path/to/jpdsh
dsh plugin add 会在配置文件目录中执行 pnpm,并根据安装结果更新 dsh.profile.bundles。由于本包声明了 dsh.bundle,它会作为配置文件的一个层被集成进来。
也可以直接从 git 安装。
dsh plugin --profile web add github:rbstxt/dsh-locale-ja
安装后,在 设置 → 通用 → 语言 中选择“日本語”,或在 $DSH_HOME/settings.yaml 中写入以下内容。
locale:
preference: ja
headless 或 sdk 等不具备浏览器面的配置文件不在支持范围内。
工作原理
DSH 的插件由 bundle 和 client 两个面构成。本包也遵循这一约定。
| 面 | 声明 | 作用 |
| bundle | dsh.bundle.patch | 向配置文件插入一行 Loader 行 |
| client | dsh.client、platform: web | 将 lib/client.js 作为浏览器面进行分发 |
启动流程如下。
1. dsh plugin add 将包添加到 dsh.profile.bundles
2. cordis.patch.yml 插入 id: locale-ja 的 Loader 行
3. @deepseek-ai/dsh-client-modules 检测到 dsh.client,并将其作为 /plugins/dsh-locale-ja/client.js 分发
4. 浏览器侧的 cordis 执行 lib/client.js 的 apply(ctx)
apply 只使用 @deepseek-ai/dsh-client-locale 的语言包 API。
ctx.effect(() => ctx.locale.addLanguage({ id: "ja", label: "日本語", fallback: "en" }), "…");
for (const [ns, dict] of Object.entries(DICTIONARIES)) {
ctx.effect(() => ctx.locale.register(ns, "ja", dict), …);
}
addLanguage 注册语言的定义,register(ns, locale, dict) 注册按命名空间划分的词典。这种单一区域设置形式是语言包专用的入口,可以为既有功能所拥有的命名空间追加其他区域设置。重复判定以 namespace 和 locale 的组合为单位。所有注册都归 ctx.effect 所有,因此移除插件时 ja 也会一并消失。
宿主面的 lib/index.js 不做任何事情。它的作用仅仅是一个声明了 dsh.client 的可解析 Loader 行,不会增加模型可见的服务。
文件结构
| 路径 | 作用 |
| lib/client.js | 浏览器面。生成物 |
| lib/index.js | 宿主面 |
| cordis.patch.yml | bundle 补丁 |
| locales/ja.json | 合并后的日语词典 |
| translation/ | 原文的提取结果、翻译的输入输出、术语表 |
| tools/ | 提取、拆分、一致性校验、构建、验证的脚本 |
同捆包
better-sidebar-ja/ 是独立的第二个包 dsh-better-sidebar-ja。它并非针对 DSH 本体,而是将 dsh-better-sidebar 的 UI 日语化的桥接包,通过 ctx.betterLocale 存储启用侧边栏同捆的 ja 词典。由于 dsh-better-sidebar 自身只原生注册 zh / en,日语只能通过该存储解析,因此若没有它,侧边栏会以英语渲染。详情请参阅 better-sidebar-ja/README.md。
dsh plugin --profile web add file:/path/to/jpdsh/better-sidebar-ja
node better-sidebar-ja/tools/verify.mjs
维护
当更新 DSH 本体导致 UI 字符串增加时,执行同样的步骤。
node tools/capture-dictionaries.mjs --out translation/source-en-zh.json --verbose
node tools/split-translation.mjs translation/source-en-zh.json
翻译 translation/in/part-NN.json 并写入 out/part-NN.json
node tools/consistency-pass.mjs --write
node tools/build-plugin.mjs
node tools/verify-client.mjs
capture-dictionaries.mjs 会在 VM 中加载各个 lib/client.js,取出 window.__ModuleLoader__.load 的工厂函数。然后,在模拟的客户端上下文中调用 apply(ctx),记录 locale.register。由于 bundle 使用 Rolldown 的 __toESM 辅助函数自行组装模块的命名空间,因此 harness 使用会公开 bundle 中所有标识符的代理,以免 react.memo 这样的具名导出消失。
build-plugin.mjs 会验证命名空间、键集合和占位符,若有缺失或多余则中止构建。译文遗漏在画面上只会表现为回退到英文,因此在构建时让其失败更安全。
验证
node tools/verify-client.mjs
ok: 日本語 (ja), 42 namespaces, 1257 keys, 44 owned effects
按照与生产环境相同的契约,即 __ModuleLoader__.load → factory(require) →
apply(ctx) 的顺序执行生成的 bundle,并确认注册内容与 locales/ja.json 一致。
使用隔离的 DSH_HOME,即可在不污染本地环境的情况下进行集成确认。
DSH_HOME=/tmp/dsh-ja-test dsh plugin --profile web add file:$PWD
printf 'locale:\n preference: ja\n' > /tmp/dsh-ja-test/settings.yaml
DSH_HOME=/tmp/dsh-ja-test dsh web --port 3081 --no-open
使用无头 Chrome 能够确认的范围如下。
- 设置了
- 侧边栏、设置的所有标签页、插件列表、引导流程均以日文显示
- 不含日文的行中不残留未翻译的英文字符。插件 ID 和模型名等标识符除外
验证时的截图
字体
该插件还会设置面向日文的字体。DSH 的排版全部集中在 --dsw-font-family 和 --ds-font-family-code 这两个变量上,因此只需覆盖这两个即可切换整个 GUI。实际加载的字体栈如下。
| 用途 | 首位 | 后续回退 |
| 无衬线 | Noto Sans JP | Noto Sans CJK JP、Hiragino Sans、Yu Gothic、Meiryo、DSH 默认的顺序 |
| 等宽 | Geist Mono | SF Mono、JetBrains Mono、Fira Code、Consolas、Menlo、DSH 默认的顺序 |
字体仅按名称指定本地已安装的字体,不获取 Web 字体。
即使在未安装 Noto Sans JP 的环境中,也将日文字体系列排在前面,以免日文以中文字体显示。
--dsw-font-family 由主题在 :root 中定义,因此覆盖在 html:root (优先级高一级)上应用。不依赖于样式标签的插入顺序。
翻译方针
译词表位于 translation/GLOSSARY.md,机械性规则位于 tools/consistency-pass.mjs。
- 按钮和标签使用名词结句
- 不修改 {placeholder}。省略号为 …
- 英文字母与日文之间使用 1 个半角空格。数字与量词相连。例如 {n}件、1回
- 时间单位用日文书写。例如 {seconds}秒、{n}日。token 的单位保持原拼写。例如 {value} tok、{value}K
- API、JSON、CLI、Diff、Schema、TTFT 等技术术语和产品名保持原拼写
限制
- 受 @deepseek-ai/dsh-client-locale 侧的限制,注册时引入的文案在切换语言后不会跟随变化。通过 slot 渲染的文案会即时切换。
- 仅翻译客户端 UI 的文案。插件 ID、模型 ID、命令名、文件路径、宿主返回的错误码属于标识符,因此不翻译。
- 当 DSH 本体版本升级、命名空间或键增加时,需要重新执行上述步骤。未翻译的键将以英文显示。
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
rbstxt/dsh-locale-ja
为 Web 界面新增日语选项,缺失译文自动回退英文
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,362已汉化DSH
71.4
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,076已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,814已汉化DSH
71.1
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。