@ragnoryok1/dsh-client-locale-ru 0.2.21 → 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,30 @@
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
+
1
28
  ## [0.2.21] — 2026-10-26
2
29
 
3
30
  ### Добавлено
package/NAMESPACES.md CHANGED
@@ -1,7 +1,7 @@
1
1
  <!-- Сгенерировано `npm run namespaces`; проверяется `npm run check:namespaces`. -->
2
2
  # Что переведено
3
3
 
4
- Пакет переводит **589 namespace** — 68425 строк. Колонка «как это выглядит»
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 |
@@ -276,8 +276,10 @@
276
276
  | `feedback` | — | 20 | харнесс |
277
277
  | `feishu-assistant` | Ассистент Feishu | 52 | dsh-feishu-assistant@0.2.0 |
278
278
  | `file-review` | — | 71 | dsh-file-review@0.8.10 |
279
+ | `fileDrag` | — | 1 | харнесс |
279
280
  | `fileExplorer` | — | 79 | @jaxzhou/dsh-file-explorer@0.1.11 |
280
281
  | `foldPositions` | — | 481 | billion-context@0.1.202 |
282
+ | `forgePanel` | — | 199 | харнесс |
281
283
  | `formatforge` | — | 22 | @tianbuyu-wwx/dsh-formatforge@3.0.0 |
282
284
  | `free-proxy` | — | 88 | dsh-freeroute@0.10.3 |
283
285
  | `genui` | — | 77 | dsh-plugin-genui@0.15.1 |
@@ -311,6 +313,7 @@
311
313
  | `liang.skin` | — | 5 | dsh-client-liang-intensity-skin@0.1.6 |
312
314
  | `liangshen` | — | 42 | @linxin666/dsh-liangshen@0.4.8 |
313
315
  | `liao-sidebar-organizer` | Название ссылки | 43 | dsh-liao-sidebar@0.2.6 |
316
+ | `liveshare` | — | 225 | харнесс |
314
317
  | `llm-qoder` | — | 168 | @eghrhegpe/dsh-connect-qoder@0.7.5 |
315
318
  | `llm-verifier` | — | 344 | dsh-llm-verifier@0.10.1 |
316
319
  | `local.vcs` | Изменения VCS | 260 | @feng0531/dsh-vcs@0.4.10 |
@@ -323,6 +326,7 @@
323
326
  | `memory-porter` | — | 83 | dsh-memory-porter@0.1.0 |
324
327
  | `meow-cachebilling` | — | 2 | meow-cachebilling@0.8.0 |
325
328
  | `meow-memory` | — | 92 | meow-memory@0.31.1 |
329
+ | `messageQuotes` | — | 1 | харнесс |
326
330
  | `michengai.codexUi` | — | 293 | @michengai/dsh-codex-ui@1.1.47 |
327
331
  | `mimo` | — | 4 | dsh-mimo-connect@0.3.5 |
328
332
  | `misakanet.panel.density.v1` | — | 149 | misakanet@2.48.0 |
@@ -344,24 +348,24 @@
344
348
  | `office-ppt` | — | 63 | dsh-workbuddy-ppt@0.1.0 |
345
349
  | `om-compaction` | — | 84 | dsh-plugin-om@0.0.61 |
346
350
  | `oomol.settings` | Подключения OOMOL | 71 | dsh-oomol@1.0.0 |
347
- | `open-in-app` | — | 45 | харнесс |
351
+ | `open-in-app` | — | 47 | харнесс |
348
352
  | `opencodeFree` | Видимость моделей | 53 | dsh-opencode-free@0.3.7 |
349
353
  | `openrouter-providers` | — | 55 | dsh-openrouter-providers@1.6.0 |
350
354
  | `orbit-model` | — | 36 | @kasenri/dsh-orbit@0.6.7 |
351
355
  | `peakIndicator` | — | 12 | dsh-peak-indicator@0.1.32 |
352
356
  | `peakrate-model` | — | 48 | dsh-peakrate@0.3.1 |
353
- | `permission.access` | Права доступа | 21 | харнесс |
354
357
  | `personaDafeiyu` | Персоны | 81 | dsh-persona-dafeiyu@0.5.0 |
355
358
  | `personalDirective` | Переключение личной директивы | 5 | dsh-personal-directive@0.2.11 |
356
359
  | `pet` | — | 81 | @linxin666/dsh-pet@0.4.8 |
357
360
  | `pet.config` | Настройки питомца | 150 | dsh-pet@0.3.8 |
358
361
  | `picturereader` | — | 3 | picturereader@3.3.3 |
359
362
  | `pin` | — | 2 | @vlln/dsh-navbar@0.4.0 |
360
- | `plan` | — | 17 | харнесс |
363
+ | `plan` | — | 16 | харнесс |
361
364
  | `plugin-store` | — | 77 | dsh-plugins-store@0.1.4 |
362
365
  | `plugin.intellijMcp` | IntelliJ IDEA MCP | 36 | dsh-intellij-mcp@1.0.5 |
363
- | `pluginManager` | Плагины | 227 | харнесс |
364
- | `pluginMarket` | Обзор плагинов | 78 | харнесс |
366
+ | `pluginManager` | Плагины | 294 | харнесс |
367
+ | `pluginMarket` | Обзор плагинов | 87 | харнесс |
368
+ | `pluginRecommendations` | Рекомендуемый плагин | 25 | харнесс |
365
369
  | `pluginTopology` | Топология плагинов | 82 | @sleetdrop/dsh-plugin-topology@0.9.0 |
366
370
  | `pocketMobileNav` | 📱 Доступ с телефона | 96 | dsh-pocket@2.12.0 |
367
371
  | `power.button` | — | 39 | dsh-power-xc@0.1.6 |
@@ -394,20 +398,20 @@
394
398
  | `russian-lang` | — | 95 | @goodandready/dsh-russian-lang@0.4.5 |
395
399
  | `schedule-attention-enhancer` | plugins.detail.section | 1 | @stolyarovmn/dsh-client-ui-schedule-tab@0.8.0 |
396
400
  | `schedule.catalog` | — | 90 | харнесс |
397
- | `schedule.manager` | Задачи автоматизации | 207 | харнесс |
401
+ | `schedule.manager` | Задачи автоматизации | 209 | харнесс |
398
402
  | `searchPool` | Пул поиска | 56 | dsh-search-failover@0.3.23 |
399
403
  | `secretMask` | — | 2 | харнесс |
400
404
  | `select-quote` | — | 32 | dsh-select-quote@0.3.9 |
401
405
  | `session-colorful-unread-pin-jobs` | — | 12 | dsh-session-colorful-unread-pin-jobs@2.0.0 |
402
406
  | `session-complete-notify` | Пример сессии | 107 | @telosmaylx/dsh-session-notify@0.1.23 |
403
407
  | `session-inspector` | — | 52 | харнесс |
404
- | `session-log-download` | — | 10 | харнесс |
408
+ | `session-log-download` | — | 14 | харнесс |
405
409
  | `session-manager` | — | 283 | dsh-session-manager@0.7.5 |
406
410
  | `session-title-pattern` | — | 39 | dsh-session-title-pattern@0.8.9 |
407
411
  | `sessionColor` | — | 17 | @idoall/dsh-session-colors@0.1.11 |
408
412
  | `sessionGraph` | — | 288 | @benz-ai-x/dsh-research-graph@0.1.5-rc.1 |
409
413
  | `sessions` | — | 399 | dsh-plugin-ideas-manager@0.10.3 |
410
- | `settings` | Настройки | 41 | харнесс |
414
+ | `settings` | Настройки | 42 | харнесс |
411
415
  | `settings-search-v5` | Настройки | 145 | @objectivex666/dsh-settings-search@1.14.0 |
412
416
  | `settings.account` | Учётная запись | 94 | харнесс |
413
417
  | `settings.acp` | — | 95 | @zaimokuza/dsh-acp-adapter@0.1.0-rc.10 |
@@ -458,7 +462,7 @@
458
462
  | `settings.model-capability` | — | 170 | dsh-plugin-model-capability@1.4.0 |
459
463
  | `settings.modelContextCatalog` | Контекстные окна моделей | 88 | dsh-model-context-catalog@0.5.0 |
460
464
  | `settings.modelProxy` | Прокси моделей | 77 | dsh-plugin-model-proxy@0.1.6 |
461
- | `settings.models` | Модели | 134 | харнесс |
465
+ | `settings.models` | Модели | 137 | харнесс |
462
466
  | `settings.modelVisibility` | Видимость моделей | 16 | dsh-model-visibility@0.2.1 |
463
467
  | `settings.multi2api` | Аккаунты Multi2API | 78 | dsh-multi2api@0.1.9 |
464
468
  | `settings.neu` | — | 5 | dsh-neu-theme@0.1.2 |
@@ -505,7 +509,7 @@
505
509
  | `shortcuts` | Горячие клавиши | 56 | харнесс |
506
510
  | `shortcuts.layout` | — | 1 | харнесс |
507
511
  | `shorts.sidebar` | — | 58 | dsh-shorts-wall@1.4.2 |
508
- | `sidebar` | — | 6 | харнесс |
512
+ | `sidebar` | — | 7 | харнесс |
509
513
  | `sidebarBrowser` | — | 26 | харнесс |
510
514
  | `sidebarCodePreview` | Код | 3 | харнесс |
511
515
  | `sidebarDocumentPreview` | — | 22 | харнесс |
@@ -527,6 +531,7 @@
527
531
  | `smoothStream.chat` | — | 2 | dsh-smooth-stream@0.7.0 |
528
532
  | `solution-explorer` | — | 194 | dsh-solution-explorer@1.0.2 |
529
533
  | `sse` | OpenAI Codex OAuth | 2 | @jcy2387/dsh-codex-provider@0.1.7-rc.2.1 |
534
+ | `stats` | — | 177 | харнесс |
530
535
  | `status-rotator` | — | 4 | dsh-status-rotator@0.37.0 |
531
536
  | `stepTrace` | Трассировка шагов | 31 | dsh-step-trace@0.6.1 |
532
537
  | `style` | — | 3 | dsh-output-styles@0.8.1 |
@@ -554,7 +559,7 @@
554
559
  | `traceCompare` | Maze | 10 | dsh-maze@2.4.0 |
555
560
  | `tracescope` | — | 611 | @rebornace/dsh-tracescope@0.3.5 |
556
561
  | `tradeSearch` | — | 15 | dsh-ab-market-research@0.2.12 |
557
- | `trajectory` | — | 196 | харнесс |
562
+ | `trajectory` | — | 199 | харнесс |
558
563
  | `trust` | — | 246 | dsh-trust-check@0.2.4 |
559
564
  | `ui-background` | — | 30 | deepseek-harness-background@0.6.1 |
560
565
  | `ui-enhancer` | — | 120 | dsh-ui-enhancer@0.2.0 |
@@ -576,7 +581,7 @@
576
581
  | `viewManager` | Менеджер вкладок представлений | 41 | dsh-view-manager@0.2.2 |
577
582
  | `vision` | — | 35 | dsh-vision-web@0.1.0 |
578
583
  | `vision-recognizer` | — | 33 | dsh-vision-recognizer@0.2.0 |
579
- | `voice-input` | — | 109 | харнесс |
584
+ | `voice-input` | — | 114 | харнесс |
580
585
  | `voice-mode` | — | 250 | dsh-voice-mode@0.7.28 |
581
586
  | `w2m.target` | — | 22 | @twinsearth/w2m-dsh-plugin@1.4.3 |
582
587
  | `wallpaper-engine` | — | 987 | dsh-plugin-wallpaper-engine@1.4.0 |
@@ -602,4 +607,4 @@
602
607
  | `xrn1997-dsh-novel` | — | 160 | @xrn1997/dsh-novel@0.8.0 |
603
608
  | `zhihu-search` | — | 19 | dsh-zhihu-search@2.2.1 |
604
609
 
605
- Итого: **589** namespace, **68425** строк.
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.21",
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 — 589 sections, 68 425 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-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)
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 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.
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): 589 namespaces, 68,425 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 2003 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.21",
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 — 589 sections, 68 425 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-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)
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
- 目前包里有 589 个分区、68 425 条文案,其中 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):589 个 namespace、68,425 条字符串,随包附带的插件词典单独标注。
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 里过期的构建产物会直接落到用户手里,而审计看不到它——审计读的是源码。发布的包为 2003 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.21",
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 — 589 sections, 68 425 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-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)
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 425 строк, из них 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): 589 namespace, 68 425 строк, словари плагинов помечены отдельно.
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 иначе получил бы именно пользователь, а аудит этого не увидел бы — он читает исходники. Публикуемый пакет занимает 2003 КБ: баннер отдаётся 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