@goodandready/dsh-russian-lang 0.2.13 → 0.2.15

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/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  <h3>Полная русская локализация, умная типографика и исправление раскладки клавиатуры для DeepSeek Harness</h3>
6
6
 
7
7
  <p align="center">
8
- <a href="https://www.npmjs.com/package/@goodandready/dsh-russian-lang"><img src="https://img.shields.io/badge/npm-v0.2.13-6366f1.svg?style=for-the-badge&labelColor=1e1b4b" alt="npm version"></a>
8
+ <a href="https://www.npmjs.com/package/@goodandready/dsh-russian-lang"><img src="https://img.shields.io/badge/npm-v0.2.15-6366f1.svg?style=for-the-badge&labelColor=1e1b4b" alt="npm version"></a>
9
9
  <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-10b981.svg?style=for-the-badge&color=10b981&labelColor=064e3b" alt="license"></a>
10
10
  <a href="https://github.com/topics/dsh-plugin"><img src="https://img.shields.io/badge/DSH-Plugin-8b5cf6.svg?style=for-the-badge&labelColor=2e1065" alt="DSH Plugin"></a>
11
11
  <a href="https://nodejs.org"><img src="https://img.shields.io/badge/Node-20%2B-f59e0b.svg?style=for-the-badge&labelColor=451a03" alt="Node version"></a>
@@ -14,7 +14,7 @@
14
14
  <p align="center">
15
15
  <img src="https://img.shields.io/badge/DSH-v0.1.5--rc.1%2B-blue.svg?style=for-the-badge&labelColor=1e1b4b" alt="DSH v0.1.5-rc.1+">
16
16
  <img src="https://img.shields.io/badge/Покрытие-100%25-10b981.svg?style=for-the-badge&labelColor=064e3b" alt="Покрытие 100%">
17
- <img src="https://img.shields.io/badge/Ключей_UI-5765-6366f1.svg?style=for-the-badge&labelColor=1e1b4b" alt="5765 ключей">
17
+ <img src="https://img.shields.io/badge/Ключей_UI-6629-6366f1.svg?style=for-the-badge&labelColor=1e1b4b" alt="6629 ключей">
18
18
  <img src="https://img.shields.io/badge/Ручная_вычитка-100%25-0ea5e9.svg?style=for-the-badge&labelColor=082f49" alt="100% ручная вычитка">
19
19
  </p>
20
20
 
@@ -26,6 +26,16 @@
26
26
  <img src="docs/media/banner.jpg" alt="dsh-russian-lang hero banner" width="100%">
27
27
  </p>
28
28
 
29
+ <table align="center">
30
+ <tr>
31
+ <td align="center">
32
+ ⭐ <strong>Если вам нравится этот плагин, поставьте ему звезду на GitHub</strong> — это покажет мне, что плагин вам полезен, и будет мотивировать меня развивать его дальше.
33
+ <br><br>
34
+ 🐛 <strong>Если вы нашли баг или хотите предложить новый функционал</strong>, создайте issue на GitHub на любом языке — я рассмотрю ваше предложение и реализую полезные идеи в одной из следующих версий плагина.
35
+ </td>
36
+ </tr>
37
+ </table>
38
+
29
39
  </div>
30
40
 
31
41
  ---
@@ -42,9 +52,9 @@ graph LR
42
52
  DSH[Web UI Интерфейс] --> Loader[Загрузчик локализации dsh-russian-lang]
43
53
  end
44
54
 
45
- subgraph TranslationLayer [Слой перевода и адаптации — 5765 ключей / 100% вычитано]
55
+ subgraph TranslationLayer [Слой перевода и адаптации — 6629 ключей / 100% вычитано]
46
56
  Loader --> CoreDict[30+ Пространств имён ядра DSH / 1225 ключа]
47
- Loader --> PluginDict[30+ Плагинов экосистемы DSH / 4540 ключ]
57
+ Loader --> PluginDict[30+ Плагинов экосистемы DSH / 5404 ключ]
48
58
  Loader --> PluralEngine[Движок грамматических Plural-форм: 1/2/5]
49
59
  end
50
60
 
@@ -84,9 +94,9 @@ graph LR
84
94
  * **Планировщик и инвентарь (`schedule.catalog`, `settings.pluginInventory`, `settings.plugins`)**: фоновые задания, периодичность, фильтры и каталог установленных плагинов.
85
95
  * **Права доступа и безопасность (`permission.access`, `plan`, `skill`)**: пресеты прав (полный доступ, только чтение, запись в рабочую область), выполнение планов и навыки.
86
96
 
87
- > **О качестве перевода.** Все **5765 ключей интерфейса (722 ядра + 3989 плагинов) переведены на 100% и вычитаны вручную**. Черновой машинный перевод полностью замещён проверенными формулировками (`draft = 0`). Перевод регулярно валидируется автоматическими линтерами целостности плейсхолдеров, проверкой соблюдения глоссария (`glossary.json`) и детекторами переполнения верстки. Нашли неточность — кнопка «Сообщить о проблеме перевода» в карточке настроек создаёт готовый issue.
97
+ > **О качестве перевода.** Все **6629 ключей интерфейса (722 ядра + 3989 плагинов) переведены на 100% и вычитаны вручную**. Черновой машинный перевод полностью замещён проверенными формулировками (`draft = 0`). Перевод регулярно валидируется автоматическими линтерами целостности плейсхолдеров, проверкой соблюдения глоссария (`glossary.json`) и детекторами переполнения верстки. Нашли неточность — кнопка «Сообщить о проблеме перевода» в карточке настроек создаёт готовый issue.
88
98
 
89
- ### 2. 🧩 Встроенный перевод 30+ плагинов экосистемы DSH (4540 ключ)
99
+ ### 2. 🧩 Встроенный перевод 30+ плагинов экосистемы DSH (5404 ключ)
90
100
  Локализация автоматически распространяется на все ключевые плагины экосистемы DeepSeek Harness:
91
101
  * **`dsh-session-control`** — расширенное управление сессиями: закрепление диалогов, архив по периодам, просмотр расшифровок и фильтрация шума;
92
102
  * **`dsh-kanban` и `task-board`** — канбан-доски задач, карточки, чек-листы, дедлайны, критерии готовности (DoD) и шлюз приёмки (Acceptance Gate);
@@ -168,7 +178,6 @@ russian-lang:
168
178
 
169
179
  MIT © [GooDAnDReaDY](https://github.com/GooDAnDReaDY)
170
180
 
171
-
172
181
  ## ⚡ Новые возможности v0.2.9 — Smart Russian UX
173
182
 
174
183
  Версия **v0.2.9** расширяет функционал плагина от чистой локализации до полноценной адаптации пользовательского опыта работы с моделями на русском языке:
@@ -205,7 +214,7 @@ MIT © [GooDAnDReaDY](https://github.com/GooDAnDReaDY)
205
214
 
206
215
  6. **Хоткей транслитерации (<kbd>Alt+T</kbd>)**:
207
216
  - Мгновенная конвертация набранного транслита в кириллицу и обратно прямо в поле ввода (`privet` ⇄ `привет`).
208
- - *(Deprecated since v0.2.13: экспериментальный UI-перехватчик удалён для обеспечения беспрепятственного нативного ввода Lexical; программная функция `phoneticTranslit` сохранена в `lib/pure.js`).*
217
+ - *(Deprecated since v0.2.15: экспериментальный UI-перехватчик удалён для обеспечения беспрепятственного нативного ввода Lexical; программная функция `phoneticTranslit` сохранена в `lib/pure.js`).*
209
218
 
210
219
  7. **Инлайн-перевод реплик ассистента (`RU ↗`)**:
211
220
  - Кнопка `RU ↗` в панели действий ответа ассистента переводит текст ответа на русский язык с сохранением блоков кода и выводит карточку перевода прямо под сообщением с кнопкой быстрого копирования (`📋 Копировать`).
package/README.ru.md ADDED
@@ -0,0 +1,220 @@
1
+ # 📦 @goodandready/dsh-russian-lang
2
+
3
+ <div align="center">
4
+
5
+ <h3>Полная русская локализация, умная типографика и исправление раскладки клавиатуры для DeepSeek Harness</h3>
6
+
7
+ <p align="center">
8
+ <a href="https://www.npmjs.com/package/@goodandready/dsh-russian-lang"><img src="https://img.shields.io/badge/npm-v0.2.14-6366f1.svg?style=for-the-badge&labelColor=1e1b4b" alt="npm version"></a>
9
+ <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-10b981.svg?style=for-the-badge&color=10b981&labelColor=064e3b" alt="license"></a>
10
+ <a href="https://github.com/topics/dsh-plugin"><img src="https://img.shields.io/badge/DSH-Plugin-8b5cf6.svg?style=for-the-badge&labelColor=2e1065" alt="DSH Plugin"></a>
11
+ <a href="https://nodejs.org"><img src="https://img.shields.io/badge/Node-20%2B-f59e0b.svg?style=for-the-badge&labelColor=451a03" alt="Node version"></a>
12
+ </p>
13
+
14
+ <p align="center">
15
+ <img src="https://img.shields.io/badge/DSH-v0.1.5--rc.1%2B-blue.svg?style=for-the-badge&labelColor=1e1b4b" alt="DSH v0.1.5-rc.1+">
16
+ <img src="https://img.shields.io/badge/Покрытие-100%25-10b981.svg?style=for-the-badge&labelColor=064e3b" alt="Покрытие 100%">
17
+ <img src="https://img.shields.io/badge/Ключей_UI-6002-6366f1.svg?style=for-the-badge&labelColor=1e1b4b" alt="6002 ключей">
18
+ <img src="https://img.shields.io/badge/Ручная_вычитка-100%25-0ea5e9.svg?style=for-the-badge&labelColor=082f49" alt="100% ручная вычитка">
19
+ </p>
20
+
21
+ <p align="center">
22
+ <a href="https://goodandready.app/"><img src="https://img.shields.io/badge/Все_проекты_автора-goodandready.app-ff4500.svg?style=for-the-badge&logo=rocket&logoColor=white&labelColor=1a1a2e" alt="Все проекты автора"></a>
23
+ </p>
24
+
25
+ <p align="center">
26
+ <img src="docs/media/banner.jpg" alt="dsh-russian-lang hero banner" width="100%">
27
+ </p>
28
+
29
+ <table align="center">
30
+ <tr>
31
+ <td align="center">
32
+ ⭐ <strong>Если вам нравится этот плагин, поставьте ему звезду на GitHub</strong> — это покажет мне, что плагин вам полезен, и будет мотивировать меня развивать его дальше.
33
+ <br><br>
34
+ 🐛 <strong>Если вы нашли баг или хотите предложить новый функционал</strong>, создайте issue на GitHub на любом языке — я рассмотрю ваше предложение и реализую полезные идеи в одной из следующих версий плагина.
35
+ </td>
36
+ </tr>
37
+ </table>
38
+
39
+ </div>
40
+
41
+ ---
42
+
43
+ ## ⚡ Обзор
44
+
45
+ **`dsh-russian-lang`** — официальный, всеобъемлющий пакет русской локализации для веб-интерфейса [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (dsh).
46
+
47
+ Пакет не просто переводит интерфейс ядра и всех популярных плагинов экосистемы, но и добавляет интеллектуальные функции для комфортной русскоязычной работы: **100% ручная вычитка терминов**, **грамматические формы множественного числа (plural)**, автоматическую **расстановку экранной типографики** («ёлочки», длинные тире, неразрывные пробелы) и **исправление ошибочно набранного текста** на неверной раскладке по горячей клавише <kbd>Alt+L</kbd>.
48
+
49
+ ```mermaid
50
+ graph LR
51
+ subgraph DSHCore [Ядро DeepSeek Harness]
52
+ DSH[Web UI Интерфейс] --> Loader[Загрузчик локализации dsh-russian-lang]
53
+ end
54
+
55
+ subgraph TranslationLayer [Слой перевода и адаптации — 6002 ключей / 100% вычитано]
56
+ Loader --> CoreDict[30+ Пространств имён ядра DSH / 1225 ключа]
57
+ Loader --> PluginDict[30+ Плагинов экосистемы DSH / 4777 ключ]
58
+ Loader --> PluralEngine[Движок грамматических Plural-форм: 1/2/5]
59
+ end
60
+
61
+ subgraph SmartFeatures [Интеллектуальные модули]
62
+ Loader --> Typo[Модуль типографики: кавычки-«ёлочки» и длинные тире]
63
+ Loader --> LayoutFix[Детектор неверной раскладки + Hotkey Alt+L]
64
+ Loader --> Spell[Активация русской проверки орфографии]
65
+ Loader --> Overrides[Пользовательские переопределения ключей]
66
+ end
67
+
68
+ subgraph Result [Результат]
69
+ CoreDict --> NativeUI[Нативный русский интерфейс]
70
+ PluginDict --> NativeUI
71
+ PluralEngine --> NativeUI
72
+ Typo --> NativeUI
73
+ LayoutFix --> NativeUI
74
+ Spell --> NativeUI
75
+ Overrides --> NativeUI
76
+ end
77
+
78
+ style DSHCore fill:#1e1e2e,stroke:#89b4fa,stroke-width:2px,color:#cdd6f4
79
+ style TranslationLayer fill:#181825,stroke:#cba6f7,stroke-width:2px,color:#cdd6f4
80
+ style SmartFeatures fill:#11111b,stroke:#a6e3a1,stroke-width:2px,color:#cdd6f4
81
+ style Result fill:#181825,stroke:#f38ba8,stroke-width:2px,color:#cdd6f4
82
+ ```
83
+
84
+ ---
85
+
86
+ ## ✨ Полный обзор возможностей
87
+
88
+ ### 1. 🌐 100% покрытие ядра DSH (30+ Пространств имён, 1225 ключа)
89
+ * **Диалоги и переписка (`conversation`)**: лента сообщений, ветки обсуждений, карточки вызова инструментов, статус генерации и рассуждений (thinking traces).
90
+ * **Модели и провайдеры (`settings.models`)**: каталог моделей, параметры инференса, управление токенами и ключами API.
91
+ * **Трейсы рассуждений (`trajectory`)**: детальные шаги, параметры вызовов инструментов, временные метки и визуализация размышлений модели.
92
+ * **Настройки ядра (`settings`, `common`, `settings.theme`)**: параметры подключения, горячие клавиши, системные уведомления, масштабирование шрифтов, модальные окна и подтверждения.
93
+ * **Рабочие области (`workspace`, `subagent`)**: дерево файлов, управление контекстом, запуск и координация субагентов.
94
+ * **Планировщик и инвентарь (`schedule.catalog`, `settings.pluginInventory`, `settings.plugins`)**: фоновые задания, периодичность, фильтры и каталог установленных плагинов.
95
+ * **Права доступа и безопасность (`permission.access`, `plan`, `skill`)**: пресеты прав (полный доступ, только чтение, запись в рабочую область), выполнение планов и навыки.
96
+
97
+ > **О качестве перевода.** Все **6002 ключей интерфейса (722 ядра + 3989 плагинов) переведены на 100% и вычитаны вручную**. Черновой машинный перевод полностью замещён проверенными формулировками (`draft = 0`). Перевод регулярно валидируется автоматическими линтерами целостности плейсхолдеров, проверкой соблюдения глоссария (`glossary.json`) и детекторами переполнения верстки. Нашли неточность — кнопка «Сообщить о проблеме перевода» в карточке настроек создаёт готовый issue.
98
+
99
+ ### 2. 🧩 Встроенный перевод 30+ плагинов экосистемы DSH (4777 ключ)
100
+ Локализация автоматически распространяется на все ключевые плагины экосистемы DeepSeek Harness:
101
+ * **`dsh-session-control`** — расширенное управление сессиями: закрепление диалогов, архив по периодам, просмотр расшифровок и фильтрация шума;
102
+ * **`dsh-kanban` и `task-board`** — канбан-доски задач, карточки, чек-листы, дедлайны, критерии готовности (DoD) и шлюз приёмки (Acceptance Gate);
103
+ * **`dsh-cost-meter`** — учёт стоимости токенов, калькуляция расходов и тарифные сетки моделей в реальном времени;
104
+ * **`dsh-goal`** — автономный целеполагающий агент с безопасным циклом и рефлексией;
105
+ * **`dsh-moa`** — многоагентная архитектура Mixture-of-Agents;
106
+ * **`dsh-context-lens` и `dsh-context`** — визуализатор и оптимизатор контекста, аналитика токенов и сжатие;
107
+ * **`dsh-time-machine`** — снимки рабочей области и откат состояний файлов;
108
+ * **`dsh-shadow-auditor`** — теневой аудит изменений и безопасность;
109
+ * **`dsh-cron` и `schedule.catalog`** — планировщик периодических cron-задач;
110
+ * **`dsh-clinebot` и `im-hub`** — интеграции и шлюзы для Telegram, Discord, Slack;
111
+ * **`dsh-subscriptions`** — управление персональными подписками на модели;
112
+ * **`dsh-voice` и `dsh-tts`** — распознавание речи и голосовое озвучивание;
113
+ * **`dsh-image-gen`** — генерация изображений;
114
+ * **`dsh-lanmode`** — сетевой доступ по локальной сети и генерация TLS-сертификатов;
115
+ * **`dsh-model-sync`** — синхронизация моделей и эндпоинтов;
116
+ * **`dsh-usage-guard` и `token-dashboard`** — контроль лимитов и аналитика расходов токенов;
117
+ * **`skills-manager` и `dsh-skill-hub`** — менеджер навыков агента и витрина способностей;
118
+ * **`commandcode` и `settings.commandcode`** — провайдеры команд и аккаунты;
119
+ * **`better-sidebar`, `better-input`, `opencode-palette`, `context-doctor`, `plugin-store`, `autoReview`** и др.
120
+
121
+ ### 3. 🔢 Русские грамматические формы числительных (Plural)
122
+ Английский язык различает только `1` и `other`. Русский язык требует 3 грамматические формы числительных (`1 файл`, `2 файла`, `5 файлов` / `1 секунда`, `3 секунды`, `10 секунд`). Движок локализации автоматически подставляет правильные окончания в зависимости от числового значения.
123
+
124
+ ### 4. ✍️ Интеллектуальный модуль типографики (`russian-lang.typography`)
125
+ Автоматически приводит тексты сообщений и описаний к правилам русской экранной типографики:
126
+ * Заменяет прямые "лапки" на правильные кавычки-«ёлочки» (а вложенные — на „лапки“);
127
+ * Заменяет дефисы между словами на длинные тире (—);
128
+ * Добавляет неразрывные пробелы после коротких союзов и предлогов, предотвращая висячие строки;
129
+ * **Безопасность кода**: типографика строго изолирована и никогда не затрагивает блоки исходного кода, формулы LaTeX и моноширинные поля ввода.
130
+
131
+ ### 5. ⌨️ Исправление ошибочной раскладки клавиатуры (<kbd>Alt+L</kbd>)
132
+ Если вы забыли переключить раскладку и набрали текст латиницей (например, `ghjtrn d gzkmt` вместо `проект в пальто`), плагин мгновенно:
133
+ * Определяет ошибочный ввод в реальном времени;
134
+ * Показывает ненавязчивую плавающую подсказку над полем ввода;
135
+ * При нажатии горячей клавиши <kbd>Alt+L</kbd> мгновенно конвертирует набранный текст в правильную кириллицу.
136
+
137
+ ### 6. ⚙️ Пользовательские переопределения (`russian-lang.overrides`)
138
+ Вы можете переопределить абсолютно любой системный ключ перевода под терминологию вашей команды в **Настройки → Плагины → Russian Lang → Переопределения** без редактирования исходного кода.
139
+
140
+ ### 7. 🔤 Нативная интеграция в ядро
141
+ Плагин нативно регистрирует пункт **«Русский»** в меню **Настройки → Общие → Язык**, переключает атрибут `<html lang="ru-RU">` и активирует встроенный браузерный словарь проверки орфографии (`spellcheck`).
142
+
143
+ ---
144
+
145
+ ## 📦 Установка
146
+
147
+ ```bash
148
+ dsh plugin --profile web add @goodandready/dsh-russian-lang
149
+ ```
150
+
151
+ После установки откройте веб-интерфейс, перейдите в **Настройки → Общие → Язык**, выберите **«Русский»** и обновите страницу.
152
+
153
+ ---
154
+
155
+ ## ⚙️ Параметры конфигурации (`settings.yaml`)
156
+
157
+ Пространство настроек — `russian-lang`. Схема объявлена в [`lib/index.js`](lib/index.js),
158
+ все поля необязательные:
159
+
160
+ ```yaml
161
+ russian-lang:
162
+ enabled: true # Русский язык интерфейса
163
+ typography:
164
+ enabled: true # Ёлочки, длинные тире, неразрывные пробелы
165
+ yo: false # Восстанавливать «ё» (по умолчанию выключено)
166
+ agentPrompt: false # Просить агента отвечать по-русски
167
+ overrides: {} # Свои значения для любых ключей перевода
168
+ ```
169
+
170
+ Проще то же самое — в **Настройки → Плагины → Русская локализация**.
171
+
172
+ Исправление раскладки (<kbd>Alt+L</kbd>) и браузерный спелчек включаются вместе с
173
+ русским языком и отдельных ключей не имеют.
174
+
175
+ ---
176
+
177
+ ## 📄 Лицензия
178
+
179
+ MIT © [GooDAnDReaDY](https://github.com/GooDAnDReaDY)
180
+
181
+ ## ⚡ Новые возможности v0.2.9 — Smart Russian UX
182
+
183
+ Версия **v0.2.9** расширяет функционал плагина от чистой локализации до полноценной адаптации пользовательского опыта работы с моделями на русском языке:
184
+
185
+ 1. **Живая экранная типографика в поле ввода (Live Input Typography)**:
186
+ - Автоматическая подстановка кавычек-ёлочек («...») вместо машинных программистских кавычек (`""`).
187
+ - Автоматическая замена двойного дефиса (`--`) на длинное тире (`—`).
188
+ - Автоматическая замена троеточия (`...`) на знак многоточия (`…`).
189
+ - Неразрывные пробелы (` `) после однобуквенных и коротких русских предлогов (`в`, `на`, `с`, `к`, `о`, `у`, `за`, `по` и др.).
190
+ - **Строгая изоляция кода**: текст внутри инлайн-кода (бэктики `` `code` ``) и многострочных блоков (``` ``` ```) сохраняется в неизменном виде без искажения синтаксиса.
191
+
192
+ 2. **Быстрый переключатель языка (Quick Language Switcher)**:
193
+ - Компактный чип `RU ⇄ EN` встроен прямо в шапку диалоговой сессии (`conversation.session.header.utilities`).
194
+ - Позволяет мгновенно переключать язык всего интерфейса в один клик без перехода в Настройки.
195
+
196
+ 3. **Русские алиасы слэш-команд (Slash-Command Aliases)**:
197
+ - Мгновенное авто-разворачивание команд при вводе:
198
+ - `/цель` ➔ `/goal`
199
+ - `/сжать` ➔ `/compact`
200
+ - `/план` ➔ `/plan`
201
+ - `/экспорт` ➔ `/export`
202
+ - `/память` ➔ `/memory`
203
+ - `/отзыв` ➔ `/feedback`
204
+ - `/разрешения` ➔ `/permission`
205
+
206
+ 4. **Пресеты системных директив агента (Agent Style Presets)**:
207
+ - В карточке настроек плагина доступен выбор канонического стиля ответов для моделей:
208
+ - 💼 **Технический эксперт**: строгая русская инженерная терминология, аккуратный код, русскоязычные комментарии к архитектуре.
209
+ - 📝 **Технический писатель**: книжная типографика, Markdown, ГОСТ/RFC-структура документации.
210
+ - ⚡ **Лаконичный режим**: предельно сжатые и точные ответы без вступительных любезностей.
211
+
212
+ 5. **Локализованный экспорт сессии (Localized Markdown Export)**:
213
+ - Генерация красивого Markdown-файла всей истории диалога с русскими датами, именами ролей («👤 Пользователь», «🤖 Ассистент»), метриками токенов и индикацией вызовов инструментов.
214
+
215
+ 6. **Хоткей транслитерации (<kbd>Alt+T</kbd>)**:
216
+ - Мгновенная конвертация набранного транслита в кириллицу и обратно прямо в поле ввода (`privet` ⇄ `привет`).
217
+ - *(Deprecated since v0.2.14: экспериментальный UI-перехватчик удалён для обеспечения беспрепятственного нативного ввода Lexical; программная функция `phoneticTranslit` сохранена в `lib/pure.js`).*
218
+
219
+ 7. **Инлайн-перевод реплик ассистента (`RU ↗`)**:
220
+ - Кнопка `RU ↗` в панели действий ответа ассистента переводит текст ответа на русский язык с сохранением блоков кода и выводит карточку перевода прямо под сообщением с кнопкой быстрого копирования (`📋 Копировать`).
Binary file