mojulo 0.0.0 → 0.1.1

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.
Files changed (121) hide show
  1. package/README.md +54 -4
  2. package/lib/audit-logger-new.js +11 -0
  3. package/lib/auth/gate.js +25 -0
  4. package/lib/auth/service.js +17 -0
  5. package/lib/auth/session.js +63 -0
  6. package/lib/builder/chat-processor.js +607 -0
  7. package/lib/builder/composer-bridge.js +82 -0
  8. package/lib/builder/evaluator.js +159 -0
  9. package/lib/builder/executor.js +252 -0
  10. package/lib/builder/index.js +48 -0
  11. package/lib/builder/session.js +248 -0
  12. package/lib/builder/system-prompt.js +422 -0
  13. package/lib/builder/tone-presets.js +75 -0
  14. package/lib/builder/tool-executors.js +1527 -0
  15. package/lib/builder/tools.js +338 -0
  16. package/lib/builder/validators.js +239 -0
  17. package/lib/composer/composer.js +225 -0
  18. package/lib/composer/index.js +40 -0
  19. package/lib/composer/protocols/00_base.txt +19 -0
  20. package/lib/composer/protocols/01_knowledge.txt +9 -0
  21. package/lib/composer/protocols/02_form-gathering.txt +32 -0
  22. package/lib/composer/protocols/03_appointments.txt +16 -0
  23. package/lib/composer/protocols/04_triage.txt +15 -0
  24. package/lib/composer/protocols/05_optical-read.txt +22 -0
  25. package/lib/composer/response-builder.js +98 -0
  26. package/lib/config-builder.js +650 -0
  27. package/lib/db/ids.js +10 -0
  28. package/lib/db/index.js +179 -0
  29. package/lib/db/repositories/apiKeys.js +72 -0
  30. package/lib/db/repositories/auditLogs.js +12 -0
  31. package/lib/db/repositories/botSpaces.js +12 -0
  32. package/lib/db/repositories/builderSessions.js +312 -0
  33. package/lib/db/repositories/deploymentEvents.js +12 -0
  34. package/lib/db/repositories/deployments.js +385 -0
  35. package/lib/db/repositories/documents.js +68 -0
  36. package/lib/db/repositories/mcpJobs.js +84 -0
  37. package/lib/deployers/bot-fleet.js +110 -0
  38. package/lib/deployers/bot-proxy.js +72 -0
  39. package/lib/deployers/build.js +89 -0
  40. package/lib/deployers/cloud-deploy.js +310 -0
  41. package/lib/deployers/docker.js +439 -0
  42. package/lib/deployers/fly.js +432 -0
  43. package/lib/deployers/index.js +38 -0
  44. package/lib/deployment-auth.js +36 -0
  45. package/lib/document-parser.js +171 -0
  46. package/lib/embedder/chunker.js +93 -0
  47. package/lib/embedder/local.js +101 -0
  48. package/lib/embedder/preview-rag.js +93 -0
  49. package/lib/envelope-schema.js +54 -0
  50. package/lib/fleet/scoped-sql.js +342 -0
  51. package/lib/form-schema-config/base.js +135 -0
  52. package/lib/form-schema-config/index.js +286 -0
  53. package/lib/form-schema-config/locales/af-ZA.js +153 -0
  54. package/lib/form-schema-config/locales/ar-AE.js +142 -0
  55. package/lib/form-schema-config/locales/ar-SA.js +164 -0
  56. package/lib/form-schema-config/locales/de-DE.js +152 -0
  57. package/lib/form-schema-config/locales/en-AU.js +161 -0
  58. package/lib/form-schema-config/locales/en-CA.js +115 -0
  59. package/lib/form-schema-config/locales/en-GB.js +132 -0
  60. package/lib/form-schema-config/locales/en-IN.js +219 -0
  61. package/lib/form-schema-config/locales/en-MY.js +171 -0
  62. package/lib/form-schema-config/locales/en-NG.js +198 -0
  63. package/lib/form-schema-config/locales/en-PH.js +186 -0
  64. package/lib/form-schema-config/locales/en-SG.js +153 -0
  65. package/lib/form-schema-config/locales/en-US.js +138 -0
  66. package/lib/form-schema-config/locales/es-ES.js +171 -0
  67. package/lib/form-schema-config/locales/es-MX.js +193 -0
  68. package/lib/form-schema-config/locales/fr-CA.js +138 -0
  69. package/lib/form-schema-config/locales/fr-FR.js +155 -0
  70. package/lib/form-schema-config/locales/hi-IN.js +219 -0
  71. package/lib/form-schema-config/locales/it-IT.js +157 -0
  72. package/lib/form-schema-config/locales/ja-JP.js +169 -0
  73. package/lib/form-schema-config/locales/ko-KR.js +140 -0
  74. package/lib/form-schema-config/locales/nl-NL.js +149 -0
  75. package/lib/form-schema-config/locales/pt-BR.js +168 -0
  76. package/lib/form-schema-config/locales/zh-CN.js +172 -0
  77. package/lib/form-schema-config/locales/zh-HK.js +142 -0
  78. package/lib/form-structure-schema.js +191 -0
  79. package/lib/llm-providers.js +828 -0
  80. package/lib/markdown.js +197 -0
  81. package/lib/mcp/catalysts/appointment-to-calendar.md +84 -0
  82. package/lib/mcp/catalysts/conversations-to-channel-digest.md +104 -0
  83. package/lib/mcp/catalysts/document-extract-to-store.md +92 -0
  84. package/lib/mcp/catalysts/knowledge-gap-miner.md +96 -0
  85. package/lib/mcp/catalysts/loader.js +144 -0
  86. package/lib/mcp/catalysts/qualify-lead-to-crm.md +83 -0
  87. package/lib/mcp/catalysts/scan-conversations-for-signal.md +92 -0
  88. package/lib/mcp/catalysts/submission-to-ticket.md +83 -0
  89. package/lib/mcp/catalysts/submissions-to-warehouse.md +103 -0
  90. package/lib/mcp/catalysts/weekly-submissions-digest.md +82 -0
  91. package/lib/mcp/jobs.js +64 -0
  92. package/lib/mcp/server.js +184 -0
  93. package/lib/mcp/session-binding.js +130 -0
  94. package/lib/mcp/tools/build.js +123 -0
  95. package/lib/mcp/tools/catalysts.js +477 -0
  96. package/lib/mcp/tools/context.js +325 -0
  97. package/lib/mcp/tools/fleet.js +391 -0
  98. package/lib/mcp/tools/jobs-tools.js +240 -0
  99. package/lib/mcp/tools/operate.js +314 -0
  100. package/lib/preview/build-preview-config.js +136 -0
  101. package/lib/rate-limiter.js +11 -0
  102. package/lib/resolve-api-key.js +142 -0
  103. package/lib/storage/index.js +40 -0
  104. package/messages/de.json +2136 -0
  105. package/messages/en.json +2136 -0
  106. package/messages/es.json +2136 -0
  107. package/messages/fr.json +2136 -0
  108. package/messages/it.json +2136 -0
  109. package/messages/ja.json +2136 -0
  110. package/messages/ko.json +2136 -0
  111. package/messages/nl.json +2136 -0
  112. package/messages/pl.json +2136 -0
  113. package/messages/pt.json +2136 -0
  114. package/messages/ru.json +2136 -0
  115. package/messages/uk.json +2136 -0
  116. package/messages/zh.json +2136 -0
  117. package/package.json +68 -5
  118. package/scripts/mcp-config.mjs +162 -0
  119. package/scripts/mcp-stdio-loader.mjs +42 -0
  120. package/scripts/mcp-stdio.mjs +108 -0
  121. package/scripts/mojulo-paths.mjs +48 -0
@@ -0,0 +1,2136 @@
1
+ {
2
+ "common": {
3
+ "loading": "Загрузка...",
4
+ "save": "Сохранить",
5
+ "saving": "Сохранение...",
6
+ "cancel": "Отмена",
7
+ "delete": "Удалить",
8
+ "edit": "Изменить",
9
+ "close": "Закрыть",
10
+ "search": "Поиск",
11
+ "back": "Назад",
12
+ "next": "Далее",
13
+ "submit": "Отправить",
14
+ "create": "Создать",
15
+ "copy": "Копировать",
16
+ "copied": "Скопировано!",
17
+ "view": "Просмотр",
18
+ "hide": "Скрыть",
19
+ "yes": "Да",
20
+ "no": "Нет",
21
+ "confirm": "Подтвердить",
22
+ "done": "Готово",
23
+ "updating": "Обновление...",
24
+ "moveTo": "Переместить в:",
25
+ "unknown": "Неизвестно",
26
+ "error": "Ошибка",
27
+ "remove": "Удалить",
28
+ "selectAnOption": "Выберите вариант",
29
+ "addItemLabel": "Добавить {itemLabel}",
30
+ "itemNumber": "{itemLabel} #{number}"
31
+ },
32
+ "auth": {
33
+ "signIn": "Войти",
34
+ "signOut": "Выйти",
35
+ "signingIn": "Вход...",
36
+ "email": "Email",
37
+ "password": "Пароль",
38
+ "signInToContinue": "Войдите, чтобы продолжить",
39
+ "invalidCredentials": "Неверный email или пароль",
40
+ "needAccess": "Нужен доступ? Обратитесь к администратору вашей организации.",
41
+ "controlPanel": "Mojulo Control Panel",
42
+ "setupComplete": "Учётная запись администратора создана. Войдите в систему.",
43
+ "emailPlaceholder": "you@company.com",
44
+ "passwordPlaceholder": "Ваш пароль"
45
+ },
46
+ "dashboard": {
47
+ "title": "Панель управления",
48
+ "loading": "Загрузка панели управления...",
49
+ "loadingChatbots": "Загрузка чат-ботов...",
50
+ "loadingHistory": "Загрузка истории...",
51
+ "createNewBot": "Создать нового бота",
52
+ "noBots": "Ботов пока нет",
53
+ "selectBotOrSpace": "Выберите бота или пространство ботов, чтобы увидеть подробности",
54
+ "createBot": "Создать бота",
55
+ "workspace": "Рабочая область {name}",
56
+ "unassignedWorkspace": "Нераспределённая рабочая область",
57
+ "searchChatbots": "Поиск чат-ботов",
58
+ "noChatbotsFound": "Чат-боты не найдены",
59
+ "privateNotShared": "Приватный (не общий)",
60
+ "inSpace": "в {spaceName}",
61
+ "chooseBotType": "Выберите тип бота для начала:",
62
+ "addNewBot": "Добавить нового бота",
63
+ "addNewPrivateBot": "Добавить нового приватного бота",
64
+ "expandBotSpaces": "Развернуть пространства ботов",
65
+ "allSpaces": "Все пространства",
66
+ "adminSummary": {
67
+ "title": "Обзор",
68
+ "totalBots": "Всего ботов",
69
+ "running": "Работают",
70
+ "stopped": "Остановлены",
71
+ "failed": "Ошибка",
72
+ "recentDeployments": "Недавние развёртывания",
73
+ "activeBots": "Активные боты (24ч)",
74
+ "noRecentActivity": "Нет недавней активности",
75
+ "conversations": "разговоров",
76
+ "totalActive": "{bots} ботов с {conversations} разговорами за последние 24 часа",
77
+ "private": "Приватный",
78
+ "unknown": "Неизвестно",
79
+ "justNow": "только что",
80
+ "minutesAgo": "{count}мин назад",
81
+ "hoursAgo": "{count}ч назад",
82
+ "yesterday": "вчера",
83
+ "daysAgo": "{count}д назад"
84
+ },
85
+ "private": "Приватный",
86
+ "showBotList": "Показать список ботов",
87
+ "deleteConfirm": "Вы уверены, что хотите удалить «{name}»? Это уничтожит развёртывание и не может быть отменено.",
88
+ "deleteError": "Не удалось удалить развёртывание: {error}",
89
+ "actionError": "Не удалось выполнить действие {action} над развёртыванием: {error}",
90
+ "assignError": "Не удалось назначить пространство ботов: {error}",
91
+ "sections": {
92
+ "control": "Управление",
93
+ "data": "Данные",
94
+ "resources": "Ресурсы"
95
+ },
96
+ "launcher": {
97
+ "modularChat": {
98
+ "title": "Модульный бот (чат)",
99
+ "badge": "Новое",
100
+ "description": "Создавайте с помощью ИИ-помощника"
101
+ },
102
+ "modularWizard": {
103
+ "title": "Модульный бот (мастер)",
104
+ "description": "Пошаговая настройка"
105
+ }
106
+ },
107
+ "redeploy": {
108
+ "confirm": "Повторно развернуть «{name}» с текущей конфигурацией? Это перезапустит бота без изменений.",
109
+ "initiating": "Запуск повторного развёртывания...",
110
+ "sending": "Отправка запроса на развёртывание...",
111
+ "deploying": "Развёртывание...",
112
+ "redeploying": "Повторное развёртывание...",
113
+ "failed": "Сбой повторного развёртывания"
114
+ },
115
+ "myBots": "Мои боты",
116
+ "subtitle": "Каждый бот — это сохранённая конфигурация. Соберите его в исполняемый ZIP, когда понадобится.",
117
+ "noKeyBanner": {
118
+ "text": "Добавьте ключ LLM-провайдера, чтобы разблокировать чат-конструктор и форму-мастер.",
119
+ "cta": "Открыть настройки →"
120
+ },
121
+ "documentLibrary": "Библиотека документов →",
122
+ "newBotChat": "Новый бот (чат)",
123
+ "newBotWizard": "Новый бот (мастер)",
124
+ "loadingShort": "Загрузка…",
125
+ "noBotsHint": "Ботов пока нет. Запустите бота из чат-конструктора или мастера.",
126
+ "searchBots": "Поиск ботов…",
127
+ "noBotsMatch": "Нет ботов, соответствующих «{query}».",
128
+ "emptyDetailHint": "Выберите бота, чтобы увидеть действия его жизненного цикла.",
129
+ "buildFailedAlert": "Сбой сборки: {error}",
130
+ "statuses": {
131
+ "building": "Сборка",
132
+ "buildFailed": "Сбой сборки",
133
+ "needsRebuild": "Требуется пересборка",
134
+ "running": "Работает",
135
+ "runningStale": "Работает · устарело",
136
+ "ready": "Готово",
137
+ "draft": "Черновик"
138
+ },
139
+ "builds": {
140
+ "building": "Сборка…",
141
+ "retry": "Повторить сборку",
142
+ "rebuild": "Пересобрать",
143
+ "build": "Собрать"
144
+ },
145
+ "connect": {
146
+ "title": "Подключить запущенного бота",
147
+ "description": "Вставьте URL, по которому работает <code>{name}</code>. Панель управления опросит его с помощью встроенного API-ключа из строки.",
148
+ "botUrlLabel": "URL бота",
149
+ "probeFailedFallback": "Опрос не удался ({status})",
150
+ "disconnect": "Отключить",
151
+ "testing": "Проверка…",
152
+ "testAndSave": "Проверить и сохранить"
153
+ },
154
+ "documents": {
155
+ "title": "Библиотека документов",
156
+ "breadcrumbHere": "Библиотека документов",
157
+ "subtitle": "Все документы, которые вы загрузили, и боты, ссылающиеся на каждый из них. Документы переживают ботов — удаление бота не удаляет его документы.",
158
+ "loadFailed": "Не удалось загрузить библиотеку: {error}",
159
+ "loading": "Загрузка…",
160
+ "searchPlaceholder": "Поиск по имени файла…",
161
+ "filters": {
162
+ "all": "Все",
163
+ "unattached": "Не прикреплены",
164
+ "parseFailed": "Сбой разбора"
165
+ },
166
+ "selectAll": "Выбрать все",
167
+ "deselectAll": "Снять выбор",
168
+ "selectionStatus": "Выбрано {selected} из {total}",
169
+ "deleting": "Удаление…",
170
+ "deleteSelected": "Удалить выбранные",
171
+ "deleteCount": "Удалить {count}",
172
+ "deleteSingleConfirm": "Удалить «{name}»? Это удалит файл с диска.",
173
+ "deleteMultiConfirm": "Удалить {count} непривязанных документов? Это удалит их с диска.",
174
+ "deleteFailed": "Не удалось удалить {failed} из {total}: {details}",
175
+ "noDocs": "Документы ещё не загружены. Загрузите один из мастера или чат-конструктора при настройке бота.",
176
+ "noMatch": "Нет документов, соответствующих этому фильтру.",
177
+ "table": {
178
+ "document": "Документ",
179
+ "size": "Размер",
180
+ "uploaded": "Загружено",
181
+ "parsed": "Разобрано",
182
+ "usedBy": "Используется"
183
+ },
184
+ "parseFailedLabel": "сбой",
185
+ "parseFailedTooltip": "Текст не извлечён — RAG не будет использовать этот документ",
186
+ "unattachedLabel": "Не прикреплён"
187
+ },
188
+ "detail": {
189
+ "backToList": "Назад к списку",
190
+ "runningAt": "работает на",
191
+ "staleNotice": "Конфигурация изменена со времени последней сборки — пересоберите, чтобы получить актуальный ZIP.",
192
+ "wizard": "Мастер",
193
+ "chat": "Чат",
194
+ "connect": "Подключить",
195
+ "reconnect": "Переподключить",
196
+ "conversations": "Разговоры",
197
+ "downloadZip": "Скачать ZIP",
198
+ "downloadWithDocs": "Скачать с документами",
199
+ "deployToCloud": "Развернуть в облаке",
200
+ "live": "Открыть ↗",
201
+ "hideEmbed": "Скрыть встраивание",
202
+ "embedScript": "Скрипт встраивания",
203
+ "deleteBot": "Удалить бота",
204
+ "deleteConfirm": "Удалить этого бота и его артефакт?"
205
+ }
206
+ },
207
+ "bots": {
208
+ "types": {
209
+ "chat": "Чат",
210
+ "knowledge": "Знания",
211
+ "form": "Форма",
212
+ "triage": "Сортировка",
213
+ "appointment": "Запись",
214
+ "bot": "Бот"
215
+ },
216
+ "descriptions": {
217
+ "chat": "Чат-помощник на базе ИИ",
218
+ "form": "Структурированный сбор данных",
219
+ "triage": "Маршрутизация пользователей в нужное место",
220
+ "appointment": "Планирование встреч и бронирование"
221
+ },
222
+ "status": {
223
+ "deployed": "развёрнут",
224
+ "deploying": "развёртывается",
225
+ "failed": "сбой"
226
+ }
227
+ },
228
+ "actions": {
229
+ "modify": "Изменить",
230
+ "clone": "Клонировать",
231
+ "reassign": "Переназначить",
232
+ "goToLiveBot": "Перейти к работающему боту",
233
+ "modifyTitle": "Изменить развёртывание — сохраняет тот же URL и имя",
234
+ "cloneTitle": "Клонировать это развёртывание с новым именем",
235
+ "reassignTitle": "Переназначить в другое пространство ботов",
236
+ "deleteTitle": "Удалить развёртывание",
237
+ "editInChat": "Чат",
238
+ "editInChatTitle": "Изменить с помощью чат-помощника",
239
+ "pause": "Пауза",
240
+ "start": "Запустить",
241
+ "pauseBot": "Приостановить бота",
242
+ "startBot": "Запустить бота",
243
+ "redeploy": "Повторно развернуть",
244
+ "redeployBot": "Повторно развернуть бота",
245
+ "live": "Запущен",
246
+ "embed": "Встроить",
247
+ "copied": "Скопировано",
248
+ "replicas": "Реплики",
249
+ "scaleReplicas": "Масштабировать реплики",
250
+ "replicasDescription": "Отрегулируйте количество реплик бота. Больше реплик обрабатывают больше одновременных пользователей. Закреплённые сессии гарантируют, что пользователи остаются подключёнными к одной и той же реплике.",
251
+ "replicaCount": "Количество реплик",
252
+ "replicasRange": "Мин: 1, Макс: 10",
253
+ "currentReplicas": "Текущие реплики (доступно/требуется)",
254
+ "scale": "Масштабировать",
255
+ "scaling": "Масштабирование...",
256
+ "cancel": "Отмена"
257
+ },
258
+ "nav": {
259
+ "dashboard": "Панель управления",
260
+ "analytics": "Аналитика",
261
+ "conversations": "Разговоры",
262
+ "submissions": "Отправленные формы",
263
+ "liveLogs": "Живые логи"
264
+ },
265
+ "wizard": {
266
+ "loading": "Загрузка мастера...",
267
+ "loadingDeployment": "Загрузка конфигурации развёртывания...",
268
+ "previewAfterDeployment": "Предпросмотр доступен после развёртывания",
269
+ "clickToBegin": "Нажмите кнопку развёртывания, чтобы начать",
270
+ "clickToUpdate": "Нажмите кнопку развёртывания, чтобы обновить",
271
+ "steps": {
272
+ "identity": "Идентичность",
273
+ "knowledge": "База знаний",
274
+ "deployment": "Развёртывание",
275
+ "resources": "Ресурсы",
276
+ "infoGathering": "Сбор информации",
277
+ "triage": "Сортировка",
278
+ "appointments": "Записи",
279
+ "botSetup": "Настройка бота",
280
+ "capabilities": "Возможности",
281
+ "formCollection": "Сбор форм",
282
+ "routing": "Маршрутизация",
283
+ "opticalRead": "Оптическое чтение",
284
+ "deploy": "Сборка"
285
+ },
286
+ "titles": {
287
+ "newBot": "Новый бот",
288
+ "editBot": "Изменить бота",
289
+ "cloneBot": "Клонировать бота",
290
+ "newConversationalBot": "Новый разговорный бот",
291
+ "editConversationalBot": "Изменить разговорного бота",
292
+ "cloneConversationalBot": "Клонировать разговорного бота",
293
+ "newTriageBot": "Новый бот сортировки",
294
+ "editTriageBot": "Изменить бота сортировки",
295
+ "cloneTriageBot": "Клонировать бота сортировки",
296
+ "newAppointmentsBot": "Новый бот записи",
297
+ "editAppointmentsBot": "Изменить бота записи",
298
+ "cloneAppointmentsBot": "Клонировать бота записи",
299
+ "configureYourBot": "Настройте вашего бота",
300
+ "selectBotCapabilities": "Выберите возможности бота",
301
+ "defineBotIdentity": "Определите идентичность бота",
302
+ "uploadKnowledgeBase": "Загрузите базу знаний",
303
+ "configureFormCollection": "Настройте сбор форм",
304
+ "configureAppointments": "Настройте записи",
305
+ "configureTriageRouting": "Настройте маршрутизацию сортировки",
306
+ "configureOpticalRead": "Настройте оптическое чтение",
307
+ "deployYourBot": "Сборка и скачивание"
308
+ },
309
+ "badges": {
310
+ "modifying": "Изменение",
311
+ "clone": "Клон",
312
+ "new": "Новый",
313
+ "conversational": "Разговорный",
314
+ "triage": "Сортировка",
315
+ "appointments": "Записи",
316
+ "form": "Форма",
317
+ "modular": "Модульный",
318
+ "knowledge": "Знания",
319
+ "forms": "Формы",
320
+ "routing": "Маршрутизация",
321
+ "opticalRead": "Оптическое чтение"
322
+ },
323
+ "theatre": {
324
+ "modelConfiguration": "Конфигурация модели",
325
+ "botPreview": "Предпросмотр бота",
326
+ "knowledgeBase": "База знаний",
327
+ "deployment": "Развёртывание",
328
+ "preview": "Предпросмотр",
329
+ "infoGathering": "Сбор информации",
330
+ "triageDestinations": "Назначения сортировки",
331
+ "appointmentTypes": "Типы записей",
332
+ "calendarProviders": "Провайдеры календарей",
333
+ "protocolPreview": "Предпросмотр протокола",
334
+ "formPreview": "Предпросмотр формы",
335
+ "appointmentPreview": "Предпросмотр записи",
336
+ "triagePreview": "Предпросмотр сортировки",
337
+ "opticalReadPreview": "Предпросмотр оптического чтения"
338
+ },
339
+ "protocols": {
340
+ "selectCapabilities": "Выберите возможности бота",
341
+ "selectCapabilitiesDescription": "Включите протоколы, нужные вашему боту. Объединяйте несколько возможностей.",
342
+ "knowledgeBase": "База знаний",
343
+ "knowledgeBaseDescription": "Отвечает на вопросы по загруженным документам с помощью RAG (Retrieval-Augmented Generation)",
344
+ "formCollection": "Сбор форм",
345
+ "formCollectionDescription": "Разговорные формы для сбора информации без передачи пользовательских данных ИИ",
346
+ "appointmentBooking": "Запись на встречи",
347
+ "appointmentBookingDescription": "Маршрутизация пользователей к провайдерам календарей, например Calendly или Google Calendar",
348
+ "triageRouting": "Маршрутизация сортировки",
349
+ "triageRoutingDescription": "Маршрутизация пользователей к специализированным ботам или живой поддержке в зависимости от их потребностей",
350
+ "opticalRead": "Оптическое чтение",
351
+ "opticalReadDescription": "Извлечение структурированных данных из загруженного изображения с помощью LLM с поддержкой зрения",
352
+ "opticalReadProviderGate": "Оптическое чтение требует провайдера с поддержкой зрения. Поддерживаются Anthropic и OpenAI.",
353
+ "modelGate": "Эта модель поддерживает только протокол знаний. Переключитесь на llama3.3 (Ollama) или облачного провайдера, чтобы включить многошаговые сценарии.",
354
+ "exampleFaq": "Чат-боты FAQ",
355
+ "exampleDocumentation": "Помощники по документации",
356
+ "exampleProductSupport": "Поддержка продуктов",
357
+ "exampleLeadCapture": "Захват лидов",
358
+ "exampleOnboarding": "Онбординг пользователей",
359
+ "exampleSurvey": "Сбор опросов",
360
+ "exampleConsultation": "Запись на консультации",
361
+ "exampleScheduling": "Планирование услуг",
362
+ "exampleMeeting": "Организация встреч",
363
+ "exampleMultiBot": "Маршрутизация между ботами",
364
+ "exampleDelegation": "Интеллектуальное делегирование",
365
+ "exampleCustomerRouting": "Маршрутизация клиентов",
366
+ "selectAtLeastOne": "Выберите хотя бы одну возможность",
367
+ "capabilitiesSelected": "Выбрано: {count} {count, plural, one {capability} other {capabilities}}",
368
+ "yourCombination": "Ваша комбинация:",
369
+ "combinationFullService": "Полнофункциональный бот: отвечает на вопросы, собирает данные пользователей и записывает на встречи.",
370
+ "combinationQaData": "Q&A + сбор данных: отвечает на вопросы из вашей базы знаний и собирает информацию о пользователях.",
371
+ "combinationQaBooking": "Q&A + запись: отвечает на вопросы и помогает пользователям записаться на встречи.",
372
+ "combinationIntakeBooking": "Приём + запись: собирает информацию о пользователях и планирует встречи.",
373
+ "preview": {
374
+ "selectProtocolPrompt": "Выберите возможности слева, чтобы увидеть, что может ваш бот",
375
+ "selectedCapabilities": "Выбранные возможности",
376
+ "combinedPossibilities": "Комбинированные возможности",
377
+ "exampleUseCases": "Примеры использования",
378
+ "showExamples": "Показать примеры",
379
+ "contexts": {
380
+ "contextGeneric": "Универсальный",
381
+ "contextMedical": "Медицина",
382
+ "contextLegal": "Юриспруденция",
383
+ "contextRetail": "Розничная торговля",
384
+ "contextRealEstate": "Недвижимость",
385
+ "contextEducation": "Образование",
386
+ "contextHospitality": "Гостеприимство",
387
+ "contextFinance": "Финансы",
388
+ "medical": {
389
+ "medicalKnowledge": "Медицинская база знаний",
390
+ "medicalKnowledgeDesc": "Отвечает на вопросы пациентов о симптомах, лекарствах, процедурах и страховании",
391
+ "symptomChecker": "Проверка симптомов",
392
+ "drugInfo": "Информация о лекарствах",
393
+ "treatmentFAQ": "FAQ по лечению",
394
+ "insuranceCoverage": "Страховое покрытие",
395
+ "prepInstructions": "Подготовка к процедурам",
396
+ "medicalForms": "Приём пациентов",
397
+ "medicalFormsDesc": "Сбор медицинской истории, страховых данных и согласий через разговорные формы",
398
+ "patientIntake": "Приём пациентов",
399
+ "medicalHistory": "Медицинская история",
400
+ "consentForms": "Формы согласия",
401
+ "insuranceVerification": "Проверка страховки",
402
+ "symptomQuestionnaire": "Анкета симптомов",
403
+ "medicalAppointments": "Запись на приём",
404
+ "medicalAppointmentsDesc": "Запись к врачам, на анализы и повторные визиты с интеграцией календаря",
405
+ "doctorBooking": "Запись к врачу",
406
+ "labScheduling": "Запись на анализы",
407
+ "followUpReminders": "Напоминания о повторных визитах",
408
+ "specialistReferral": "Направление к специалисту",
409
+ "telehealth": "Телемедицинские сеансы",
410
+ "medicalTriage": "Клиническая сортировка",
411
+ "medicalTriageDesc": "Оценка срочности и маршрутизация пациентов к нужному уровню помощи",
412
+ "urgencyAssessment": "Оценка срочности",
413
+ "departmentRouting": "Маршрутизация по отделениям",
414
+ "nurseEscalation": "Эскалация медсестре",
415
+ "emergencyDetection": "Обнаружение экстренных случаев",
416
+ "specialistMatch": "Подбор специалиста",
417
+ "medicalKnowledgeForm": "Умный приём пациентов",
418
+ "medicalKnowledgeFormDesc": "Информирует пациентов и одновременно собирает данные приёма",
419
+ "smartIntake": "Умный приём",
420
+ "guidedSymptoms": "Направляемый сбор симптомов",
421
+ "educatedConsent": "Информированное согласие",
422
+ "preVisitPrep": "Подготовка к визиту",
423
+ "medicalKnowledgeAppt": "Информированная запись",
424
+ "medicalKnowledgeApptDesc": "Объясняет услуги и помогает пациентам записаться на нужный приём",
425
+ "informedBooking": "Информированная запись",
426
+ "prepThenSchedule": "Подготовка, затем запись",
427
+ "serviceExplainer": "Объяснение услуг",
428
+ "waitTimeInfo": "Информация о времени ожидания",
429
+ "medicalTriple": "Путь пациента",
430
+ "medicalTripleDesc": "Полный поток приёма: информирует, собирает данные и записывает в одном разговоре",
431
+ "fullPatientJourney": "Полный путь пациента",
432
+ "newPatientOnboarding": "Онбординг новых пациентов",
433
+ "referralWorkflow": "Процесс направления",
434
+ "medicalAll": "Виртуальная регистратура",
435
+ "medicalAllDesc": "Полный цифровой регистратор: сортировка, приём, информирование и запись",
436
+ "virtualFrontDesk": "Виртуальная регистратура",
437
+ "completePatientPortal": "Помощник портала пациента",
438
+ "urgentCareBot": "Бот неотложной помощи"
439
+ },
440
+ "legal": {
441
+ "legalKnowledge": "Юридическая информация",
442
+ "legalKnowledgeDesc": "Отвечает на вопросы о практиках, процессах и структурах гонораров",
443
+ "legalFAQ": "Юридический FAQ",
444
+ "caseTypesInfo": "Информация о типах дел",
445
+ "feeStructure": "Структура гонораров",
446
+ "processExplainer": "Объяснение процесса",
447
+ "jurisdictionInfo": "Информация о юрисдикции",
448
+ "legalForms": "Приём клиентов",
449
+ "legalFormsDesc": "Сбор деталей дела, документов и информации для проверки конфликта интересов",
450
+ "clientIntake": "Приём клиентов",
451
+ "caseDetails": "Детали дела",
452
+ "documentCollection": "Сбор документов",
453
+ "conflictCheck": "Проверка конфликта интересов",
454
+ "retainerInfo": "Информация о гонораре",
455
+ "legalAppointments": "Запись на консультацию",
456
+ "legalAppointmentsDesc": "Планирование консультаций, дачи показаний и встреч",
457
+ "consultationBooking": "Запись на консультацию",
458
+ "depositionSchedule": "Планирование дачи показаний",
459
+ "courtDateReminders": "Напоминания о датах суда",
460
+ "meetingCoordination": "Координация встреч",
461
+ "legalTriage": "Маршрутизация дел",
462
+ "legalTriageDesc": "Маршрутизация запросов к нужному адвокату или практической области",
463
+ "caseTypeRouting": "Маршрутизация по типу дела",
464
+ "urgencyAssessment": "Оценка срочности",
465
+ "attorneyMatch": "Подбор адвоката",
466
+ "departmentRouting": "Маршрутизация по отделам",
467
+ "legalKnowledgeForm": "Направляемая оценка дела",
468
+ "legalKnowledgeFormDesc": "Объясняет правовые варианты и собирает информацию о деле",
469
+ "guidedIntake": "Направляемый приём",
470
+ "informedConsent": "Информированное согласие",
471
+ "caseEvaluation": "Оценка дела",
472
+ "legalAll": "Виртуальный помощник юриста",
473
+ "legalAllDesc": "Полные клиентские услуги: приём, оценка дела, маршрутизация и планирование",
474
+ "virtualParalegal": "Виртуальный помощник юриста",
475
+ "clientPortal": "Клиентский портал",
476
+ "caseManagement": "Управление делами"
477
+ },
478
+ "retail": {
479
+ "retailKnowledge": "Помощник по продуктам",
480
+ "retailKnowledgeDesc": "Отвечает на вопросы о продуктах, наличии, политиках и размерах",
481
+ "productInfo": "Информация о продуктах",
482
+ "stockAvailability": "Наличие на складе",
483
+ "returnPolicy": "Политика возврата",
484
+ "shippingFAQ": "FAQ по доставке",
485
+ "sizeGuide": "Руководство по размерам",
486
+ "retailForms": "Обслуживание клиентов",
487
+ "retailFormsDesc": "Обработка поиска заказов, возвратов и регистрации гарантии",
488
+ "orderLookup": "Поиск заказа",
489
+ "returnRequest": "Запрос возврата",
490
+ "warrantyRegistration": "Регистрация гарантии",
491
+ "feedbackSurvey": "Опрос обратной связи",
492
+ "wishlist": "Сбор списка желаний",
493
+ "retailAppointments": "Запись на услуги",
494
+ "retailAppointmentsDesc": "Планирование персональных покупок, самовывоза и услуг в магазине",
495
+ "personalShopping": "Персональные покупки",
496
+ "storePickup": "Самовывоз из магазина",
497
+ "serviceBooking": "Запись на услугу",
498
+ "consultations": "Консультации по стилю",
499
+ "fittingRoom": "Запись в примерочную",
500
+ "retailTriage": "Маршрутизация клиентов",
501
+ "retailTriageDesc": "Маршрутизация клиентов в нужный отдел или эскалация проблем",
502
+ "departmentRouting": "Маршрутизация по отделам",
503
+ "issueEscalation": "Эскалация проблем",
504
+ "vipCustomers": "VIP-клиенты",
505
+ "languageRouting": "Маршрутизация по языку",
506
+ "retailAll": "Виртуальный консьерж",
507
+ "retailAllDesc": "Полный помощник по покупкам: помощь с продуктами, запись на услуги и поддержка",
508
+ "virtualConcierge": "Виртуальный консьерж",
509
+ "omniChannelSupport": "Омниканальная поддержка",
510
+ "personalShopperBot": "Бот персонального шопера"
511
+ },
512
+ "realestate": {
513
+ "realestateKnowledge": "Информация об объектах",
514
+ "realestateKnowledgeDesc": "Отвечает на вопросы о листингах, районах и процессе покупки",
515
+ "listingInfo": "Информация о листинге",
516
+ "neighborhoodGuide": "Гид по районам",
517
+ "mortgageFAQ": "FAQ по ипотеке",
518
+ "buyingProcess": "Процесс покупки",
519
+ "marketTrends": "Тренды рынка",
520
+ "realestateForms": "Квалификация лидов",
521
+ "realestateFormsDesc": "Квалификация покупателей/продавцов и сбор предпочтений по объектам",
522
+ "buyerQualification": "Квалификация покупателя",
523
+ "sellerIntake": "Приём продавца",
524
+ "propertyPreferences": "Предпочтения по объекту",
525
+ "preApprovalInfo": "Информация о предварительном одобрении",
526
+ "contactCapture": "Сбор контактов",
527
+ "realestateAppointments": "Запись на показы",
528
+ "realestateAppointmentsDesc": "Запись на показы объектов, дни открытых дверей и встречи с агентами",
529
+ "showingSchedule": "График показов",
530
+ "openHouseRSVP": "Регистрация на день открытых дверей",
531
+ "agentMeeting": "Встреча с агентом",
532
+ "virtualTour": "Виртуальный тур",
533
+ "inspectionBooking": "Запись на осмотр",
534
+ "realestateTriage": "Подбор агента",
535
+ "realestateTriageDesc": "Подбор лидов к нужному агенту по потребностям и местоположению",
536
+ "buyerVsSeller": "Покупатель или продавец",
537
+ "locationRouting": "Маршрутизация по местоположению",
538
+ "agentMatch": "Подбор агента",
539
+ "propertyTypeSpecialist": "Специалист по типу объекта",
540
+ "realestateAll": "Виртуальный агент",
541
+ "realestateAllDesc": "Полный помощник по недвижимости: листинги, квалификация и планирование",
542
+ "virtualAgent": "Виртуальный агент",
543
+ "leadQualification": "Квалификация лида",
544
+ "propertyMatchmaker": "Подбор объекта"
545
+ },
546
+ "education": {
547
+ "educationKnowledge": "Информация о курсах и программах",
548
+ "educationKnowledgeDesc": "Отвечает на вопросы о курсах, поступлении, финансовой помощи и студенческой жизни",
549
+ "courseCatalog": "Каталог курсов",
550
+ "admissionsFAQ": "FAQ по поступлению",
551
+ "financialAid": "Информация о финансовой помощи",
552
+ "campusInfo": "Информация о кампусе",
553
+ "programRequirements": "Требования программы",
554
+ "educationForms": "Заявки студентов",
555
+ "educationFormsDesc": "Сбор информации о зачислении, регистрации и подаче заявок",
556
+ "applicationForm": "Форма заявки",
557
+ "enrollmentInfo": "Информация о зачислении",
558
+ "transcriptRequest": "Запрос транскрипта",
559
+ "financialAidApp": "Заявка на финансовую помощь",
560
+ "courseRegistration": "Регистрация на курсы",
561
+ "educationAppointments": "Академическое планирование",
562
+ "educationAppointmentsDesc": "Запись на встречи с консультантами, экскурсии по кампусу и репетиторские сеансы",
563
+ "advisorMeeting": "Встреча с консультантом",
564
+ "campusTour": "Экскурсия по кампусу",
565
+ "admissionsInterview": "Собеседование при поступлении",
566
+ "tutoringSessions": "Репетиторские сеансы",
567
+ "officeHours": "Часы приёма",
568
+ "educationTriage": "Маршрутизация студентов",
569
+ "educationTriageDesc": "Маршрутизация запросов в нужный отдел или команду поддержки",
570
+ "departmentRouting": "Маршрутизация по отделам",
571
+ "studentVsProspect": "Студент или абитуриент",
572
+ "academicVsAdmin": "Академический или административный",
573
+ "urgencyLevel": "Уровень срочности",
574
+ "educationAll": "Виртуальный консультант",
575
+ "educationAllDesc": "Полные студенческие услуги: информация, заявки и планирование",
576
+ "virtualAdvisor": "Виртуальный консультант",
577
+ "admissionsBot": "Бот приёмной комиссии",
578
+ "studentServicesHub": "Центр студенческих услуг"
579
+ },
580
+ "hospitality": {
581
+ "hospitalityKnowledge": "Информация для гостей",
582
+ "hospitalityKnowledgeDesc": "Отвечает на вопросы об удобствах, ресторанах, развлечениях и местных достопримечательностях",
583
+ "amenitiesInfo": "Информация об удобствах",
584
+ "localAttractions": "Местные достопримечательности",
585
+ "diningOptions": "Варианты питания",
586
+ "policyFAQ": "FAQ по правилам",
587
+ "eventInfo": "Информация о мероприятиях",
588
+ "hospitalityForms": "Предпочтения гостей",
589
+ "hospitalityFormsDesc": "Сбор предпочтений по номеру, диетических ограничений и деталей особых случаев перед прибытием",
590
+ "roomPreferences": "Предпочтения по номеру",
591
+ "dietaryRestrictions": "Диетические ограничения",
592
+ "pillowMenu": "Меню подушек и постельных принадлежностей",
593
+ "arrivalDetails": "Детали прибытия",
594
+ "specialOccasions": "Особые случаи",
595
+ "hospitalityAppointments": "Бронирование",
596
+ "hospitalityAppointmentsDesc": "Бронирование столиков, спа, развлечений и обслуживания в номер",
597
+ "reservationBooking": "Бронирование",
598
+ "spaAppointment": "Запись в спа",
599
+ "diningReservation": "Бронирование столика",
600
+ "roomService": "Обслуживание в номер",
601
+ "activityBooking": "Бронирование развлечений",
602
+ "hospitalityTriage": "Маршрутизация гостей",
603
+ "hospitalityTriageDesc": "Маршрутизация запросов в нужный отдел или эскалация срочных вопросов",
604
+ "guestVsProspect": "Гость или потенциальный клиент",
605
+ "urgentRequests": "Срочные запросы",
606
+ "departmentRouting": "Маршрутизация по отделам",
607
+ "vipHandling": "Обслуживание VIP",
608
+ "hospitalityAll": "Виртуальный консьерж",
609
+ "hospitalityAllDesc": "Полные услуги для гостей: информация, бронирование и поддержка",
610
+ "virtualConcierge": "Виртуальный консьерж",
611
+ "guestServicesBot": "Бот гостевого обслуживания",
612
+ "preArrivalConcierge": "Консьерж до прибытия"
613
+ },
614
+ "finance": {
615
+ "financeKnowledge": "Финансовые продукты",
616
+ "financeKnowledgeDesc": "Отвечает на вопросы о счетах, кредитах, ставках и требованиях KYC",
617
+ "productInfo": "Информация о продуктах",
618
+ "ratesFAQ": "FAQ по ставкам и комиссиям",
619
+ "eligibilityGuide": "Руководство по соответствию требованиям",
620
+ "kycRequirements": "Требования KYC",
621
+ "complianceInfo": "Информация о соответствии",
622
+ "financeForms": "KYC и онбординг",
623
+ "financeFormsDesc": "Сбор документов, удостоверяющих личность, проверка клиентов и завершение регуляторного онбординга",
624
+ "kycCollection": "Сбор KYC",
625
+ "identityVerification": "Проверка личности",
626
+ "amlScreening": "AML-скрининг",
627
+ "accountOpening": "Открытие счёта",
628
+ "riskProfiling": "Профилирование риска",
629
+ "financeAppointments": "Запись к консультанту",
630
+ "financeAppointmentsDesc": "Запись на встречи с консультантами, кредитными специалистами и экспертами",
631
+ "advisorMeeting": "Встреча с консультантом",
632
+ "loanConsultation": "Консультация по кредиту",
633
+ "accountReview": "Обзор счёта",
634
+ "planningSession": "Сеанс планирования",
635
+ "branchVisit": "Визит в отделение",
636
+ "financeTriage": "Маршрутизация услуг",
637
+ "financeTriageDesc": "Маршрутизация к нужному специалисту по продукту или эскалация сложных случаев",
638
+ "productRouting": "Маршрутизация по продукту",
639
+ "complianceEscalation": "Эскалация по комплаенсу",
640
+ "advisorMatch": "Подбор консультанта",
641
+ "fraudEscalation": "Эскалация по мошенничеству",
642
+ "financeAll": "Цифровой онбординг",
643
+ "financeAllDesc": "Полный цифровой онбординг: KYC-проверка, подбор продукта и запись к консультанту",
644
+ "digitalOnboarding": "Цифровой онбординг",
645
+ "kycBot": "KYC-бот",
646
+ "wealthAdvisorAssistant": "Помощник консультанта по благосостоянию"
647
+ }
648
+ },
649
+ "knowledge": {
650
+ "title": "База знаний",
651
+ "description": "Отвечает на вопросы по загруженным документам с помощью RAG-извлечения",
652
+ "example1": "Чат-бот FAQ продукта",
653
+ "example2": "Помощник по документации",
654
+ "example3": "Внутренний портал знаний"
655
+ },
656
+ "formGathering": {
657
+ "title": "Сбор форм",
658
+ "description": "Постепенный сбор информации о пользователях через естественный разговор",
659
+ "example1": "Формы захвата лидов",
660
+ "example2": "Онбординг клиентов",
661
+ "example3": "Опросы и сбор обратной связи"
662
+ },
663
+ "appointments": {
664
+ "title": "Запись на встречи",
665
+ "description": "Позволяет пользователям записываться на встречи через интеграции с календарями",
666
+ "example1": "Запись на консультации по продажам",
667
+ "example2": "Планирование сервисных встреч",
668
+ "example3": "Запросы на демо и встречи"
669
+ },
670
+ "triage": {
671
+ "title": "Маршрутизация сортировки",
672
+ "description": "Маршрутизация пользователей к специализированным ботам или живой поддержке в зависимости от их потребностей",
673
+ "example1": "Маршрутизация по отделам",
674
+ "example2": "Эскалация к живым агентам",
675
+ "example3": "Оркестрация между ботами"
676
+ },
677
+ "singles": {
678
+ "singleKnowledge": "Помощник по знаниям",
679
+ "singleKnowledgeDesc": "Отвечает на вопросы по загруженным документам с интеллектуальным RAG-извлечением",
680
+ "scenarioFAQ": "Чат-бот FAQ",
681
+ "scenarioProductInfo": "Информация о продуктах",
682
+ "scenarioDocumentation": "Портал документации",
683
+ "scenarioInternalKB": "Внутренняя база знаний",
684
+ "scenarioPolicyLookup": "Поиск по правилам",
685
+ "singleFormGathering": "Сборщик данных",
686
+ "singleFormGatheringDesc": "Постепенный сбор структурированной информации через естественный разговор",
687
+ "scenarioLeadCapture": "Захват лидов",
688
+ "scenarioSurvey": "Сбор опросов",
689
+ "scenarioContactForm": "Контактные формы",
690
+ "scenarioFeedback": "Сбор обратной связи",
691
+ "scenarioRegistration": "Регистрация на мероприятия",
692
+ "singleAppointments": "Помощник по записи",
693
+ "singleAppointmentsDesc": "Помогает пользователям планировать встречи через интеграции с календарями, такие как Calendly или Cal.com",
694
+ "scenarioBookMeeting": "Запись на встречу",
695
+ "scenarioScheduleDemo": "Планирование демо",
696
+ "scenarioConsultation": "Запись на консультацию",
697
+ "scenarioServiceAppt": "Сервисные записи",
698
+ "scenarioOfficeHours": "Часы приёма",
699
+ "singleTriage": "Умный маршрутизатор",
700
+ "singleTriageDesc": "Маршрутизация пользователей в нужное место по намерению, срочности или теме",
701
+ "scenarioRouteToAgent": "Маршрутизация к агенту",
702
+ "scenarioDepartmentRouting": "Маршрутизация по отделам",
703
+ "scenarioEscalation": "Обработка эскалации",
704
+ "scenarioLanguageRouting": "Маршрутизация по языку",
705
+ "scenarioVIPRouting": "Приоритетная/VIP-маршрутизация",
706
+ "singleOpticalRead": "Извлечение через зрение",
707
+ "singleOpticalReadDesc": "Извлекает структурированные поля из загруженного изображения — модель читает, пользователь проверяет и отправляет",
708
+ "scenarioIdScan": "Сканирование удостоверения",
709
+ "scenarioInsuranceCard": "Захват страховой карты",
710
+ "scenarioReceiptExtract": "Извлечение чека",
711
+ "scenarioBusinessCard": "Сканер визиток",
712
+ "scenarioPrescriptionLabel": "Этикетка рецепта"
713
+ },
714
+ "synergies": {
715
+ "synergyKnowledgeForm": "Информированный захват лидов",
716
+ "synergyKnowledgeFormDesc": "Отвечает на вопросы о продуктах для построения доверия, затем захватывает заинтересованных лидов через контекстные формы",
717
+ "scenarioQualifyThenCapture": "Квалификация, затем захват",
718
+ "scenarioAnswerThenCollect": "Ответ, затем сбор",
719
+ "scenarioContextualForms": "Контекстные формы",
720
+ "scenarioEducateThenConvert": "Обучение, затем конверсия",
721
+ "scenarioSupportToLead": "Поддержка → Лид",
722
+ "synergyKnowledgeAppointments": "Консультативная запись",
723
+ "synergyKnowledgeAppointmentsDesc": "Информирует пользователей об услугах/продуктах, затем позволяет им записаться, когда они готовы",
724
+ "scenarioInformThenBook": "Информирование, затем запись",
725
+ "scenarioSmartScheduling": "Умное планирование",
726
+ "scenarioPreQualifyBooking": "Предварительная квалификация записей",
727
+ "scenarioServiceExplainer": "Объяснение услуги → Запись",
728
+ "scenarioPricingToDemo": "FAQ по ценам → Демо",
729
+ "synergyKnowledgeTriage": "Интеллектуальная эскалация",
730
+ "synergyKnowledgeTriageDesc": "Самостоятельные ответы на распространённые вопросы, бесшовная передача для сложных случаев",
731
+ "scenarioAnswerOrEscalate": "Ответ или эскалация",
732
+ "scenarioSmartRouting": "Умная маршрутизация",
733
+ "scenarioTieredSupport": "Многоуровневая поддержка",
734
+ "scenarioDeflectOrRoute": "Отклонение или маршрутизация",
735
+ "scenarioL1Automation": "Автоматизация L1",
736
+ "synergyKnowledgeOpticalRead": "Сканирование и объяснение",
737
+ "synergyKnowledgeOpticalReadDesc": "Извлекает данные из загруженного изображения, затем отвечает на дополнительные вопросы на основе вашей базы знаний",
738
+ "scenarioScanThenAsk": "Сканирование, затем вопрос",
739
+ "scenarioDocumentExplainer": "Объяснение документов",
740
+ "scenarioCardToPolicy": "Карта → поиск политики",
741
+ "scenarioPrescriptionExplainer": "Объяснение рецепта",
742
+ "scenarioReceiptToReturns": "Чек → FAQ возвратов",
743
+ "synergyFormAppointments": "От приёма к записи",
744
+ "synergyFormAppointmentsDesc": "Сбор квалифицирующей информации, затем предложение персонализированных слотов для записи",
745
+ "scenarioIntakeSchedule": "Приём, затем планирование",
746
+ "scenarioBookAndCapture": "Запись и захват",
747
+ "scenarioQualifyBook": "Квалификация, затем запись",
748
+ "scenarioPreVisitForm": "Форма перед визитом → Запись",
749
+ "scenarioNeedsAssessment": "Оценка потребностей → Планирование",
750
+ "synergyFormTriage": "Умная маршрутизация лидов",
751
+ "synergyFormTriageDesc": "Сбор данных пользователя, затем маршрутизация к идеальному члену команды или отделу",
752
+ "scenarioCollectThenRoute": "Сбор, затем маршрутизация",
753
+ "scenarioFormBasedRouting": "Маршрутизация на основе формы",
754
+ "scenarioLeadDistribution": "Распределение лидов",
755
+ "scenarioSkillBasedRouting": "Маршрутизация по навыкам",
756
+ "scenarioTerritoryAssignment": "Назначение территорий",
757
+ "synergyAppointmentsTriage": "Запись к специалисту",
758
+ "synergyAppointmentsTriageDesc": "Определяет нужного специалиста под потребности пользователя, затем напрямую записывает",
759
+ "scenarioRouteToCalendar": "Маршрутизация к календарю",
760
+ "scenarioSpecialistBooking": "Запись к специалисту",
761
+ "scenarioSmartDelegation": "Умное делегирование",
762
+ "scenarioExpertMatch": "Подбор эксперта",
763
+ "scenarioAvailabilityRouting": "Маршрутизация по доступности",
764
+ "synergyTriple1": "Полная воронка продаж",
765
+ "synergyTriple1Desc": "Полный путь продаж: обучение потенциальных клиентов, захват лидов и запись на квалифицированные демо",
766
+ "scenarioFullSalesFlow": "Полный поток продаж",
767
+ "scenarioCompleteOnboarding": "Полный онбординг",
768
+ "scenarioNurtureToClose": "От взращивания к закрытию",
769
+ "scenarioInboundSales": "Автоматизация входящих продаж",
770
+ "synergyTriple2": "Центр поддержки",
771
+ "synergyTriple2Desc": "База знаний самообслуживания, создание тикетов и интеллектуальная эскалация к агентам",
772
+ "scenarioSupportEscalation": "Эскалация поддержки",
773
+ "scenarioIntelligentTicketing": "Интеллектуальное тикетирование",
774
+ "scenarioHelpDeskAuto": "Автоматизация хелпдеска",
775
+ "scenarioIssueCapture": "Захват проблемы → Маршрутизация",
776
+ "synergyTriple3": "Поток консультаций",
777
+ "synergyTriple3Desc": "Отвечает на вопросы, подбирает нужного эксперта и обеспечивает прямую запись в календарь",
778
+ "scenarioMultiSpecialistBooking": "Запись к нескольким специалистам",
779
+ "scenarioSmartConsultation": "Умная консультация",
780
+ "scenarioAdvisoryFlow": "Поток консультативных услуг",
781
+ "scenarioExpertConnect": "Связь с экспертом",
782
+ "synergyTriple4": "Полный приём",
783
+ "synergyTriple4Desc": "Структурированные формы приёма, умная маршрутизация в команды и автоматизированное планирование",
784
+ "scenarioIntakeRouteBook": "Приём → Маршрутизация → Запись",
785
+ "scenarioCompleteLeadFlow": "Полный поток лидов",
786
+ "scenarioPatientIntake": "Поток приёма пациентов",
787
+ "scenarioClientOnboarding": "Онбординг клиентов",
788
+ "synergyAll": "Корпоративный помощник",
789
+ "synergyAllDesc": "Полнофункциональный консьерж: отвечает на вопросы, собирает данные, интеллектуально маршрутизирует и записывает на встречи",
790
+ "scenarioEnterpriseBot": "Корпоративный помощник",
791
+ "scenarioFullServiceAssistant": "Полнофункциональный бот",
792
+ "scenarioDigitalConcierge": "Цифровой консьерж",
793
+ "scenarioVirtualReceptionist": "Виртуальный администратор",
794
+ "scenarioUnifiedSupport": "Единый центр поддержки"
795
+ }
796
+ }
797
+ },
798
+ "modular": {
799
+ "addCalendarProvider": "Добавить провайдера календаря",
800
+ "addUrlDestination": "Добавить URL-назначение",
801
+ "redirectToBot": "Перенаправить к боту",
802
+ "addRoutingDestination": "Добавить назначение маршрутизации",
803
+ "selectedBot": "Выбранный бот",
804
+ "displayName": "Отображаемое имя",
805
+ "displayNamePlaceholder": "напр., Поддержка продаж, Техническая помощь",
806
+ "description": "Описание",
807
+ "descriptionPlaceholder": "Опишите, когда пользователей следует маршрутизировать сюда...",
808
+ "url": "URL",
809
+ "urlPlaceholder": "https://example.com/support",
810
+ "paradigm": "Парадигма",
811
+ "protocols": "Протоколы",
812
+ "set": "Задано",
813
+ "notGenerated": "Не сгенерировано",
814
+ "calendars": "Календари",
815
+ "configured": "{count} настроено",
816
+ "triageRoutes": "Маршруты сортировки",
817
+ "opticalReadFields": "Поля оптического чтения",
818
+ "required": "Обязательно",
819
+ "displayNameRequired": "Отображаемое имя обязательно",
820
+ "descriptionRequired": "Описание обязательно",
821
+ "urlRequired": "URL обязателен",
822
+ "urlInvalid": "Введите корректный URL",
823
+ "addOpticalReadField": "Добавить поле извлечения",
824
+ "editOpticalReadField": "Изменить поле извлечения",
825
+ "updateOpticalReadField": "Обновить поле извлечения"
826
+ },
827
+ "tabs": {
828
+ "desktop": "Рабочий стол",
829
+ "documents": "Документы",
830
+ "fieldsDisplay": "Отображение полей",
831
+ "flow": "Поток",
832
+ "jsonView": "Просмотр JSON",
833
+ "fields": "Поля",
834
+ "preview": "Предпросмотр"
835
+ },
836
+ "identity": {
837
+ "chatDisplayName": "Отображаемое имя в окне чата",
838
+ "chatDisplayNameHelper": "Имя, отображаемое в заголовке интерфейса чата",
839
+ "personaObjective": "Персона и цель",
840
+ "personaObjectivePlaceholder": "Опишите цель, личность и пользовательские инструкции вашего бота",
841
+ "personaObjectiveHelper": "Определите, как должен вести себя ваш бот, чем он должен помогать и какие конкретные правила следует соблюдать.",
842
+ "welcomeMessage": "Приветственное сообщение",
843
+ "welcomeMessagePlaceholder": "Привет! Чем я могу вам помочь?",
844
+ "welcomeMessageHelper": "Первое сообщение, которое видят пользователи при начале разговора.",
845
+ "suggestedPrompts": "Предлагаемые подсказки (необязательно)",
846
+ "suggestedPromptsHelper": "Предоставьте быстрые подсказки, чтобы помочь пользователям начать разговор",
847
+ "inputPlaceholder": "Плейсхолдер ввода",
848
+ "inputPlaceholderHelper": "Текст-плейсхолдер в поле ввода сообщения",
849
+ "inputPlaceholderDefault": "Введите сообщение...",
850
+ "promptPlaceholder": "С чем вы можете мне помочь?",
851
+ "chatDisplayNamePlaceholder": "Бот",
852
+ "promptItemLabel": "Подсказка"
853
+ },
854
+ "resources": {
855
+ "botName": "Задайте уникальное имя бота",
856
+ "botNameHelper": "Будет использоваться как уникальный идентификатор ресурса. Максимум 50 символов.",
857
+ "botNamePlaceholder": "Мой потрясающий бот",
858
+ "aboutBotNames": "Об именах ботов",
859
+ "botNameInfo": "Имена ресурсов доступны для поиска на панели управления. Используйте осмысленные описания или внедрите свою систему.",
860
+ "botNameWarning": "Имя нельзя изменить после развёртывания.",
861
+ "provider": "Провайдер",
862
+ "selectProvider": "Выберите провайдера",
863
+ "model": "Модель",
864
+ "selectModel": "Выберите модель",
865
+ "apiKey": "API-ключ",
866
+ "apiKeyEnter": "Введите ваш API-ключ",
867
+ "apiKeySelectProviderFirst": "Сначала выберите провайдера",
868
+ "apiKeySavedPlaceholder": "•••••••• (используется сохранённый ключ)",
869
+ "apiKeyExistingPlaceholder": "•••••••• (существующий ключ в файле — оставьте пустым, чтобы сохранить)",
870
+ "apiKeyUsingSaved": "Используется сохранённый API-ключ:",
871
+ "apiKeyExistingConfigured": "Существующий API-ключ настроен — будет использоваться повторно, если вы не введёте новый",
872
+ "apiKeyIsSet": "API-ключ задан",
873
+ "apiKeyClear": "Очистить",
874
+ "apiKeyAbout": "Об API-ключах",
875
+ "apiKeyTooltip": "Ваш API-ключ зашифрован и хранится безопасно. Он будет использоваться для генерации ответов вашего чат-бота. Вы можете управлять сохранёнными API-ключами в настройках.",
876
+ "apiKeyEncryptedHelper": "Ваш API-ключ зашифрован и хранится безопасно",
877
+ "apiKeyLoadingSaved": "Загрузка сохранённых ключей...",
878
+ "apiKeyOrUseSaved": "Или используйте сохранённый API-ключ:",
879
+ "awsCredentialsUsing": "Используются сохранённые учётные данные AWS:",
880
+ "awsCredentialsExisting": "Существующие учётные данные AWS настроены — будут использоваться повторно, если вы не введёте новые ниже",
881
+ "awsUseIamRole": "Использовать IAM Role (рекомендуется для EKS/EC2)",
882
+ "awsUseIamRoleHelper": "Использует IAM-роль инстанса/пода вместо явных учётных данных",
883
+ "awsAccessKeyId": "AWS Access Key ID",
884
+ "awsAccessKeyIdPlaceholder": "AKIAIOSFODNN7EXAMPLE",
885
+ "awsSecretAccessKey": "AWS Secret Access Key",
886
+ "awsSecretAccessKeyPlaceholder": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
887
+ "bedrockRegion": "Регион Bedrock",
888
+ "bedrockRegionOption": "{name} ({geoPrefix} межрегиональный)",
889
+ "bedrockCrossRegion": "Межрегиональный вывод направляет запросы в доступную ёмкость в регионе {regionName}",
890
+ "regionUS": "США",
891
+ "regionEU": "ЕС",
892
+ "regionAPAC": "APAC",
893
+ "awsUsingIamRoleStatus": "Используется IAM Role",
894
+ "awsCredentialsConfigured": "Учётные данные AWS настроены",
895
+ "awsLoadingCredentials": "Загрузка сохранённых учётных данных...",
896
+ "awsOrUseSaved": "Или используйте сохранённые учётные данные AWS:",
897
+ "ollamaNoCredsNeeded": "Ollama работает с вашим собственным эндпоинтом — API-ключ не требуется.",
898
+ "ollamaHost": "URL хоста Ollama",
899
+ "ollamaHostHelper": "Эндпоинт, к которому будет обращаться ваш бот. Оставьте пустым, чтобы использовать значение по умолчанию http://localhost:11434. Если ваш бот работает в Docker, а Ollama — на хосте, используйте http://host.docker.internal:11434 (Mac/Windows) или LAN IP вашего хоста (Linux). Облачные развёртывания требуют публично доступного эндпоинта Ollama. Требуется Ollama ≥ 0.5.0 для гарантий валидности конверта — более старые демоны работают, но переходят к best-effort разбору JSON.",
900
+ "ollamaHostSavedPlaceholder": "Используется сохранённый хост — очистите, чтобы ввести новый URL",
901
+ "ollamaHostUsingSaved": "Используется сохранённый хост Ollama:",
902
+ "ollamaHostOrUseSaved": "Или используйте сохранённый хост Ollama:"
903
+ },
904
+ "knowledge": {
905
+ "loadingDocuments": "Загрузка документов...",
906
+ "noDocumentsInSpace": "В этом пространстве ботов пока нет документов.",
907
+ "selectFromBotSpace": "Выбрать из файлов пространства ботов",
908
+ "selected": "Выбрано",
909
+ "select": "Выбрать",
910
+ "skipRag": "Пропустить RAG",
911
+ "skipRagHelper": "Подсказка цели будет единственным источником знаний"
912
+ },
913
+ "infoGathering": {
914
+ "formRegion": "Регион формы",
915
+ "formRegionHelper": "Задаёт шаблоны валидации, форматы полей и метки для вашего целевого региона",
916
+ "describeInfo": "Опишите информацию, которую хотите собрать",
917
+ "describeInfoPlaceholder": "Я хочу собрать имя пользователя, email и название компании...",
918
+ "describeInfoHelperEdit": "Добавьте описание и регенерируйте, или редактируйте JSON напрямую во вкладке Просмотр JSON",
919
+ "describeInfoHelper": "Опишите поля формы простым текстом",
920
+ "aiFormGeneration": "Генерация форм на базе ИИ",
921
+ "regenerateDescription": "Регенерировать структуру формы из вашего нового описания",
922
+ "generateDescription": "Сгенерировать структурированную форму из вашего описания",
923
+ "errorNoDescription": "Опишите информацию, которую хотите собрать",
924
+ "errorNoApiKey": "Отсутствует API-ключ. Вернитесь на шаг 1 и введите ваш API-ключ.",
925
+ "formSubmissionOptions": "Параметры отправки формы",
926
+ "sendToControlPlane": "Отправить в панель управления",
927
+ "sendToControlPlaneHelper": "Хранить заполненные отправки форм в вашей панели для просмотра и экспорта",
928
+ "webhookUrl": "URL внешнего вебхука (необязательно)",
929
+ "webhookUrlPlaceholder": "https://your-webhook-url.com/endpoint",
930
+ "webhookUrlHelper": "Также отправлять данные формы во внешний вебхук (напр., Zapier, Make, пользовательскую конечную точку)",
931
+ "afterSubmitMessage": "Сообщение в чате после отправки",
932
+ "afterSubmitPlaceholder": "Спасибо! Давайте начнём...",
933
+ "afterSubmitHelper": "Сообщение, показываемое пользователям после отправки формы",
934
+ "termsAndConditions": "Условия использования",
935
+ "termsPlaceholder": "Введите здесь текст условий использования. Поддерживается markdown-форматирование...",
936
+ "termsHelper": "Если указано, обязательный флажок появится последним полем формы. Оставьте пустым, чтобы пропустить.",
937
+ "termsInfo": "Пользователи могут нажать на ссылку «Условия использования», чтобы просмотреть полный текст во всплывающем окне перед принятием.",
938
+ "jsonViewTip": "Совет: переключитесь на вкладку «Просмотр JSON» справа, чтобы изменить сгенерированную структуру формы."
939
+ },
940
+ "triage": {
941
+ "addRoute": "Добавить маршрут к чат-боту",
942
+ "deleteRoute": "Удалить маршрут",
943
+ "deleteDestination": "Удалить назначение",
944
+ "selectedBotUrl": "URL выбранного бота",
945
+ "editBotDestination": "Изменить назначение бота",
946
+ "editUrlDestination": "Изменить URL-назначение",
947
+ "selectBot": "Выбрать бота",
948
+ "loadingBots": "Загрузка ботов...",
949
+ "noBotsAvailable": "Нет доступных ботов. Сначала создайте бота.",
950
+ "descriptionHelper": "Используется для RAG-сопоставления, чтобы определить, когда направлять пользователей сюда",
951
+ "updateDestination": "Обновить назначение"
952
+ },
953
+ "opticalRead": {
954
+ "addField": "Добавить поле извлечения",
955
+ "deleteField": "Удалить поле",
956
+ "label": "Метка",
957
+ "labelPlaceholder": "Дата рождения",
958
+ "labelRequired": "Метка обязательна",
959
+ "idName": "ID-имя",
960
+ "idNamePlaceholder": "dob",
961
+ "idNameHelper": "ключ snake_case, используемый в extractedFields",
962
+ "idNameRequired": "ID-имя обязательно",
963
+ "idNameInvalid": "Используйте только строчные буквы, цифры и подчёркивания",
964
+ "idNameDuplicate": "ID-имя должно быть уникальным",
965
+ "hint": "Подсказка",
966
+ "hintPlaceholder": "ММ/ДД/ГГГГ, лицевая сторона удостоверения",
967
+ "hintHelper": "Необязательно: подскажите расположение или формат. Подсказка — основной примитив тонкой настройки.",
968
+ "noFieldsYet": "Добавьте хотя бы одно поле извлечения, чтобы включить оптическое чтение.",
969
+ "providerNotSupported": "Оптическое чтение требует провайдера с поддержкой зрения. Поддерживаются Anthropic и OpenAI.",
970
+ "intro": "Назовите слоты, которые хотите извлечь. Модель сопоставит их с собственным визуальным приором — необязательная подсказка задаёт расположение или формат.",
971
+ "showUploadOnStart": "Показать кнопку загрузки как стартовую подсказку",
972
+ "showUploadOnStartHelper": "Отображает карточку загрузки рядом с предложениями первого сообщения бота. Пропускает разговорный разогрев — пользователь может загрузить сразу.",
973
+ "afterSubmitMessage": "Сообщение в чате после отправки (необязательно)",
974
+ "afterSubmitMessagePlaceholder": "Спасибо! Мы получили ваши данные.",
975
+ "afterSubmitMessageHelper": "Ответ бота, отображаемый в чате после того, как пользователь отправит извлечённые поля. Оставьте пустым, чтобы пропустить."
976
+ },
977
+ "appointments": {
978
+ "addAppointment": "Добавить тип записи",
979
+ "deleteAppointment": "Удалить запись",
980
+ "editCalendarProvider": "Изменить провайдера календаря",
981
+ "updateCalendarProvider": "Обновить провайдера календаря",
982
+ "calendarId": "ID календаря",
983
+ "calendarIdPlaceholder": "напр., dr-smith-general",
984
+ "calendarIdHelper": "Уникальный идентификатор, возвращаемый как calendarId в ответе",
985
+ "calendarIdRequired": "ID календаря обязателен",
986
+ "calendarIdExists": "Этот ID календаря уже существует",
987
+ "providerName": "Имя провайдера",
988
+ "providerNameRequired": "Имя провайдера обязательно",
989
+ "providerNameHelper": "Сервис провайдера календаря",
990
+ "popupUrl": "URL всплывающего окна",
991
+ "popupUrlPlaceholder": "https://calendly.com/dr-smith",
992
+ "popupUrlHelper": "URL, открываемый при нажатии пользователем на кнопку календаря",
993
+ "popupUrlRequired": "URL всплывающего окна обязателен",
994
+ "popupUrlInvalid": "Введите корректный URL",
995
+ "descriptionPlaceholder": "Опишите, когда пользователям следует записываться к этому провайдеру календаря...",
996
+ "descriptionRequired": "Описание обязательно",
997
+ "descriptionHelper": "Используется для RAG-сопоставления, чтобы определить, какой календарь показать"
998
+ },
999
+ "deployment": {
1000
+ "inProgress": "Развёртывание выполняется...",
1001
+ "testDeployment": "Тестовое развёртывание",
1002
+ "currentDeployment": "Текущее развёртывание",
1003
+ "testBotLive": "Ваш тестовый бот запущен по этому URL:",
1004
+ "botLive": "Ваш бот запущен по этому URL:",
1005
+ "testSuccess": "Тестовое развёртывание выполнено успешно!",
1006
+ "testSuccessMessage": "Ваш тестовый бот запущен и работает. Вы можете протестировать его в панели предпросмотра справа.",
1007
+ "productionSuccess": "Производственное развёртывание выполнено успешно!",
1008
+ "productionSuccessMessage": "Ваш бот теперь запущен и готов к производственному использованию.",
1009
+ "deployToProduction": "Развернуть в продакшен",
1010
+ "viewDeployments": "Просмотреть ботов",
1011
+ "previewChanges": "Просмотр изменений (тест)",
1012
+ "deployToTest": "Развернуть в тест",
1013
+ "updateProduction": "Обновить продакшен-бота",
1014
+ "editMode": "Режим редактирования",
1015
+ "editModeMessage": "Развёртывание обновит существующего бота вашими изменениями. URL бота останется прежним.",
1016
+ "configSummary": "Сводка конфигурации",
1017
+ "botName": "Имя бота:",
1018
+ "provider": "Провайдер:",
1019
+ "model": "Модель:",
1020
+ "documents": "Документы:",
1021
+ "formCollection": "Сбор форм:",
1022
+ "uploaded": "загружено",
1023
+ "enabled": "Включено",
1024
+ "embeddings": "Эмбеддинги",
1025
+ "embeddingsChunks": "{count} фрагментов",
1026
+ "editConfiguration": "Изменить конфигурацию",
1027
+ "aboutDeployments": "О развёртываниях",
1028
+ "testDeploymentInfo": "Тестовое развёртывание: создаёт постоянный URL для тестирования.",
1029
+ "productionDeploymentInfo": "Производственное развёртывание: создаёт вашего работающего бота, который будет публично доступен.",
1030
+ "deploymentRegion": "Регион развёртывания",
1031
+ "useOrgDefault": "Использовать значение по умолчанию для организации ({region})",
1032
+ "regionHelp": "Выберите регион AWS, где будет развёрнут ваш бот. Это влияет на задержку и резидентность данных.",
1033
+ "none": "Нет",
1034
+ "saving": "Сохранение…",
1035
+ "saveChanges": "Сохранить изменения",
1036
+ "saveConfiguration": "Сохранить конфигурацию",
1037
+ "saveFailed": "Сбой сохранения",
1038
+ "saveErrorFallback": "Не удалось сохранить конфигурацию",
1039
+ "buildFailed": "Сбой сборки",
1040
+ "buildErrorFallback": "Не удалось собрать артефакт",
1041
+ "building": "Сборка…",
1042
+ "buildArtifact": "Собрать артефакт",
1043
+ "configurationSaved": "Конфигурация сохранена",
1044
+ "configurationSavedDesc": "Сохранено как <mono>{name}</mono>. Соберите исполняемый ZIP, когда будете готовы.",
1045
+ "artifactReadyCached": "Артефакт готов (кэширован)",
1046
+ "artifactBuilt": "Артефакт собран",
1047
+ "artifactReadyDesc": "Артефакт вашего бота <mono>{name}</mono> готов к скачиванию.",
1048
+ "downloadArtifact": "Скачать артефакт",
1049
+ "downloadArtifactWithDocs": "Скачать с документами",
1050
+ "previewHelp": "Попробуйте вашего бота вживую в панели справа. Когда ответы будут устраивать, сохраните и затем скачайте конфигурацию. Соберите исполняемый артефакт, когда будете готовы."
1051
+ },
1052
+ "previews": {
1053
+ "identity": {
1054
+ "fallbackBotName": "Бот",
1055
+ "fallbackPlaceholder": "Введите сообщение...",
1056
+ "fallbackFirstMessage": "Привет! Чем я могу вам помочь?",
1057
+ "minimize": "Свернуть",
1058
+ "minimizeChat": "Свернуть чат",
1059
+ "botMessage": "Сообщение бота",
1060
+ "suggestedPrompts": "Предлагаемые подсказки",
1061
+ "chatMessage": "Сообщение в чате",
1062
+ "typeYourMessageAria": "Введите сообщение",
1063
+ "sendMessage": "Отправить сообщение"
1064
+ },
1065
+ "appointments": {
1066
+ "fallbackBotName": "Бот записи",
1067
+ "noProviders": "Провайдеры календаря пока не настроены",
1068
+ "noProvidersHint": "Нажмите «Добавить провайдера календаря», чтобы начать",
1069
+ "userQuery": "Запрос пользователя",
1070
+ "calendarIconAlt": "Иконка календаря"
1071
+ },
1072
+ "triage": {
1073
+ "fallbackBotName": "Бот сортировки",
1074
+ "noRoutes": "Назначения маршрутизации пока не настроены",
1075
+ "noRoutesHint": "Нажмите «Добавить назначение маршрутизации», чтобы начать",
1076
+ "user": "Пользователь",
1077
+ "evaluatesAndRoutes": "Оценивает и маршрутизирует"
1078
+ },
1079
+ "opticalRead": {
1080
+ "noFields": "Поля извлечения пока не настроены",
1081
+ "noFieldsHint": "Нажмите «Добавить поле извлечения», чтобы начать",
1082
+ "clientPreviewLabel": "Как это увидят пользователи",
1083
+ "editButton": "Изменить",
1084
+ "sendButton": "Отправить",
1085
+ "previewNote": "Поля ввода отображаются отключёнными до извлечения. Пользователи нажимают «Изменить», чтобы исправить, и «Отправить», чтобы отправить."
1086
+ },
1087
+ "knowledge": {
1088
+ "unlinkTitle": "Отвязать от этого бота (файл остаётся в пространстве ботов)",
1089
+ "deleteTitle": "Удалить документ навсегда",
1090
+ "deleteConfirm": "Вы уверены, что хотите удалить «{name}»? Это навсегда удалит файл и не может быть отменено.",
1091
+ "deleteError": "Не удалось удалить файл",
1092
+ "uploadedDocuments": "Загруженные документы",
1093
+ "noUploadedDocs": "Нет загруженных документов",
1094
+ "uploadDocsLeft": "Загрузите документы слева",
1095
+ "linkedFromBotSpace": "Связано с пространством ботов",
1096
+ "noLinkedDocs": "Нет связанных документов",
1097
+ "selectSharedFilesHint": "Выберите общие файлы из пространства ботов",
1098
+ "linkedTooltip": "Загруженные документы по умолчанию становятся частью этого пространства ботов",
1099
+ "linkedFooter": "Связанные документы остаются в пространстве ботов после отвязки от этого бота.",
1100
+ "ragInfo": "Эти документы будут обработаны и использованы для предоставления контекста ответам вашего бота через RAG (Retrieval-Augmented Generation).",
1101
+ "fileCount": "{count} {count, plural, one {file} other {files}}",
1102
+ "untitled": "Без названия",
1103
+ "unknown": "Неизвестно",
1104
+ "fileFallback": "ФАЙЛ",
1105
+ "embedding": {
1106
+ "title": "Векторные эмбеддинги",
1107
+ "ready": "Готово",
1108
+ "notGenerated": "Не сгенерировано",
1109
+ "chunks": "Фрагменты",
1110
+ "model": "Модель",
1111
+ "sourceDocuments": "Исходные документы",
1112
+ "generated": "Сгенерировано",
1113
+ "embeddedFiles": "Встроенные файлы",
1114
+ "technicalDetails": "Технические детали",
1115
+ "noEmbeddingsYet": "Эмбеддингов пока нет",
1116
+ "uploadFirst": "Сначала загрузите документы во вкладке Документы.",
1117
+ "clickToGenerate": "Нажмите ниже, чтобы локально разбить и встроить ваши документы.",
1118
+ "generating": "Генерация…",
1119
+ "embeddingDocs": "Встраивание документов…",
1120
+ "regenerate": "Регенерировать эмбеддинги",
1121
+ "generate": "Сгенерировать векторные эмбеддинги",
1122
+ "errorNoDocuments": "Сначала загрузите хотя бы один документ",
1123
+ "errorGenerationFailed": "Не удалось сгенерировать эмбеддинги",
1124
+ "doneStatus": "Готово! {count} фрагментов встроено с {model}.",
1125
+ "regenWarning": "Если вы изменили набор документов, регенерируйте, чтобы артефакт оставался актуальным.",
1126
+ "vectorModeInfo": "В векторном режиме бот встраивает запросы в процессе с помощью встроенной ONNX-модели multilingual-e5-small и выполняет косинусное сходство локально. Зависимости от фабрики во время выполнения нет."
1127
+ }
1128
+ },
1129
+ "form": {
1130
+ "validate": "Проверить",
1131
+ "validateInput": "Проверить ввод",
1132
+ "selectOption": "Выберите вариант...",
1133
+ "noStructure": "Структура формы не сгенерирована",
1134
+ "noStructureHint": "Сгенерируйте форму, чтобы увидеть предпросмотр",
1135
+ "editJsonTitle": "Изменить структуру формы (JSON)",
1136
+ "openLargerView": "Открыть в большем виде",
1137
+ "expand": "Развернуть",
1138
+ "generatedJsonLabel": "Сгенерированная структура формы (JSON)",
1139
+ "validJson": "Валидный JSON",
1140
+ "invalidJson": "Невалидный JSON",
1141
+ "jsonParseError": "Ошибка разбора JSON:",
1142
+ "editJsonHelper": "Измените этот JSON, чтобы настроить структуру формы. Изменения отразятся во вкладке Отображение полей.",
1143
+ "branches": "Ветви",
1144
+ "requiredBadge": "Обязательно",
1145
+ "piiBadge": "PII"
1146
+ },
1147
+ "bot": {
1148
+ "missingConfig": "Добавьте провайдера, модель и API-ключ на шаге 1, чтобы запустить предпросмотр бота.",
1149
+ "livePreview": "Живой предпросмотр",
1150
+ "resetPreview": "Сбросить предпросмотр",
1151
+ "iframeTitle": "Предпросмотр бота",
1152
+ "skippedInPreview": "(пропущено в предпросмотре)",
1153
+ "webhookSideEffect": "Вебхук отправил бы POST на {url}",
1154
+ "webhookNoUrl": "(нет URL)",
1155
+ "submitFormSideEffect": "Форма была бы отправлена в панель управления",
1156
+ "genericSideEffect": "Побочный эффект пропущен в предпросмотре"
1157
+ }
1158
+ },
1159
+ "botSummary": {
1160
+ "title": "Сводка бота",
1161
+ "whyFillThis": "Зачем это заполнять?",
1162
+ "tooltipLine1": "Сводка бота помогает другим ботам в вашей сети понять, что делает этот бот и какие знания он содержит.",
1163
+ "tooltipLine2": "Это позволяет более умную маршрутизацию, сортировку и оркестрацию между ботами.",
1164
+ "description": "Опишите роль этого бота в вашей сети.",
1165
+ "notSystemPrompt": "Не системный промпт",
1166
+ "placeholder": "Опишите, что делает этот бот и какие знания у него есть. Например, «Обрабатывает запросы по выставлению счетов с доступом к документам по ценам и FAQ».",
1167
+ "characters": "символов",
1168
+ "optionalBadge": "Необязательно — Разверните, чтобы сохранить и использовать эту сводку в вашей сети."
1169
+ }
1170
+ },
1171
+ "settings": {
1172
+ "title": "Настройки",
1173
+ "subtitle": "Управляйте настройками вашей учётной записи и предпочтениями",
1174
+ "tabs": {
1175
+ "apiKeys": "API-ключи",
1176
+ "account": "Учётная запись",
1177
+ "servicePlan": "Тарифный план",
1178
+ "languages": "Языки",
1179
+ "botSpaces": "Пространства ботов",
1180
+ "builderConfig": "Конфигурация конструктора",
1181
+ "region": "Регион",
1182
+ "auditLogs": "Журналы аудита",
1183
+ "admin": "Администратор"
1184
+ },
1185
+ "languages": {
1186
+ "title": "Языковые предпочтения",
1187
+ "description": "Выберите предпочитаемый язык интерфейса",
1188
+ "preferredLanguage": "Предпочитаемый язык",
1189
+ "languageHelper": "Эта настройка будет применена ко всем вашим сессиям",
1190
+ "saveLanguage": "Сохранить язык",
1191
+ "saveSuccess": "Языковые предпочтения сохранены успешно",
1192
+ "saveError": "Не удалось сохранить языковые предпочтения",
1193
+ "aboutTitle": "О языковых настройках",
1194
+ "aboutItem1": "Ваше языковое предпочтение хранится в вашей учётной записи",
1195
+ "aboutItem2": "Изменения вступят в силу после сохранения",
1196
+ "aboutItem3": "Некоторое содержимое может быть ещё не переведено",
1197
+ "locales": {
1198
+ "en": "English",
1199
+ "es": "Spanish (Español)",
1200
+ "fr": "French (Français)",
1201
+ "de": "German (Deutsch)",
1202
+ "pt": "Portuguese (Português)",
1203
+ "ja": "Japanese (日本語)",
1204
+ "zh": "Chinese (中文)",
1205
+ "ko": "Korean (한국어)",
1206
+ "uk": "Ukrainian (Українська)",
1207
+ "ar": "Arabic (العربية)",
1208
+ "nl": "Dutch (Nederlands)",
1209
+ "sw": "Swahili (Kiswahili)"
1210
+ }
1211
+ },
1212
+ "region": {
1213
+ "title": "Регион развёртывания",
1214
+ "description": "Настройте регион AWS по умолчанию для развёртываний ботов",
1215
+ "currentRegion": "Текущий регион по умолчанию",
1216
+ "selectRegion": "Выберите регион по умолчанию",
1217
+ "regionHelp": "Новые развёртывания будут использовать этот регион по умолчанию. Пользователи могут переопределить эту настройку для каждого развёртывания.",
1218
+ "saveSuccess": "Регион по умолчанию обновлён успешно",
1219
+ "unsavedChanges": "У вас есть несохранённые изменения",
1220
+ "infoTitle": "О настройках региона",
1221
+ "infoDescription": "Регион развёртывания определяет, где работает инфраструктура вашего бота. Выбор региона ближе к вашим пользователям может улучшить время отклика. Отдельные развёртывания могут переопределить эту настройку по умолчанию."
1222
+ },
1223
+ "account": {
1224
+ "title": "Информация об учётной записи",
1225
+ "emailAddress": "Адрес email",
1226
+ "userId": "ID пользователя",
1227
+ "logout": "Выйти",
1228
+ "loggingOut": "Выход...",
1229
+ "logoutConfirm": "Вы уверены, что хотите выйти?",
1230
+ "logoutNote": "Вы будете выведены из своей учётной записи",
1231
+ "dangerZone": "Опасная зона",
1232
+ "deleteAccount": "Удалить учётную запись",
1233
+ "deleteAdminWarning": "Безвозвратно удалить вашу учётную запись и все связанные данные, включая ботов, пространства ботов и учётные записи участников, аффилированные только с вашей организацией. Это действие нельзя отменить.",
1234
+ "deleteUserWarning": "Безвозвратно удалить вашу учётную запись и все ваши личные данные, включая ботов, документы и API-ключи. Ваше членство в пространствах ботов будет удалено. Это действие нельзя отменить."
1235
+ },
1236
+ "servicePlan": {
1237
+ "title": "Тарифный план",
1238
+ "description": "Просмотр вашего текущего плана, использования и доступных функций",
1239
+ "currentPlan": "Ваш текущий план подписки",
1240
+ "usage": "Текущее использование",
1241
+ "deployedBots": "Развёрнутые боты",
1242
+ "botSpaces": "Пространства ботов",
1243
+ "users": "Пользователи",
1244
+ "includedFeatures": "Включённые функции",
1245
+ "allPlans": "Доступные планы",
1246
+ "current": "Текущий",
1247
+ "bots": "ботов",
1248
+ "spaces": "пространств",
1249
+ "usersLabel": "пользователей",
1250
+ "organization": "Организация",
1251
+ "needMore": "Нужно больше?",
1252
+ "contactUs": "Свяжитесь с нами, чтобы обсудить улучшение вашего плана или индивидуальные корпоративные решения."
1253
+ },
1254
+ "apiKeys": {
1255
+ "title": "API-ключи",
1256
+ "description": "Сохраняйте ваши API-ключи LLM-провайдеров для удобного повторного использования между развёртываниями",
1257
+ "addKey": "+ Добавить API-ключ",
1258
+ "addNewKey": "Добавить новый API-ключ",
1259
+ "name": "Имя",
1260
+ "namePlaceholder": "напр., Мой ключ OpenAI",
1261
+ "provider": "Провайдер",
1262
+ "apiKey": "API-ключ",
1263
+ "apiKeyPlaceholder": "Введите ваш API-ключ",
1264
+ "saving": "Сохранение...",
1265
+ "saveKey": "Сохранить API-ключ",
1266
+ "loading": "Загрузка API-ключей...",
1267
+ "noKeys": "API-ключи ещё не сохранены",
1268
+ "noKeysHint": "Добавьте ваш первый API-ключ, чтобы начать",
1269
+ "added": "Добавлено {date}",
1270
+ "deleteConfirm": "Вы уверены, что хотите удалить этот API-ключ?",
1271
+ "saveSuccess": "API-ключ сохранён успешно",
1272
+ "deleteSuccess": "API-ключ удалён успешно",
1273
+ "loadError": "Не удалось загрузить API-ключи",
1274
+ "saveError": "Не удалось сохранить API-ключ",
1275
+ "deleteError": "Не удалось удалить API-ключ",
1276
+ "nameAndKeyRequired": "Имя и API-ключ обязательны",
1277
+ "awsRegion": "Регион AWS",
1278
+ "authentication": "Аутентификация",
1279
+ "useIamRole": "Использовать IAM Role",
1280
+ "useIamRoleHint": "Использует IAM-роль, прикреплённую к Kubernetes-поду (рекомендуется для продакшена)",
1281
+ "useExplicitCredentials": "Использовать явные учётные данные",
1282
+ "useExplicitCredentialsHint": "Предоставьте AWS access key и secret key напрямую",
1283
+ "awsAccessKeyId": "AWS Access Key ID",
1284
+ "awsSecretAccessKey": "AWS Secret Access Key",
1285
+ "defaultBotConfig": {
1286
+ "title": "Конфигурация бота по умолчанию",
1287
+ "description": "Выберите API-ключ и модель для использования по умолчанию при создании новых ботов с помощью конструктора.",
1288
+ "selectKey": "API-ключ по умолчанию",
1289
+ "selectModel": "Модель по умолчанию",
1290
+ "noDefault": "Без значения по умолчанию (использовать автовыбор)",
1291
+ "selectModelPlaceholder": "Выберите модель",
1292
+ "selectKeyFirst": "Выберите API-ключ, чтобы увидеть доступные модели",
1293
+ "currentSelection": "Текущее значение по умолчанию",
1294
+ "noModel": "Модель не выбрана",
1295
+ "save": "Сохранить значение по умолчанию"
1296
+ }
1297
+ },
1298
+ "botSpaces": {
1299
+ "title": "Пространства ботов",
1300
+ "description": "Организуйте чат-ботов в пространства и контролируйте доступ участников",
1301
+ "createSpace": "+ Создать пространство ботов",
1302
+ "createNewSpace": "Создать новое пространство ботов",
1303
+ "name": "Имя",
1304
+ "namePlaceholder": "напр., customer-support",
1305
+ "nameHint": "Допустимы только буквы, цифры, подчёркивания и дефисы",
1306
+ "descriptionLabel": "Описание",
1307
+ "descriptionPlaceholder": "Необязательное описание этого пространства ботов",
1308
+ "creating": "Создание...",
1309
+ "create": "Создать пространство ботов",
1310
+ "loading": "Загрузка пространств ботов...",
1311
+ "noSpaces": "Пространства ботов ещё не созданы",
1312
+ "noSpacesHint": "Создайте ваше первое пространство ботов, чтобы организовать ваших чат-ботов",
1313
+ "botCount": "{count} ботов",
1314
+ "created": "Создано {date}",
1315
+ "invite": "Пригласить",
1316
+ "manage": "Управлять",
1317
+ "deleteConfirm": "Вы уверены, что хотите удалить это пространство ботов? Все боты внутри будут безвозвратно удалены.",
1318
+ "createSuccess": "Пространство ботов создано успешно",
1319
+ "deleteSuccess": "Пространство ботов удалено успешно",
1320
+ "loadError": "Не удалось загрузить пространства ботов",
1321
+ "createError": "Не удалось создать пространство ботов",
1322
+ "deleteError": "Не удалось удалить пространство ботов",
1323
+ "nameRequired": "Имя обязательно",
1324
+ "nameInvalid": "Имя может содержать только буквы, цифры, подчёркивания и дефисы",
1325
+ "aboutTitle": "О пространствах ботов",
1326
+ "aboutItem1": "Пространства ботов позволяют группировать связанных чат-ботов вместе",
1327
+ "aboutItem2": "Предоставляйте участникам доступ на чтение или запись к конкретным пространствам",
1328
+ "aboutItem3": "Администраторы имеют полный доступ ко всем пространствам ботов в организации",
1329
+ "invitationSent": "Приглашение отправлено успешно"
1330
+ },
1331
+ "auditLogs": {
1332
+ "title": "Журналы аудита",
1333
+ "description": "Просмотр всех действий, выполненных в вашей организации",
1334
+ "exportCsv": "Экспортировать CSV",
1335
+ "exportJson": "Экспортировать JSON",
1336
+ "loadError": "Не удалось загрузить журналы аудита",
1337
+ "externalIntegration": "Внешняя интеграция",
1338
+ "webhookDescription": "Отправляйте журналы аудита во внешний SIEM или сервис логирования через вебхук.",
1339
+ "webhookUrl": "URL вебхука",
1340
+ "webhookUrlPlaceholder": "https://your-siem.example.com/webhook",
1341
+ "enableWebhook": "Включить вебхук",
1342
+ "hmacEnabled": "HMAC-подпись включена",
1343
+ "webhookSecretWarning": "Секрет вебхука (скопируйте сейчас — больше не будет показан)",
1344
+ "saveSettings": "Сохранить настройки",
1345
+ "testWebhook": "Тест вебхука",
1346
+ "regenerateSecret": "Регенерировать секрет",
1347
+ "regenerateConfirm": "Регенерировать секрет вебхука? Вам нужно будет обновить вашу принимающую конечную точку.",
1348
+ "webhookSaved": "Настройки вебхука сохранены",
1349
+ "secretRegenerated": "Новый секрет сгенерирован",
1350
+ "testSuccess": "Тестовый вебхук отправлен успешно",
1351
+ "saveError": "Не удалось сохранить настройки вебхука",
1352
+ "testError": "Тест вебхука не удался",
1353
+ "regenerateError": "Не удалось регенерировать секрет",
1354
+ "payloadFormat": "Формат полезной нагрузки вебхука",
1355
+ "payloadDescription": "Каждое событие аудита отправляется как POST-запрос с заголовками:",
1356
+ "headerEvent": "X-Audit-Event: event_type",
1357
+ "headerTimestamp": "X-Audit-Timestamp: ISO-метка времени",
1358
+ "headerSignature": "X-Audit-Signature: sha256=hmac (если секрет настроен)"
1359
+ },
1360
+ "admin": {
1361
+ "title": "Панель администратора",
1362
+ "description": "Управляйте пользователями и просматривайте общесистемную информацию",
1363
+ "allUsers": "Все пользователи",
1364
+ "loadingUsers": "Загрузка пользователей...",
1365
+ "noUsers": "Пользователи не найдены",
1366
+ "loadError": "Не удалось загрузить пользователей",
1367
+ "tableHeaders": {
1368
+ "name": "Имя",
1369
+ "email": "Email",
1370
+ "organization": "Организация",
1371
+ "role": "Роль",
1372
+ "created": "Создано"
1373
+ },
1374
+ "you": "Вы",
1375
+ "stats": {
1376
+ "totalUsers": "Всего пользователей",
1377
+ "admins": "Администраторы",
1378
+ "contributors": "Участники"
1379
+ }
1380
+ },
1381
+ "builderConfig": {
1382
+ "title": "Конфигурация конструктора",
1383
+ "description": "Настройте, какая ИИ-модель управляет конструктором ботов, и задайте значения по умолчанию для создания ботов",
1384
+ "builderTitle": "Драйвер модели конструктора",
1385
+ "builderDescription": "Выберите, какая ИИ-модель управляет интерфейсом конструктора ботов. Эта модель обрабатывает разговоры и выполнение инструментов.",
1386
+ "defaultBotTitle": "Модель по умолчанию для создания ботов",
1387
+ "defaultBotDescription": "Предварительно выбирайте эти настройки при создании новых ботов через конструктор. Пользователи могут переопределить во время развёртывания.",
1388
+ "provider": "Провайдер",
1389
+ "apiKey": "API-ключ",
1390
+ "model": "Модель",
1391
+ "selectProvider": "Выберите провайдера...",
1392
+ "selectKey": "Выберите API-ключ...",
1393
+ "selectModel": "Выберите модель...",
1394
+ "noKeysForProvider": "Нет API-ключей, сохранённых для этого провайдера. Добавьте один во вкладке API-ключи.",
1395
+ "useSameAsBuilder": "Использовать те же настройки, что и конструктор",
1396
+ "saveConfig": "Сохранить конфигурацию",
1397
+ "saveSuccess": "Конфигурация конструктора сохранена успешно",
1398
+ "saveError": "Не удалось сохранить конфигурацию конструктора",
1399
+ "aboutTitle": "О конфигурации конструктора",
1400
+ "aboutItem1": "Модель конструктора управляет разговорным интерфейсом создания ботов",
1401
+ "aboutItem2": "Настройки бота по умолчанию предварительно выбираются при развёртывании через конструктор",
1402
+ "aboutItem3": "Использование инструментов поддерживается Claude, GPT, Gemini и другими",
1403
+ "displaySettings": {
1404
+ "title": "Настройки отображения",
1405
+ "description": "Настройте, как помощник Modulo отображается в интерфейсе",
1406
+ "disableAnimation": "Отключить анимацию помощника",
1407
+ "disableAnimationHint": "Показывает Modulo как статическую иконку вместо анимированного помощника"
1408
+ }
1409
+ },
1410
+ "mojulo": {
1411
+ "title": "Настройки",
1412
+ "subtitle": "Настройте API-ключи, питающие ваших ботов, и облачные учётные данные, используемые для их развёртывания.",
1413
+ "noKeyGate": "Конструкторам нужен ключ LLM-провайдера для работы. Добавьте один во вкладке LLM-ключи и вернитесь.",
1414
+ "tabs": {
1415
+ "llm": "LLM-ключи",
1416
+ "provider": "Ключи провайдеров",
1417
+ "language": "Языковая настройка"
1418
+ },
1419
+ "form": {
1420
+ "addKey": "Добавить ключ",
1421
+ "name": "Отображаемое имя",
1422
+ "provider": "Провайдер",
1423
+ "apiKey": "API-ключ",
1424
+ "ollamaHost": "URL хоста",
1425
+ "makeDefault": "Сделать ключом по умолчанию",
1426
+ "ollamaNoDefault": "Ollama не может быть ключом по умолчанию — конструктору чата нужен облачный провайдер.",
1427
+ "saving": "Сохранение…",
1428
+ "save": "Сохранить ключ",
1429
+ "saveError": "Сбой сохранения"
1430
+ },
1431
+ "list": {
1432
+ "title": "Сохранённые ключи",
1433
+ "loading": "Загрузка…",
1434
+ "empty": "Пока нет ключей.",
1435
+ "defaultBadge": "по умолчанию",
1436
+ "makeDefault": "Сделать по умолчанию",
1437
+ "delete": "Удалить"
1438
+ },
1439
+ "llm": {
1440
+ "title": "LLM-ключи",
1441
+ "description": "Питает конструктор ботов и встраивается в каждого скомпилированного вами бота.",
1442
+ "defaultName": "По умолчанию",
1443
+ "placeholder": "sk-…",
1444
+ "bedrockPlaceholder": "{\"region\":\"us-east-1\",\"accessKeyId\":\"…\",\"secretAccessKey\":\"…\"}",
1445
+ "ollamaPlaceholder": "http://localhost:11434",
1446
+ "providers": {
1447
+ "anthropic": "Anthropic",
1448
+ "openai": "OpenAI",
1449
+ "bedrock": "AWS Bedrock (вставьте JSON-учётные данные)",
1450
+ "ollama": "Ollama (локально — вставьте URL хоста)"
1451
+ }
1452
+ },
1453
+ "provider": {
1454
+ "title": "Ключи провайдеров",
1455
+ "description": "Учётные данные облачного хостинга. Используются, когда вы развёртываете бота у облачного провайдера из панели управления.",
1456
+ "defaultName": "Fly.io",
1457
+ "placeholder": "fo1_…",
1458
+ "providers": {
1459
+ "fly": "Fly.io"
1460
+ }
1461
+ },
1462
+ "language": {
1463
+ "title": "Языковая настройка",
1464
+ "description": "Выберите язык, используемый в интерфейсе панели управления.",
1465
+ "label": "Язык интерфейса"
1466
+ }
1467
+ }
1468
+ },
1469
+ "deployments": {
1470
+ "title": "Развёртывания",
1471
+ "loading": "Загрузка развёртываний...",
1472
+ "empty": "Нет развёртываний в этом пространстве ботов",
1473
+ "columns": {
1474
+ "botName": "Имя бота",
1475
+ "status": "Статус",
1476
+ "deployed": "Развёрнуто",
1477
+ "by": "Кем"
1478
+ },
1479
+ "history": {
1480
+ "title": "История развёртываний",
1481
+ "noHistory": "Истории развёртываний пока нет",
1482
+ "historyWillAppear": "История появится после следующего развёртывания",
1483
+ "event": "Событие",
1484
+ "status": "Статус",
1485
+ "date": "Дата",
1486
+ "by": "Кем",
1487
+ "config": "Конфигурация"
1488
+ },
1489
+ "embed": {
1490
+ "title": "Скрипт встраивания",
1491
+ "description": "Скопируйте этот скрипт, чтобы встроить чат-бота на ваш сайт:"
1492
+ },
1493
+ "confirmDelete": "Вы уверены, что хотите удалить «{name}»? Это уничтожит развёртывание и не может быть отменено."
1494
+ },
1495
+ "cloudDeploy": {
1496
+ "title": "Развернуть в облаке",
1497
+ "backToDashboard": "← Назад к панели управления",
1498
+ "loading": "Загрузка…",
1499
+ "botLabel": "Бот:",
1500
+ "protocolsLabel": "протоколы: {protocols}",
1501
+ "statusPills": {
1502
+ "pending": "Ожидание",
1503
+ "deploying": "Развёртывание",
1504
+ "running": "Работает",
1505
+ "paused": "Приостановлен",
1506
+ "failed": "Сбой",
1507
+ "destroyed": "Уничтожен"
1508
+ },
1509
+ "artifact": {
1510
+ "title": "Последний артефакт",
1511
+ "status": "Статус",
1512
+ "configHash": "Хеш конфигурации",
1513
+ "lastBuiltHash": "Хеш последней сборки",
1514
+ "artifactPath": "Путь артефакта",
1515
+ "notBuiltYet": "— (ещё не собран)",
1516
+ "staleWarning": "Конфигурация изменена со времени последней сборки. Облачное развёртывание автоматически пересоберёт, или вы можете пересобрать сейчас.",
1517
+ "missingWarning": "Артефакта пока нет. Облачное развёртывание соберёт его автоматически, или вы можете собрать сейчас для предпросмотра.",
1518
+ "buildZip": "Собрать ZIP",
1519
+ "rebuildZip": "Пересобрать ZIP",
1520
+ "downloadZip": "Скачать .zip"
1521
+ },
1522
+ "provider": {
1523
+ "title": "Провайдер",
1524
+ "fly": {
1525
+ "name": "Fly.io",
1526
+ "description": "Однорегиональная машина + постоянный том"
1527
+ }
1528
+ },
1529
+ "fly": {
1530
+ "title": "Параметры Fly.io",
1531
+ "region": "Регион",
1532
+ "regionHint": "3-буквенный код региона Fly (iad, sjc, lhr, nrt и т.д.)",
1533
+ "volumeSize": "Размер тома (ГБ)",
1534
+ "volumeHint": "Постоянное хранилище для SQLite (1 ГБ достаточно для большинства ботов)",
1535
+ "cpuCount": "Количество CPU",
1536
+ "cpuHint": "общие CPU",
1537
+ "memory": "Память (МБ)",
1538
+ "memoryHint": "1024 МБ рекомендуется",
1539
+ "tokenNote": "Использует ваш <mono>FLY_API_TOKEN</mono> из env панели управления. Ваш аккаунт, ваш счёт.",
1540
+ "deploy": "Развернуть",
1541
+ "redeploy": "Повторно развернуть",
1542
+ "deploying": "Развёртывание…"
1543
+ },
1544
+ "status": {
1545
+ "title": "Статус",
1546
+ "provider": "Провайдер",
1547
+ "appName": "Имя приложения",
1548
+ "url": "URL",
1549
+ "region": "Регион",
1550
+ "lastDeployed": "Последнее развёртывание",
1551
+ "errorPrefix": "ошибка: {error}",
1552
+ "destroy": "Уничтожить"
1553
+ },
1554
+ "errors": {
1555
+ "deployFailed": "Сбой развёртывания ({status})",
1556
+ "destroyFailed": "Сбой уничтожения ({status})",
1557
+ "buildFailed": "Сбой сборки ({status})"
1558
+ },
1559
+ "confirmDestroy": "Уничтожить облачное приложение, машину и том? Данные разговоров на томе будут безвозвратно удалены."
1560
+ },
1561
+ "analytics": {
1562
+ "title": "Аналитика",
1563
+ "loading": "Загрузка аналитики...",
1564
+ "loadingConversations": "Загрузка аналитики разговоров...",
1565
+ "analyzingQuestions": "Анализ вопросов пользователей...",
1566
+ "failedToLoad": "Не удалось загрузить развёртывание",
1567
+ "failedToLoadAnalytics": "Не удалось загрузить данные аналитики",
1568
+ "chatbotMetrics": "Метрики чат-бота",
1569
+ "conversationAnalytics": "Аналитика разговоров",
1570
+ "topQuestions": "Топ вопросов и тем пользователей",
1571
+ "metrics": {
1572
+ "age": "Возраст",
1573
+ "uptime": "Время работы",
1574
+ "documents": "Документы",
1575
+ "lastUpdated": "Последнее обновление",
1576
+ "totalConversations": "Всего разговоров",
1577
+ "totalMessages": "Всего сообщений",
1578
+ "formStarts": "Начатые формы",
1579
+ "formCompletes": "Завершённые формы",
1580
+ "completionRate": "{rate}% коэффициент завершения",
1581
+ "avgMessagesPerConv": "Среднее сообщений/разговор"
1582
+ },
1583
+ "badges": {
1584
+ "formCollection": "Сбор форм",
1585
+ "live": "Запущен"
1586
+ },
1587
+ "searchTerms": {
1588
+ "longPhrases": "Длинные фразы",
1589
+ "phrases": "Фразы",
1590
+ "words": "Слова",
1591
+ "analyzed": "Проанализировано {count} сообщений пользователей",
1592
+ "noData": "Данных разговоров пока нет",
1593
+ "noDataHint": "Данные появятся здесь после взаимодействия пользователей с вашим чат-ботом"
1594
+ },
1595
+ "uptime": {
1596
+ "inProgress": "В процессе...",
1597
+ "failed": "Сбой",
1598
+ "notAvailable": "Н/Д"
1599
+ }
1600
+ },
1601
+ "conversations": {
1602
+ "title": "Разговоры",
1603
+ "totalConversations": "{count} всего разговоров",
1604
+ "total": "{count} всего",
1605
+ "dashboardLink": "← Панель управления",
1606
+ "backToDashboard": "← Назад к панели управления",
1607
+ "tabs": {
1608
+ "conversations": "Разговоры",
1609
+ "storage": "Хранилище"
1610
+ },
1611
+ "unreachable": {
1612
+ "title": "Бот недоступен",
1613
+ "message": "Панель управления не смогла связаться с этим ботом. Возможно, он остановлен, или URL или API-ключ изменились. Переподключитесь с панели управления, чтобы просмотреть разговоры.",
1614
+ "reconnect": "Переподключить"
1615
+ },
1616
+ "search": {
1617
+ "dataSource": "Источник данных",
1618
+ "conversationId": "ID разговора",
1619
+ "partialId": "Частичный ID...",
1620
+ "partialIdShort": "частичный id",
1621
+ "from": "От",
1622
+ "to": "До",
1623
+ "search": "Поиск",
1624
+ "searching": "Поиск...",
1625
+ "last24h": "Последние 24ч",
1626
+ "last7days": "Последние 7 дней",
1627
+ "clear": "Очистить",
1628
+ "resultsFound": "Найден {count} результат",
1629
+ "resultsFoundPlural": "Найдено {count} результатов",
1630
+ "result": "{count} результат",
1631
+ "results": "{count} результатов",
1632
+ "noMatch": "Нет разговоров, соответствующих вашему поиску",
1633
+ "noMatchShort": "Нет совпадающих разговоров.",
1634
+ "searchToFind": "Используйте поиск, чтобы найти разговоры",
1635
+ "searchByIdOrDate": "Используйте поиск по ID или дате, чтобы найти разговоры.",
1636
+ "useIdOrDate": "Используйте ID разговора, диапазон дат или оба"
1637
+ },
1638
+ "timeAgo": {
1639
+ "days": "{count}д назад",
1640
+ "hours": "{count}ч назад",
1641
+ "minutes": "{count}мин назад"
1642
+ },
1643
+ "detail": {
1644
+ "started": "Начато:",
1645
+ "startedAt": "Начато {timestamp}",
1646
+ "turns": "{count} ходов",
1647
+ "last": "Последнее:",
1648
+ "lastAt": "Последнее {timestamp}",
1649
+ "turn": "Ход {number}",
1650
+ "user": "Пользователь",
1651
+ "assistant": "Помощник",
1652
+ "ragContext": "Контекст RAG",
1653
+ "ragContextShort": "Контекст RAG",
1654
+ "verifyChain": "Проверить цепочку",
1655
+ "showMetadata": "Показать источники и метаданные",
1656
+ "showMetadataShort": "Показать метаданные",
1657
+ "selectConversation": "Выберите разговор, чтобы просмотреть сообщения",
1658
+ "selectConversationShort": "Выберите разговор, чтобы просмотреть его ходы.",
1659
+ "loadingMessages": "Загрузка сообщений...",
1660
+ "loading": "Загрузка…"
1661
+ },
1662
+ "storage": {
1663
+ "loading": "Загрузка информации о хранилище...",
1664
+ "loadingShort": "Загрузка…",
1665
+ "volumeCapacity": "Ёмкость тома",
1666
+ "volumeCapacityShort": "Ёмкость тома",
1667
+ "used": "{used} использовано из {total}",
1668
+ "usedOfTotal": "{used} из {total}",
1669
+ "available": "{amount} доступно",
1670
+ "statsConversations": "Разговоры",
1671
+ "statsTurns": "Всего ходов",
1672
+ "statsTurnsShort": "Ходы",
1673
+ "statsDbSize": "Размер базы данных",
1674
+ "statsDbSizeShort": "Размер БД",
1675
+ "autoExtendPolicy": "Политика авторасширения",
1676
+ "autoExtendDescription": "Том автоматически расширяется при {threshold}% заполнения, добавляя {increment} ГБ за расширение, до максимума {limit} ГБ.",
1677
+ "exportTitle": "Экспорт разговоров",
1678
+ "exportTitleShort": "Экспорт",
1679
+ "exportDescription": "Скачать все разговоры в виде JSON-файла.",
1680
+ "exportDescriptionShort": "Скачать все разговоры из этого бота в виде JSON.",
1681
+ "exportButton": "Экспортировать все разговоры (JSON)",
1682
+ "exportButtonShort": "Экспортировать JSON",
1683
+ "exporting": "Экспорт...",
1684
+ "refresh": "Обновить информацию о хранилище",
1685
+ "retry": "Повторить"
1686
+ },
1687
+ "loadMore": "Загрузить ещё",
1688
+ "loadingMore": "Загрузка…",
1689
+ "errors": {
1690
+ "fetchConversations": "Не удалось получить разговоры",
1691
+ "fetchDetails": "Не удалось получить детали разговора",
1692
+ "fetchStorage": "Не удалось получить информацию о хранилище",
1693
+ "exportFailed": "Не удалось экспортировать разговоры",
1694
+ "close": "Закрыть"
1695
+ }
1696
+ },
1697
+ "submissions": {
1698
+ "title": "Отправленные формы",
1699
+ "description": "Просмотр форм, отправленных от {botName}",
1700
+ "total": "({count} всего)",
1701
+ "dashboardLink": "← Панель управления",
1702
+ "backToDashboard": "← Назад к панели управления",
1703
+ "unreachable": {
1704
+ "title": "Бот недоступен",
1705
+ "message": "Панель управления не смогла связаться с этим ботом. Возможно, он остановлен, или URL или API-ключ изменились. Переподключитесь с панели управления, чтобы просмотреть отправленные формы.",
1706
+ "reconnect": "Переподключить"
1707
+ },
1708
+ "search": {
1709
+ "last24h": "Последние 24ч",
1710
+ "last7days": "Последние 7 дней",
1711
+ "last30days": "Последние 30 дней",
1712
+ "from": "От",
1713
+ "to": "До",
1714
+ "search": "Поиск",
1715
+ "searching": "Поиск...",
1716
+ "export": "Экспортировать CSV"
1717
+ },
1718
+ "list": {
1719
+ "title": "Отправленные формы",
1720
+ "shown": "({count} показано)",
1721
+ "loading": "Загрузка...",
1722
+ "noSubmissions": "Отправленных форм не найдено за этот период.",
1723
+ "searchToView": "Используйте поиск, чтобы просмотреть отправленные формы.",
1724
+ "fields": "{count} полей"
1725
+ },
1726
+ "detail": {
1727
+ "title": "Детали отправленной формы",
1728
+ "conversationId": "ID разговора:",
1729
+ "submitted": "Отправлено:",
1730
+ "formData": "Данные формы",
1731
+ "field": "Поле",
1732
+ "value": "Значение",
1733
+ "metadata": "Метаданные",
1734
+ "selectSubmission": "Выберите отправленную форму, чтобы просмотреть детали"
1735
+ }
1736
+ },
1737
+ "logs": {
1738
+ "title": "Живые логи",
1739
+ "refresh": "Обновить логи",
1740
+ "refreshing": "Обновление...",
1741
+ "loading": "Загрузка логов...",
1742
+ "search": {
1743
+ "label": "Поиск по логам",
1744
+ "placeholder": "Поиск сообщений, уровней, инстансов..."
1745
+ },
1746
+ "lineCount": {
1747
+ "label": "Строк к показу",
1748
+ "lines": "{count} строк"
1749
+ },
1750
+ "autoRefresh": {
1751
+ "label": "Автообновление",
1752
+ "every10s": "Обновлять каждые 10 секунд"
1753
+ },
1754
+ "noLogs": "Логи недоступны",
1755
+ "noMatch": "Нет логов, соответствующих вашему поиску",
1756
+ "showing": "Показано {filtered} из {total} записей логов",
1757
+ "filteredBy": "(отфильтровано по «{query}»)"
1758
+ },
1759
+ "accessLevels": {
1760
+ "owner": "владелец",
1761
+ "admin": "администратор",
1762
+ "write": "запись",
1763
+ "read": "чтение"
1764
+ },
1765
+ "errors": {
1766
+ "generic": "Произошла ошибка. Попробуйте снова.",
1767
+ "failedToFetch": "Не удалось получить данные",
1768
+ "failedToLoad": "Не удалось загрузить",
1769
+ "failedToSave": "Не удалось сохранить",
1770
+ "failedToDelete": "Не удалось удалить развёртывание",
1771
+ "failedToAssign": "Не удалось назначить пространство ботов",
1772
+ "notFound": "Не найдено",
1773
+ "error": "Ошибка"
1774
+ },
1775
+ "deleteAccount": {
1776
+ "title": "Удалить учётную запись",
1777
+ "loadingInfo": "Загрузка информации об учётной записи...",
1778
+ "permanentWarning": "Это действие постоянное и не может быть отменено.",
1779
+ "willBeDeleted": "Следующее будет безвозвратно удалено:",
1780
+ "deployments": "Развёртывания (боты)",
1781
+ "documents": "Документы",
1782
+ "apiKeys": "API-ключи",
1783
+ "botSpaces": "Пространства ботов",
1784
+ "contributorsToDelete": "Учётные записи участников для удаления",
1785
+ "contributorsNote": "Эти участники являются членами только пространств ботов вашей организации.",
1786
+ "organization": "Организация",
1787
+ "adminDeleteNote": "Как администратор, удаление вашей учётной записи также удалит все данные организации и учётные записи участников, аффилированные только с вашей организацией.",
1788
+ "userDeleteNote": "Ваше членство в пространствах ботов будет удалено, но пространства ботов и другие пользователи не будут затронуты.",
1789
+ "continue": "Продолжить",
1790
+ "confirmPrompt": "Чтобы подтвердить удаление, введите ваш адрес email:",
1791
+ "confirmEmail": "Подтвердите ваш email",
1792
+ "emailPlaceholder": "Введите ваш email для подтверждения",
1793
+ "deleting": "Удаление...",
1794
+ "deleteMyAccount": "Удалить мою учётную запись",
1795
+ "errors": {
1796
+ "loadFailed": "Не удалось загрузить информацию об учётной записи",
1797
+ "loadError": "Ошибка загрузки информации об учётной записи",
1798
+ "emailMismatch": "Введите ваш адрес email точно для подтверждения",
1799
+ "deleteFailed": "Не удалось удалить учётную запись",
1800
+ "deleteError": "Ошибка удаления учётной записи"
1801
+ }
1802
+ },
1803
+ "botSpaceInvite": {
1804
+ "title": "Пригласить в {spaceName}",
1805
+ "description": "Отправьте приглашение для совместной работы над этим пространством ботов. Они получат email со ссылкой для присоединения.",
1806
+ "emailLabel": "Адрес email",
1807
+ "emailPlaceholder": "colleague@company.com",
1808
+ "accessLabel": "Уровень доступа",
1809
+ "accessRead": "Чтение — Может просматривать ботов в этом пространстве",
1810
+ "accessWrite": "Запись — Может создавать и редактировать ботов",
1811
+ "accessAdmin": "Администратор — Полный доступ, включая приглашение других",
1812
+ "accessNote": "Приглашённые пользователи присоединятся как участники вашей организации.",
1813
+ "sending": "Отправка...",
1814
+ "sendInvitation": "Отправить приглашение",
1815
+ "errors": {
1816
+ "sendFailed": "Не удалось отправить приглашение"
1817
+ }
1818
+ },
1819
+ "auditLogTable": {
1820
+ "loading": "Загрузка журналов аудита...",
1821
+ "noLogs": "Журналов аудита не найдено",
1822
+ "noLogsHint": "Логи появятся здесь по мере выполнения действий",
1823
+ "headers": {
1824
+ "time": "Время",
1825
+ "event": "Событие",
1826
+ "actor": "Актор",
1827
+ "resource": "Ресурс",
1828
+ "outcome": "Результат"
1829
+ },
1830
+ "events": {
1831
+ "authLoginSuccess": "Вход",
1832
+ "authLoginFailure": "Сбой входа",
1833
+ "authLogout": "Выход",
1834
+ "authSignup": "Регистрация",
1835
+ "deploymentCreate": "Развёртывание создано",
1836
+ "deploymentRedeploy": "Повторно развёрнуто",
1837
+ "deploymentDelete": "Развёртывание удалено",
1838
+ "botSpaceCreate": "Пространство создано",
1839
+ "botSpaceDelete": "Пространство удалено",
1840
+ "botSpaceMemberAdd": "Участник добавлен",
1841
+ "botSpaceMemberRemove": "Участник удалён",
1842
+ "documentUpload": "Документ загружен",
1843
+ "documentDelete": "Документ удалён",
1844
+ "apiKeyCreate": "API-ключ создан",
1845
+ "apiKeyDelete": "API-ключ удалён",
1846
+ "userInvite": "Пользователь приглашён",
1847
+ "userInviteAccept": "Приглашение принято",
1848
+ "auditWebhookUpdate": "Вебхук обновлён",
1849
+ "auditLogsExport": "Логи экспортированы"
1850
+ },
1851
+ "outcomes": {
1852
+ "success": "успех",
1853
+ "failure": "сбой",
1854
+ "denied": "отказано"
1855
+ },
1856
+ "details": {
1857
+ "timestamp": "Полная метка времени",
1858
+ "requestId": "ID запроса",
1859
+ "ipAddress": "IP-адрес",
1860
+ "userAgent": "User Agent",
1861
+ "resource": "Ресурс",
1862
+ "metadata": "Метаданные"
1863
+ },
1864
+ "showing": "Показано {shown} из {total} логов",
1865
+ "loadMore": "Загрузить ещё"
1866
+ },
1867
+ "auditLogFilters": {
1868
+ "eventTypes": {
1869
+ "allEvents": "Все события",
1870
+ "authentication": "Аутентификация",
1871
+ "deployments": "Развёртывания",
1872
+ "botSpaces": "Пространства ботов",
1873
+ "documents": "Документы",
1874
+ "apiKeys": "API-ключи",
1875
+ "usersInvites": "Пользователи и приглашения",
1876
+ "conversations": "Разговоры",
1877
+ "settings": "Настройки",
1878
+ "auditSystem": "Система аудита"
1879
+ },
1880
+ "outcomes": {
1881
+ "all": "Все",
1882
+ "success": "Успех",
1883
+ "failure": "Сбой",
1884
+ "denied": "Отказано"
1885
+ },
1886
+ "dateRange": "Диапазон дат",
1887
+ "from": "От",
1888
+ "to": "До",
1889
+ "clear": "Очистить"
1890
+ },
1891
+ "data": {
1892
+ "navLabel": "Данные",
1893
+ "title": "Данные парка",
1894
+ "subtitle": "Просматривайте и агрегируйте активность разговоров по всем подключённым ботам. Содержимое разговоров остаётся на боте — в процессе объединяются только подсчёты.",
1895
+ "loading": "Загрузка…",
1896
+ "tabs": {
1897
+ "explorer": "Обозреватель",
1898
+ "sql": "SQL",
1899
+ "analytics": "Аналитика"
1900
+ },
1901
+ "fleet": {
1902
+ "unreachableBanner": "{unreachable} из {total} ботов недоступны — результаты могут быть неполными."
1903
+ },
1904
+ "explorer": {
1905
+ "filters": {
1906
+ "conversationId": "ID разговора содержит",
1907
+ "startDate": "Начато после",
1908
+ "endDate": "Начато до"
1909
+ },
1910
+ "search": "Поиск",
1911
+ "searching": "Поиск…",
1912
+ "clear": "Очистить",
1913
+ "hint": "Введите фрагмент ID разговора или диапазон дат, чтобы развернуть поиск по всем подключённым ботам.",
1914
+ "pagination": {
1915
+ "showing": "Показано {start} – {end} из {total}",
1916
+ "previous": "Предыдущая",
1917
+ "next": "Следующая",
1918
+ "truncatedNotice": "Набор результатов ограничен первыми 500 разговорами по всему парку. Сузьте диапазон дат для более ранних результатов."
1919
+ },
1920
+ "noConversations": "Ни один разговор не соответствует вашему фильтру."
1921
+ },
1922
+ "sql": {
1923
+ "placeholder": "SELECT bot_name, conversations_7d FROM bot_health ORDER BY conversations_7d DESC",
1924
+ "runQuery": "Выполнить запрос",
1925
+ "running": "Выполнение…",
1926
+ "exportCsv": "Экспортировать CSV",
1927
+ "exportJson": "Экспортировать JSON",
1928
+ "keyboardHint": "Нажмите Cmd/Ctrl + Enter для выполнения",
1929
+ "rowCount": "{count} строк",
1930
+ "truncated": "(обрезано до 10 000)",
1931
+ "noResults": "Нет строк",
1932
+ "help": "Стартовые запросы",
1933
+ "starterQueries": {
1934
+ "title": "Стартовые запросы",
1935
+ "hint": "Каждый запрос читает из таблиц сводки в памяти, собираемых на каждый запрос из конечных точек аналитики каждого бота. Нажмите, чтобы загрузить.",
1936
+ "dailyStats": "Ежедневная статистика разговоров по всему парку",
1937
+ "botHealth": "Состояние ботов (последние 7 дней)",
1938
+ "protocolDistribution": "Распределение использования протоколов",
1939
+ "mostActiveBots": "Самые активные боты на этой неделе",
1940
+ "staleBots": "Боты, не появлявшиеся за последние 24 часа",
1941
+ "dailyByBot": "Ежедневная активность, объединённая с именами ботов"
1942
+ }
1943
+ },
1944
+ "schema": {
1945
+ "availableTables": "Справочник схемы",
1946
+ "clickToShow": "(нажмите, чтобы показать)",
1947
+ "clickToHide": "(нажмите, чтобы скрыть)",
1948
+ "note": "Примечание:",
1949
+ "scopeNote": "Эти таблицы строятся в памяти процесса при каждом запросе — по одной строке на бота для сводных таблиц, заполняемых вызовом конечных точек аналитики каждого подключённого бота. Сырое содержимое ходов не раскрывается; для этого используйте вкладку Обозреватель, чтобы углубиться в конкретный разговор."
1950
+ },
1951
+ "analytics": {
1952
+ "loading": "Загрузка сводок парка…",
1953
+ "dateRange": {
1954
+ "last7days": "Последние 7 дней",
1955
+ "last14days": "Последние 14 дней",
1956
+ "last30days": "Последние 30 дней",
1957
+ "last90days": "Последние 90 дней"
1958
+ },
1959
+ "summary": {
1960
+ "totalConversations": "Разговоры",
1961
+ "totalTurns": "Ходы",
1962
+ "avgTurnsPerConversation": "Сред. ходов/разг.",
1963
+ "activeBots": "Доступные боты"
1964
+ },
1965
+ "charts": {
1966
+ "dailyConversations": "Ежедневный объём ходов",
1967
+ "topBotsByActivity": "Топ ботов по объёму ходов",
1968
+ "activityHeatmap": "Тепловая карта активности (последние 7 дней)"
1969
+ },
1970
+ "noData": "Нет активности в этом периоде.",
1971
+ "noActivityData": "Нет активности за последние 7 дней.",
1972
+ "convs": "разг.",
1973
+ "days": {
1974
+ "sun": "Вс",
1975
+ "mon": "Пн",
1976
+ "tue": "Вт",
1977
+ "wed": "Ср",
1978
+ "thu": "Чт",
1979
+ "fri": "Пт",
1980
+ "sat": "Сб"
1981
+ }
1982
+ },
1983
+ "table": {
1984
+ "headers": {
1985
+ "bot": "Бот",
1986
+ "started": "Начато",
1987
+ "duration": "Длительность",
1988
+ "turns": "Ходы",
1989
+ "conversationId": "ID разговора"
1990
+ }
1991
+ }
1992
+ },
1993
+ "documentUploader": {
1994
+ "title": "Загрузить документы",
1995
+ "description": "Загружайте документы, которые ваш чат-бот будет использовать для RAG (Retrieval-Augmented Generation)",
1996
+ "uploading": "Загрузка...",
1997
+ "chooseFiles": "Выбрать файлы",
1998
+ "dropFilesHere": "Перетащите файлы сюда",
1999
+ "dragAndDropHint": "или перетащите файлы сюда",
2000
+ "fileTypes": "PDF, TXT, MD, DOC, DOCX",
2001
+ "uploadedDocuments": "Загруженные документы ({count})",
2002
+ "noDocumentsYet": "Документы ещё не загружены",
2003
+ "noDocumentsHint": "Нажмите «Выбрать файлы», чтобы начать",
2004
+ "skippedFiles": "Некоторые файлы были пропущены. Поддерживаются только файлы PDF, TXT, MD, DOC, DOCX.",
2005
+ "deleteConfirm": "Вы уверены, что хотите удалить этот файл?",
2006
+ "uploadFailed": "Сбой загрузки",
2007
+ "uploadFailedFallback": "Не удалось загрузить файлы",
2008
+ "deleteFailed": "Сбой удаления",
2009
+ "deleteFailedFallback": "Не удалось удалить файл"
2010
+ },
2011
+ "chatBuilder": {
2012
+ "title": "ИИ-конструктор ботов",
2013
+ "subtitle": "Опишите бота, которого вы хотите построить, и я создам его для вас",
2014
+ "loading": "Загрузка ИИ-конструктора...",
2015
+ "newChat": "Новый чат",
2016
+ "recentChats": "Недавние чаты",
2017
+ "noPreviousChats": "Нет предыдущих чатов",
2018
+ "botPreview": "Предпросмотр бота",
2019
+ "viewDeployedBot": "Просмотреть развёрнутого бота",
2020
+ "selectWorkspace": "Выберите рабочую область",
2021
+ "selectWorkspacePrompt": "Выберите рабочую область, чтобы начать построение",
2022
+ "noWorkspaces": "Нет доступных рабочих областей",
2023
+ "createWorkspaceFirst": "Сначала создайте одну",
2024
+ "backToDashboard": "Назад к панели управления",
2025
+ "welcome": {
2026
+ "title": "Постройте бота с ИИ",
2027
+ "description": "Опишите бота, которого хотите создать, загрузите соответствующие документы, и я помогу вам настроить и развернуть его. Программирование не требуется.",
2028
+ "quickPrompts": {
2029
+ "customerSupport": {
2030
+ "title": "Бот поддержки клиентов",
2031
+ "description": "Отвечает на вопросы о продукте",
2032
+ "prompt": "Мне нужен бот поддержки клиентов, который может отвечать на вопросы о нашем продукте"
2033
+ },
2034
+ "leadCapture": {
2035
+ "title": "Бот захвата лидов",
2036
+ "description": "Собирает информацию о посетителях",
2037
+ "prompt": "Создайте бота захвата лидов, который собирает имя, email и информацию о компании"
2038
+ },
2039
+ "faqAssistant": {
2040
+ "title": "FAQ-помощник",
2041
+ "description": "Отвечает на распространённые вопросы",
2042
+ "prompt": "Помогите мне построить FAQ-бота на основе нашей документации"
2043
+ },
2044
+ "onboarding": {
2045
+ "title": "Бот онбординга",
2046
+ "description": "Направляет новых пользователей",
2047
+ "prompt": "Я хочу создать бота, который помогает с онбордингом новых клиентов"
2048
+ }
2049
+ }
2050
+ },
2051
+ "input": {
2052
+ "placeholder": "Опишите бота, которого вы хотите построить...",
2053
+ "defaultPlaceholder": "Введите сообщение...",
2054
+ "dropFilesHere": "Перетащите файлы сюда...",
2055
+ "dropToAttach": "Перетащите файлы, чтобы прикрепить их к вашему сообщению",
2056
+ "hint": "Нажмите Enter для отправки, Shift+Enter для новой строки. Перетаскивайте файлы или нажмите на скрепку, чтобы прикрепить.",
2057
+ "hintShort": "Нажмите Enter для отправки, Shift+Enter для новой строки",
2058
+ "hintWithAttach": "Перетащите файлы или нажмите прикрепить. Нажмите Enter для отправки.",
2059
+ "attachFiles": "Прикрепить файлы",
2060
+ "attachDocuments": "Прикрепить документы"
2061
+ },
2062
+ "tools": {
2063
+ "toolsExecuted": "Выполнен {count} инструмент",
2064
+ "toolsExecutedPlural": "Выполнено {count} инструментов",
2065
+ "uploadDocument": "Загрузить документ",
2066
+ "generateForm": "Сгенерировать форму",
2067
+ "deployBot": "Развернуть бота",
2068
+ "listDeployments": "Список развёртываний",
2069
+ "checkDeploymentStatus": "Проверить статус развёртывания",
2070
+ "destroyDeployment": "Уничтожить развёртывание",
2071
+ "getAnalytics": "Получить аналитику",
2072
+ "getFormSubmissions": "Получить отправленные формы",
2073
+ "listWorkspaces": "Список рабочих областей",
2074
+ "listDocuments": "Список документов",
2075
+ "listApiKeys": "Список API-ключей"
2076
+ },
2077
+ "documentPicker": {
2078
+ "title": "Выбрать документы",
2079
+ "noDocuments": "Нет документов в этой рабочей области",
2080
+ "uploadFirst": "Сначала загрузите документы, чтобы использовать их для вашего бота",
2081
+ "selected": "Выбран {count} документ",
2082
+ "selectedPlural": "Выбрано {count} документов",
2083
+ "useSelected": "Использовать выбранные"
2084
+ },
2085
+ "errors": {
2086
+ "failedToSend": "Не удалось отправить сообщение",
2087
+ "failedToLoadSession": "Не удалось загрузить сессию",
2088
+ "failedToLoadDocuments": "Не удалось загрузить документы"
2089
+ },
2090
+ "invertedPanel": {
2091
+ "createABot": "Создать бота",
2092
+ "editBot": "Изменить {name}",
2093
+ "fallbackBotName": "Бот",
2094
+ "private": "Приватный",
2095
+ "createTitle": "Какого бота я могу помочь вам построить?",
2096
+ "createDescription": "Вы также можете прикрепить документы, чтобы дать ему знания. Загрузите файл или попросите обратиться к документам в пространстве ботов.",
2097
+ "buildWithWizard": "Построить с мастером (пошаговая настройка)",
2098
+ "editTitle": "Изменить {name}",
2099
+ "editFallbackName": "вашего бота",
2100
+ "editDescription": "Скажите, что вы хотели бы изменить. Я загружу вашу текущую конфигурацию и помогу её обновить.",
2101
+ "editExamples": "Примеры: «Изменить приветствие», «Добавить новое поле формы», «Обновить имя бота»",
2102
+ "errorPrefix": "Ошибка:",
2103
+ "inputPlaceholder": "Опишите, что должен делать ваш бот...",
2104
+ "adjustMessage": "Я хотел бы скорректировать конфигурацию"
2105
+ },
2106
+ "status": {
2107
+ "ready": "Готово",
2108
+ "processing": "Обработка",
2109
+ "awaitingConfirmation": "Ожидание подтверждения",
2110
+ "deploying": "Развёртывание",
2111
+ "deployed": "Развёрнут",
2112
+ "editing": "Редактирование"
2113
+ },
2114
+ "success": {
2115
+ "botBuilt": "Бот построен!",
2116
+ "botSaved": "Бот сохранён",
2117
+ "botBuiltMessage": "Ваш бот <strong>{name}</strong> построен и готов к скачиванию.",
2118
+ "botSavedMessage": "Ваш бот <strong>{name}</strong> сохранён. Соберите его в вашем пространстве ботов, когда будете готовы.",
2119
+ "liveUrl": "Запущенный URL",
2120
+ "embedCode": "Код встраивания",
2121
+ "downloadArtifact": "Скачать артефакт",
2122
+ "downloadWithDocs": "Скачать с документами",
2123
+ "openBot": "Открыть бота",
2124
+ "viewInBotSpace": "Просмотреть в пространстве ботов"
2125
+ }
2126
+ },
2127
+ "login": {
2128
+ "subtitle": "Войдите, чтобы продолжить",
2129
+ "username": "Имя пользователя",
2130
+ "password": "Пароль",
2131
+ "signIn": "Войти",
2132
+ "signingIn": "Вход...",
2133
+ "signOut": "Выйти",
2134
+ "invalid": "Неверное имя пользователя или пароль"
2135
+ }
2136
+ }