前言¶
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' });
要點如下:
- 使用官方 API(
ctx.locale.addLanguage+ctx.locale.register),不 patchapp.asar,不重編譯應用。 - 未翻譯的 key 自動回退到英文(fallback
en)。 - 零 npm 運行時依賴;預構建的 JavaScript bundle 隨包分發。
- 通過
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 改進。
安裝與啓用¶
圖形界面¶
- 側欄 Plugins → Install。
- 填寫 spec:
dsh_languages(npm)或github:elims777/dsh_languages(GitHub)。 - 啓用 bundle 並刷新頁面(Ctrl+R)。
- 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