dsh_languages:爲 DeepSeek Harness Web 界面補齊 14 種社區語言

前言

DeepSeek Harness(DSH)桌面/Web 客戶端裏,英文與簡體中文通常隨 @deepseek-ai/dsh-client-* 內置;若需要俄語、德語、繁體中文等界面,改 app.asar 或自行重打包既不安全也不易維護。社區插件 dsh_languages 走 DSH 公開的 ctx.locale 機制,在一個 bundle 裏註冊多種語言包,安裝後在設置裏切換即可。

下面介紹該插件的定位、能力與安裝方式;事實以 GitHub 倉庫 README 爲準。該項目爲社區維護,與 DeepSeek 無官方關聯。

這是什麼

dsh_languages(維護者 elims777)是 客戶端 類 DSH 插件:面向 DeepSeek Harness Web UI 的社區翻譯集合。簡介爲「Community translations (14 languages) for the DeepSeek Harness web UI」——一個插件包、多種語言,覆蓋聊天、設置、插件、調度、側欄、對話框與系統消息等界面文案。

許可證爲 MIT(package.json 版本 1.0.1)。插件在 DSH 進程權限下運行;安裝前建議瀏覽源碼與 LICENSE,再決定是否啓用。

核心功能

語言覆蓋

當前打包進構建的語言共 14 種,每種約 2 886 行、63 個 namespace。README 語言表摘要如下(狀態均爲「就緒」;除俄語標註 100% 外,其餘多爲社區草稿):

語言 代碼
Русский ru
Español es
Português (Brasil) pt-BR
Deutsch de
Français fr
Italiano it
Polski pl
Türkçe tr
日本語 ja
한국어 ko
繁體中文 zh-TW
Bahasa Indonesia id
Tiếng Việt vi
हिन्दी hi

帶完整 locales/<代碼>/ 目錄的語言會自動納入構建。阿拉伯語 ar 未包含:DSH 界面暫不支持 RTL 佈局。

與內置 i18n 的銜接方式

DSH 不把全部翻譯放在獨立文件裏;英文與中文在客戶端 bundle 中通過 ctx.locale.register(ns, { zh, en }) 註冊。本插件在瀏覽器側(lib/client.js)對每個語言調用:

ctx.locale.addLanguage({ id: 'de', label: 'Deutsch', fallback: 'en' });
ctx.locale.register('settings', 'de', { trigger: 'Einstellungen' });

要點如下:

  1. 使用官方 API(ctx.locale.addLanguage + ctx.locale.register),不 patch app.asar,不重編譯應用。
  2. 未翻譯的 key 自動回退到英文(fallback en)。
  3. 零 npm 運行時依賴;預構建的 JavaScript bundle 隨包分發。
  4. 通過 cordis.patch.yml 將 locales 注入 bundle 組合;Node 側 lib/index.js 主要爲滿足 Loader 佔位。

已知限制(README)

  • 主機下發的動態元數據(如插件/包名等 LocalizedText)仍在 app.asar 清單中,不會被本插件本地化。
  • {count} min、{value} tok/s 等緊湊單位,以及 Cursor、VS Code、PDF 等產品名有意保留不譯。
  • DSH 無 ICU 複數;含 {count} 的字符串採用中性表述。
  • 社區翻譯可能含機器輔助;歡迎母語者 PR 改進。

安裝與啓用

圖形界面

  1. 側欄 Plugins → Install。
  2. 填寫 spec:dsh_languages(npm)或 github:elims777/dsh_languages(GitHub)。
  3. 啓用 bundle 並刷新頁面(Ctrl+R)。
  4. Settings → General → Language 選擇目標語言。

注意:若語言未出現在列表中,可能是 bundle 未在啓動時掛載——需確認 dsh_languages 在 dsh.profile.bundles 中,並重啓應用(僅 Ctrl+R 不足以重建組合圖)。

CLI

dsh plugin add dsh_languages
# 或從 GitHub:
dsh plugin add github:elims777/dsh_languages

安裝後重啓 DSH,在 Settings → General → Language 選擇語言。

Discover 索引(可選)

若構建啓用了插件市場(Plugins 的 Discover tab),可添加本倉庫市場索引:

https://raw.githubusercontent.com/elims777/dsh_languages/main/market/index.json

索引格式爲 DSH format: 1;版本按 commit 解析,安裝可復現。

離線手動安裝

從 Releases 下載 dsh_languages-<版本>.zip,解壓後執行(Windows 示例):

powershell -ExecutionPolicy Bypass -File install.ps1

腳本會將包複製到 %USERPROFILE%\.dsh\profiles\desktop\node_modules\dsh_languages 並寫入 dsh.profile.bundles。可用 -Profile <名稱>、-DshHome <路徑> 指定配置。完成後重啓 DSH。

典型用法與貢獻

日常切換

經過上面的安裝步驟後,無需額外配置項:在 Settings → General → Language 切換即可全局生效聊天、設置、插件頁等已覆蓋 namespace。

新增或維護某一語言

維護者或貢獻者可使用倉庫工具鏈(需 Node.js 22+ 與已安裝 DSH,用於提取英文字符串):

node tools/new-locale.mjs de "Deutsch"   # 創建 locales/de/ 與 locales.json 條目
# 翻譯 locales/de/*.json 中的值(勿改 key 與 {佔位符})
npm run check                            # 校驗完整性並重建 lib/client.js

提交 locales.json、對應 locales/<代碼>/ 與 lib/client.js 後發起 PR;細則見倉庫 CONTRIBUTING.md。若不想併入本包,可單獨發佈只做 addLanguage / register 的語言插件,DSH 可同時加載多個語言插件。

DSH 升級後若出現大量英文殘留,可按 README 從 app.asar 重新提取基準:

node tools/extract.mjs "<DSH 安裝路徑>\resources\app.asar"
npm run build

適用場景與注意

適合誰: 日常使用 DSH Web/桌面客戶端、界面語言不在內置中英之列、又希望避免改 asar 的開發者或用戶。需要 繁體中文 界面時,應選 zh-TW(本包未列出簡體 zh 作爲獨立社區包語言項;內置中文仍由客戶端 bundle 提供)。

安全與信任: 插件與 DSH 同進程運行,bundle 會在啓動時注入客戶端組合。安裝前請自行審閱 elims777/dsh_languages 源碼與 MIT 許可證。

故障提示(來自 README): 部分字符串仍爲英文,多爲新版本 DSH 新增 key,需 extract 後補譯並 npm run build。賬戶面板顯示「數據暫不可用」通常與 platform.deepseek.com 請求失敗有關,非本地化問題。安裝後出現空白屏,應暫時從 dsh.profile.bundles 移除 dsh_languages 並反饋 issue(附 DSH 版本)。

結尾

dsh_languages 把 14 種社區語言收進一個 DSH 客戶端插件,依託 ctx.locale 官方擴展點,實現「裝插件、選語言」的界面本地化路徑。目錄與源碼:

  • 社區目錄頁:https://www.skillhub.cn/plugins/elims777/dsh_languages
  • GitHub:https://github.com/elims777/dsh_languages
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜