跳过主要内容
M

dsh-i18n

mimateinn/dsh-i18n

为 DeepSeek Harness 界面新增 20 种语言(繁体中文香港/台湾、日语、韩语、法语、德语、西班牙语、葡萄牙语、意大利语、俄语、乌克兰语、波兰语、荷兰语、土耳其语、阿拉伯语、印地语、印尼语、越南语、泰语、瑞典语),逐条精译并带运行时兜底,另加自动翻译,把市场与第三方文本翻译成你的语言。

安装

dsh plugin --profile web add github:mimateinn/dsh-i18n

README

dsh-i18n

繁體中文(香港) · 繁體中文(台灣) · English · 日本語 · 한국어 · Français · Deutsch · Español · Português (Brasil) · Italiano · Русский · Українська · Polski · Nederlands · Türkçe · العربية · हिन्दी · Bahasa Indonesia · Tiếng Việt · ไทย · Svenska

A sustainable internationalization plugin for the DeepSeek Harness Web UI. Version 0.2.3 registers 20 locales from one registry while preserving DSH's existing client ModuleLoader integration, locale service, preference migration, and runtime fallback behavior.

Locales

繁體中文(香港、台灣), 日本語, 한국어, Français, Deutsch, Español, Português (Brasil), Italiano, Русский, Українська, Polski, Nederlands, Türkçe, العربية, हिन्दी, Bahasa Indonesia, Tiếng Việt, ไทย, and Svenska.

  • Traditional Chinese locales (zh-HK, zh-TW) fall back from the built-in Simplified Chinese dictionaries through the existing character converter.
  • Arabic sets the document language and direction to ar / rtl; other managed locales use ltr.
  • Untranslated non-Chinese values fall back to English.

Features

  • Adds all 20 locales to Settings → General → Language, alongside the built-in 中文 / English.
  • Per-language hand-polished translations for every official locale namespace (715 strings each), from an English baseline.
  • Runtime fallback: new/updated/third-party strings fall back to English (or Simplified→Traditional conversion for zh-HK/zh-TW), so upstream UI updates and other plugins are covered without re-translating every language.
  • Language preference persisted in browser localStorage; reload-proof.
  • Auto-translate: with a non-Chinese locale active, long English text (plugin-market descriptions, third-party UI, error prose) is auto-translated to your language through your configured model, and cached so re-renders don't undo it. The default language (en/zh) is left untouched; Traditional Chinese keeps the built-in Simplified→Traditional conversion instead of calling a model.
  • Zero intrusion on dictionaries: no upstream package changes, silent degradation if the locale service is missing.

Install

Install from npm (exact version — this is what DSH Desktop's Market update button needs):

dsh plugin --profile <active-profile> add @mimateinn/dsh-i18n@0.2.2

Or from GitHub, pinned to a commit:

dsh plugin --profile <active-profile> add github:mimateinn/dsh-i18n#<commit>

For DSH Desktop the active profile is the active value in %APPDATA%/DSH Desktop/profile-selection/state.json (usually desktop). The per-profile shim host-commands/<profile>/bin/dsh.cmd bakes its own profile name into the command, so running the web shim installs into the web profile even while Desktop is showing desktop — the install succeeds and the plugin is never loaded. Pass --profile explicitly to be sure.

DSH Desktop's Market install paths accept only an exact published npm version, so a GitHub spec must go through the built-in terminal dsh plugin add, which forwards the specifier to pnpm unvalidated.

Restart the host, then choose a language in Settings → General → Language. Remove with dsh plugin --profile <active-profile> remove dsh-i18n.

Compatibility

  • DeepSeek Harness 0.1.0-rc.6 or newer, including the current published line 0.1.1-rc.2 (@deepseek-ai/dsh npm latest / next, 2026-08-27).
  • Node.js ^22.19.0 || >=24.0.0 (official harness engines.node at dsh-v0.1.1-rc.2).
  • Host packages are peerDependencies with an explicit 0.1.1-rc.* branch so node-semver does not silently exclude harness prereleases (awesome-dsh-plugin contributing).

Maintenance pipeline

The locale registry is scripts/locales.mjs. Translation data remains in src/<locale>/; generated browser code is lib/client.js.

npm run i18n:check     # file, namespace/key, stale, placeholder, empty, English-residue, Simplified-residue parity
npm run i18n:build     # assemble registry locales into lib/client.js
npm test               # check + build + converter verification + runtime harness

node scripts/extract.mjs <installed-dsh-path>

Extraction accepts an installed DSH root, its @deepseek-ai package directory, or the unpacked desktop application path.

Publishing

The npm package includes runtime entries, the generated client, locale data, and the locale registry. Source repository: https://github.com/mimateinn/dsh-i18n

Security and privacy

  • The plugin makes no network calls itself, has no telemetry, and reads/writes only two browser localStorage keys: the selected locale id and the translate-model override.
  • Auto-translate runs through DSH's built-in LLM service (your configured model), not a third-party API. It only fires for long English prose when a non-Chinese locale is active; the default language is never sent for translation.
  • No filesystem access, no credential handling.

License

MIT

相关插件