前言¶
DeepSeek Harness(DSH)默認只內置英語和中文(zh)兩套界面文案。若你在俄語環境下使用 Desktop 或 Web 客戶端,或需要向俄語用戶演示同一套 Harness,只能依賴瀏覽器翻譯或忍受大量英文殘留,既不穩定,也難以保證術語一致。
dsh_locale_ru 是社區維護的客戶端語言包:以外部 bundle 形式向 DSH 註冊第三種語言 ru(«Русский»),併爲當前構建中所有暴露本地化字符串的 namespace 提供詞典。它不修改應用本體;卸載後行爲恢復爲安裝前。下面介紹其定位、安裝步驟與使用時的邊界。
這是什麼¶
- 倉庫: tenkrol/dsh_locale_ru
- 維護者:tenkrol
- 分類:客戶端插件(client plugin,非應用內設置項)
- 許可證:MIT
- 包版本(
package.json):0.2.0 - 適配:DeepSeek Harness
0.2.x;README 標明在0.2.1-rc.5構建上通過tools/check.mjs --reference校驗
一句話:在 Harness 的 locale 體系裏掛載 ru,覆蓋 65/65 namespace、共 2,914 條字符串(相對英文源鍵與 {placeholder} 做對照校驗)。未來構建若新增未譯鍵,會回退到英文,避免界面缺字。
核心功能¶
語言註冊與覆蓋範圍¶
語言包通過 bundle patch 插入一行 locale-ru,客戶端半部在運行時調用 locale 服務 addLanguage({ id: 'ru', … }),並按 namespace 註冊與官方 locale.register(ns, {zh, en}) 同結構的詞典文件。每個 dictionaries/<namespace>.json 的文件名必須與 namespace 完全一致,否則該 namespace 仍顯示英文。
校驗與構建工具鏈¶
維護者在不啓動應用的情況下可運行:
node tools/build-client.mjs # dictionaries/*.json -> lib/client.js
node tools/check.mjs # 結構、bundle 加載、apply()
node tools/check.mjs --reference ./reference # 鍵集合與佔位符與英文源一致
lib/client.js 爲生成物;改譯請編輯 dictionaries/*.json 並參閱 GLOSSARY.md 中的術語與佔位符規則。
與官方內置語言的關係¶
DSH 發行版本身不包含 ru;只有安裝本包後設置裏纔會出現 «Русский»。移除包後,若 profile 裏仍保存過 ru,會按 README 說明回退到瀏覽器語言。
安裝與啓用¶
語言包以 bundle 掛載:profile 的 dsh.profile.bundles 需列出該包,且包需能從 profile 對應目錄的 node_modules 解析。倉庫提供的安裝腳本會完成寫入與 symlink(等價於包管理器所做的掛載):
node tools/install.mjs --profile desktop
常用參數:
--home:覆蓋$DSH_HOME,默認~/.dsh--profile:選擇 DSH profile 名稱(示例爲desktop)
卸載:
node tools/install.mjs --profile desktop --uninstall
安裝完成後按 README 順序操作:
- 若 Desktop profile 啓用了 HMR,composition 會熱重建;
- 重新加載頁面,讓瀏覽器拿到包含語言 bundle 的新
window.__DSH_BOOT__; - 打開 Settings → General → Language,選擇 Русский;選項寫入 profile 的 host settings 並立即生效。
回滾:執行 --uninstall, reload 頁面,再選其他語言。
說明:本文安裝命令來自倉庫 README,不是 dsh plugin add github:tenkrol/dsh_locale_ru 這類憑名稱拼接的命令;請以克隆或下載後的倉庫內 tools/install.mjs 爲準。
典型用法與目錄結構¶
日常使用者只需完成上一節的 install → reload → 選語言。貢獻翻譯或排查漏譯時,可參考 README 中的路徑分工:
| 路徑 | 作用 |
|---|---|
cordis.patch.yml |
bundle patch,掛載 locale-ru |
lib/client.js |
生成的瀏覽器側 bundle |
dictionaries/<namespace>.json |
各 namespace 譯文字典 |
tools/install.mjs |
安裝/卸載到指定 profile |
從已安裝的 DSH 構建提取英文對照目錄時:
node tools/extract-reference.cjs "<path-to>/app.asar" .recon/en
node tools/check.mjs --reference .recon/en
開發環境要求:Node.js 20.11+(使用 import.meta.dirname),無其他運行時依賴。
適用場景與注意¶
適合誰
- 需要在 DSH Web/Desktop 界面使用俄語的操作者或演示場景;
- 願意通過社區語言包擴展官方僅 en/zh 的語言集合,並接受與特定 DSH 構建版本綁定的覆蓋範圍。
權限與安全
插件作爲客戶端 bundle 隨 DSH 進程加載,與當前 profile 下的 Harness 權限相同。安裝前應閱讀 GitHub 倉庫 源碼與 MIT 許可證,確認組織策略允許從該來源掛載 bundle。
已知限制(README)
- 僅翻譯構建中帶 dictionary 的字符串;硬編碼在 dictionary 外的文案仍爲英文。
- 複數、語序等不在 locale API 內處理,需拆成獨立鍵(如 «1 задача / 2 задачи»)。
sidebarExcel.language故意保持"en":表格引擎只註冊英文 locale,改爲ru會破壞數字與日期格式。- 覆蓋範圍隨 DSH 版本變化;新版本新增字符串在補譯前顯示英文,
--reference檢查用於發現差異。
結尾¶
dsh_locale_ru 用外部客戶端語言包的方式,爲 DeepSeek Harness 0.2.x 提供完整 namespace 級別的俄語詞典,安裝路徑清晰、可卸載回滾。目錄與源碼可在社區插件頁與 GitHub 查閱: