dsh-client-locale-ru
Verified@ragnoryok1/dsh-client-locale-ru · v0.1.6 · MIT · Web UI
Russian (ru) language pack for the dsh web GUI, registered as an external client language
Install
dsh plugin add @ragnoryok1/dsh-client-locale-ru Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Tags
Creators
Readme
@ragnoryok1/dsh-client-locale-ru
In English. Russian (ru) language pack for the DeepSeek Harness web GUI (dsh). It registers ru as a selectable client language through the locale service (ctx.locale.addLanguage) plus one dictionary per namespace — 54 namespaces, 2,387 strings, built against dsh 0.1.7-rc.2. Install with dsh plugin --profile web add @ragnoryok1/dsh-client-locale-ru, then pick Русский in Settings → General. Missing keys fall back to English, so a newer harness keeps working. MIT, community-maintained, not affiliated with DeepSeek. Details below are in Russian.
Как это выглядит
Русский в списке языков и переведённые разделы настроек (снимки сделаны в текущей сборке 0.1.7-alpha.2):


На втором снимке единица счёта показана в том виде, в каком она была в 0.1.4 («187 плагины») — в 0.1.5 исправлено на «187 плагинов».
Русская локаль (ru) для веб-интерфейса DeepSeek Harness (dsh).
Плагин добавляет русский как выбираемый язык через контракт языковых пакетов локали: ctx.locale.addLanguage({ id: 'ru', label: 'Русский', fallback: 'en' }) и по ru-словарю на каждый namespace. После выбора Русский в Settings → General интерфейс переключается сразу.
Установка
Это гибридный плагин (dsh.bundle + dsh.client), поэтому он ставится как обычный профиль-бандл через dsh plugin:
dsh plugin --profile web add @ragnoryok1/dsh-client-locale-ru
Дальше при следующем старте dsh web в настройках появится Русский. Отдельно pnpm add в собранный dsh web не нужен — плагин тянет штатную локаль через сервис locale.
Почему гибрид
dsh web берёт клиентские (UI) плагины только из workspace-пакетов, а внешний npm-пакет с одним dsh.client не подхватывается. Чтобы внешний плагин с UI-частью был устанавливаемым, он должен объявлять dsh.bundle (профиль-слой), чей cordis.patch.yml через - insert: добавляет клиентскую строку locale-ru в браузерный ростер. Так устроены и другие сторонние плагины (например @zseven-w/dsh-android).
Как это работает
- Хост-половина (
lib/index.js) — пустойapply(): языковому плагину не нужна серверная логика, она лишь даёт корректную cordis-строку для Loader. - Браузерная половина (
lib/client.js) — регистрируетruи словари через сервисlocale(инжект изctx). Рантайм-импортов фреймворка нет — только сервис. - Рантайм-зависимостей нет —
lib/client.jsне импортирует другие пакеты, поэтому не тянет тяжёлых зависимостей. - Эффекты — язык и словари регистрируются через
ctx.effect(...), поэтому выгружаются вместе с плагином (HMR-безопасно). - Плюралы — контракт локали не несёт правил плюрализации (нет ICU/
Intl.PluralRules); русские формы задаются по ключу. - Фолбэк — отсутствующий русский ключ падает на
en(настроенныйfallback).
Разработка
pnpm install
pnpm run build # tsdown -> lib/index.js (node half) + lib/client.js (client bundle)
npm pack # -> ragnoryok1-dsh-client-locale-ru-<version>.tgz
lib/client.js собирается в формате, который понимает клиентский загрузчик dsh (__ModuleLoader__.load), и экспортирует inject/apply.
Содержимое
src/client/dicts.ts— русские словари (54 namespace, 2387 ключей, ~2500 строк). Это и есть основная ценность.src/client/index.ts— точка входа клиентского плагина (регистрацияru+ словарей).src/index.ts— пустая host-половина (apply()).cordis.patch.yml— профиль-патч (- insert:клиентской строкиlocale-ru).
Что переведено
Актуальный набор — по тегам харнеса: ключи сняты с профильного коммита, а добавленные
позже падают на en при поиске, поэтому пакет не ломает интерфейс на новых версиях.
В 0.1.2 добавлены разделы, которых не было в 0.1.1: open-in-app («Открыть в
приложении»), sidebarFiles, sidebarRight (правый сайдбар с файлами) и
sidebarCodePreview (предпросмотр кода). Также обновлены ключи, изменившиеся в
харнесе 0.1.5, и удалены 21 ключ, которых в нём больше нет.
В 0.1.3 пакет догнал харнес 0.1.6-alpha.1: добавлено 139 ключей и 7 новых
разделов — sidebarTerminal (терминал в правом сайдбаре), settings.archivedSessions
(архивные сессии) и семейство предпросмотра документов (sidebarDocumentPreview,
documentHtml, sidebarImage, documentMarkdown, sidebarPdf). Кроме этого
переведена экспериментальная «Автопроверка» (permission.access: auto.*),
подписи и токены палитры команд, поля эндпоинтов в настройках моделей и
изменения в conversation, trajectory, chat, session-log-download.
28 ключей, исчезнувших из харнеса, удалены.
Проверка покрытия выполняется по исходникам харнеса: для каждого namespace сравниваются множества ключей, поэтому следующий выпуск начинается с точного списка «добавить / проверить / удалить».
В 0.1.6 пакет догнал харнес 0.1.7-rc.2: добавлено 252 ключа, 18 обновлены, 26 удалены, добавлены два новых namespace. Изменения:
shortcuts(новый namespace, 56 ключей) — редактор горячих клавиш: запись сочетания, конфликты, зарезервированные комбинации, подсказки для macOS и Windows, восстановление значений по умолчанию;schedule.manager(70 ключей) — напоминания переписаны: список, удаление, повтор, история запусков, выражения Cron; прежний namespaceschedule.catalogудалён;settings.account(50 ключей) — первый запуск приложения: приветствие, выбор назначения и глубины показа хода работы, пополнение баланса, выход из учётной записи во время выполнения задач;- добавлены подписи добавления и удаления инструментов на ходу
(
message.tools*,trajectory.layout.*), команды правой боковой панели (sidebarRight), состояния «сначала выберите сессию» в панелях, обновлено название раздела настроек: «Инструменты для кода» вместо «Инструментов разработчика»; - 18 ключей обновлены под изменившийся английский текст, 26 удалены. Единый термин «рабочая папка» вместо «рабочей области» в одном месте.
В 0.1.5 пакет догнал харнес 0.1.7-rc.1: добавлено 49 ключей, 13 обновлены,
16 удалены, namespace directory-browser убран (в rc.1 его больше нет). Появились
подписи шагов работы инструментов (message.stepProcess.prepare.* и done.* —
чтение изображений, запись файлов, подготовка к поиску по коду, веб-поиску,
координации субагентов и другие), просмотр изображений во весь экран
(image.*), режимы показа ходов «Стандартный» и «Подробный», установка плагинов
из GitHub с таймаутом и китайским зеркалом, предупреждение о несовместимой версии
плагина, выбор источника загрузки моделей для голосового ввода и сообщения
команды Cordis. Уточнены формулировки, где upstream заменил «teammate/agent»
на «subagent», а «Beta» — на «Experimental».
Также в 0.1.5 исправлена единица счёта в инвентаре плагинов: было «187 плагины»,
стало «187 плагинов». Переведены и встроенные снимки интерфейса, добавлены npm
keywords и исправлен peer-диапазон @deepseek-ai/dsh-client-locale
(>=0.1.0-rc.2 <0.2.0) — раньше ^0.1.0 не разрешался, потому что пакет
публикуется только под prerelease-версиями.
В 0.1.4 пакет догнал харнес 0.1.7-alpha.2 — самый крупный скачок: добавлено 905 ключей, 29 изменены, 126 удалены. Новые разделы:
pluginManager— встроенная панель плагинов: установка, удаление, включение и отключение компонентов, версии, реестры и подсказки по установке;settings.account— учётная запись DeepSeek: вход, баланс, расход, API-ключ;- отдельные разделы настроек, на которые разъехался прежний
settings.plugins:settings.agentLoop,settings.shell,settings.subagent,settings.webSearch; sidebarBrowser— встроенный браузер в правой панели (адрес, песочница, восстановление страницы);sidebarExcelиsidebarOffice— предпросмотр таблиц и документов Office; масштабирование (zoom.*) добавлено в PDF и изображения;voice-input— экспериментальный голосовой ввод.
Также переведены новые тексты в conversation (+194), chat (+53),
workspace (+43: архив сессий, закрепление), deliverables (+31: обзор
изменений хода), job (+24: живой вывод фоновых задач), settings (+22:
обновление десктопного приложения), plan, open-in-app, trajectory,
model, reference, session-log-download и в руководствах по режимам
агента (settings.agentPreset, 12 длинных текстов). Раздел
settings.archivedSessions удалён: в 0.1.7 upstream убрал этот пакет, а архив
сессий переехал в workspace.
Лицензия
MIT