@goodandready/dsh-russian-lang 0.1.6 → 0.1.8

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 (2) hide show
  1. package/lib/client.js +0 -1062
  2. package/package.json +1 -1
package/lib/client.js CHANGED
@@ -381,68 +381,6 @@ window.__ModuleLoader__.load({
381
381
  "truncated": "Обрезано",
382
382
  "unknown": "Неизвестно"
383
383
  },
384
- "context-doctor": {
385
- "cd.attention": "Стоит посмотреть",
386
- "cd.byFile": "По файлу",
387
- "cd.byServer": "По серверу",
388
- "cd.bySource": "По источнику",
389
- "cd.catalog": "{n} скиллов",
390
- "cd.catalog.few": "{n} скилла",
391
- "cd.catalog.many": "{n} скиллов",
392
- "cd.catalog.one": "{n} скилл",
393
- "cd.collapse": "Скрыть детализацию",
394
- "cd.duplicateBlocks": "{n} дублированных блоков · {tokens} токенов",
395
- "cd.duplicateSkills": "{n} навыков имеют одинаковое описание",
396
- "cd.empty": "Данных пока нет",
397
- "cd.emptyCategory": "ничего не внедрено",
398
- "cd.emptyState": "Данные аудита пока отсутствуют.",
399
- "cd.error": "Проверка не удалась",
400
- "cd.expand": "Показать детализацию",
401
- "cd.files": "файлов",
402
- "cd.guideline": "из 50k",
403
- "cd.healthy": "В норме",
404
- "cd.healthyHint": "Контекст расходуется экономно и укладывается в рекомендованный бюджет.",
405
- "cd.heavy": "Превышение бюджета",
406
- "cd.heavyHint": "Резидентный контекст перегружает бюджет. Сначала сократите самые крупные записи.",
407
- "cd.hint": "Открыть аудит контекста",
408
- "cd.instructions": "Цепочка инструкций",
409
- "cd.instructions.sub": "{n} файлов",
410
- "cd.justNow": "только что",
411
- "cd.loading": "Проверка…",
412
- "cd.mcp": "Инструменты MCP",
413
- "cd.mcp.sub": "{n} инструментов · {servers} серверов",
414
- "cd.mcpTools": "{n} инструментов",
415
- "cd.mcpTools.few": "{n} инструмента",
416
- "cd.mcpTools.many": "{n} инструментов",
417
- "cd.mcpTools.one": "{n} инструмент",
418
- "cd.minutesAgo": "{n} минут назад",
419
- "cd.more": "+{n} ещё",
420
- "cd.native": "Встроенные инструменты",
421
- "cd.noDetail": "Нет доступной разбивки",
422
- "cd.ofBudget": "из бюджета в {budget}",
423
- "cd.refresh": "Обновить",
424
- "cd.residentTokens": "Проверка бюджета контекста",
425
- "cd.residentUnit": "токены резидентные",
426
- "cd.review": "Стоит посмотреть",
427
- "cd.reviewHint": "Некоторые части контекста стоит пересмотреть, пока они не стали дорогими.",
428
- "cd.secondsAgo": "{n} назад",
429
- "cd.shadowed": "{n} навыков скрыты записью с таким же названием",
430
- "cd.skills": "Каталог скиллов",
431
- "cd.skills.sub": "{n} навыков",
432
- "cd.subtitle": "Аудит контекста {resident}",
433
- "cd.suggestions": "Рекомендации",
434
- "cd.suggestions.few": "{n} рекомендации",
435
- "cd.suggestions.many": "{n} рекомендаций",
436
- "cd.suggestions.one": "{n} рекомендация",
437
- "cd.title": "Аудит контекста",
438
- "cd.tokens": "токены",
439
- "cd.tools": "Схемы инструментов",
440
- "cd.tools.sub": "{n} встроенных инструментов",
441
- "cd.toolsCount": "инструментов",
442
- "cd.topSchemas": "Самые большие схемы",
443
- "cd.total": "Общее количество жителей {count}",
444
- "cd.updated": "Обновлено {when}"
445
- },
446
384
  "conversation": {
447
385
  "access.confirm.acknowledge": "Я понимаю риски и хочу продолжить",
448
386
  "access.confirm.cancel": "Отмена",
@@ -686,143 +624,6 @@ window.__ModuleLoader__.load({
686
624
  "browser.truncated": "Слишком много папок; показано только начало.",
687
625
  "browser.untitledFolder": "Без имени"
688
626
  },
689
- "dsh-context": {
690
- "attach.image": "Изображение",
691
- "attach.images": "Изображения",
692
- "attach.loadFailed": "Не удалось загрузить · нажмите, чтобы повторить",
693
- "attach.loading": "…",
694
- "attach.open": "Открыть изображение полностью",
695
- "attach.other": "Другой контент",
696
- "attach.raw": "Сырой",
697
- "attach.sent": "Отправлено",
698
- "attach.token": "Токен",
699
- "attach.tokensTip": "Расчетная стоимость токенов через официальное преобразование размера изображения DeepSeek (ограничение в 384 токена на изображение)",
700
- "block.answer": "Ответ",
701
- "block.thinking": "Обоснование",
702
- "browser.approx": "Некоторые удаленные сообщения этого шага превышают срок хранения — приведенное ниже восстановление является приблизительным",
703
- "browser.deltaHint": "по сравнению с предыдущим ходом",
704
- "browser.items": "{n} элементов",
705
- "browser.live": "В прямом эфире (Следующий запрос)",
706
- "browser.liveNow": "В прямом эфире · Следующий запрос",
707
- "browser.loading": "Загрузка полного содержимого из более старой истории сеанса…",
708
- "browser.missingLive": "… {n} предыдущих сообщений также являются частью контекста (за пределами предоставленного окна)",
709
- "browser.noContent": "Полное содержимое находится за пределами загруженного окна сообщений (загрузите более старую историю в Чате для просмотра)",
710
- "browser.noEpoch": "Содержание заголовка (Системное сообщение / Схемы инструментов) этого шага находится за пределами удержания",
711
- "browser.noHeader": "Обслуживается устаревшей версией плагина: только оценка токенов, без содержимого",
712
- "browser.preview": "Предварительный просмотр",
713
- "browser.title": "Контекстный браузер",
714
- "cat.assistant": "Сообщения ассистента",
715
- "cat.inject": "Введённый контекст",
716
- "cat.system": "Системное сообщение",
717
- "cat.tool": "Результаты инструмента",
718
- "cat.tools": "Схемы инструментов",
719
- "cat.user": "Сообщения пользователя",
720
- "cmd.close": "Закрыть",
721
- "cmd.desc": "Просмотр текущего контекста макияжа, просмотр состава по шагам",
722
- "detail.actual": "Фактический запрос {n}",
723
- "detail.estTotal": "Примерно ≈ {n}",
724
- "detail.lastStep": "Последний шаг",
725
- "detail.output": "Вывод {n}",
726
- "detail.step": "Поверните {t} · Шаг {s}",
727
- "detail.turn": "Поверните {t} · {n} шагов",
728
- "error": "Не удалось прочитать данные контекста:",
729
- "error.retry": "Повторить",
730
- "ev.compaction": "Контекст сжат (резюме заменено {n} сообщений)",
731
- "ev.model": "Модель изменена: {a} → {b}",
732
- "ev.prune": "Вывод инструмента обрезан",
733
- "ev.skill": "Навык внедрён ({name})",
734
- "events.at": "Поверните {t} · Шаг {s}",
735
- "events.empty": "Событий контекста пока нет (компактизация, инъекции, переключения моделей отображаются здесь)",
736
- "events.range": "Поверните {t} · Шаг {a}→{b}",
737
- "events.rangeTo": "Поверните {a} · Шаг {as} → Поверните {b} · Шаг {bs}",
738
- "events.title": "Контекстные события",
739
- "footer": "Оценка: та же эвристика с фиксированной плотностью, что и встроенный tokenMeter в dsh (~4 символа ≈ 1 токен); «фактическое» — это использование, сообщаемое провайдером.",
740
- "form.catalog": "Обновление каталога",
741
- "form.context": "Контекстная инъекция",
742
- "form.instructions": "Инструкции",
743
- "form.notice": "Уведомление",
744
- "form.recall": "Напомнить",
745
- "form.relay": "Агентский ретранслятор",
746
- "form.snapshot": "Снимок состояния {placeholder}",
747
- "gran.step": "Шаг",
748
- "gran.turn": "Повернуть",
749
- "kind.compaction": "Компактный",
750
- "kind.inject": "Внедрить {placeholder}",
751
- "kind.model": "Переключить",
752
- "kind.prune": "Обрезать {placeholders}",
753
- "loading": "Чтение журнала сессии…",
754
- "node.calls": "Звонки",
755
- "node.empty": "(пустой ответ)",
756
- "node.nonText": "(сообщение без текста)",
757
- "node.snapshot": "Снимок:",
758
- "node.toolResult": "Результат инструмента",
759
- "nodes.empty": "Нет видимых сообщений прямо сейчас",
760
- "nodes.hint": "в настоящее время видимые модели, сначала новые",
761
- "nodes.more": "… {n} предыдущих сообщений пропущено",
762
- "nodes.title": "Сообщения",
763
- "overview.compactReserve": "Резерв автоуплотнения: автоуплотнение срабатывает при {pct}% окна — эта область обычно сохраняется как запас, фактически не используется.",
764
- "overview.estimate": "токены (примерно)",
765
- "overview.free": "Бесплатное окно",
766
- "overview.ofUsed": "из использованного контекста",
767
- "overview.title": "Текущий контекст",
768
- "overview.used": "использовано контекста: {context_used}",
769
- "plugin.github": "GitHub",
770
- "plugin.hint": "Лучший плагин контекста для DSH ⭐",
771
- "plugin.name": "Плагин",
772
- "plugin.title": "Информация о плагине",
773
- "rich.md": "Markdown",
774
- "rich.raw": "Сырьё",
775
- "rich.toMd": "Просмотреть как Markdown",
776
- "rich.toRaw": "Просмотреть исходный текст",
777
- "stats.cacheHit": "Кэш-попадания {placeholders}",
778
- "stats.compactions": "Компактизации",
779
- "stats.cost": "Расч. стоимость",
780
- "stats.costHit": "попадание",
781
- "stats.costMiss": "пропустить",
782
- "stats.costOut": "Вывод",
783
- "stats.costPriceHead": "Тарифы за 1 миллион токенов (пиковый | внепиковый по половине цены):",
784
- "stats.costTip": "Примерная совокупная стоимость всей сессии по прайс-листу DeepSeek: входные данные разделены по попаданию/промаху кэша, выходные данные включают рассуждения; каждый запрос оценивается по пиковой ставке (01:00–04:00, 06:00–10:00 UTC) или по половинной ставке вне пикового времени в зависимости от времени запроса. Применяется к deepseek-v4-flash / deepseek-v4-pro на любом провайдере; цены зафиксированы, только для справки.",
785
- "stats.hint": "За период сохранённой истории (аналогично графику истории)",
786
- "stats.injects": "Инъекции",
787
- "stats.prunes": "Чернослив",
788
- "stats.steps": "Шаги",
789
- "stats.title": "Статистика контекста",
790
- "stats.turns": "Переключается",
791
- "tab": "Контекст",
792
- "tip.actual": "(фактическое {n})",
793
- "tip.step": "Повернуть {t} · Шаг {s}",
794
- "tip.total": "Всего ≈ {n}",
795
- "tip.turn": "Поверните {t} · {n} шагов",
796
- "tool.desc": "Описание",
797
- "tool.jsonHide": "Свернуть",
798
- "tool.jsonToggle": "Просмотреть сырой JSON",
799
- "tool.params": "Параметры",
800
- "tool.paramsEmpty": "(без параметров)",
801
- "tools.more": "из {n}",
802
- "tools.top": "Лучшие схемы инструментов:",
803
- "trend.empty": "Отправьте сообщение, и состав контекста каждого запроса модели появится здесь",
804
- "trend.hint": "Наведите курсор для просмотра деталей, ✂ обозначает уплотнение/удаление, Шаг/Ход переключает детализацию",
805
- "trend.title": "История контекста"
806
- },
807
- "dsh-gitea": {
808
- "baseUrl": "URL экземпляра",
809
- "baseUrlHint": "например, https://gitea.example.com",
810
- "collapse": "Свернуть",
811
- "description": "Инструменты и учетные данные Gitea или Forgejo.",
812
- "discard": "Отменить",
813
- "expand": "Развернуть",
814
- "intro": "Создайте учетные данные DSH, вставьте туда API-токен, затем введите только название учетных данных ниже (например, GITEA_TOKEN). Никогда не вставляйте токен в эту форму.",
815
- "loading": "Загрузка…",
816
- "save": "Сохранить",
817
- "saveFailed": "Не удалось сохранить",
818
- "saving": "Сохранение…",
819
- "title": "Гитеа",
820
- "tokenEnv": "Имя учетных данных",
821
- "tokenEnvHint": "Название учетных данных DSH, а не самого токена. По умолчанию GITEA_TOKEN.",
822
- "tokenOff": "Токен не настроен",
823
- "tokenOn": "Токен настроен",
824
- "unsaved": "Не сохранено"
825
- },
826
627
  "dsh-image-gen": {
827
628
  "f.apiKeyEnv": "Справка по API-ключу",
828
629
  "f.apiKeyEnvHint": "Ссылка на учетные данные / переменная окружения, содержащая ключ API FAL. Префикс авторизации \"Key \" добавляется автоматически.",
@@ -880,59 +681,6 @@ window.__ModuleLoader__.load({
880
681
  "settings.unavailable": "Обвязка еще не опубликовала настройки этого плагина. Если она только что перезапустилась, раздел появится сам через несколько секунд.",
881
682
  "settings.unsaved": "Несохранённые изменения"
882
683
  },
883
- "dsh-key-rotation": {
884
- "addKey": "+ Добавить ключ",
885
- "addKeyTitle": "Добавить API ключ",
886
- "addProvider": "+ Добавить поставщика",
887
- "brokenKey": "сломано (3× AUTH)",
888
- "cardDesc": "Поворот API-ключей для каждого провайдера: пулы ключей, автоматический переход на резерв при ошибках квоты/ограничения скорости, охлаждение и восстановление.",
889
- "codesTitle": "Включите эти {сбои}",
890
- "cooldown": "Время ожидания после ошибки (мс)",
891
- "desc": "Поворот API-ключей для каждого провайдера. Для каждого провайдера перечислите его API-ключи (имена переменных окружения, хранящиеся в учетных данных DSH). Плагин направляет модель через ключи провайдера по порядку и переключается на следующий при превышении квоты или ограничения скорости.",
892
- "discard": "Отменить",
893
- "exportOne": "Вниз",
894
- "exportPools": "Экспорт",
895
- "hoursAgo": "{n} ч назад",
896
- "importEnv": "Импортировать .env",
897
- "importPools": "Импорт",
898
- "justNow": "только что",
899
- "keyActive": "используется",
900
- "keyCooling": "охлаждение, {s}с",
901
- "keyFromEnv": "из окружения, только для чтения здесь",
902
- "keyHint": "Значение хранится в учетных данных DSH и никогда не отправляется обратно в браузер — отображаются только последние 5 символов. Имена генерируются автоматически; наведите курсор на ключ, чтобы увидеть используемое имя.",
903
- "keyLabel": "Ключ {n}",
904
- "keyMissing": "нет такого учетного {credential}",
905
- "keyReady": "готово",
906
- "keySave": "Сохранить ключ",
907
- "keySaved": "сохранено",
908
- "keyValuePlaceholder": "вставьте ключ, затем {Save}",
909
- "keyWriteFailed": "не удалось сохранить ключ: {msg}",
910
- "loading": "Загрузка…",
911
- "minutesAgo": "{n} мин назад",
912
- "moveDown": "Переместить вниз",
913
- "moveUp": "Переместить вверх",
914
- "noProviders": "Нет зарегистрированных поставщиков в DSH — пока не из чего выбирать.",
915
- "notRegistered": "не зарегистрирован",
916
- "poolExhausted": "пул исчерпан — все ключи охлаждаются",
917
- "providersTitle": "Провайдеры и их ключи",
918
- "removeKey": "Удалить ключ {key}",
919
- "removeProvider": "Удалить провайдера",
920
- "resetCooldown": "Сбросить время восстановления",
921
- "resetting": "Сброс…",
922
- "save": "Сохранить",
923
- "saving": "Сохранение…",
924
- "subtitle": "Поворот API-ключей для каждого провайдера: пулы ключей, автоматический переход на резерв при ошибках квоты/ограничения скорости, охлаждение и восстановление.",
925
- "switchCodes": "Переключить коды (через запятую)",
926
- "switchesNone": "ещё нет переключателей",
927
- "switchesSome": "переключатели: {n} · последний: {reason}, {ago}",
928
- "testAll": "Проверьте все {keys}",
929
- "testFail": "ОШИБКА",
930
- "testKey": "Тест",
931
- "testOk": "ОК",
932
- "testing": "Тестирование…",
933
- "title": "Ротация ключей {placeholders}",
934
- "usedAgo": "{ago} назад"
935
- },
936
684
  "dsh-market": {
937
685
  "actWhy": "Почему не активен?",
938
686
  "agentBusyInstall": "Агент в настоящее время работает — дождитесь завершения (или отмените его) перед установкой. Установка изменяет файлы плагина, поэтому работающий агент может завершиться с ошибкой в процессе.",
@@ -1304,180 +1052,6 @@ window.__ModuleLoader__.load({
1304
1052
  "webdavUrl": "Адрес файла копии",
1305
1053
  "webdavUser": "Имя пользователя (необязательно)"
1306
1054
  },
1307
- "dsh-messenger-gateway": {
1308
- "advanced": "Телеграм опрос",
1309
- "agent": "Агент",
1310
- "allowedIds": "Разрешенные идентификаторы пользователей {placeholders}",
1311
- "allowedIdsHint": "Через запятую. Пусто = все пользователи",
1312
- "botToken": "Токен бота (только для записи)",
1313
- "botTokenHint": "Оставьте пустым, чтобы сохранить текущий токен",
1314
- "description": "Телеграм бот: текст, голос, фото и документы.",
1315
- "disableTelegram": "Отключить Telegram",
1316
- "enableTelegram": "Включить Telegram",
1317
- "hideAdvanced": "Скрыть дополнительные {параметры}",
1318
- "idleTimeout": "тайм-аут простоя (сек)",
1319
- "instruction": "Дополнительная инструкция для агента",
1320
- "instructionHint": "Добавлено к каждому сообщению в мессенджере",
1321
- "instructionPlaceholder": "Пусто = встроенное реле",
1322
- "loading": "Загрузка…",
1323
- "maxDocMb": "Максимальный размер документа (МБ)",
1324
- "maxImageMb": "Максимальный размер фото (МБ)",
1325
- "maxMessageLength": "Максимальная длина ответа (символов)",
1326
- "maxTextKb": "Максимальный текст из документа (КБ)",
1327
- "media": "Медиа",
1328
- "model": "Модель",
1329
- "modelHint": "Пусто = значение по умолчанию DSH",
1330
- "photoOnly": "Фото без подписи",
1331
- "photoPrompt": "Дождитесь вопроса (рекомендуется)",
1332
- "photoRun": "Ответить сразу {placeholder}",
1333
- "pollInterval": "интервал опроса {pollIntervalMs}",
1334
- "pollTimeout": "таймаут опроса {pollTimeoutSeconds} секунд",
1335
- "provider": "Провайдер",
1336
- "providerHint": "Пусто = DSH по умолчанию",
1337
- "save": "Сохранить",
1338
- "saving": "Сохранение…",
1339
- "showAdvanced": "Дополнительные настройки",
1340
- "telegram": "Telegram",
1341
- "textFormat": "Формат текста",
1342
- "textFormatHtml": "Markdown → Telegram HTML",
1343
- "textFormatPlain": "Обычный текст",
1344
- "title": "Шлюз мессенджера",
1345
- "tts": "Голосовые ответы",
1346
- "ttsEnable": "Голосовые ответы через dsh-tts",
1347
- "ttsMaxChars": "Максимум символов в речи",
1348
- "turnTimeout": "Таймаут хода агента (сек)"
1349
- },
1350
- "dsh-spendmeter": {
1351
- "add": "Добавить",
1352
- "addSub": "Добавить подписку",
1353
- "alerts": "Оповещения",
1354
- "balanceRem": "баланс:",
1355
- "budgetPace": "Бюджет (темп за 7 дней)",
1356
- "cancel": "Отмена",
1357
- "cc.subtitle": "квоты и использование",
1358
- "cc.title": "Тратить",
1359
- "close": "Закрыть",
1360
- "cost": "Стоимость",
1361
- "csv": "CSV",
1362
- "dataPath": "Данные: ~/.dsh/storages/dsh-spendmeter/",
1363
- "daySpend": "Траты по дням",
1364
- "dayToZero": "дней до нуля",
1365
- "daysToZero": "дней до нуля",
1366
- "delete": "Удалить",
1367
- "deleteSubConfirm": "Удалить подписку «",
1368
- "dockLoading": "Сессия: …",
1369
- "dockNoData": "Сессия: нет данных",
1370
- "dockNoSession": "Сессия: нет активной сессии",
1371
- "dockPrefix": "Сессия:",
1372
- "errTitle": "Счётчик трат: ошибка интерфейса",
1373
- "fillFields": "Заполните:",
1374
- "filterPlaceholder": "Фильтр по поставщику/модели…",
1375
- "hourSpend": "Расходы по часам",
1376
- "labelOptional": "Метка (необязательно)",
1377
- "last": "Последний",
1378
- "leftUsed": "осталось · использовано",
1379
- "loading": "Загрузка…",
1380
- "model": "Модель",
1381
- "models7d": "Модели (7д)",
1382
- "modelsFor": "Модели · {provider}",
1383
- "modelsPrefix": "Модели ·",
1384
- "myAccount": "мой аккаунт",
1385
- "noAlerts": "Нет активных оповещений",
1386
- "noData": "Нет данных",
1387
- "noDayData": "Нет ежедневных данных",
1388
- "noModelData": "Нет данных модели",
1389
- "noQuotaData": "Нет данных о квоте",
1390
- "noSubsYet": "Подписок пока нет",
1391
- "oneAccount": "Один аккаунт за раз",
1392
- "pctLeft": "слева",
1393
- "perDay": "день",
1394
- "period.30d": "30 дней",
1395
- "period.7d": "7 дней",
1396
- "period.all": "Все",
1397
- "period.month": "Месяц",
1398
- "period.today": "Сегодня",
1399
- "periodLabel": "Период: {label}",
1400
- "periodWord": "период",
1401
- "pickDash": "— выбрать —",
1402
- "pickProvider": "Выберите {provider}",
1403
- "pillTitle": "Счетчик расходов — клик: панель, перетаскивание: перемещение",
1404
- "provider": "Провайдер",
1405
- "quotaNotLoaded": "Квоты не загружены",
1406
- "quotaWord": "квота {placeholder}",
1407
- "refresh": "Обновить",
1408
- "refreshAll": "Обновить все",
1409
- "refreshing": "Обновление…",
1410
- "remaining": "слева",
1411
- "reqCost": "запрос ·",
1412
- "reqDot": "требуется ·",
1413
- "reqMany": "треб",
1414
- "reqOne": "запрос",
1415
- "requests": "Запросы",
1416
- "reset.h": "ч",
1417
- "reset.m": "м",
1418
- "reset.none": "обновить: нет данных",
1419
- "reset.prefix": "обновить через {time}",
1420
- "reset.s": "с",
1421
- "reset.short": "сбросить",
1422
- "reset.soon": "обновить: скоро",
1423
- "resetH": "ч",
1424
- "resetIn": "обновить через {time}",
1425
- "resetM": "м",
1426
- "resetNone": "обновить: нет данных",
1427
- "resetS": "с",
1428
- "resetSoon": "обновить: скоро",
1429
- "retry": "Повторить",
1430
- "save": "Сохранить",
1431
- "saveError": "ошибка сохранения",
1432
- "saving": "Сохранение…",
1433
- "sectionLabel": "Подписки (квоты)",
1434
- "session": "Сессия",
1435
- "sessionWord": "сессия",
1436
- "settingsTitle": "Настройки",
1437
- "share": "Поделиться",
1438
- "sidebarLabel": "Потратить {amount}",
1439
- "sidebarTitle": "Расходы и квоты",
1440
- "slash.limits": "Лимиты для всех подписок {placeholders}",
1441
- "slash.meter": "Счетчик расходов (обзор)",
1442
- "slash.quota": "Квоты подписки {placeholders}",
1443
- "slash.requests": "Последние запросы",
1444
- "slash.sessions": "Сессии по затратам {placeholders}",
1445
- "slash.spend": "Обзор расходов и использования",
1446
- "slash.subs": "Подписки и квоты",
1447
- "spendMonth": "потрачено в этом месяце:",
1448
- "spendPrefix": "потратить:",
1449
- "spendWeek": "потрачено за эту неделю:",
1450
- "stale": "устаревший",
1451
- "subsHint": "Ключи и куки для отслеживания квот провайдера",
1452
- "subsKeysHint": "Ключи и куки для отслеживания квоты провайдера",
1453
- "subsTitle": "Подписки",
1454
- "subscription": "Подписка",
1455
- "subtitle": "Подписки, квоты и интерфейсы управления расходами",
1456
- "tab.limits": "Лимиты",
1457
- "tab.overview": "Обзор",
1458
- "tab.requests": "Запросы",
1459
- "tab.sessions": "Сессии",
1460
- "tab.settings": "Настройки",
1461
- "tab.spend": "Потратить {amount}",
1462
- "tab.subs": "Подписки",
1463
- "time": "Время",
1464
- "title": "Расходуйте {Meter}",
1465
- "tokCache": "кеш",
1466
- "tokIn": "в",
1467
- "tokOut": "выход",
1468
- "tokenCache": "Кэш",
1469
- "tokenIn": "Ввод",
1470
- "tokenOut": "Вывод",
1471
- "tokens": "Токены",
1472
- "tokensByType": "Токены по типу",
1473
- "topProviders": "Лучшие {providers}",
1474
- "uiHint": "composerDock / sidebar / deepseekCnyFloat — интерфейс cordis ui.*",
1475
- "updatedAt": "Обновлено",
1476
- "usagePrefix": "Использование ·",
1477
- "used": "Использовано",
1478
- "usedPrefix": "Использовано {count}",
1479
- "week52": "Расходы за 52 недели"
1480
- },
1481
1055
  "dsh-subscriptions": {
1482
1056
  "accountLabel": "Аккаунт",
1483
1057
  "addAccount": "+ Добавить {account}",
@@ -1556,57 +1130,6 @@ window.__ModuleLoader__.load({
1556
1130
  "title": "Речь",
1557
1131
  "up": "Вверх"
1558
1132
  },
1559
- "dsh-vision-bridge": {
1560
- "addChannel": "Добавить канал",
1561
- "advanced": "Продвинутый",
1562
- "apiKey": "API-ключ",
1563
- "auto": "Авто",
1564
- "baseURL": "Базовый URL",
1565
- "channels": "Каналы",
1566
- "channelsHint": "Дополнительные конечные точки зрения (совместимые с OpenAI, Ollama, пользовательские). Пусто — автоматический выбор из каталога.",
1567
- "current": "Текущий: {provider} / {model}",
1568
- "currentAuto": "Авто (автоматический выбор)",
1569
- "describeStrategy": "Опишите стратегию",
1570
- "empty": "Пожалуйста, войдите в свою учетную запись {accountName}",
1571
- "escalation": "Эскалация",
1572
- "escalationAuto": "Автоматическое повышение сложности (повторный анализ сложных изображений)",
1573
- "escalationSimple": "Простой только (один проход)",
1574
- "failed": "Не удалось загрузить/сохранить",
1575
- "keyHidden": "неизвестно",
1576
- "keyMissing": "нет ключа",
1577
- "keyOk": "Ключ ОК",
1578
- "loading": "…",
1579
- "mode": "Режим",
1580
- "modeHybrid": "Гибридный (автоперезапись + инструменты)",
1581
- "modeLlm": "Только LLM (автоперезапись, инструменты всё ещё доступны)",
1582
- "modeTools": "Только инструменты (без авто-перезаписи, модель должна вызывать describe_image)",
1583
- "model": "Модель",
1584
- "modelInvalid": "Модель не принимает изображения",
1585
- "noVisionModels": "В каталоге нет моделей для анализа изображений (ввод: [текст, изображение]) — добавьте их в Настройки → Модели.",
1586
- "protocol": "Протокол",
1587
- "protocolOpenaiChat": "чат OpenAI",
1588
- "protocolOpenaiResponses": "ответы от OpenAI",
1589
- "provider": "Поставщик услуг по зрению",
1590
- "remove": "Удалить",
1591
- "reqBoth": "Выберите и провайдера, и модель, или оставьте оба поля пустыми для автоматического выбора",
1592
- "requestTemplate": "Шаблон запроса",
1593
- "reset": "Сбросить (авто)",
1594
- "responsePath": "Путь ответа",
1595
- "save": "Сохранить",
1596
- "saved": "Сохранено",
1597
- "saving": "Сохранение…",
1598
- "strategyAuto": "Авто (использовать LLM для зрения)",
1599
- "strategyCacheOnly": "Только кэш (без сети)",
1600
- "strategyLlm": "Vision {LLM}",
1601
- "strategyOcrLocal": "Локальное OCR (зарезервировано)",
1602
- "subtitle": "Изображения в чате обрабатываются моделью зрения, которую вы выбираете здесь. Оставьте оба поля пустыми, чтобы автоматически выбрать первую модель с поддержкой зрения из каталога.",
1603
- "testFail": "Ошибка: {err}",
1604
- "testOk": "ОК ({ms}мс)",
1605
- "testVision": "Проверка зрения",
1606
- "testing": "Тестирование…",
1607
- "title": "Зрение",
1608
- "type": "Тип"
1609
- },
1610
1133
  "dsh-voice": {
1611
1134
  "addCustom": "Добавьте своего провайдера {provider}",
1612
1135
  "addProvider": "Добавить поставщика",
@@ -1849,95 +1372,12 @@ window.__ModuleLoader__.load({
1849
1372
  "confirm.enable": "Включить полный доступ",
1850
1373
  "confirm.title": "Включить полный доступ?"
1851
1374
  },
1852
- "pin": {
1853
- "action.pin": "Закрепить",
1854
- "action.unpin": "Открепить"
1855
- },
1856
1375
  "plan": {
1857
1376
  "chip.off.aria": "Режим плана выключен, нажмите, чтобы включить",
1858
1377
  "chip.off.title": "Режим плана выключен — нажмите, чтобы включить (/plan)",
1859
1378
  "chip.on.aria": "Режим плана включён, нажмите, чтобы выключить",
1860
1379
  "chip.on.title": "Режим плана включён — нажмите, чтобы выключить (/plan off)"
1861
1380
  },
1862
- "plugin-store": {
1863
- "dialog.close": "Закрыть магазин плагинов",
1864
- "header.open": "Открыть магазин плагинов",
1865
- "header.title": "Магазин плагинов DSH",
1866
- "settings.tab": "Магазин плагинов",
1867
- "store.analyzeFailed": "Передать разбор агенту не удалось",
1868
- "store.analyzeHint": "Отправить эту ошибку в новую сессию агента для разбора.",
1869
- "store.analyzeSent": "Отправлено агенту",
1870
- "store.analyzeWithAgent": "Попросить агента разобраться",
1871
- "store.analyzing": "Создаём сессию агента…",
1872
- "store.cancel": "Отмена",
1873
- "store.category": "Категория",
1874
- "store.categoryAll": "Все категории",
1875
- "store.confirmInstall": "Установить плагин",
1876
- "store.confirmRemove": "Удалить плагин",
1877
- "store.confirmUpdate": "Обновить плагин",
1878
- "store.copied": "Ссылка для установки скопирована",
1879
- "store.copyInstall": "Скопировать ссылку для установки",
1880
- "store.disclaimer": "Наличие в каталоге не подтверждает работоспособность, совместимость, безопасность или качество.",
1881
- "store.done": "Готово",
1882
- "store.empty": "Под эти фильтры ничего не подходит",
1883
- "store.install": "Установить",
1884
- "store.installFailed": "Установить не удалось",
1885
- "store.installSuccess": "Установлено. Перезапустите DSH Web, чтобы плагин заработал.",
1886
- "store.installed": "Установлен",
1887
- "store.installedLoadFailed": "Список установленных плагинов недоступен",
1888
- "store.installedOnly": "Только установленные",
1889
- "store.installing": "Установка…",
1890
- "store.loadFailed": "Не удалось загрузить каталог",
1891
- "store.loadMore": "Показать ещё",
1892
- "store.loading": "Загрузка каталога плагинов…",
1893
- "store.openDetails": "Открыть карточку в магазине",
1894
- "store.refresh": "Обновить каталог",
1895
- "store.refreshFailed": "Каталог не обновился; показаны последние успешные данные",
1896
- "store.remove": "Удалить плагин",
1897
- "store.removeDetail": "Меняется только зависимость текущего профиля. Чтобы удаление вступило в силу, перезапустите DSH Web.",
1898
- "store.removeFailed": "Удалить не удалось",
1899
- "store.removeLead": "Плагин будет удалён из текущего профиля DSH Web.",
1900
- "store.removeSuccess": "Удалено. Перезапустите DSH Web, чтобы изменение вступило в силу.",
1901
- "store.removeTitle": "Удаление плагина",
1902
- "store.removing": "Удаление…",
1903
- "store.results": "{visible} из {total} проектов",
1904
- "store.retry": "Повторить",
1905
- "store.riskAcknowledge": "Я понимаю риск и хочу установить этот сторонний плагин",
1906
- "store.riskDetail": "Присутствие в каталоге не является проверкой безопасности, совместимости или качества. Установленный код выполняется с правами процесса DSH, а чтобы он заработал, DSH Web нужно перезапустить.",
1907
- "store.riskLead": "В текущий профиль DSH Web будет установлен код из стороннего репозитория.",
1908
- "store.riskTitle": "Подтверждение риска стороннего плагина",
1909
- "store.search": "Поиск по названию, автору, описанию или теме",
1910
- "store.sort": "Сортировка",
1911
- "store.sortName": "Название",
1912
- "store.sortRecommended": "Рекомендуемые",
1913
- "store.sortStars": "Звёзды",
1914
- "store.sortUpdated": "Недавно обновлённые",
1915
- "store.stars": "звёзд: {count}",
1916
- "store.topicListed": "Указана тема",
1917
- "store.update": "Обновить",
1918
- "store.updateAvailable": "Есть обновление",
1919
- "store.updateRiskDetail": "Обновление заменит версию плагина в этом профиле. Чтобы оно вступило в силу, перезапустите DSH Web.",
1920
- "store.updateRiskLead": "В текущий профиль DSH Web будет установлена более новая ревизия стороннего репозитория.",
1921
- "store.updateRiskTitle": "Подтверждение обновления стороннего плагина",
1922
- "store.updateSuccess": "Обновлено. Перезапустите DSH Web, чтобы плагин заработал.",
1923
- "store.updated": "Каталог обновлён {date}",
1924
- "store.updating": "Обновление…",
1925
- "store.validation.check-failed": "Проверка структуры не пройдена",
1926
- "store.validation.check-pending": "Проверка структуры в очереди",
1927
- "store.validation.check-running": "Идёт проверка структуры",
1928
- "store.validation.expired": "Нужна повторная проверка",
1929
- "store.validation.inconclusive": "Требует рассмотрения",
1930
- "store.validation.not-applicable": "Вне проверки плагинов",
1931
- "store.validation.recorded": "Есть запись о проверке",
1932
- "store.validation.sandbox-failed": "Проверка в песочнице не пройдена",
1933
- "store.validation.sandbox-pending": "Проверка в песочнице в очереди",
1934
- "store.validation.sandbox-running": "Идёт проверка в песочнице",
1935
- "store.validation.security-review": "Проверка безопасности",
1936
- "store.validation.unrecognized": "Требует опознания",
1937
- "store.validation.verified": "Проверен",
1938
- "store.verified": "Проверен",
1939
- "store.verifiedOnly": "Только проверенные"
1940
- },
1941
1381
  "question": {
1942
1382
  "action.next": "Дальше",
1943
1383
  "action.skip": "Пропустить вопрос",
@@ -2035,106 +1475,6 @@ window.__ModuleLoader__.load({
2035
1475
  "userTrust": "Свой",
2036
1476
  "view": "Посмотреть"
2037
1477
  },
2038
- "settings.commandcode": {
2039
- "accountAdd": "Добавить аккаунт",
2040
- "accountDefault": "Основной аккаунт",
2041
- "accountKey": "API-ключ",
2042
- "accountKeyHint": "API-ключ этого аккаунта. Если оставить поле пустым, сохранённый ключ останется без изменений.",
2043
- "accountLabel": "Название аккаунта",
2044
- "accountRemove": "Удалить",
2045
- "accountsHint": "Когда активный аккаунт достигает лимита использования (429) или его ключ недействителен (401), запросы переключаются на следующий аккаунт; когда все аккаунты исчерпаны, ошибка указывает ближайшее время сброса окна.",
2046
- "accountsTitle": "Смена аккаунта",
2047
- "activeAccount": "Активный аккаунт",
2048
- "activeAccountAuto": "Авто (первый доступный аккаунт)",
2049
- "activeAccountHint": "Закрепите предпочтительный аккаунт; применяется к следующему запросу после сохранения. Если выбранный аккаунт исчерпан, запросы будут перенаправлены на другой доступный аккаунт.",
2050
- "apiBase": "Базовый URL API",
2051
- "apiBaseHint": "По умолчанию используется https://api.commandcode.ai; обычно оставляйте как есть.",
2052
- "apiKey": "API-ключ",
2053
- "apiKeyHint": "Создайте его в консоли commandcode.ai. Если оставить это поле пустым, сохранённый ключ останется без изменений.",
2054
- "apiKeyLocked": "Ключ предоставлен только для чтения",
2055
- "apiKeySet": "Настроено",
2056
- "apiKeyUnset": "Не настроено",
2057
- "cancel": "Отмена",
2058
- "discard": "Отменить",
2059
- "filterModelsByPlan": "Скрыть модели вне тарифного плана",
2060
- "filterModelsByPlanHint": "Если включено, в выборе моделей отображаются только те, что входят в вашу подписку; при наличии баланса кредитов по запросу показывается полный каталог.",
2061
- "hide": "Скрыть",
2062
- "intro": "Настройте подключение к Command Code Provider. API-ключ сохраняется только в локальной службе учетных данных и никогда не отображается; остальные поля записываются в пользовательские настройки и вступают в силу при следующем запросе.",
2063
- "invalidNumber": "Недопустимый номер",
2064
- "loginButton": "Войдите в Command Code",
2065
- "loginCancel": "Отменить вход",
2066
- "loginCancelled": "Вход отменён.",
2067
- "loginDenied": "Доступ запрещён. Попробуйте снова или вставьте ключ вручную.",
2068
- "loginFailedGeneric": "Не удалось войти; попробуйте снова или вставьте ключ вручную.",
2069
- "loginHintIdle": "Не хотите создавать ключ вручную? Войдите в систему, и ваш браузер откроет страницу авторизации commandcode.ai; одобренный ключ сохранится в локальном сервисе учетных данных и будет применяться к следующему запросу.",
2070
- "loginInvalidKey": "Доставленный ключ не прошел проверку (401). Попробуйте снова или вставьте его вручную.",
2071
- "loginNetwork": "Не удалось подключиться к сервису Command Code для проверки ключа; проверьте подключение к сети и повторите попытку.",
2072
- "loginOpenLink": "Откройте страницу авторизации ↗",
2073
- "loginStarting": "Запуск локального серверного обработчика callback…",
2074
- "loginStoreFailed": "Не удалось сохранить ключ в локальной службе учетных данных; вставьте его вручную.",
2075
- "loginSuccess": "Вошли как {username}",
2076
- "loginTimeout": "Истекло время ожидания ответа авторизации; попробуйте снова.",
2077
- "loginTitle": "Войдите, чтобы получить ключ {key}",
2078
- "loginUnavailable": "Вход в систему недоступен в этой среде; вставьте {API key} вместо этого.",
2079
- "loginWaiting": "Ожидание авторизации в вашем браузере…",
2080
- "nav": "Код команды",
2081
- "numberTooLarge": "Превышено допустимое максимальное значение (2147483647 мс)",
2082
- "numberTooSmall": "Должно быть не менее 1 (мс)",
2083
- "overridden": "Переопределено",
2084
- "readOnly": "Настройки доступны только для чтения.",
2085
- "requestTimeoutMs": "Таймаут запроса (мс)",
2086
- "requestTimeoutMsHint": "Время ожидания первого байта ответа; по умолчанию 60000.",
2087
- "reset": "Сбросить",
2088
- "save": "Сохранить",
2089
- "saveFailed": "Не удалось сохранить, попробуйте снова.",
2090
- "saved": "Сохранено ✓",
2091
- "saving": "Сохранение",
2092
- "show": "Показать",
2093
- "streamIdleTimeoutMs": "Таймаут простоя потока (мс)",
2094
- "streamIdleTimeoutMsHint": "Как долго зависший поток считается мёртвым; по умолчанию 300000 (намеренно щедро — модели с долгим обдумыванием могут молчать минутами).",
2095
- "title": "Код команды",
2096
- "unsaved": "Не сохранено",
2097
- "updateAvailable": "доступно обновление",
2098
- "updateHint": "Доступна новая версия; нажмите для просмотра заметок о выпуске. Уведомление исчезнет после обновления плагина.",
2099
- "usageActive": "Активно",
2100
- "usageCooldown": "Охлаждение",
2101
- "usageCost": "Потратить",
2102
- "usageError": "Не удалось получить данные об использовании {placeholder}",
2103
- "usageExceeded": "Превышено",
2104
- "usageFailed": "не удалось",
2105
- "usageFiveHour": "5-часовое окно",
2106
- "usageFree": "Бесплатно",
2107
- "usageInvalidKey": "Неверный ключ",
2108
- "usageKeyClear": "Очистить сохранённый ключ",
2109
- "usageKeyClearStaged": "Будет очищено при сохранении",
2110
- "usageKeyInvalid": "Неверный или просроченный API-ключ",
2111
- "usageKeyInvalidHint": "Сервер отклоняет все запросы (401). Проверьте ключ, настроенный для этого аккаунта, или создайте новый в консоли commandcode.ai.",
2112
- "usageLoading": "Получение данных об использовании аккаунта…",
2113
- "usageMonthly": "Ежемесячно",
2114
- "usageNetworkError": "Не удалось подключиться к сервису Command Code",
2115
- "usageNetworkHint": "На сервер не поступило ни одного запроса. Проверьте подключение к сети или настройку базового API {placeholder}.",
2116
- "usageNoKey": "Настройте API-ключ, чтобы увидеть здесь данные об использовании и состоянии кредитов этого аккаунта.",
2117
- "usagePartial": "Некоторые данные конечной точки недоступны",
2118
- "usagePeriodEnd": "Период заканчивается",
2119
- "usagePurchased": "Куплено",
2120
- "usageRefresh": "Обновить",
2121
- "usageRefreshing": "Обновление…",
2122
- "usageRequests": "Запросы",
2123
- "usageReset": "Сбросить",
2124
- "usageServiceUnavailable": "Сервис Command Code временно недоступен",
2125
- "usageServiceUnavailableHint": "Сервер вернул ошибки (5xx); попробуйте обновить позже.",
2126
- "usageSuccessRate": "Уровень успеха",
2127
- "usageTitle": "Использование аккаунта",
2128
- "usageTokens": "Токены",
2129
- "usageTokensIn": "в",
2130
- "usageTokensOut": "выход",
2131
- "usageUnconfigured": "Для этого аккаунта ещё не настроен API-ключ.",
2132
- "usageUndoKeyClear": "Отменить очистку",
2133
- "usageUpdated": "Обновлено",
2134
- "usageWeekly": "Еженедельное окно",
2135
- "workingDir": "Рабочая директория",
2136
- "workingDirHint": "Необязательно. Оставьте пустым, чтобы использовать текущий рабочий каталог процесса (указан в поле); укажите путь только для фиксации конкретного расположения."
2137
- },
2138
1478
  "settings.locale": {
2139
1479
  "language.title": "Язык"
2140
1480
  },
@@ -2232,76 +1572,6 @@ window.__ModuleLoader__.load({
2232
1572
  "title": "Модели",
2233
1573
  "welcomeError": "Не удалось сохранить подтверждение. Попробуйте ещё раз."
2234
1574
  },
2235
- "settings.ollama-cloud": {
2236
- "addModel": "Добавить модель вручную",
2237
- "apiKey": "API-ключ",
2238
- "apiKeyConfigured": "Настроено — введите новое значение для замены",
2239
- "apiKeyPending": "Введён новый ключ — теперь он используется для обнаружения; Сохранить для хранения",
2240
- "apiKeyPlaceholder": "Введите API-ключ",
2241
- "apiKeyUnset": "API-ключ не настроен",
2242
- "applySelected": "Применить выбранное",
2243
- "baseURL": "URL API",
2244
- "cancel": "Отмена",
2245
- "close": "Закрыть",
2246
- "collapse": "Свернуть настройки",
2247
- "connection": "Подключение",
2248
- "customized": "Пользовательский каталог",
2249
- "defaultEffort": "Стандартное мышление",
2250
- "description": "Родной API-ключ Ollama Cloud, конечная точка и каталог моделей.",
2251
- "discard": "Отменить",
2252
- "dragModel": "Перетащите для изменения порядка",
2253
- "expand": "Развернуть настройки",
2254
- "fetchEmpty": "Конечная точка не вернула ни одной модели.",
2255
- "fetchModels": "Получить доступные модели",
2256
- "fetchingModels": "Получение моделей…",
2257
- "inherited": "Использование составленного каталога",
2258
- "invalidApiKey": "API-ключ не может состоять только из пробелов.",
2259
- "invalidBaseURL": "Введите URL API HTTP или HTTPS.",
2260
- "invalidModel": "Каждая модель должна иметь уникальный ID и допустимые положительные значения мощностей.",
2261
- "loading": "Загрузка настроек плагина…",
2262
- "modelContext": "Контекстное окно",
2263
- "modelDetails": "Подробности",
2264
- "modelId": "ID модели",
2265
- "modelName": "Отображаемое имя",
2266
- "modelOutput": "Максимальная мощность",
2267
- "models": "Каталог моделей",
2268
- "pickerDescription": "Выберите модели, которые нужно оставить в этом каталоге.",
2269
- "pickerLoading": "Получение метаданных модели…",
2270
- "pickerTitle": "Выбрать каталог моделей",
2271
- "readOnly": "Настройки этого профиля доступны только для чтения.",
2272
- "remoteAccess": "Удалённые браузеры не могут изменять настройки плагинов: API конфигурации Harness работает только через локальный интерфейс. Откройте страницу на самом хосте или пробросьте её (ssh -L 3080:127.0.0.1:3080 user@host, затем откройте http://127.0.0.1:3080). Сохранённые там настройки продолжают работать в удалённых сеансах.",
2273
- "remove": "Удалить",
2274
- "requestFailed": "Не удалось выполнить запрос.",
2275
- "save": "Сохранить",
2276
- "saved": "Сохранено",
2277
- "saving": "Сохранение…",
2278
- "summaryModels": "{count} моделей",
2279
- "summaryOff": "Не настроено",
2280
- "summaryOn": "Настроено",
2281
- "thinking": "Рассуждение",
2282
- "title": "Ollama Облако",
2283
- "tools": "Инструменты",
2284
- "unavailable": "Этот профиль не предоставляет доступ к настройкам Ollama Cloud.",
2285
- "unsaved": "Несохранённые изменения",
2286
- "usage": "Использование облака",
2287
- "usageLoading": "Чтение использования…",
2288
- "usageModels": "Модели, использованные на этой неделе",
2289
- "usageNeedsRestart": "Использование отображается после перезагрузки этого плагина на работающем хосте (перезапустите dsh).",
2290
- "usageRefresh": "Обновить",
2291
- "usageRefreshFailed": "Не удалось обновить",
2292
- "usageRequests": "запросы",
2293
- "usageResetAt": "Сбросится через {time}",
2294
- "usageResetAtDays": "Лимиты использования сбросятся {date} (осталось {count} дней)",
2295
- "usageResetEveryDays": "Сбрасывается каждые {count} дней",
2296
- "usageResetEveryHours": "Сбрасывается каждые {count} часов",
2297
- "usageSession": "Использование сессии",
2298
- "usageUnreachable": "Не удалось получить данные об использовании Ollama Cloud. Проверьте подключение к сети и URL API.",
2299
- "usageUnsupported": "Этот эндпоинт не передаёт данные об использовании облака.",
2300
- "usageUpdatedAt": "Обновлено {time}",
2301
- "usageUsed": "Использовано",
2302
- "usageWeekly": "Еженедельное использование",
2303
- "vision": "Зрение"
2304
- },
2305
1575
  "settings.permission": {
2306
1576
  "confirm.acknowledge": "Я понимаю риски и хочу продолжить",
2307
1577
  "confirm.cancel": "Отмена",
@@ -2476,126 +1746,6 @@ window.__ModuleLoader__.load({
2476
1746
  "switcher.aria": "Переключить субагента: {title}",
2477
1747
  "tree.aria": "Сессии субагентов"
2478
1748
  },
2479
- "task-board": {
2480
- "archive.empty": "В архиве пусто",
2481
- "board.archive": "Архив",
2482
- "board.archiveView": "Архив ({count})",
2483
- "board.backToBoard": "К доске",
2484
- "board.close": "В чат",
2485
- "board.created": "Создана",
2486
- "board.empty": "В этой колонке задач нет",
2487
- "board.filterAll": "Все",
2488
- "board.hostError": "Действие на хосте не удалось: {error}",
2489
- "board.hostMeta": "Часовой пояс хоста {timeZone} · ревизия {revision}",
2490
- "board.new": "Новая задача",
2491
- "board.pending": "Отправка",
2492
- "board.retryHost": "Переподключиться к хосту",
2493
- "board.runs": "запусков",
2494
- "board.search": "Фильтр задач…",
2495
- "board.status": "Статус",
2496
- "board.status.backlog": "Бэклог",
2497
- "board.status.done": "Готово",
2498
- "board.status.failed": "Ошибка",
2499
- "board.status.running": "В работе",
2500
- "board.status.todo": "К выполнению",
2501
- "board.title": "Доска задач",
2502
- "board.updated": "Обновлена",
2503
- "card.scheduled": "по расписанию",
2504
- "delete.cancel": "Отмена",
2505
- "delete.confirm": "Удалить «{name}»? Отменить это будет нельзя.",
2506
- "delete.ok": "Удалить",
2507
- "delete.title": "Удаление задачи",
2508
- "detail.archive": "В архив",
2509
- "detail.archivedAt": "В архиве · {time}",
2510
- "detail.close": "Закрыть",
2511
- "detail.delete": "Удалить",
2512
- "detail.description": "Описание",
2513
- "detail.execution": "История запусков",
2514
- "detail.executionEnded": "Завершён",
2515
- "detail.executionSettings": "Параметры запуска",
2516
- "detail.executionStarted": "Начат",
2517
- "detail.noExecution": "Ещё не запускалась",
2518
- "detail.noSession": "Сессии нет",
2519
- "detail.prompt": "Промпт запуска",
2520
- "detail.rerun": "Запустить снова",
2521
- "detail.restore": "Вернуть из архива",
2522
- "detail.result.cancelled": "Отменён",
2523
- "detail.result.failed": "Ошибка",
2524
- "detail.result.running": "Выполняется",
2525
- "detail.result.succeeded": "Успешно",
2526
- "detail.run": "Запустить",
2527
- "detail.schedule": "Запуски по расписанию",
2528
- "detail.schedule.cron": "Выражение cron",
2529
- "detail.schedule.dueSoon": "Скоро",
2530
- "detail.schedule.enable": "Включить запуски по расписанию",
2531
- "detail.schedule.invalid": "Неверное выражение cron",
2532
- "detail.schedule.lastTriggered": "Последний запуск",
2533
- "detail.schedule.nextRun": "Следующий запуск",
2534
- "detail.schedule.notScheduled": "Расписания пока нет",
2535
- "detail.schedule.preset.daily9": "Каждый день в 09:00",
2536
- "detail.schedule.preset.hourly": "Каждый час",
2537
- "detail.schedule.preset.tenMin": "Каждые 10 минут",
2538
- "detail.schedule.preset.weeklyMon9": "По понедельникам в 09:00",
2539
- "detail.schedule.presets": "Готовые варианты",
2540
- "detail.title": "Задача",
2541
- "detail.viewSession": "Открыть сессию",
2542
- "entry.label": "Доска задач",
2543
- "exec.error.noWorkspace": "Нет рабочей папки, в которой можно выполнить задачу",
2544
- "exec.error.promptRejected": "Промпт отклонён",
2545
- "exec.hint": "Применяется при запуске задачи: рабочая папка определяет, где появится сессия выполнения; режим задаёт пресет агента; разрешение выставляется командой /permission. Пусто — как по умолчанию в рантайме.",
2546
- "exec.mode.brokenSuffix": " (недоступен)",
2547
- "exec.mode.default": "Как в установке",
2548
- "exec.mode.defaultSuffix": " (по умолчанию)",
2549
- "exec.mode.removed": " (удалён)",
2550
- "exec.permission.danger-full-access": "Полный доступ",
2551
- "exec.permission.default": "Как в сессии",
2552
- "exec.permission.read-only": "Только чтение",
2553
- "exec.permission.workspace-write": "Запись в рабочую папку",
2554
- "exec.workspace.recent": "Последняя (по умолчанию)",
2555
- "new.cancel": "Отмена",
2556
- "new.description": "Описание",
2557
- "new.descriptionPlaceholder": "Контекст, границы, критерии приёмки (необязательно)",
2558
- "new.mode": "Режим",
2559
- "new.permission": "Разрешения",
2560
- "new.prompt": "Промпт запуска",
2561
- "new.promptPlaceholder": "Полная инструкция агенту (если пусто, возьмётся заголовок)",
2562
- "new.required": "Нужен заголовок",
2563
- "new.submit": "Создать",
2564
- "new.title": "Заголовок",
2565
- "new.titlePlaceholder": "Что нужно сделать, одной строкой",
2566
- "new.workspace": "Рабочая папка",
2567
- "run.failed": "Запуск не удался: {error}",
2568
- "settings.announceToAgent": "Сообщать агентам о доске задач",
2569
- "settings.announceToAgentHint": "Включено: в системный промпт каждого агента добавляется упоминание доски. Выключено: агенты узнают о ней, только если вы скажете сами.",
2570
- "settings.collapse": "Скрыть настройки",
2571
- "settings.description": "Настройка доски задач на хосте, упоминания в промпте и защиты от засыпания, пока есть незавершённая работа.",
2572
- "settings.discard": "Отменить",
2573
- "settings.enabled": "Включить доску задач",
2574
- "settings.enabledHint": "Когда выключено, пункт в панели и сама доска скрыты.",
2575
- "settings.expand": "Показать настройки",
2576
- "settings.inherit": "Наследовать",
2577
- "settings.invalidNumber": "Введите число или оставьте пустым, чтобы взять значение по умолчанию.",
2578
- "settings.notExposed": "Эта версия DSH не выводит namespace настроек плагина на страницу конфигурации, поэтому форма недоступна. Правьте ~/.dsh/settings.yaml напрямую или добавьте namespace в список WEB_SETTINGS_NAMESPACES у dsh-host-apiproxy и перезапустите.",
2579
- "settings.off": "Выкл",
2580
- "settings.on": "Вкл",
2581
- "settings.overridden": "Переопределено",
2582
- "settings.powerBoundary": "Батарея будет расходоваться быстрее. Закрытие крышки, ручной уход в сон, гибернация, выключение, действия при низком заряде и корпоративные политики под гарантию не попадают; уже спящий компьютер не разбудят.",
2583
- "settings.powerError": "Последняя ошибка защиты от засыпания: {error}",
2584
- "settings.powerStatus": "Платформа: {platform}; защита: {phase}; работающих сессий: {running}; включённых расписаний: {schedules}",
2585
- "settings.powerUnknown": "неизвестно",
2586
- "settings.preventIdleSleep": "Не давать системе засыпать",
2587
- "settings.preventIdleSleepHint": "По умолчанию выключено. Когда включено, хост не даёт системе уйти в сон, пока работает хоть одна сессия DSH, включено расписание или состояние сессий ещё неизвестно. Экран при этом может гаснуть.",
2588
- "settings.readOnly": "В этой установке настройки доступны только для чтения.",
2589
- "settings.reset": "Вернуть по умолчанию",
2590
- "settings.save": "Сохранить",
2591
- "settings.saveFailed": "Установка не приняла эти значения; они оставлены, чтобы вы их поправили.",
2592
- "settings.saving": "Сохранение…",
2593
- "settings.title": "Доска задач",
2594
- "settings.unsaved": "Не сохранено",
2595
- "status.move.backlog": "В бэклог",
2596
- "status.move.todo": "К выполнению",
2597
- "time.justNow": "только что"
2598
- },
2599
1749
  "trajectory": {
2600
1750
  "toolbar.actualTime": "Реальное время",
2601
1751
  "toolbar.aria": "Панель траектории",
@@ -2612,218 +1762,6 @@ window.__ModuleLoader__.load({
2612
1762
  "toolbar.useEqualWidth": "Операции равной ширины",
2613
1763
  "view.trajectory": "Траектория"
2614
1764
  },
2615
- "usageDashboard": {
2616
- "buckets.cacheRead": "Чтение кэша",
2617
- "buckets.cacheWrite": "Запись в кэш",
2618
- "buckets.caption": "Четыре непересекающиеся корзины тарификации · всего {total} ток",
2619
- "buckets.output": "Выход",
2620
- "buckets.title": "Состав токенов",
2621
- "buckets.uncachedInput": "Вход мимо кэша",
2622
- "composition.caption": "Оценка по эвристике, не по счёту; в сумму занятости не сойдётся",
2623
- "composition.messages": "Сообщения",
2624
- "composition.system": "Системный промпт",
2625
- "composition.title": "Состав контекста",
2626
- "composition.tools": "Схемы инструментов",
2627
- "efficiency.llm": "Время модели",
2628
- "efficiency.steps": "Шаги",
2629
- "efficiency.stepsValue": "{steps}",
2630
- "efficiency.throughput": "Скорость выдачи",
2631
- "efficiency.title": "Эффективность запросов",
2632
- "efficiency.tool": "Время инструментов",
2633
- "efficiency.ttft": "Первый токен, среднее",
2634
- "efficiency.ttftOver": "шагов: {steps}",
2635
- "efficiency.turns": "Ходы",
2636
- "efficiency.turnsValue": "{turns}",
2637
- "empty.usage": "Расхода токенов пока нет",
2638
- "empty.usageHint": "Цифры появятся, когда сессия сделает первый запрос к модели.",
2639
- "overview.billedInput": "Оплаченный вход",
2640
- "overview.billedInputSub": "мимо кэша {uncached} · из кэша {cached}",
2641
- "overview.cacheHit": "Попадания в кэш",
2642
- "overview.cacheHitSub": "прочитано {read} из {total} ток",
2643
- "overview.context": "Контекст занят",
2644
- "overview.contextSub": "{used} из {window} ток",
2645
- "overview.contextUnknown": "Размер окна модели неизвестен",
2646
- "overview.output": "Выход",
2647
- "overview.outputSub": "всего {total} ток",
2648
- "scope.aria": "Охват статистики",
2649
- "scope.session": "Эта сессия",
2650
- "scope.sessions": "Все сессии",
2651
- "sessions.currentTag": "Текущая",
2652
- "sessions.detail.noData": "Данные по этой сессии загружаются или их нет",
2653
- "sessions.detail.title": "Подробности сессии",
2654
- "sessions.empty": "Расход по сессиям не записан",
2655
- "sessions.inactive": "Простаивает",
2656
- "sessions.running": "Работает",
2657
- "sessions.selectHint": "Выберите строку, чтобы посмотреть сессию",
2658
- "sessions.subagentTag": "Субагент",
2659
- "sessions.summary.input": "Оплаченный вход, всего",
2660
- "sessions.summary.output": "Выход, всего",
2661
- "sessions.summary.sessions": "Сессий с расходом",
2662
- "sessions.summary.sessionsValue": "{count}",
2663
- "sessions.summary.totalValue": "всего сессий: {count}",
2664
- "sessions.summary.turns": "Ходов всего",
2665
- "sessions.summary.turnsValue": "{turns}",
2666
- "sessions.table.cacheHit": "Попаданий в кэш",
2667
- "sessions.table.input": "Оплаченный вход",
2668
- "sessions.table.output": "Выход",
2669
- "sessions.table.session": "Сессия",
2670
- "sessions.table.status": "Состояние",
2671
- "sessions.table.turns": "Ходы",
2672
- "sessions.table.updated": "Изменена",
2673
- "steps.cacheRead": "Кэш Ч",
2674
- "steps.cacheWrite": "Кэш З",
2675
- "steps.caption": "Только загруженное окно, новые сверху; итог считает то же окно",
2676
- "steps.done": "Готово",
2677
- "steps.empty": "В загруженном окне шагов нет",
2678
- "steps.input": "Вход",
2679
- "steps.interrupted": "Прервано",
2680
- "steps.model": "Модель",
2681
- "steps.output": "Выход",
2682
- "steps.reasoning": "Рассуждения",
2683
- "steps.sortBy": "Сортировать по «{column}»",
2684
- "steps.status": "Состояние",
2685
- "steps.title": "Подробности по шагам",
2686
- "steps.tps": "ток/с",
2687
- "steps.ttft": "Первый токен",
2688
- "steps.turn": "Ход.шаг",
2689
- "steps.windowTotal": "Итог по окну",
2690
- "time.daysAgo": "{n} дн назад",
2691
- "time.hoursAgo": "{n} ч назад",
2692
- "time.justNow": "только что",
2693
- "time.minutesAgo": "{n} мин назад",
2694
- "view.usage": "Статистика"
2695
- },
2696
- "usageStats": {
2697
- "billing.monthly": "≈ {amount}/мес",
2698
- "billing.parts": "Композиция",
2699
- "billing.projected": "Прогнозируемое использование на конец месяца",
2700
- "billing.tokenOnly": "расчет на основе использования",
2701
- "billing.total": "Ориентировочные ежемесячные траты",
2702
- "budget.exceeded": "превышен бюджет",
2703
- "budget.over": "{pct}% бюджета использовано",
2704
- "budget.remaining": "осталось",
2705
- "budget.title": "Ежемесячный бюджет",
2706
- "budget.used": "использовано",
2707
- "col.cacheRead": "Чтение кэша",
2708
- "col.cacheWrite": "Запись в кеш",
2709
- "col.calls": "Звонки",
2710
- "col.cost": "Стоимость",
2711
- "col.created": "Создано",
2712
- "col.cwd": "Рабочая папка",
2713
- "col.day": "День",
2714
- "col.default": "Стандартная ставка",
2715
- "col.hour": "Время",
2716
- "col.input": "Ввод",
2717
- "col.model": "Модель {placeholder}",
2718
- "col.models": "Модели",
2719
- "col.output": "Вывод",
2720
- "col.price": "Оцените {placeholder}",
2721
- "col.provider": "Провайдер",
2722
- "col.session": "Сессия",
2723
- "col.sessions": "Сессии",
2724
- "col.share": "Поделиться",
2725
- "col.time": "Время",
2726
- "col.tokens": "Токены",
2727
- "col.turn": "Поворот/шаг",
2728
- "curve.cost": "Стоимость",
2729
- "curve.empty": "Нет данных о сериях (нет вызовов в указанном интервале)",
2730
- "curve.legendCacheRead": "Чтение кеша",
2731
- "curve.legendInput": "Ввод",
2732
- "curve.legendOutput": "Вывод",
2733
- "curve.tokens": "Токены",
2734
- "details.auto": "Автоматически обновляется вместе с главным окном",
2735
- "details.exportCalls": "Экспорт журнала вызовов в CSV",
2736
- "details.exportCsv": "Экспорт CSV",
2737
- "details.exportJson": "Экспортировать JSON",
2738
- "details.hint": "Звонки, токены и стоимость за сессию × модель",
2739
- "details.open": "Открыть подробности в новом окне",
2740
- "details.title": "Детали звонка · сессия × модель",
2741
- "details.updated": "Обновлено",
2742
- "filter.all": "Все рабочие пространства",
2743
- "filter.scope": "Фильтровать статистику по одной рабочей директории",
2744
- "footnote.disclaimer": "Стоимость рассчитана на основе установленных тарифов и не является счетом.",
2745
- "footnote.errors": "({errors} логов не удалось декодировать)",
2746
- "footnote.scanned": "{sessions} сессий, {calls} звонков просканировано",
2747
- "heatmap.empty": "Данные тепловой карты пока отсутствуют",
2748
- "heatmap.fri": "Пт",
2749
- "heatmap.less": "Меньше",
2750
- "heatmap.mon": "Пн",
2751
- "heatmap.month": "{м}",
2752
- "heatmap.more": "Ещё",
2753
- "heatmap.title": "Тепловая карта активности (52 недели)",
2754
- "heatmap.wed": "Ср",
2755
- "lastUpdated": "Обновлено",
2756
- "perf.empty": "Нет данных о производительности (отсутствуют временные метки в журналах)",
2757
- "perf.est": "прибл.",
2758
- "perf.latencyAvg": "Средняя задержка",
2759
- "perf.modeTps": "токены/с",
2760
- "perf.modeTtft": "ТТФТ",
2761
- "perf.note": "TTFT = запрос → первый токен контента. Последующие шаги в цикле инструментов не имеют отдельного лога запросов, поэтому их TTFT оценивается с начала шага.",
2762
- "perf.samples": "Образцы",
2763
- "perf.title": "Скорость и задержка модели",
2764
- "perf.tps": "токенов/с",
2765
- "perf.ttftAvg": "Среднее значение TTFT",
2766
- "perf.ttftP50": "ТТФТ P50",
2767
- "perf.ttftP90": "TTFT P90",
2768
- "plan.auto": "авто",
2769
- "plan.balance": "Баланс",
2770
- "plan.code": "План кода",
2771
- "plan.noBalance": "не настроен баланс",
2772
- "plan.perMonth": "месяц",
2773
- "plan.period": "последние {days} дней",
2774
- "plan.quota": "квота",
2775
- "plan.remaining": "Осталось",
2776
- "plan.requests": "запросы",
2777
- "plan.subscription": "Подписка",
2778
- "plan.tiers": "Уровни",
2779
- "plan.token": "Тарифный план",
2780
- "plan.tokenEstimate": "оценка токенов",
2781
- "plan.tokens": "Токены",
2782
- "plan.used": "Использовано",
2783
- "plan.usedCost": "Стоимость использования",
2784
- "pricing.peakOffpeak": "пиковый/непиковый",
2785
- "recent.anomaly": "Аномалия стоимости (значительно выше среднего)",
2786
- "refresh": "Обновить",
2787
- "section.byCwd": "Рабочий каталог",
2788
- "section.byDay": "Днём",
2789
- "section.byModel": "По модели",
2790
- "section.byProvider": "По провайдеру",
2791
- "section.bySession": "По сеансу",
2792
- "section.plans": "Тарифы",
2793
- "section.pricing": "Тарифы (за миллион токенов)",
2794
- "section.recent": "Последние звонки",
2795
- "section.series": "Временные ряды",
2796
- "state.empty": "Данные об использовании токенов пока отсутствуют (нет вызовов с использованием)",
2797
- "state.error": "Не удалось загрузить",
2798
- "state.loading": "Вычисление…",
2799
- "state.retry": "Повторить",
2800
- "summary.activeDays": "Активные дни",
2801
- "summary.avgCost": "Среднее / вызов",
2802
- "summary.cacheHit": "Процент попаданий в кеш",
2803
- "summary.cacheRead": "Чтение кэша",
2804
- "summary.cacheWrite": "Запись в кеш",
2805
- "summary.calls": "Звонки",
2806
- "summary.cost": "Примерная стоимость",
2807
- "summary.input": "Ввод",
2808
- "summary.output": "Вывод",
2809
- "summary.sessions": "Сессии",
2810
- "summary.streak": "Дневная серия",
2811
- "summary.today": "Сегодня",
2812
- "summary.tokens": "Всего токенов",
2813
- "tab.details": "Детали звонка",
2814
- "tab.overview": "Обзор",
2815
- "tab.perf": "Производительность",
2816
- "tab.today": "Сегодня",
2817
- "today.calls": "Звонков сегодня",
2818
- "today.cost": "Стоимость сегодня",
2819
- "today.empty": "Сегодня звонков еще не было",
2820
- "today.title": "Сегодняшние токены и стоимость",
2821
- "today.tokens": "Токены сегодня",
2822
- "widget.close": "Свернуть",
2823
- "widget.hint": "Использование токенов & примерная стоимость",
2824
- "widget.hoverHint": "Нажмите, чтобы развернуть",
2825
- "widget.open": "Развернуть"
2826
- },
2827
1765
  "workflowRun": {
2828
1766
  "member.empty": "Пустое имя участника",
2829
1767
  "member.open": "Открыть {name}",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goodandready/dsh-russian-lang",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "description": "Russian localization for the DeepSeek Harness web UI: adds Русский as the third option in the native Settings - General - Language menu. Translates the full core surface (100% coverage of DSH 0.1.1-rc.2) plus 16 community plugin namespaces - 52 namespaces, 2795 strings (many machine-drafted, queued for manual review), with Russian plural forms, count-key plurals, a typography pass (guillemets, em dash, nbsp), a wrong-layout input hint and browser spellcheck. The locale runtime snapshot is extended at runtime on unpatched cores; no files in the DSH installation are modified. The choice is persisted through the plugin-owned russian-lang namespace.",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",