GooDAnDReaDY/dsh-russian-lang0

@goodandready/dsh-russian-lang

Russian localization for the DeepSeek Harness web UI: ru dictionaries for core namespaces plus a language switch in Settings - General.

包名
@goodandready/dsh-russian-lang
版本
0.1.0
许可证
MIT
最近更新
2026年8月23日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:GooDAnDReaDY/dsh-russian-lang

@goodandready/dsh-russian-lang

Русская локализация веб-интерфейса DeepSeek Harness.

Что делает

  • Регистрирует русские словари для namespace'ов ядра (common, conversation, settings, settings.models, workspace, subagent, reference и другие — 30 namespace'ов ядра), а также для ряда популярных плагинов (dsh-market, better-sidebar, task-board, im-hub и другие).
  • Добавляет «Русский» третьей позицией в родной список языков (Настройки → Общие → Язык). Выбор сохраняется штатным механизмом настроек DSH и переживает браузеры.
  • Синхронизирует `` при активном русском.

Непереведённые ключи показываются по-английски (штатный fallback ядра), пустых мест в интерфейсе не появляется.

Как это работает

Реестр локалей живёт в браузере: плагин докладывает русские словари в чужие namespace'ы через ctx.locale.register(ns, 'ru', dict) — конфликт возможен только если пара (namespace, язык) уже занята, а ru не занимает никто.

Список языков штатного селектора (Настройки → Общие → Язык) живёт в snapshot локаль-runtime; меню строится из него, и setLocale() валидирует выбор по нему же. Если ядро не знает ru, плагин расширяет snapshot пунктом «Русский» — файлы ядра не правятся. Запись выбора в настройки идёт через собственный namespace russianLang (хост-схема ядра знает только zh/en). Если ядро когда-нибудь узнает ru само, расширение не происходит и всё работает штатно.

Ничего в установке DSH не патчится; удаление плагина полностью возвращает интерфейс к исходному состоянию.

Установка

dsh plugin --profile web add @goodandready/dsh-russian-lang

Затем: Настройки → Общие → Язык → «Русский».

Обновление перевода после релизов DSH

Словари — источник истины (ru/*.json — ядро, ru-plugins/*.json — сторонние плагины). После обновления dsh извлеките английские оригиналы из бандлов, сверьте покрытие и перегенерируйте клиентский бандл:

python3 extract-dicts.py 
/node_modules   # обновить *-en.json
python3 check-coverage.py                         # что не переведено / устарело
python3 build.py                                  # собрать lib/client.js

Ограничения

  • Переводится только веб-интерфейс. Описания тулов и системные промпты агента — не locale, плагин их не трогает.
  • Плагины, которые рисуют текст инлайном без locale-слотов, не переводятся (словари для известных плагинов с locale.register включены).

Лицензия

MIT