@ragnoryok1/dsh-client-locale-ru 0.2.18 → 0.2.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,62 @@
1
+ ## [0.2.21] — 2026-10-26
2
+
3
+ ### Добавлено
4
+
5
+ - **Два словаря, которые нашлись после починки распаковки:** `pet.config` — 150
6
+ строк настроек питомца на рабочем столе из `dsh-pet@0.3.8` (анимации, физика,
7
+ персона, уведомления, удаление) и `dshOps` — 48 строк управления оболочками из
8
+ `dsh-ops@0.4.1`. Оба плагина входят в число самых скачиваемых в экосистеме.
9
+
10
+ ### Изменено
11
+
12
+ - Счёт: **589** namespace и **68 425** строк.
13
+
14
+ ## [0.2.20] — 2026-10-26
15
+
16
+ ### Добавлено
17
+
18
+ - **Два словаря из тех, что ищут чаще всего.** `settings.workbuddy` — 423 строки
19
+ настроек подключения к WorkBuddy (учётные записи, кредиты, модели, проверки,
20
+ диагностика) из `dsh-connect-workbuddy@5.10.0`, и `web-search-free` — 124
21
+ строки бесплатного веб-поиска из `dsh-free-search@0.9.15`. Оба плагина
22
+ скачивают 12–14 тысяч раз в неделю, а своих строк на русском у них не было.
23
+
24
+ ### Исправлено
25
+
26
+ - **Крупные архивы снова читаются.** У `dsh-pet` и `dsh-ops` в пакете лежит ещё и
27
+ рантайм (60 МБ у первого), и на Windows `tar` спотыкался о такие записи, роняя
28
+ распаковку целиком — оба плагина оставались нечитаемыми. Теперь из архива
29
+ извлекается только то, где живут словари, а ненулевой код возврата не мешает:
30
+ нужные файлы к этому моменту уже на месте. Как следствие нашлись ещё два
31
+ словаря — `dshOps` (48 строк) и `pet.config` (150 строк); они войдут отдельной
32
+ партией.
33
+
34
+ ### Изменено
35
+
36
+ - Счёт: **587** namespace и **68 227** строк.
37
+
38
+ ## [0.2.19] — 2026-10-25
39
+
40
+ ### Добавлено
41
+
42
+ - **Поддержка харнесса `0.2.1-rc.3`.** Новая секция `entryCustomization` — пять
43
+ строк меню на карточке плагина («Посмотреть другие плагины», «Создать свой
44
+ плагин» и три подсказки для создания) — и семь ключей в уже переведённых
45
+ секциях: `conversation` (другие виды беседы), `sidebar` (кнопка «Ещё»),
46
+ `sidebarRight` («Другие инструменты»), `inspectorPanel` («Свернуть»),
47
+ `permission.access` и `settings.permission`. Пин в двух workflow, заявленная
48
+ совместимость, бейдж и рантайм локали переведены на rc.3.
49
+
50
+ ### Исправлено
51
+
52
+ - **Проверка не видела новых ключей в уже переведённых секциях.** Аудит сравнивал
53
+ только имена namespace: если харнесс добавлял ключ к давно переведённой секции,
54
+ он молчал. На rc.3 так прошли семь ключей — четыре из них нашёл ручной дифф
55
+ файлов локалей, три не нашёл бы и он. Теперь аудит сверяет ключи внутри каждого
56
+ зарегистрированного namespace, печатает английский шаблон рядом с пропуском и
57
+ роняет сборку. Формы числа пропуском не считаются: `.few` и `.many` образуют
58
+ форму там, где харнесс держит `.one`/`.other`.
59
+
1
60
  ## [0.2.18] — 2026-10-24
2
61
 
3
62
  ### Исправлено
package/NAMESPACES.md CHANGED
@@ -1,7 +1,7 @@
1
1
  <!-- Сгенерировано `npm run namespaces`; проверяется `npm run check:namespaces`. -->
2
2
  # Что переведено
3
3
 
4
- Пакет переводит **584 namespace** — 67666 строк. Колонка «как это выглядит»
4
+ Пакет переводит **589 namespace** — 68425 строк. Колонка «как это выглядит»
5
5
  берёт заголовок самого namespace (то, что читает пользователь), а не отдельное описание:
6
6
  список нельзя разойтись с переводами.
7
7
 
@@ -68,7 +68,7 @@
68
68
  | `config-manager` | — | 36 | dsh-config-manager@0.1.79 |
69
69
  | `context-zip` | ContextZip | 39 | dsh-context-zip@0.1.10 |
70
70
  | `contextMemory` | Контекстная память | 48 | dsh-context-memory@0.9.0 |
71
- | `conversation` | — | 379 | харнесс |
71
+ | `conversation` | — | 381 | харнесс |
72
72
  | `conversation-anchors` | Якоря | 23 | @biggerboy123/dsh-conversation-anchors@0.1.21 |
73
73
  | `conversation.session.header.actions` | Подробное использование | 303 | dsh-damage-pulse@4.2.9 |
74
74
  | `cordis` | — | 51 | харнесс |
@@ -140,7 +140,7 @@
140
140
  | `dsh-github-ops` | Работа с GitHub | 146 | @goodandready/dsh-github-ops@0.6.15 |
141
141
  | `dsh-github-router` | — | 39 | dsh-github-router@0.4.1 |
142
142
  | `dsh-goal` | — | 130 | @goodandready/dsh-goal@0.2.33 |
143
- | `dsh-graph.hidden-versions.` | — | 1206 | dsh-graph@0.22.0 |
143
+ | `dsh-graph` | — | 1206 | dsh-graph@0.22.0 |
144
144
  | `dsh-grok-xsearch` | — | 55 | @goodandready/dsh-grok-xsearch@0.3.30 |
145
145
  | `dsh-harmony-bootstrap` | — | 5 | dsh-harmony@0.8.18 |
146
146
  | `dsh-image-gen` | Студия ИИ-изображений | 330 | @goodandready/dsh-image-gen@0.12.9 |
@@ -164,6 +164,7 @@
164
164
  | `dsh-market` | Магазин плагинов | 741 | dshmarket@1.67.0 |
165
165
  | `dsh-mcp-manager-plus` | Серверы MCP | 64 | dsh-mcp-manager-plus@0.4.4 |
166
166
  | `dsh-mcp-market` | — | 49 | dsh-mcp-market@0.1.2 |
167
+ | `dsh-mcp-studio` | — | 111 | dsh-mcp-studio@1.0.6 |
167
168
  | `dsh-message-ops` | — | 57 | @240xu/dsh-message-ops@0.11.1 |
168
169
  | `dsh-messenger-gateway` | Шлюз мессенджеров | 138 | @goodandready/dsh-messenger-gateway@0.4.19 |
169
170
  | `dsh-mineru` | — | 30 | @huanlin/dsh-plugin-mineru@0.4.2 |
@@ -259,6 +260,7 @@
259
260
  | `dshhub-market` | Магазин dshhub.co | 393 | dshhub-market@0.8.60 |
260
261
  | `dshm` | — | 302 | dsh-m@0.10.8 |
261
262
  | `dshmarketplace` | DSH Marketplace | 22 | dshmarketplace-plugin@0.2.0 |
263
+ | `dshOps` | — | 48 | dsh-ops@0.4.1 |
262
264
  | `dshPluginsPlus` | DSH Plus | 2 | @sidleo3/dsh-plugins-plus@0.2.0 |
263
265
  | `dshRemoteExplorer` | Удалённые сессии | 114 | dsh-remote-explorer@0.8.6 |
264
266
  | `dshSidebarPlus` | sidebar.right.tab.document | 1 | dsh-sidebar-plus@0.4.4 |
@@ -267,6 +269,7 @@
267
269
  | `ego-browser` | ego-browser | 81 | dsh-ego-browser@0.9.0 |
268
270
  | `EMPTY_RESPONSE` | — | 194 | dsh-sidenote@0.6.4 |
269
271
  | `engram` | Дворец памяти | 408 | @kenz1117/dsh-engram@0.9.8 |
272
+ | `entryCustomization` | — | 5 | харнесс |
270
273
  | `ERR_UNSAFE_PROFILING_DIRECTORY` | — | 15 | @sagmans/dsh-tui@0.16.0 |
271
274
  | `expertSources` | — | 127 | dsh-expert-orchestrator@2.9.9 |
272
275
  | `fallbacks` | — | 47 | dsh-llm-fallbacks@0.6.8 |
@@ -288,7 +291,6 @@
288
291
  | `global-rules` | Глобальные правила | 12 | dsh-global-rules@0.2.2 |
289
292
  | `goal` | — | 12 | харнесс |
290
293
  | `goodandready-smart-restart` | Сторож перезапуска | 53 | @goodandready/dsh-smart-restart@0.1.14 |
291
- | `h3.internal.event.` | — | 110 | dsh-mcp-studio@1.0.6 |
292
294
  | `harbor-evolution` | — | 62 | dsh-harbor-evolution@0.10.4 |
293
295
  | `harden` | — | 92 | dsh-harden@0.0.2 |
294
296
  | `hardwareMonitor` | — | 18 | dsh-vitals@0.1.15 |
@@ -300,7 +302,7 @@
300
302
  | `image-plugin` | — | 51 | dsh-image-plugins@0.3.5 |
301
303
  | `inline-comments` | — | 15 | dsh-inline-comments@0.1.2 |
302
304
  | `inlineMedia` | — | 12 | @wisdoverse/dsh-inline-media-viewer@1.0.12 |
303
- | `inspectorPanel` | Инспектор Node.js | 4 | харнесс |
305
+ | `inspectorPanel` | Инспектор Node.js | 5 | харнесс |
304
306
  | `instruction-memory` | — | 274 | dsh-instruction-memory@1.4.1 |
305
307
  | `job` | — | 50 | харнесс |
306
308
  | `jobProgress` | — | 20 | dsh-job-progress@1.0.5 |
@@ -348,10 +350,11 @@
348
350
  | `orbit-model` | — | 36 | @kasenri/dsh-orbit@0.6.7 |
349
351
  | `peakIndicator` | — | 12 | dsh-peak-indicator@0.1.32 |
350
352
  | `peakrate-model` | — | 48 | dsh-peakrate@0.3.1 |
351
- | `permission.access` | Права доступа | 20 | харнесс |
353
+ | `permission.access` | Права доступа | 21 | харнесс |
352
354
  | `personaDafeiyu` | Персоны | 81 | dsh-persona-dafeiyu@0.5.0 |
353
355
  | `personalDirective` | Переключение личной директивы | 5 | dsh-personal-directive@0.2.11 |
354
356
  | `pet` | — | 81 | @linxin666/dsh-pet@0.4.8 |
357
+ | `pet.config` | Настройки питомца | 150 | dsh-pet@0.3.8 |
355
358
  | `picturereader` | — | 3 | picturereader@3.3.3 |
356
359
  | `pin` | — | 2 | @vlln/dsh-navbar@0.4.0 |
357
360
  | `plan` | — | 17 | харнесс |
@@ -464,7 +467,7 @@
464
467
  | `settings.openai-codex-auth` | OpenAI Codex | 77 | dsh-openai-codex-auth@0.6.3 |
465
468
  | `settings.opencode-go` | OpenCode Go | 177 | dsh-opencode-go@0.1.24 |
466
469
  | `settings.packyCodeApi` | PackyCode | 230 | dsh-packycode-api@1.3.9 |
467
- | `settings.permission` | Права доступа | 20 | харнесс |
470
+ | `settings.permission` | Права доступа | 21 | харнесс |
468
471
  | `settings.permissionRules` | — | 39 | dsh-permission-rules@0.7.20 |
469
472
  | `settings.pluginCapabilities` | — | 169 | dsh-plugin-capabilities@0.4.1 |
470
473
  | `settings.pluginConsole` | — | 627 | @noob-stupid/dsh-plugin-console@0.5.92 |
@@ -495,13 +498,14 @@
495
498
  | `settings.tokenUsage` | — | 177 | dsh-token-use@0.3.4 |
496
499
  | `settings.trae` | — | 347 | dsh-connect-trae@4.4.0 |
497
500
  | `settings.webSearch` | Веб-поиск | 27 | харнесс |
501
+ | `settings.workbuddy` | — | 423 | dsh-connect-workbuddy@5.10.0 |
498
502
  | `settings.workbuddy-xdpool` | — | 427 | dsh-workbuddy-xdpool@2.0.1 |
499
503
  | `settings.workbuddy2api` | — | 126 | dsh-workbuddy2api@0.6.11 |
500
504
  | `settings.xdpool` | — | 500 | @anyaer/dsh-workbuddy-xdpool@2.3.2 |
501
505
  | `shortcuts` | Горячие клавиши | 56 | харнесс |
502
506
  | `shortcuts.layout` | — | 1 | харнесс |
503
507
  | `shorts.sidebar` | — | 58 | dsh-shorts-wall@1.4.2 |
504
- | `sidebar` | — | 5 | харнесс |
508
+ | `sidebar` | — | 6 | харнесс |
505
509
  | `sidebarBrowser` | — | 26 | харнесс |
506
510
  | `sidebarCodePreview` | Код | 3 | харнесс |
507
511
  | `sidebarDocumentPreview` | — | 22 | харнесс |
@@ -510,7 +514,7 @@
510
514
  | `sidebarImage` | Изображение | 11 | харнесс |
511
515
  | `sidebarOffice` | Документ Office | 15 | харнесс |
512
516
  | `sidebarPdf` | PDF | 15 | харнесс |
513
- | `sidebarRight` | — | 34 | харнесс |
517
+ | `sidebarRight` | — | 35 | харнесс |
514
518
  | `sidebarTerminal` | Терминал | 28 | харнесс |
515
519
  | `skill` | — | 8 | харнесс |
516
520
  | `skill-center` | Центр навыков | 73 | @restregular/dsh-skill-center@0.3.11 |
@@ -580,6 +584,7 @@
580
584
  | `web-fetch-playwright` | — | 29 | dsh-web-fetch-playwright@0.2.12 |
581
585
  | `web-search-aggregation` | — | 38 | dsh-web-search-aggregation@0.1.11 |
582
586
  | `web-search-anysearch` | Служба поиска AnySearch | 23 | @wenqi_bian/dsh-web-search-anysearch@0.2.0-rc.2 |
587
+ | `web-search-free` | — | 125 | dsh-free-search@0.9.15 |
583
588
  | `web-ui-plugins` | Веб-плагины | 14 | @linxin666/dsh-client-ui-web-ui-settings@0.4.8 |
584
589
  | `webSearchEnhanced` | — | 207 | dsh-web-search-enhanced@0.1.10 |
585
590
  | `whale-meter` | — | 59 | dsh-whale-meter@0.1.0 |
@@ -597,4 +602,4 @@
597
602
  | `xrn1997-dsh-novel` | — | 160 | @xrn1997/dsh-novel@0.8.0 |
598
603
  | `zhihu-search` | — | 19 | dsh-zhihu-search@2.2.1 |
599
604
 
600
- Итого: **584** namespace, **67666** строк.
605
+ Итого: **589** namespace, **68425** строк.
package/README-en.md CHANGED
@@ -1,11 +1,11 @@
1
1
  <!-- deepseek-harness-meta
2
2
  {
3
3
  "name": "Russian (ru) language pack for DeepSeek Harness",
4
- "version": "0.2.18",
4
+ "version": "0.2.21",
5
5
  "tags": ["localization", "russian", "i18n", "web-gui", "language-pack"],
6
- "description": "Russian for the DeepSeek Harness web GUI: the whole interface plus the menus of 520 third-party plugins — 584 sections, 67 666 strings.",
6
+ "description": "Russian for the DeepSeek Harness web GUI: the whole interface plus the menus of 520 third-party plugins — 589 sections, 68 425 strings.",
7
7
  "icon": "https://raw.githubusercontent.com/Ragnoryok1/dsh-client-locale-ru/main/assets/icon.png",
8
- "compatible_versions": ["v0.2.1-rc.2", "v0.2.1-rc.1", "v0.2.1-alpha.5", "v0.2.1-alpha.4", "v0.2.1-alpha.3", "v0.2.1-alpha.2", "v0.2.1-alpha.1", "v0.2.0-rc.2", "v0.2.0-rc.1", "v0.1.7-rc.2", "v0.1.7-rc.1", "v0.1.7-alpha.2"],
8
+ "compatible_versions": ["v0.2.1-rc.3", "v0.2.1-rc.2", "v0.2.1-rc.1", "v0.2.1-alpha.5", "v0.2.1-alpha.4", "v0.2.1-alpha.3", "v0.2.1-alpha.2", "v0.2.1-alpha.1", "v0.2.0-rc.2", "v0.2.0-rc.1", "v0.1.7-rc.2", "v0.1.7-rc.1", "v0.1.7-alpha.2"],
9
9
  "screenshots": "images",
10
10
  "install_method": "dsh plugin --profile web add @ragnoryok1/dsh-client-locale-ru"
11
11
  }
@@ -20,13 +20,13 @@
20
20
  [![npm](https://img.shields.io/npm/v/%40ragnoryok1%2Fdsh-client-locale-ru)](https://www.npmjs.com/package/@ragnoryok1/dsh-client-locale-ru)
21
21
  [![license](https://img.shields.io/npm/l/%40ragnoryok1%2Fdsh-client-locale-ru)](LICENSE)
22
22
  [![verify](https://github.com/Ragnoryok1/dsh-client-locale-ru/actions/workflows/verify.yml/badge.svg)](https://github.com/Ragnoryok1/dsh-client-locale-ru/actions/workflows/verify.yml)
23
- [![dsh](https://img.shields.io/badge/dsh-0.2.1--rc.2%2B-6366f1)](https://github.com/deepseek-ai/deepseek-harness)
24
- [![namespaces](https://img.shields.io/badge/namespaces-584-6466f1)](https://github.com/Ragnoryok1/dsh-client-locale-ru)
25
- [![strings](https://img.shields.io/badge/strings-67666-6466f1)](https://github.com/Ragnoryok1/dsh-client-locale-ru)
23
+ [![dsh](https://img.shields.io/badge/dsh-0.2.1--rc.3%2B-6366f1)](https://github.com/deepseek-ai/deepseek-harness)
24
+ [![namespaces](https://img.shields.io/badge/namespaces-589-6466f1)](https://github.com/Ragnoryok1/dsh-client-locale-ru)
25
+ [![strings](https://img.shields.io/badge/strings-68425-6466f1)](https://github.com/Ragnoryok1/dsh-client-locale-ru)
26
26
 
27
27
  The plugin makes the [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) interface Russian. Everything you see is translated: settings, side panels, dialogs, hints, error messages — and the menus of third-party plugins that ship no Russian of their own.
28
28
 
29
- The pack currently holds 584 sections and 67,666 strings, 520 of them dictionaries of third-party plugins — more than any other Russian pack for the harness I could find.
29
+ The pack currently holds 589 sections and 68,425 strings, 520 of them dictionaries of third-party plugins — more than any other Russian pack for the harness I could find.
30
30
 
31
31
  Install is one command: `dsh plugin --profile web add @ragnoryok1/dsh-client-locale-ru`; Russian is then picked in the settings, under General.
32
32
 
@@ -39,7 +39,7 @@ The pack does not modify harness files and does not touch your data. If a newer
39
39
 
40
40
  ---
41
41
 
42
- The complete inventory is in [NAMESPACES.md](NAMESPACES.md): 584 namespaces, 67,666 strings, with the bundled plugin dictionaries marked.
42
+ The complete inventory is in [NAMESPACES.md](NAMESPACES.md): 589 namespaces, 68,425 strings, with the bundled plugin dictionaries marked.
43
43
 
44
44
  Plugins outside the harness tree are translated the same way, but their English text comes from their own publication: `plugins/<namespace>.json` records the package, the version, the licence and the strings extracted from its bundle. What is still English in your installation is shown by `npm run report:plugins`: it walks the profile's `node_modules`, finds each plugin's own dictionary and compares its keys with ours, and a plugin without a dictionary is reported as such — there is nothing to translate until it asks for one.
45
45
 
@@ -107,7 +107,7 @@ two (the message names the version) or drop the `minimumReleaseAge` limit in the
107
107
  settings.
108
108
  The manifest is checked against the harness's own rules rather than by eye (`npm run check:manifest`, part of `verify`). Each rule was read out of the harness sources and each is a failure the user would otherwise meet first: `parseDshClient` accepts `platform` as any string while the consumers keep only `platform === 'web'`, so a typo like `'Web'` would **silently drop** the client half; a declared `dsh.client` without the `./client` export makes `client-modules` throw; and `dsh.bundle.patch` has to point at a file that exists.
109
109
 
110
- Installing from GitHub works too: `dsh plugin --profile web add Ragnoryok1/dsh-client-locale-ru` (the form the plugin catalogue generates, without the npm scope) installs the repository archive, and the built `lib/` is committed — no build runs on your machine, and none is needed. That is exactly why `npm run check:built` (part of `verify`) rebuilds `lib/` and compares it with the commit: a stale bundle in git would reach the user, while the audit would never see it, because the audit reads the sources. The published package is 1976 kB: the banner ships as JPEG, and the icon and source map stay out of the npm payload.
110
+ Installing from GitHub works too: `dsh plugin --profile web add Ragnoryok1/dsh-client-locale-ru` (the form the plugin catalogue generates, without the npm scope) installs the repository archive, and the built `lib/` is committed — no build runs on your machine, and none is needed. That is exactly why `npm run check:built` (part of `verify`) rebuilds `lib/` and compares it with the commit: a stale bundle in git would reach the user, while the audit would never see it, because the audit reads the sources. The published package is 2003 kB: the banner ships as JPEG, and the icon and source map stay out of the npm payload.
111
111
 
112
112
  ## Why hybrid
113
113
 
package/README-zh.md CHANGED
@@ -1,11 +1,11 @@
1
1
  <!-- deepseek-harness-meta
2
2
  {
3
3
  "name": "Russian (ru) language pack for DeepSeek Harness",
4
- "version": "0.2.18",
4
+ "version": "0.2.21",
5
5
  "tags": ["localization", "russian", "i18n", "web-gui", "language-pack"],
6
- "description": "Russian for the DeepSeek Harness web GUI: the whole interface plus the menus of 520 third-party plugins — 584 sections, 67 666 strings.",
6
+ "description": "Russian for the DeepSeek Harness web GUI: the whole interface plus the menus of 520 third-party plugins — 589 sections, 68 425 strings.",
7
7
  "icon": "https://raw.githubusercontent.com/Ragnoryok1/dsh-client-locale-ru/main/assets/icon.png",
8
- "compatible_versions": ["v0.2.1-rc.2", "v0.2.1-rc.1", "v0.2.1-alpha.5", "v0.2.1-alpha.4", "v0.2.1-alpha.3", "v0.2.1-alpha.2", "v0.2.1-alpha.1", "v0.2.0-rc.2", "v0.2.0-rc.1", "v0.1.7-rc.2", "v0.1.7-rc.1", "v0.1.7-alpha.2"],
8
+ "compatible_versions": ["v0.2.1-rc.3", "v0.2.1-rc.2", "v0.2.1-rc.1", "v0.2.1-alpha.5", "v0.2.1-alpha.4", "v0.2.1-alpha.3", "v0.2.1-alpha.2", "v0.2.1-alpha.1", "v0.2.0-rc.2", "v0.2.0-rc.1", "v0.1.7-rc.2", "v0.1.7-rc.1", "v0.1.7-alpha.2"],
9
9
  "screenshots": "images",
10
10
  "install_method": "dsh plugin --profile web add @ragnoryok1/dsh-client-locale-ru"
11
11
  }
@@ -20,13 +20,13 @@
20
20
  [![npm](https://img.shields.io/npm/v/%40ragnoryok1%2Fdsh-client-locale-ru)](https://www.npmjs.com/package/@ragnoryok1/dsh-client-locale-ru)
21
21
  [![license](https://img.shields.io/npm/l/%40ragnoryok1%2Fdsh-client-locale-ru)](LICENSE)
22
22
  [![verify](https://github.com/Ragnoryok1/dsh-client-locale-ru/actions/workflows/verify.yml/badge.svg)](https://github.com/Ragnoryok1/dsh-client-locale-ru/actions/workflows/verify.yml)
23
- [![dsh](https://img.shields.io/badge/dsh-0.2.1--rc.2%2B-6366f1)](https://github.com/deepseek-ai/deepseek-harness)
24
- [![namespaces](https://img.shields.io/badge/namespaces-584-6466f1)](https://github.com/Ragnoryok1/dsh-client-locale-ru)
25
- [![strings](https://img.shields.io/badge/strings-67666-6466f1)](https://github.com/Ragnoryok1/dsh-client-locale-ru)
23
+ [![dsh](https://img.shields.io/badge/dsh-0.2.1--rc.3%2B-6366f1)](https://github.com/deepseek-ai/deepseek-harness)
24
+ [![namespaces](https://img.shields.io/badge/namespaces-589-6466f1)](https://github.com/Ragnoryok1/dsh-client-locale-ru)
25
+ [![strings](https://img.shields.io/badge/strings-68425-6466f1)](https://github.com/Ragnoryok1/dsh-client-locale-ru)
26
26
 
27
27
  插件把 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 的界面变成俄语。你看到的一切都会被翻译:设置、侧边栏、对话框、提示、错误信息——以及没有自带俄语的三方插件菜单。
28
28
 
29
- 目前包里有 584 个分区、67 666 条文案,其中 520 份是第三方插件的词典——比我能找到的任何其他俄语包都多。
29
+ 目前包里有 589 个分区、68 425 条文案,其中 520 份是第三方插件的词典——比我能找到的任何其他俄语包都多。
30
30
 
31
31
  安装只需一条命令:`dsh plugin --profile web add @ragnoryok1/dsh-client-locale-ru`,然后在设置 General 里选择俄语。
32
32
 
@@ -38,7 +38,7 @@
38
38
 
39
39
  ---
40
40
 
41
- 完整清单见 [NAMESPACES.md](NAMESPACES.md):584 个 namespace、67,666 条字符串,随包附带的插件词典单独标注。
41
+ 完整清单见 [NAMESPACES.md](NAMESPACES.md):589 个 namespace、68,425 条字符串,随包附带的插件词典单独标注。
42
42
 
43
43
  harness 树之外的插件用同样的方式翻译,但英文取自它们自己的发布物:`plugins/<namespace>.json` 记录包名、版本、许可证,以及从其 bundle 中提取的字符串。安装里还剩哪些英文,用 `npm run report:plugins` 查看:它遍历 profile 的 `node_modules`,找出每个插件自己的词典并与我们的对照;没有词典的插件会照实标注——在它请求翻译之前无从翻译。
44
44
 
@@ -95,7 +95,7 @@ dsh plugin --profile web add @ragnoryok1/dsh-client-locale-ru
95
95
 
96
96
  清单按 harness 自身的规则检查,而不是靠肉眼(`npm run check:manifest`,包含在 `verify` 中)。每一条规则都取自 harness 源码,每一条都对应一种否则会先落到用户头上的失败:`parseDshClient` 接受任意字符串作为 `platform`,但消费方只保留 `platform === 'web'` 的行,因此写成 `'Web'` 这样的笔误会**悄悄关掉**客户端那一半;声明了 `dsh.client` 却没有 `./client` 导出会让 `client-modules` 抛错;`dsh.bundle.patch` 必须指向确实存在的文件。
97
97
 
98
- 从 GitHub 安装同样可用:`dsh plugin --profile web add Ragnoryok1/dsh-client-locale-ru`(插件目录生成的就是这种不带 npm scope 的写法)安装的是仓库归档,而构建好的 `lib/` 已提交进 git——你的机器上不会运行构建,也不需要运行。正因如此,`npm run check:built`(包含在 `verify` 中)会重新构建 `lib/` 并与提交内容比对:git 里过期的构建产物会直接落到用户手里,而审计看不到它——审计读的是源码。发布的包为 1976 kB:横幅以 JPEG 提供,图标与源码映射不进入 npm 包。
98
+ 从 GitHub 安装同样可用:`dsh plugin --profile web add Ragnoryok1/dsh-client-locale-ru`(插件目录生成的就是这种不带 npm scope 的写法)安装的是仓库归档,而构建好的 `lib/` 已提交进 git——你的机器上不会运行构建,也不需要运行。正因如此,`npm run check:built`(包含在 `verify` 中)会重新构建 `lib/` 并与提交内容比对:git 里过期的构建产物会直接落到用户手里,而审计看不到它——审计读的是源码。发布的包为 2003 kB:横幅以 JPEG 提供,图标与源码映射不进入 npm 包。
99
99
 
100
100
  ## 为什么是混合插件
101
101
 
package/README.md CHANGED
@@ -1,11 +1,11 @@
1
1
  <!-- deepseek-harness-meta
2
2
  {
3
3
  "name": "Russian (ru) language pack for DeepSeek Harness",
4
- "version": "0.2.18",
4
+ "version": "0.2.21",
5
5
  "tags": ["localization", "russian", "i18n", "web-gui", "language-pack"],
6
- "description": "Russian for the DeepSeek Harness web GUI: the whole interface plus the menus of 520 third-party plugins — 584 sections, 67 666 strings.",
6
+ "description": "Russian for the DeepSeek Harness web GUI: the whole interface plus the menus of 520 third-party plugins — 589 sections, 68 425 strings.",
7
7
  "icon": "https://raw.githubusercontent.com/Ragnoryok1/dsh-client-locale-ru/main/assets/icon.png",
8
- "compatible_versions": ["v0.2.1-rc.2", "v0.2.1-rc.1", "v0.2.1-alpha.5", "v0.2.1-alpha.4", "v0.2.1-alpha.3", "v0.2.1-alpha.2", "v0.2.1-alpha.1", "v0.2.0-rc.2", "v0.2.0-rc.1", "v0.1.7-rc.2", "v0.1.7-rc.1", "v0.1.7-alpha.2"],
8
+ "compatible_versions": ["v0.2.1-rc.3", "v0.2.1-rc.2", "v0.2.1-rc.1", "v0.2.1-alpha.5", "v0.2.1-alpha.4", "v0.2.1-alpha.3", "v0.2.1-alpha.2", "v0.2.1-alpha.1", "v0.2.0-rc.2", "v0.2.0-rc.1", "v0.1.7-rc.2", "v0.1.7-rc.1", "v0.1.7-alpha.2"],
9
9
  "screenshots": "images",
10
10
  "install_method": "dsh plugin --profile web add @ragnoryok1/dsh-client-locale-ru"
11
11
  }
@@ -20,13 +20,13 @@
20
20
  [![npm](https://img.shields.io/npm/v/%40ragnoryok1%2Fdsh-client-locale-ru)](https://www.npmjs.com/package/@ragnoryok1/dsh-client-locale-ru)
21
21
  [![license](https://img.shields.io/npm/l/%40ragnoryok1%2Fdsh-client-locale-ru)](LICENSE)
22
22
  [![verify](https://github.com/Ragnoryok1/dsh-client-locale-ru/actions/workflows/verify.yml/badge.svg)](https://github.com/Ragnoryok1/dsh-client-locale-ru/actions/workflows/verify.yml)
23
- [![dsh](https://img.shields.io/badge/dsh-0.2.1--rc.2%2B-6366f1)](https://github.com/deepseek-ai/deepseek-harness)
24
- [![namespaces](https://img.shields.io/badge/namespaces-584-6466f1)](https://github.com/Ragnoryok1/dsh-client-locale-ru)
25
- [![strings](https://img.shields.io/badge/strings-67666-6466f1)](https://github.com/Ragnoryok1/dsh-client-locale-ru)
23
+ [![dsh](https://img.shields.io/badge/dsh-0.2.1--rc.3%2B-6366f1)](https://github.com/deepseek-ai/deepseek-harness)
24
+ [![namespaces](https://img.shields.io/badge/namespaces-589-6466f1)](https://github.com/Ragnoryok1/dsh-client-locale-ru)
25
+ [![strings](https://img.shields.io/badge/strings-68425-6466f1)](https://github.com/Ragnoryok1/dsh-client-locale-ru)
26
26
 
27
27
  Плагин делает интерфейс [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) русским. Переводится всё, что вы видите: настройки, боковые панели, диалоги, подсказки, сообщения об ошибках — и меню сторонних плагинов, у которых нет своего русского перевода.
28
28
 
29
- Сейчас в пакете 584 раздела и 67 666 строк, из них 520 словарей сторонних плагинов — больше, чем у любого другого русского пакета для харнесса, который я смог найти.
29
+ Сейчас в пакете 587 разделов и 68 425 строк, из них 520 словарей сторонних плагинов — больше, чем у любого другого русского пакета для харнесса, который я смог найти.
30
30
 
31
31
  Установка — одна команда: `dsh plugin --profile web add @ragnoryok1/dsh-client-locale-ru`, дальше русский выбирается в настройках, в разделе General.
32
32
 
@@ -39,7 +39,7 @@
39
39
 
40
40
  ---
41
41
 
42
- Полный список переведённого — в [NAMESPACES.md](NAMESPACES.md): 584 namespace, 67 666 строк, словари плагинов помечены отдельно.
42
+ Полный список переведённого — в [NAMESPACES.md](NAMESPACES.md): 589 namespace, 68 425 строк, словари плагинов помечены отдельно.
43
43
 
44
44
  Плагины за пределами дерева харнесса переводятся так же, но их английский текст берётся из собственной публикации: `plugins/<namespace>.json` хранит пакет, версию, лицензию и строки, выгруженные из бандла. Что осталось английским в вашей установке, покажет `npm run report:plugins`: он обходит `node_modules` профиля, находит у каждого плагина его собственный словарь и сверяет ключи с нашими, а плагин без словаря так и помечает — переводить нечего, пока он не спросит перевод.
45
45
 
@@ -106,7 +106,7 @@ dsh plugin --profile web add @ragnoryok1/dsh-client-locale-ru
106
106
  половину; declared `dsh.client` без экспорта `./client` заставляет `client-modules` бросить
107
107
  ошибку; `dsh.bundle.patch` обязан указывать на существующий файл.
108
108
 
109
- Установка из GitHub тоже работает: `dsh plugin --profile web add Ragnoryok1/dsh-client-locale-ru` (в таком виде команду генерирует каталог плагинов, без `@`-скоупа) ставит архив репозитория, а собранный `lib/` лежит в git — сборка на вашей машине не запускается и не требуется. Поэтому `npm run check:built` (входит в `verify`) пересобирает `lib/` и сверяет его с коммитом: устаревший бандл в git иначе получил бы именно пользователь, а аудит этого не увидел бы — он читает исходники. Публикуемый пакет занимает 1976 КБ: баннер отдаётся JPEG, а иконка и карта исходников в npm не входят.
109
+ Установка из GitHub тоже работает: `dsh plugin --profile web add Ragnoryok1/dsh-client-locale-ru` (в таком виде команду генерирует каталог плагинов, без `@`-скоупа) ставит архив репозитория, а собранный `lib/` лежит в git — сборка на вашей машине не запускается и не требуется. Поэтому `npm run check:built` (входит в `verify`) пересобирает `lib/` и сверяет его с коммитом: устаревший бандл в git иначе получил бы именно пользователь, а аудит этого не увидел бы — он читает исходники. Публикуемый пакет занимает 2003 КБ: баннер отдаётся JPEG, а иконка и карта исходников в npm не входят.
110
110
 
111
111
  ## Почему гибрид
112
112