dsh_locale_ru:爲 DeepSeek Harness 註冊俄語界面

前言

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 順序操作:

  1. 若 Desktop profile 啓用了 HMR,composition 會熱重建;
  2. 重新加載頁面,讓瀏覽器拿到包含語言 bundle 的新 window.__DSH_BOOT__;
  3. 打開 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 查閱:

羽毛球分组比赛记分
小程序二维码

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

小夜