DSH Hub

asd13006/dsh-multi-lang-ui

dsh-multi-lang-ui

UIWeb UI0 GitHub stars· updated 2026-08-19

dsh-multi-lang-ui is a community DeepSeek Harness plugin. Read the repository README before installing.

Install

npx @deepseek-ai/dsh plugin --profile web add https://github.com/asd13006/dsh-multi-lang-ui

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-multi-lang-ui DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-multi-lang-ui.svg)](https://dshhub.dev/plugins/dsh-multi-lang-ui)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from asd13006/dsh-multi-lang-ui, cleaned of badges and images.

dsh-multi-lang-ui

Languages: English · 繁體中文 · 日本語 · 한국어 · Français · Deutsch · Español

A DSH plugin that adds multiple languages to the DeepSeek Harness Web UI language options — 繁體中文, 日本語, 한국어, Français, Deutsch, Español. Known UI strings use hand-polished translations (each language translated from the English baseline); any new / updated / third-party strings fall back to English (or, for 繁體中文, a runtime Simplified→Traditional converter) — so upstream UI updates and other plugins are covered without re-translating every language.

Features

  • Adds 6 languages to the "Settings → General → Language" menu (alongside the built-in 中文 / English): 繁體中文, 日本語, 한국어, Français, Deutsch, Español.
  • Hand-polished translations per language: every official locale namespace is translated string-by-string from the English baseline (700+ strings per language).
  • Fallback for untranslated strings: upstream-added or third-party-plugin strings — 繁體中文 uses a built-in Simplified→Traditional char table (720+ chars) converted on the fly; the other languages fall back to English (the official en dictionaries are complete for every namespace), so no garbled or missing text appears.
  • DOM-level fallback conversion (zh-TW only): non-dictionary content (e.g. plugin-market descriptions) is converted from Simplified to Traditional via MutationObserver in zh-TW mode (inputs, code blocks and other user content are always excluded).
  • Persistence: the language choice is stored in browser localStorage and survives reloads.
  • Zero-intrusion: a pure client plugin — no upstream packages are modified; it silently degrades if the locale service is unavailable, without affecting other plugins.

Installation

Recommended: install from GitHub (give this link to an agent, or run it yourself)

dsh plugin --profile web add https://github.com/asd13006/dsh-multi-lang-ui

Or let an agent install it: paste this repository link into DSH and ask the agent to run the command above.

After installation, restart dsh web, then pick your language in "Settings → General → Language".

Removal (important): always use dsh plugin remove — it cleans up the profile's bundle list; manually deleting the package can leave dangling references that prevent DSH from starting:

dsh plugin --profile web remove dsh-multi-lang-ui

npm install (once published):

dsh plugin --profile web add dsh-multi-lang-ui

How it works

locale translate(ns, key)
        │
        ├─ active is one of our languages ?
        │     ├─ curated translation exists (DICTS) ?  → return it
        │     └─ missing (new strings / third-party plugins)
        │           ├─ zh-TW  → convert the zh value via the char table
        │           └─ others → fall back to the en value
        └─ other languages → handled by dsh-client-locale as usual

At startup the plugin:

Related plugins