dsh-i18n
Verified@linxin666/dsh-i18n · v0.4.6 · Apache-2.0 · Web UI
DSH web GUI language pack plugin: registers the Русский language into the locale catalog and centrally carries the ru dictionaries for every family plugin namespace (missing keys fall back to English through the SDK chain).
Install
dsh plugin add @linxin666/dsh-i18n Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Published to npm without a public repository. Inspect the package contents before installing.
Readme
dsh-i18n · Internationalization & Multilingual (ZH/EN/RU) Localization for DeepSeek Harness (DSH)
English | 中文
Internationalization & Multilingual (ZH/EN/RU) Localization for DeepSeek Harness (DSH)
Multilingual Localization · Russian (Русский) Pack · Full Plugin Family Coverage · Seamless Fallbacks
A localization language-pack plugin for DeepSeek Harness (DSH) Web GUI and desktop client: registers Русский (Russian) into the shared language catalog and provides dictionary coverage across all family plugin namespaces.
What it does
The plugin is a pure browser bundle (the host half intentionally has no behavior) that runs once per page load:
- It registers the language definition
ru(labelРусский, fallbacken) into the shared locale catalog throughctx.locale.addLanguage, which is what makes the language selectable in the officialSettings -> General -> Languagerow. - It registers one ru dictionary per covered locale namespace (single-locale untyped
ctx.locale.register(ns, 'ru', dict)), contributing the third language alongside each package's own zh/en registrations without touching those packages. - Dictionary lookup resolves per key through the SDK fallback chain ns -> common -> en -> key: a namespace or key this pack does not cover shows English, never Chinese.
- The plugin owns no settings and renders no UI of its own.
Covered namespaces
| Namespace | Source package |
|---|---|
git-graph |
dsh-git-graph |
dsh-web-ui-market |
dsh-market |
pet |
dsh-pet |
settings.pluginManager |
dsh-plugin-manager |
dsh-web-ui-preset-center |
dsh-preset-center |
remote |
dsh-remote-web-ui |
session-id |
dsh-session-id |
dsh-skill-explorer |
dsh-skill-explorer |
dsh-ssh |
dsh-ssh |
task-board |
dsh-task-board |
dsh-web-ui-usage |
dsh-usage |
web-ui-plugins |
dsh-web-settings |
Install
Requires DSH 0.2.0-rc.2 or later: the plugin is developed against the 0.2.0-rc.2 DSH cohort and its @deepseek-ai/* runtime services are provided by the host itself.
In your profile (e.g. ~/.dsh/profiles/web):
dsh plugin --profile web add @linxin666/dsh-i18n
or, from a repository checkout:
dsh plugin --profile web add link:<repo>/packages/dsh-i18n
The plugin is also part of the dsh-web-all aggregate bundle, so profiles that install the aggregate carry it automatically. Restart dsh web after installing or updating the bundle; the language appears after the page reloads.
Configuration
None: the plugin has no settings keys and no settings card. Choosing the language happens in the official locale surface (Settings -> General -> Language).
Known limitations
- The official shell namespaces (
common,settings.locale) are not part of this pack, so the DSH chrome itself keeps its own zh/en while the family plugins render Russian. - When a source package adds or changes a zh key, the matching ru key must be mirrored in this package;
pnpm i18n:checkenforces the parity and fails on missing keys. - If another language pack already defines the
ruid, this pack's language definition yields to it (the registration continues with the dictionaries); a namespace another owner already registered keeps that owner's dictionary. - Placeholder names inside strings (
{count},{time}, ...) are shared with zh/en and must be reused verbatim; grammar oddities around placeholders should be reported instead of editing the placeholder names.
License
Apache-2.0.