@ragnoryok1/dsh-client-locale-ru 0.2.20 → 0.2.22

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,43 @@
1
+ ## [0.2.22] — 2026-10-28
2
+
3
+ ### Добавлено
4
+
5
+ - **Харнесс 0.2.2-alpha.2: девять новых секций — 745 строк.** `liveshare` (224),
6
+ `forgePanel` (199), `stats` (177), `creationRecommendations` (55),
7
+ `cuaPermissions` (49), `pluginRecommendations` (25), `actionCards` (14),
8
+ `fileDrag` и `messageQuotes` (по 1). Плюс 108 новых ключей в уже переведённых
9
+ секциях: версии и обновления в `pluginManager` (69), `chat`, `conversation`,
10
+ `question`, `pluginMarket`, `voice-input` и других.
11
+
12
+ ### Исправлено
13
+
14
+ - **Аудит больше не путает русское с английским.** Проверка «значение совпадает с
15
+ английским шаблоном» собирала шаблоны по одному ключу из любого файла дерева. У
16
+ 0.2.2 в нём появились русские словари приложения и установщика, и наши же
17
+ значения совпадали с ними: 2 368 ложных находок, за которыми настоящие было не
18
+ видно. Теперь шаблон с кириллицей в набор не попадает — осталось три настоящих.
19
+ - **Убраны мусорные секции** (93 строки), названные как файлы: `.runs.json`,
20
+ `.ndjson.zst`, `deepseek-model-label-1017`, `permission.access`, — и девять
21
+ ключей, которых в 0.2.2 больше нет.
22
+ - Добавлена пара форм числа `toast.cleared`, которой не хватало.
23
+
24
+ ### Изменено
25
+
26
+ - Счёт: **594** namespace и **69 177** строк.
27
+
28
+ ## [0.2.21] — 2026-10-26
29
+
30
+ ### Добавлено
31
+
32
+ - **Два словаря, которые нашлись после починки распаковки:** `pet.config` — 150
33
+ строк настроек питомца на рабочем столе из `dsh-pet@0.3.8` (анимации, физика,
34
+ персона, уведомления, удаление) и `dshOps` — 48 строк управления оболочками из
35
+ `dsh-ops@0.4.1`. Оба плагина входят в число самых скачиваемых в экосистеме.
36
+
37
+ ### Изменено
38
+
39
+ - Счёт: **589** namespace и **68 425** строк.
40
+
1
41
  ## [0.2.20] — 2026-10-26
2
42
 
3
43
  ### Добавлено
package/NAMESPACES.md CHANGED
@@ -1,7 +1,7 @@
1
1
  <!-- Сгенерировано `npm run namespaces`; проверяется `npm run check:namespaces`. -->
2
2
  # Что переведено
3
3
 
4
- Пакет переводит **587 namespace** — 68227 строк. Колонка «как это выглядит»
4
+ Пакет переводит **594 namespace** — 69177 строк. Колонка «как это выглядит»
5
5
  берёт заголовок самого namespace (то, что читает пользователь), а не отдельное описание:
6
6
  список нельзя разойтись с переводами.
7
7
 
@@ -12,9 +12,8 @@
12
12
 
13
13
  | namespace | как это выглядит | строк | источник |
14
14
  |---|---|---|---|
15
- | `.ndjson.zst` | Английская страница (USD) | 2 | dsh-usage-badge@0.1.9 |
16
- | `.runs.json` | Название | 70 | dsh-tongflow@0.8.4 |
17
15
  | `about.huaqiu` | О плагине | 9 | @huaqiu/dsh-huaqiu-about@0.6.6 |
16
+ | `actionCards` | — | 14 | харнесс |
18
17
  | `agency` | — | 94 | @michengai/dsh-agency-agents@1.2.10 |
19
18
  | `agent-community` | Bots团队 | 1 | @dsh-plugin-agent-community/ui-agent-community@0.3.9 |
20
19
  | `agent-schedule` | tool.call.toolview | 61 | dsh-agent-toolkit@0.4.13 |
@@ -28,7 +27,7 @@
28
27
  | `ai4scholar` | AI4Scholar | 38 | dsh-ai4scholar@0.3.8 |
29
28
  | `anet` | ANet | 49 | @sleep2agi/dsh-anet@0.1.0-preview.34 |
30
29
  | `apiDashboard` | 哦鲸鲸 | 166 | dsh-api-dashboard@1.7.0 |
31
- | `approval` | — | 5 | харнесс |
30
+ | `approval` | — | 7 | харнесс |
32
31
  | `approval-review` | Журнал согласований | 43 | dsh-approval-review@0.6.4 |
33
32
  | `approvalVoice` | Голосовые уведомления о подтверждениях | 18 | dsh-approval-voice@0.3.0 |
34
33
  | `archive-manager` | Менеджер архива | 35 | @mlgbnb/dsh-archive-manager@1.0.10 |
@@ -51,7 +50,7 @@
51
50
  | `catppuccin` | — | 85 | @nonamelego/dsh-catppuccin@0.6.4 |
52
51
  | `chaos` | — | 239 | @hanxuanliang/dsh-chaos@0.1.2 |
53
52
  | `chart` | — | 7 | dsh-ab-chart@0.1.19 |
54
- | `chat` | — | 200 | харнесс |
53
+ | `chat` | — | 204 | харнесс |
55
54
  | `chat-timeline` | — | 7 | dsh-chat-timeline@0.1.5 |
56
55
  | `claude-code-mods` | — | 4 | харнесс |
57
56
  | `clawock` | — | 459 | clawock-dsh@0.4.0 |
@@ -68,7 +67,7 @@
68
67
  | `config-manager` | — | 36 | dsh-config-manager@0.1.79 |
69
68
  | `context-zip` | ContextZip | 39 | dsh-context-zip@0.1.10 |
70
69
  | `contextMemory` | Контекстная память | 48 | dsh-context-memory@0.9.0 |
71
- | `conversation` | — | 381 | харнесс |
70
+ | `conversation` | — | 382 | харнесс |
72
71
  | `conversation-anchors` | Якоря | 23 | @biggerboy123/dsh-conversation-anchors@0.1.21 |
73
72
  | `conversation.session.header.actions` | Подробное использование | 303 | dsh-damage-pulse@4.2.9 |
74
73
  | `cordis` | — | 51 | харнесс |
@@ -76,12 +75,13 @@
76
75
  | `costTrack` | Стоимость | 34 | dsh-cost-track@0.6.1 |
77
76
  | `cotTranslation` | — | 32 | харнесс |
78
77
  | `cpa-panel` | — | 126 | dsh-cpa-switch@0.18.1 |
78
+ | `creationRecommendations` | Персональные страницы | 55 | харнесс |
79
+ | `cuaPermissions` | Разрешить управление компьютером | 49 | харнесс |
79
80
  | `cursor-effect` | — | 13 | dsh-smooth-cursor-patched@0.1.9-patched.6 |
80
81
  | `custom-headers` | — | 31 | dsh-custom-headers@0.3.0 |
81
82
  | `daruma` | — | 28 | dsh-daruma@0.1.10 |
82
- | `deepseek-model-label-1017` | — | 1 | харнесс |
83
83
  | `delegateRouter` | shell.overlay | 1 | dsh-delegate-router@0.4.5 |
84
- | `deliverables` | — | 60 | харнесс |
84
+ | `deliverables` | — | 57 | харнесс |
85
85
  | `desktop-launcher` | — | 47 | @linxin666/dsh-desktop-launcher@0.3.13 |
86
86
  | `devDashboard` | Dev Dashboard | 4 | dsh-plugin-control-your-development@0.6.2 |
87
87
  | `diff-stat` | — | 23 | dsh-diff-stat@0.1.9 |
@@ -260,6 +260,7 @@
260
260
  | `dshhub-market` | Магазин dshhub.co | 393 | dshhub-market@0.8.60 |
261
261
  | `dshm` | — | 302 | dsh-m@0.10.8 |
262
262
  | `dshmarketplace` | DSH Marketplace | 22 | dshmarketplace-plugin@0.2.0 |
263
+ | `dshOps` | — | 48 | dsh-ops@0.4.1 |
263
264
  | `dshPluginsPlus` | DSH Plus | 2 | @sidleo3/dsh-plugins-plus@0.2.0 |
264
265
  | `dshRemoteExplorer` | Удалённые сессии | 114 | dsh-remote-explorer@0.8.6 |
265
266
  | `dshSidebarPlus` | sidebar.right.tab.document | 1 | dsh-sidebar-plus@0.4.4 |
@@ -275,8 +276,10 @@
275
276
  | `feedback` | — | 20 | харнесс |
276
277
  | `feishu-assistant` | Ассистент Feishu | 52 | dsh-feishu-assistant@0.2.0 |
277
278
  | `file-review` | — | 71 | dsh-file-review@0.8.10 |
279
+ | `fileDrag` | — | 1 | харнесс |
278
280
  | `fileExplorer` | — | 79 | @jaxzhou/dsh-file-explorer@0.1.11 |
279
281
  | `foldPositions` | — | 481 | billion-context@0.1.202 |
282
+ | `forgePanel` | — | 199 | харнесс |
280
283
  | `formatforge` | — | 22 | @tianbuyu-wwx/dsh-formatforge@3.0.0 |
281
284
  | `free-proxy` | — | 88 | dsh-freeroute@0.10.3 |
282
285
  | `genui` | — | 77 | dsh-plugin-genui@0.15.1 |
@@ -310,6 +313,7 @@
310
313
  | `liang.skin` | — | 5 | dsh-client-liang-intensity-skin@0.1.6 |
311
314
  | `liangshen` | — | 42 | @linxin666/dsh-liangshen@0.4.8 |
312
315
  | `liao-sidebar-organizer` | Название ссылки | 43 | dsh-liao-sidebar@0.2.6 |
316
+ | `liveshare` | — | 225 | харнесс |
313
317
  | `llm-qoder` | — | 168 | @eghrhegpe/dsh-connect-qoder@0.7.5 |
314
318
  | `llm-verifier` | — | 344 | dsh-llm-verifier@0.10.1 |
315
319
  | `local.vcs` | Изменения VCS | 260 | @feng0531/dsh-vcs@0.4.10 |
@@ -322,6 +326,7 @@
322
326
  | `memory-porter` | — | 83 | dsh-memory-porter@0.1.0 |
323
327
  | `meow-cachebilling` | — | 2 | meow-cachebilling@0.8.0 |
324
328
  | `meow-memory` | — | 92 | meow-memory@0.31.1 |
329
+ | `messageQuotes` | — | 1 | харнесс |
325
330
  | `michengai.codexUi` | — | 293 | @michengai/dsh-codex-ui@1.1.47 |
326
331
  | `mimo` | — | 4 | dsh-mimo-connect@0.3.5 |
327
332
  | `misakanet.panel.density.v1` | — | 149 | misakanet@2.48.0 |
@@ -343,23 +348,24 @@
343
348
  | `office-ppt` | — | 63 | dsh-workbuddy-ppt@0.1.0 |
344
349
  | `om-compaction` | — | 84 | dsh-plugin-om@0.0.61 |
345
350
  | `oomol.settings` | Подключения OOMOL | 71 | dsh-oomol@1.0.0 |
346
- | `open-in-app` | — | 45 | харнесс |
351
+ | `open-in-app` | — | 47 | харнесс |
347
352
  | `opencodeFree` | Видимость моделей | 53 | dsh-opencode-free@0.3.7 |
348
353
  | `openrouter-providers` | — | 55 | dsh-openrouter-providers@1.6.0 |
349
354
  | `orbit-model` | — | 36 | @kasenri/dsh-orbit@0.6.7 |
350
355
  | `peakIndicator` | — | 12 | dsh-peak-indicator@0.1.32 |
351
356
  | `peakrate-model` | — | 48 | dsh-peakrate@0.3.1 |
352
- | `permission.access` | Права доступа | 21 | харнесс |
353
357
  | `personaDafeiyu` | Персоны | 81 | dsh-persona-dafeiyu@0.5.0 |
354
358
  | `personalDirective` | Переключение личной директивы | 5 | dsh-personal-directive@0.2.11 |
355
359
  | `pet` | — | 81 | @linxin666/dsh-pet@0.4.8 |
360
+ | `pet.config` | Настройки питомца | 150 | dsh-pet@0.3.8 |
356
361
  | `picturereader` | — | 3 | picturereader@3.3.3 |
357
362
  | `pin` | — | 2 | @vlln/dsh-navbar@0.4.0 |
358
- | `plan` | — | 17 | харнесс |
363
+ | `plan` | — | 16 | харнесс |
359
364
  | `plugin-store` | — | 77 | dsh-plugins-store@0.1.4 |
360
365
  | `plugin.intellijMcp` | IntelliJ IDEA MCP | 36 | dsh-intellij-mcp@1.0.5 |
361
- | `pluginManager` | Плагины | 227 | харнесс |
362
- | `pluginMarket` | Обзор плагинов | 78 | харнесс |
366
+ | `pluginManager` | Плагины | 294 | харнесс |
367
+ | `pluginMarket` | Обзор плагинов | 87 | харнесс |
368
+ | `pluginRecommendations` | Рекомендуемый плагин | 25 | харнесс |
363
369
  | `pluginTopology` | Топология плагинов | 82 | @sleetdrop/dsh-plugin-topology@0.9.0 |
364
370
  | `pocketMobileNav` | 📱 Доступ с телефона | 96 | dsh-pocket@2.12.0 |
365
371
  | `power.button` | — | 39 | dsh-power-xc@0.1.6 |
@@ -392,20 +398,20 @@
392
398
  | `russian-lang` | — | 95 | @goodandready/dsh-russian-lang@0.4.5 |
393
399
  | `schedule-attention-enhancer` | plugins.detail.section | 1 | @stolyarovmn/dsh-client-ui-schedule-tab@0.8.0 |
394
400
  | `schedule.catalog` | — | 90 | харнесс |
395
- | `schedule.manager` | Задачи автоматизации | 207 | харнесс |
401
+ | `schedule.manager` | Задачи автоматизации | 209 | харнесс |
396
402
  | `searchPool` | Пул поиска | 56 | dsh-search-failover@0.3.23 |
397
403
  | `secretMask` | — | 2 | харнесс |
398
404
  | `select-quote` | — | 32 | dsh-select-quote@0.3.9 |
399
405
  | `session-colorful-unread-pin-jobs` | — | 12 | dsh-session-colorful-unread-pin-jobs@2.0.0 |
400
406
  | `session-complete-notify` | Пример сессии | 107 | @telosmaylx/dsh-session-notify@0.1.23 |
401
407
  | `session-inspector` | — | 52 | харнесс |
402
- | `session-log-download` | — | 10 | харнесс |
408
+ | `session-log-download` | — | 14 | харнесс |
403
409
  | `session-manager` | — | 283 | dsh-session-manager@0.7.5 |
404
410
  | `session-title-pattern` | — | 39 | dsh-session-title-pattern@0.8.9 |
405
411
  | `sessionColor` | — | 17 | @idoall/dsh-session-colors@0.1.11 |
406
412
  | `sessionGraph` | — | 288 | @benz-ai-x/dsh-research-graph@0.1.5-rc.1 |
407
413
  | `sessions` | — | 399 | dsh-plugin-ideas-manager@0.10.3 |
408
- | `settings` | Настройки | 41 | харнесс |
414
+ | `settings` | Настройки | 42 | харнесс |
409
415
  | `settings-search-v5` | Настройки | 145 | @objectivex666/dsh-settings-search@1.14.0 |
410
416
  | `settings.account` | Учётная запись | 94 | харнесс |
411
417
  | `settings.acp` | — | 95 | @zaimokuza/dsh-acp-adapter@0.1.0-rc.10 |
@@ -456,7 +462,7 @@
456
462
  | `settings.model-capability` | — | 170 | dsh-plugin-model-capability@1.4.0 |
457
463
  | `settings.modelContextCatalog` | Контекстные окна моделей | 88 | dsh-model-context-catalog@0.5.0 |
458
464
  | `settings.modelProxy` | Прокси моделей | 77 | dsh-plugin-model-proxy@0.1.6 |
459
- | `settings.models` | Модели | 134 | харнесс |
465
+ | `settings.models` | Модели | 137 | харнесс |
460
466
  | `settings.modelVisibility` | Видимость моделей | 16 | dsh-model-visibility@0.2.1 |
461
467
  | `settings.multi2api` | Аккаунты Multi2API | 78 | dsh-multi2api@0.1.9 |
462
468
  | `settings.neu` | — | 5 | dsh-neu-theme@0.1.2 |
@@ -503,7 +509,7 @@
503
509
  | `shortcuts` | Горячие клавиши | 56 | харнесс |
504
510
  | `shortcuts.layout` | — | 1 | харнесс |
505
511
  | `shorts.sidebar` | — | 58 | dsh-shorts-wall@1.4.2 |
506
- | `sidebar` | — | 6 | харнесс |
512
+ | `sidebar` | — | 7 | харнесс |
507
513
  | `sidebarBrowser` | — | 26 | харнесс |
508
514
  | `sidebarCodePreview` | Код | 3 | харнесс |
509
515
  | `sidebarDocumentPreview` | — | 22 | харнесс |
@@ -525,6 +531,7 @@
525
531
  | `smoothStream.chat` | — | 2 | dsh-smooth-stream@0.7.0 |
526
532
  | `solution-explorer` | — | 194 | dsh-solution-explorer@1.0.2 |
527
533
  | `sse` | OpenAI Codex OAuth | 2 | @jcy2387/dsh-codex-provider@0.1.7-rc.2.1 |
534
+ | `stats` | — | 177 | харнесс |
528
535
  | `status-rotator` | — | 4 | dsh-status-rotator@0.37.0 |
529
536
  | `stepTrace` | Трассировка шагов | 31 | dsh-step-trace@0.6.1 |
530
537
  | `style` | — | 3 | dsh-output-styles@0.8.1 |
@@ -552,7 +559,7 @@
552
559
  | `traceCompare` | Maze | 10 | dsh-maze@2.4.0 |
553
560
  | `tracescope` | — | 611 | @rebornace/dsh-tracescope@0.3.5 |
554
561
  | `tradeSearch` | — | 15 | dsh-ab-market-research@0.2.12 |
555
- | `trajectory` | — | 196 | харнесс |
562
+ | `trajectory` | — | 199 | харнесс |
556
563
  | `trust` | — | 246 | dsh-trust-check@0.2.4 |
557
564
  | `ui-background` | — | 30 | deepseek-harness-background@0.6.1 |
558
565
  | `ui-enhancer` | — | 120 | dsh-ui-enhancer@0.2.0 |
@@ -574,7 +581,7 @@
574
581
  | `viewManager` | Менеджер вкладок представлений | 41 | dsh-view-manager@0.2.2 |
575
582
  | `vision` | — | 35 | dsh-vision-web@0.1.0 |
576
583
  | `vision-recognizer` | — | 33 | dsh-vision-recognizer@0.2.0 |
577
- | `voice-input` | — | 109 | харнесс |
584
+ | `voice-input` | — | 114 | харнесс |
578
585
  | `voice-mode` | — | 250 | dsh-voice-mode@0.7.28 |
579
586
  | `w2m.target` | — | 22 | @twinsearth/w2m-dsh-plugin@1.4.3 |
580
587
  | `wallpaper-engine` | — | 987 | dsh-plugin-wallpaper-engine@1.4.0 |
@@ -600,4 +607,4 @@
600
607
  | `xrn1997-dsh-novel` | — | 160 | @xrn1997/dsh-novel@0.8.0 |
601
608
  | `zhihu-search` | — | 19 | dsh-zhihu-search@2.2.1 |
602
609
 
603
- Итого: **587** namespace, **68227** строк.
610
+ Итого: **594** namespace, **69177** строк.
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.20",
4
+ "version": "0.2.22",
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 — 587 sections, 68 227 strings.",
6
+ "description": "Russian for the DeepSeek Harness web GUI: the whole interface plus the menus of 520 third-party plugins — 594 sections, 69 177 strings.",
7
7
  "icon": "https://raw.githubusercontent.com/Ragnoryok1/dsh-client-locale-ru/main/assets/icon.png",
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"],
8
+ "compatible_versions": ["v0.2.2-alpha.2", "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.3%2B-6366f1)](https://github.com/deepseek-ai/deepseek-harness)
24
- [![namespaces](https://img.shields.io/badge/namespaces-587-6466f1)](https://github.com/Ragnoryok1/dsh-client-locale-ru)
25
- [![strings](https://img.shields.io/badge/strings-68227-6466f1)](https://github.com/Ragnoryok1/dsh-client-locale-ru)
23
+ [![dsh](https://img.shields.io/badge/dsh-0.2.2--alpha.2%2B-6366f1)](https://github.com/deepseek-ai/deepseek-harness)
24
+ [![namespaces](https://img.shields.io/badge/namespaces-594-6466f1)](https://github.com/Ragnoryok1/dsh-client-locale-ru)
25
+ [![strings](https://img.shields.io/badge/strings-69177-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 587 sections and 68,227 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 594 sections and 69,177 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): 587 namespaces, 68,227 strings, with the bundled plugin dictionaries marked.
42
+ The complete inventory is in [NAMESPACES.md](NAMESPACES.md): 594 namespaces, 69,177 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 1996 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 2019 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.20",
4
+ "version": "0.2.22",
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 — 587 sections, 68 227 strings.",
6
+ "description": "Russian for the DeepSeek Harness web GUI: the whole interface plus the menus of 520 third-party plugins — 594 sections, 69 177 strings.",
7
7
  "icon": "https://raw.githubusercontent.com/Ragnoryok1/dsh-client-locale-ru/main/assets/icon.png",
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"],
8
+ "compatible_versions": ["v0.2.2-alpha.2", "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.3%2B-6366f1)](https://github.com/deepseek-ai/deepseek-harness)
24
- [![namespaces](https://img.shields.io/badge/namespaces-587-6466f1)](https://github.com/Ragnoryok1/dsh-client-locale-ru)
25
- [![strings](https://img.shields.io/badge/strings-68227-6466f1)](https://github.com/Ragnoryok1/dsh-client-locale-ru)
23
+ [![dsh](https://img.shields.io/badge/dsh-0.2.2--alpha.2%2B-6366f1)](https://github.com/deepseek-ai/deepseek-harness)
24
+ [![namespaces](https://img.shields.io/badge/namespaces-594-6466f1)](https://github.com/Ragnoryok1/dsh-client-locale-ru)
25
+ [![strings](https://img.shields.io/badge/strings-69177-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
- 目前包里有 587 个分区、68 227 条文案,其中 520 份是第三方插件的词典——比我能找到的任何其他俄语包都多。
29
+ 目前包里有 594 个分区、69 177 条文案,其中 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):587 个 namespace、68,227 条字符串,随包附带的插件词典单独标注。
41
+ 完整清单见 [NAMESPACES.md](NAMESPACES.md):594 个 namespace、69,177 条字符串,随包附带的插件词典单独标注。
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 里过期的构建产物会直接落到用户手里,而审计看不到它——审计读的是源码。发布的包为 1996 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 里过期的构建产物会直接落到用户手里,而审计看不到它——审计读的是源码。发布的包为 2019 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.20",
4
+ "version": "0.2.22",
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 — 587 sections, 68 227 strings.",
6
+ "description": "Russian for the DeepSeek Harness web GUI: the whole interface plus the menus of 520 third-party plugins — 594 sections, 69 177 strings.",
7
7
  "icon": "https://raw.githubusercontent.com/Ragnoryok1/dsh-client-locale-ru/main/assets/icon.png",
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"],
8
+ "compatible_versions": ["v0.2.2-alpha.2", "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.3%2B-6366f1)](https://github.com/deepseek-ai/deepseek-harness)
24
- [![namespaces](https://img.shields.io/badge/namespaces-587-6466f1)](https://github.com/Ragnoryok1/dsh-client-locale-ru)
25
- [![strings](https://img.shields.io/badge/strings-68227-6466f1)](https://github.com/Ragnoryok1/dsh-client-locale-ru)
23
+ [![dsh](https://img.shields.io/badge/dsh-0.2.2--alpha.2%2B-6366f1)](https://github.com/deepseek-ai/deepseek-harness)
24
+ [![namespaces](https://img.shields.io/badge/namespaces-594-6466f1)](https://github.com/Ragnoryok1/dsh-client-locale-ru)
25
+ [![strings](https://img.shields.io/badge/strings-69177-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
- Сейчас в пакете 587 разделов и 68 227 строк, из них 520 словарей сторонних плагинов — больше, чем у любого другого русского пакета для харнесса, который я смог найти.
29
+ Сейчас в пакете 587 разделов и 69 177 строк, из них 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): 587 namespace, 68 227 строк, словари плагинов помечены отдельно.
42
+ Полный список переведённого — в [NAMESPACES.md](NAMESPACES.md): 594 namespace, 69 177 строк, словари плагинов помечены отдельно.
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 иначе получил бы именно пользователь, а аудит этого не увидел бы — он читает исходники. Публикуемый пакет занимает 1996 КБ: баннер отдаётся JPEG, а иконка и карта исходников в npm не входят.
109
+ Установка из GitHub тоже работает: `dsh plugin --profile web add Ragnoryok1/dsh-client-locale-ru` (в таком виде команду генерирует каталог плагинов, без `@`-скоупа) ставит архив репозитория, а собранный `lib/` лежит в git — сборка на вашей машине не запускается и не требуется. Поэтому `npm run check:built` (входит в `verify`) пересобирает `lib/` и сверяет его с коммитом: устаревший бандл в git иначе получил бы именно пользователь, а аудит этого не увидел бы — он читает исходники. Публикуемый пакет занимает 2019 КБ: баннер отдаётся JPEG, а иконка и карта исходников в npm не входят.
110
110
 
111
111
  ## Почему гибрид
112
112