@goodandready/dsh-russian-lang 0.2.26 → 0.3.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 (52) hide show
  1. package/README.md +1 -1
  2. package/bin/dsh-i18n.mjs +247 -0
  3. package/lib/client.js +785 -410
  4. package/lib/index.js +69 -13
  5. package/lib/locales/plugins/01-token-dashboard.json +1 -1
  6. package/lib/locales/plugins/10-kanban.json +1 -1
  7. package/lib/locales/plugins/13-agent-teams.json +1 -1
  8. package/lib/locales/plugins/16-usage-stats.json +1 -1
  9. package/lib/locales/plugins/23-moa.json +1 -1
  10. package/lib/locales/plugins/24-personal-directive.json +1 -1
  11. package/lib/locales/plugins/33-messenger-gateway.json +1 -1
  12. package/lib/locales/plugins/35-gitea.json +1 -1
  13. package/lib/locales/plugins/36-cost-meter.json +1 -1
  14. package/lib/locales/plugins/37-time-machine.json +1 -1
  15. package/lib/locales/plugins/38-context-lens.json +1 -1
  16. package/lib/locales/plugins/39-shadow-auditor.json +1 -1
  17. package/lib/locales/plugins/40-clinebot.json +1 -1
  18. package/lib/locales/plugins/41-lanmode.json +1 -1
  19. package/lib/locales/plugins/42-plugin-console.json +1 -1
  20. package/lib/locales/plugins/46-memory-brain.json +1 -1
  21. package/lib/locales/plugins/48-task-tracker.json +1 -1
  22. package/lib/locales/plugins/49-dsml-guard.json +1 -1
  23. package/lib/locales/plugins/49-usage-guard.json +1 -1
  24. package/lib/locales/plugins/50-automode.json +1 -1
  25. package/lib/locales/plugins/54-workshop-market.json +1 -1
  26. package/lib/locales/plugins/56-cron.json +1 -1
  27. package/lib/locales/plugins/57-live-canvas.json +1 -1
  28. package/lib/locales/plugins/58-grok-xsearch.json +1 -1
  29. package/lib/locales/plugins/59-goal.json +1 -1
  30. package/lib/locales/plugins/60-model-sync.json +1 -1
  31. package/lib/locales/plugins/61-issue-reporter.json +1 -1
  32. package/lib/locales/plugins/62-model-search.json +1 -1
  33. package/lib/locales/plugins/63-agent-orchestrator.json +1 -1
  34. package/lib/locales/plugins/64-key-limits.json +1 -1
  35. package/lib/locales/plugins/65-subscriptions.json +1 -1
  36. package/lib/locales/plugins/66-tts.json +1 -1
  37. package/lib/locales/plugins/67-voice.json +1 -1
  38. package/lib/locales/plugins/68-image-gen.json +1 -1
  39. package/lib/locales/plugins/69-plugin-notify.json +1 -1
  40. package/lib/locales/plugins/70-hypotheses.json +1 -1
  41. package/lib/locales/plugins/71-memory-meter.json +1 -1
  42. package/lib/locales/plugins/72-server-monitor.json +1 -70
  43. package/lib/locales/plugins/73-agentrouter.json +1 -1
  44. package/lib/locales/plugins/75-test-pilot.json +1 -0
  45. package/lib/locales/plugins/76-visualize.json +1 -0
  46. package/lib/locales/plugins/77-github-ops.json +1 -0
  47. package/lib/locales/plugins/78-web-gateway.json +1 -0
  48. package/lib/locales/plugins/79-approval-gate.json +1 -0
  49. package/lib/locales.js +50 -12
  50. package/lib/pure.js +251 -13
  51. package/package.json +7 -3
  52. package/lib/locales/plugins/44-goal.json +0 -1
@@ -1 +1 @@
1
- {"@goodandready/dsh-agent-loop-guard":{"assistantOutputGuard":"Защита вывода ассистента","blockExactDuplicates":"Блокировать точные дубликаты вызовов инструментов","checkUpdateFailed":"Ошибка проверки","dryRunMode":"Режим аудита / Dry-run (только логирование, без отклонения)","lastViolation":"Последний инцидент","maxAssistantBlockChars":"Макс. символов в блоке ассистента","maxCallsPerRepeatGroup":"Макс. вызовов в группе повторений","maxProgressToolCallsPerTurn":"Макс. вызовов инструментов прогресса за ход","maxRepeatedAssistantBlocks":"Макс. повторяющихся блоков ассистента","maxRepeatedAssistantLines":"Макс. повторяющихся строк ассистента","maxToolAttemptsPerTurn":"Макс. попыток вызова инструментов за ход","noViolations":"В текущем сеансе зацикливаний не обнаружено.","progressToolNames":"Имена инструментов прогресса (через запятую)","ready":"Сохранить","resetStats":"Сбросить статистику","saved":"Сохранено","saving":"Сохранение…","statsResetDone":"Статистика сброшена","strictToolLimit":"Лимит строгих инструментов","strictTools":"Строгие инструменты (через запятую, сниженный лимит)","sub":"Защитные лимиты циклов вызова инструментов и ответов ассистента (fail-closed)","telemetryTitle":"Телеметрия защиты","title":"Agent Loop Guard","totalBlocked":"Предотвращено циклов","upToDate":"Актуальная версия","updateAvailable":"Доступно обновление: v{v}","updateChecking":"Проверка обновлений…","updateFailed":"Ошибка обновления: {msg}","updateNow":"Обновить сейчас","updateSuccess":"Успешно обновлено до v{v}!","updating":"Обновление…","version":"Версия"},"dsh-auto-mode.permission":{"dialog.acknowledge":"Понятно","dialog.cancel":"Отмена","dialog.close":"Закрыть","dialog.confirm":"Подтвердить запуск","dialog.description":"Автономный режим позволяет агенту непрерывно выполнять многошаговые сценарии без необходимости подтверждать каждый шаг.","dialog.title":"Разрешение автономного режима","preset.description":"Шаблон прав и политик безопасности для автоматического цикла","preset.label":"Пресет автономного режима"}}
1
+ {"@goodandready/dsh-agent-loop-guard":{"assistantOutputGuard":"Защита вывода ассистента","blockExactDuplicates":"Блокировать точные дубликаты вызовов инструментов","checkUpdateFailed":"Ошибка проверки","dryRunMode":"Режим аудита / Dry-run (только логирование, без отклонения)","lastViolation":"Последний инцидент","maxAssistantBlockChars":"Макс. символов в блоке ассистента","maxCallsPerRepeatGroup":"Макс. вызовов в группе повторений","maxProgressToolCallsPerTurn":"Макс. вызовов инструментов прогресса за ход","maxRepeatedAssistantBlocks":"Макс. повторяющихся блоков ассистента","maxRepeatedAssistantLines":"Макс. повторяющихся строк ассистента","maxToolAttemptsPerTurn":"Макс. попыток вызова инструментов за ход","noViolations":"В текущем сеансе зацикливаний не обнаружено.","progressToolNames":"Имена инструментов прогресса (через запятую)","ready":"Сохранить","resetStats":"Сбросить статистику","saved":"Сохранено","saving":"Сохранение…","statsResetDone":"Статистика сброшена","statsResetFailed":"Не удалось сбросить статистику","strictToolLimit":"Лимит строгих инструментов","strictTools":"Строгие инструменты (через запятую, сниженный лимит)","sub":"Защитные лимиты циклов вызова инструментов и ответов ассистента (fail-closed)","telemetryLoadFailed":"Не удалось загрузить телеметрию","telemetryTitle":"Телеметрия защиты","title":"Agent Loop Guard","totalBlocked":"Предотвращено циклов","upToDate":"Актуальная версия","updateAvailable":"Доступно обновление: v{v}","updateChecking":"Проверка обновлений…","updateFailed":"Ошибка обновления: {msg}","updateNow":"Обновить сейчас","updateSuccess":"Успешно обновлено до v{v}!","updating":"Обновление…","version":"Версия"},"dsh-agent-loop-guard":{"assistantOutputGuard":"Защита вывода ассистента","blockExactDuplicates":"Блокировать точные дубликаты вызовов инструментов","checkUpdateFailed":"Ошибка проверки","dryRunMode":"Режим аудита / Dry-run (только логирование, без отклонения)","lastViolation":"Последний инцидент","maxAssistantBlockChars":"Макс. символов в блоке ассистента","maxCallsPerRepeatGroup":"Макс. вызовов в группе повторений","maxProgressToolCallsPerTurn":"Макс. вызовов инструментов прогресса за ход","maxRepeatedAssistantBlocks":"Макс. повторяющихся блоков ассистента","maxRepeatedAssistantLines":"Макс. повторяющихся строк ассистента","maxToolAttemptsPerTurn":"Макс. попыток вызова инструментов за ход","noViolations":"В текущем сеансе зацикливаний не обнаружено.","progressToolNames":"Имена инструментов прогресса (через запятую)","ready":"Сохранить","resetStats":"Сбросить статистику","saved":"Сохранено","saving":"Сохранение…","statsResetDone":"Статистика сброшена","statsResetFailed":"Не удалось сбросить статистику","strictToolLimit":"Лимит строгих инструментов","strictTools":"Строгие инструменты (через запятую, сниженный лимит)","sub":"Защитные лимиты циклов вызова инструментов и ответов ассистента (fail-closed)","telemetryLoadFailed":"Не удалось загрузить телеметрию","telemetryTitle":"Телеметрия защиты","title":"Agent Loop Guard","totalBlocked":"Предотвращено циклов","upToDate":"Актуальная версия","updateAvailable":"Доступно обновление: v{v}","updateChecking":"Проверка обновлений…","updateFailed":"Ошибка обновления: {msg}","updateNow":"Обновить сейчас","updateSuccess":"Успешно обновлено до v{v}!","updating":"Обновление…","version":"Версия"},"dsh-auto-mode.permission":{"dialog.acknowledge":"Понятно","dialog.cancel":"Отмена","dialog.close":"Закрыть","dialog.confirm":"Подтвердить запуск","dialog.description":"Автономный режим позволяет агенту непрерывно выполнять многошаговые сценарии без необходимости подтверждать каждый шаг.","dialog.title":"Разрешение автономного режима","preset.description":"Шаблон прав и политик безопасности для автоматического цикла","preset.label":"Пресет автономного режима"}}
@@ -1 +1 @@
1
- {"dsh-web-ui-market":{"badge.market":"dsh-market.com","cancel":"Отмена","command.title":"Скопируйте эту команду в терминал хоста DSH","conflict.text":"Каталог {dest} уже существует. Продолжение перезапишет файлы старой версией (действие необратимо).","conflict.title":"Каталог с таким именем уже существует","copied":"Скопировано","copyCommand":"Скопировать команду установки","empty":"Список витрины пуст (нет подключения к сети? нажмите «Повторить»)","install":"Установить","install.path":"Каталог установки: {path}","installFailed":"Ошибка установки: {reason}","installNow":"Установить сейчас","installSpecInvalid":"Неверный источник установки; поддерживаются только имена npm-пакетов и git-ссылки https://","installed":"Установлено","installedAt":"Установлено в {path}","installing":"Установка…","like":"Нравится","likeFailed":"Не удалось поставить лайк","liked":"Понравилось","loading":"Загрузка…","noMatch":"Ничего не найдено","offline":"Данные витрины недоступны","online":null,"openSite":"Открыть сайт витрины","preview":"Предпросмотр","remote.note":"В удалённых браузерах доступен только просмотр и копирование команд; установка в один клик требует локального браузера (loopback).","replace":"Заменить и установить","repository":"Исходный репозиторий","result.count":"Показано {shown} из {total}","retry":"Повторить","search.label":"Поиск по названию, автору или описанию…","settings.collapse":"Свернуть","settings.description":"Просматривайте скины, питомцев и плагины сообщества с dsh-market.com и устанавливайте их локально в один клик.","settings.discard":"Отменить изменения","settings.enable":"Включить карточку витрины","settings.enableHint":"Скрывает содержимое витрины, оставляя только переключатель.","settings.expand":"Развернуть","settings.inherit":"Наследовать","settings.invalidNumber":"Недопустимое значение","settings.notExposed":"Раздел недоступен (отсутствует пространство имён хоста)","settings.off":"Выкл","settings.on":"Вкл","settings.overridden":"Переопределяет умолчание","settings.readOnly":"Только чтение","settings.reset":"Сбросить","settings.save":"Сохранить","settings.saveFailed":"Не удалось сохранить","settings.saving":"Сохранение…","settings.title":"Витрина (Workshop)","settings.unsaved":"Несохранённые изменения","tab.pet":"Питомцы","tab.plugin":"Плагины","tab.skin":"Скины","votes":"{count} голосов"}}
1
+ {"@dsh-external/dsh-plugin-workshop":{"install":"Установить","installed":"Установлено","loading":"Загрузка…","search":"Поиск плагинов…","settings.description":"Просматривайте плагины и устанавливайте их в один клик.","settings.enable":"Включить мастерскую плагинов","settings.enableHint":"Отображать раздел мастерской плагинов в интерфейсе.","settings.title":"Мастерская плагинов (Workshop)","subtitle":"Каталог и поиск сторонних плагинов DSH","title":"Мастерская плагинов (Workshop)","uninstall":"Удалить"},"dsh-plugin-workshop":{"install":"Установить","installed":"Установлено","loading":"Загрузка…","search":"Поиск плагинов…","settings.description":"Просматривайте плагины и устанавливайте их в один клик.","settings.enable":"Включить мастерскую плагинов","settings.enableHint":"Отображать раздел мастерской плагинов в интерфейсе.","settings.title":"Мастерская плагинов (Workshop)","subtitle":"Каталог и поиск сторонних плагинов DSH","title":"Мастерская плагинов (Workshop)","uninstall":"Удалить"},"dsh-web-ui-market":{"badge.market":"dsh-market.com","cancel":"Отмена","command.title":"Скопируйте эту команду в терминал хоста DSH","conflict.text":"Каталог {dest} уже существует. Продолжение перезапишет файлы старой версией (действие необратимо).","conflict.title":"Каталог с таким именем уже существует","copied":"Скопировано","copyCommand":"Скопировать команду установки","empty":"Список витрины пуст (нет подключения к сети? нажмите «Повторить»)","install":"Установить","install.path":"Каталог установки: {path}","installFailed":"Ошибка установки: {reason}","installNow":"Установить сейчас","installSpecInvalid":"Неверный источник установки; поддерживаются только имена npm-пакетов и git-ссылки https://","installed":"Установлено","installedAt":"Установлено в {path}","installing":"Установка…","like":"Нравится","likeFailed":"Не удалось поставить лайк","liked":"Понравилось","loading":"Загрузка…","noMatch":"Ничего не найдено","offline":"Данные витрины недоступны","online":"В сети","openSite":"Открыть сайт витрины","preview":"Предпросмотр","remote.note":"В удалённых браузерах доступен только просмотр и копирование команд; установка в один клик требует локального браузера (loopback).","replace":"Заменить и установить","repository":"Исходный репозиторий","result.count":"Показано {shown} из {total}","retry":"Повторить","search.label":"Поиск по названию, автору или описанию…","settings.collapse":"Свернуть","settings.description":"Просматривайте скины, питомцев и плагины сообщества с dsh-market.com и устанавливайте их локально в один клик.","settings.discard":"Отменить изменения","settings.enable":"Включить карточку витрины","settings.enableHint":"Скрывает содержимое витрины, оставляя только переключатель.","settings.expand":"Развернуть","settings.inherit":"Наследовать","settings.invalidNumber":"Недопустимое значение","settings.notExposed":"Раздел недоступен (отсутствует пространство имён хоста)","settings.off":"Выкл","settings.on":"Вкл","settings.overridden":"Переопределяет умолчание","settings.readOnly":"Только чтение","settings.reset":"Сбросить","settings.save":"Сохранить","settings.saveFailed":"Не удалось сохранить","settings.saving":"Сохранение…","settings.title":"Витрина (Workshop)","settings.unsaved":"Несохранённые изменения","tab.pet":"Питомцы","tab.plugin":"Плагины","tab.skin":"Скины","votes":"{count} голосов"}}
@@ -1 +1 @@
1
- {"dsh-cron":{"actions.archive":"Архив","actions.archiveTitle":"Архив выполнений и журнал","actions.create":"Создать","actions.createWithDsh":"💬 Создать через DSH","actions.delete":"Удалить задачу","actions.dryRun":"Имитация","actions.dryRunTitle":"Имитация запуска (проверка выполнения без побочных эффектов и уведомлений)","actions.duplicate":"Дублировать задачу","actions.edit":"Изменить / Детали","actions.pause":"Пауза","actions.resume":"Возобновить","actions.runNow":"Запустить сейчас","actions.runNowShort":"Запуск","actions.settings":"Уведомления и каналы","actions.setupManually":"✏️ Настроить вручную","actions.tuneWithDsh":"Настроить через DSH","archive.close":"Закрыть","archive.empty":"Для этой задачи пока нет архивных записей.","archive.loadMore":"Загрузить ещё ({shown} из {total})","archive.title":"📜 Архив выполнения","archive.totalRuns":"Всего записей: {total}","banner.loadError":"Не удалось загрузить задачи: {error}","banner.retry":"Повторить","chip.title":"Задачи по расписанию (Cron)","confirm.delete":"Удалить эту задачу?","details.channel":"Канал доставки","details.created":"Создана","details.duration":"Длительность","details.error":"Ошибка","details.historyTitle":"История недавних запусков","details.model":"Модель","details.noHistory":"Запусков пока не было.","details.output":"Вывод","details.prompt":"Промпт / Команда","details.schedule":"Расписание","details.statusFailed":"Сбой","details.statusSuccess":"Успешно","details.title":"Детали задачи","details.updated":"Обновлена","dryRun.close":"Закрыть","dryRun.duration":"Длительность","dryRun.output":"Результат вывода","dryRun.preflight":"Предварительная проверка","dryRun.status":"Статус имитации","dryRun.task":"Задача","dryRun.title":"🧪 Результат имитации запуска","dsh.descLabel":"Опишите задачу и желаемую периодичность:","dsh.launchError":"Сбой запуска: {error}","dsh.modalTitle":"Планирование задачи с агентом DSH","dsh.placeholder":"Например: проверяй свободное место на диске и упавшие службы systemd каждые 2 часа и присылай алерт, только если что-то сломалось…","dsh.sendHint":"Ctrl+Enter для отправки","dsh.sendTitle":"Отправить агенту","dsh.startFailed":"Не удалось начать диалог с агентом: {error}","duplicate.done":"Копия создана и поставлена на паузу: проверьте расписание перед запуском.","duplicate.failed":"Не удалось дублировать задачу: {error}","duplicate.oneShotHint":"Копия является разовой и на паузе — исходное время уже могло пройти, задайте новое время перед возобновлением.","filters.any":"Любой","filters.channel":"Канал","filters.empty":"Нет задач, соответствующих выбранным фильтрам.","filters.model":"Модель","filters.reset":"Сбросить фильтры","filters.showing":"Показано {shown} из {total}","filters.title":"Фильтры","filters.type":"Тип","form.agentPresetHint":"Пресет агента из dsh-agent-presets (например: standard, minimal, cordis, ptc). Монтирует рабочее пространство и инструменты написания кода.","form.agentPresetLabel":"Пресет агента","form.agentPresetPlaceholder":"standard (оставьте пустым для значения по умолчанию)","form.autoDiagnoseLabel":"Автоматическая AI-диагностика сбоев","form.channelBark":"Bark","form.channelDiscord":"Discord","form.channelGitea":"Задача в Gitea","form.channelKanban":"Карточка dsh-kanban","form.channelNtfy":"ntfy","form.channelPushplus":"PushPlus","form.channelSlack":"Slack","form.channelTelegram":"Telegram","form.channelTts":"Голос (dsh-tts)","form.channelsHint":"Выберите каналы для этой задачи. Явный выбор переопределяет переключатель Telegram выше; оставьте всё неотмеченным для отката к нему.","form.channelsTitle":"Каналы доставки","form.concurrencyGroupLabel":"Группа параллелизма (Concurrency Group)","form.cronExprHint":"Синтаксис: минута (0-59) час (0-23) день месяца (1-31) месяц (1-12) день недели (0-6)","form.cronExprLabel":"Cron-выражение","form.cronExprPlaceholder":"0 9 * * 1-5 (по будням в 09:00)","form.cwdLabel":"Рабочий каталог (необязательно)","form.dockerImageLabel":"Образ контейнера","form.envHint":"Применяется только для сред без LLM. Не храните здесь секреты.","form.envLabel":"Переменные окружения (КЛЮЧ=ЗНАЧЕНИЕ в строке)","form.envPlaceholder":"NODE_ENV=production\nTZ=Europe/Moscow","form.fallbackModelHint":"Если запуск на основной модели выше завершится ошибкой, задача будет повторена один раз на резервной модели. Обе попытки учитываются в стоимости.","form.fallbackModelLabel":"Резервная модель (Fallback)","form.fallbackModelPlaceholder":"например deepseek-reasoner","form.gracePeriodLabel":"Льготный период heartbeat (секунды)","form.heartbeatIntervalLabel":"Интервал heartbeat (секунды, 0 = выкл)","form.httpBodyLabel":"Тело запроса (необязательно)","form.httpHeadersLabel":"Заголовки (JSON, необязательно)","form.httpMethodLabel":"HTTP-метод","form.httpUrlLabel":"URL","form.inspectOnFailureHint":"После сбоя модель анализирует промпт, ошибку и вывод, сохраняя диагноз и предлагаемые правки промпта вместе с запуском. Изменения не применяются автоматически.","form.inspectOnFailureLabel":"Диагностировать сбои с помощью модели","form.intervalUnitDays":"дней","form.intervalUnitHours":"часов","form.intervalUnitMinutes":"минут","form.intervalValueLabel":"Интервал выполнения","form.kanbanAlways":"Создавать карточку при каждом завершении (Done / Backlog)","form.kanbanLabel":"Создание карточек в Kanban (dsh-kanban)","form.kanbanNone":"Не создавать карточки (отключено)","form.kanbanOnFailure":"Создавать карточку при сбое (в Backlog)","form.keepWorktreeLabel":"Сохранять worktree после завершения запуска","form.misfireCatchUp":"Выполнить разово и зафиксировать пропуск (catchUpAll)","form.misfireLabel":"При пропущенном запуске (после простоя)","form.misfireRunOnce":"Выполнить один раз с опозданием (runOnce)","form.misfireSkip":"Пропустить невыполненный запуск (skip)","form.modelDefault":"Модель по умолчанию из профиля DSH","form.modelLabel":"Модель агента (для типа LLM)","form.nameLabel":"Название задачи","form.namePlaceholder":"Например: Ежедневный отчёт по коммитам","form.nextRunLabel":"Следующий запуск: ","form.notScheduled":"не запланировано","form.notifyOnlyFailure":"Только при сбоях (onlyOnFailure / молчать при успехе)","form.notifyTelegram":"Отправлять отчёт о выполнении в Telegram","form.notifyTitle":"Уведомления в Telegram","form.oneShotDateLabel":"Дата и время разового запуска","form.overlapLabel":"Политика наложения запусков","form.overlapQueue":"Поставить следующий запуск в очередь (queue)","form.overlapReplace":"Отменить текущий запуск и перезапустить (replace)","form.overlapSkip":"Пропустить новый запуск (skip)","form.permissionDefault":"По умолчанию (как настроено в DSH)","form.permissionFull":"Полный доступ","form.permissionLabel":"Разрешения сессии","form.permissionReadonly":"Только чтение","form.permissionWrite":"Запись в рабочее пространство","form.preflightDisk":"Свободное место на диске (путь:мин%)","form.preflightHttp":"HTTP (проверка кода 2xx)","form.preflightLabel":"Предварительная проверка (Pre-flight)","form.preflightNone":"Отключена","form.preflightShell":"Shell-команда (код возврата 0)","form.preflightTargetLabel":"Цель предварительной проверки","form.preflightTargetPlaceholder":"https://example.com/healthz или ls /data или /:10%","form.previewSchedule":"Рассчитать следующие запуски","form.previewScheduleTitle":"Следующие 5 запусков по расписанию:","form.priorityLabel":"Приоритет в очереди (1-10, выше = раньше)","form.promptLabelLlm":"Инструкция / Промпт для агента","form.promptLabelScript":"Shell-команда или скрипт","form.promptPlaceholderLlm":"Опишите подробно, что именно должен сделать агент…","form.promptPlaceholderScript":"curl -fsSL https://... || exit 1","form.providerDefault":"По умолчанию (DSH)","form.providerLabel":"Провайдер LLM","form.reliabilityTitle":"🛡️ Надёжность, Heartbeat и самоисцеление","form.retriesLabel":"Автоматических повторов при сбое (0 = выкл)","form.scheduleLabel":"Расписание (cron или интервал)","form.schedulePlaceholder":"0 */6 * * * или every 2h или in 30m или at: 2026-09-05T15:00:00Z","form.scheduleTypeCron":"Стандартный Cron (выражение из 5 полей)","form.scheduleTypeInterval":"Повторяющийся интервал (каждые N минут/часов)","form.scheduleTypeLabel":"Режим расписания","form.scheduleTypeOneShot":"Разовый отложенный запуск (в заданное время)","form.selfHealingLabel":"Команда самоисцеления (Shell)","form.selfHealingPlaceholder":"systemctl restart app || true","form.silentRuleHint":"Для задач с выводом: легковесная модель оценивает результат по этому правилу и пропускает отчёт, если предписано молчать. При сбое модели отчёт доставляется.","form.silentRuleLabel":"Правило подавления уведомлений (Silent rule, необязательно)","form.silentRulePlaceholder":"Молчать, если ни одна файловая система не заполнена более чем на 80%","form.skillNameLabel":"Имя навыка","form.sshKeyLabel":"Путь к закрытому ключу (резервный, необязательно)","form.sshProfileHint":"Рекомендуется: хост и реквизиты доступа берутся из плагина remote-workspace.","form.sshProfileLabel":"Профиль dsh-remote-workspace","form.sshTargetLabel":"Резервный адрес хоста (user@host, необязательно)","form.targetSessionIdHint":"Если указан, запланированные запуски возобновляют эту сессию для непрерывности контекста диалога вместо создания новой изолированной сессии.","form.targetSessionIdLabel":"ID постоянной сессии (Target Session ID)","form.targetSessionIdPlaceholder":"например: audit-chat или dev-summary (пусто = изолированный запуск)","form.targetSessionResetDaily":"Ежедневная ротация (новая сессия каждый день)","form.targetSessionResetHint":"Автоматически меняет идентификатор сессии, предотвращая разрастание контекстного окна при долгосрочной работе.","form.targetSessionResetLabel":"Ротация контекста сессии","form.targetSessionResetNever":"Непрерывно (без ротации)","form.targetSessionResetWeekly":"Еженедельная ротация (новая сессия каждую неделю)","form.templateHint":"Переменные: {title} {id} {status} {output} {error} {duration} {schedule} {time} {tokens} {cost} {model}. Пусто = встроенный текст.","form.templateLabel":"Шаблон сообщения (необязательно)","form.templatePlaceholder":"⏰ {title} — {status} за {duration}","form.timeoutLabel":"Таймаут выполнения (секунды)","form.timezoneLabel":"Часовой пояс (IANA, необязательно)","form.timezonePlaceholder":"например Europe/Moscow (пусто = локальное время сервера)","form.titleCreate":"Создание задачи по расписанию","form.titleEdit":"Редактирование задачи по расписанию","form.typeDocker":"Контейнер Docker","form.typeHttp":"HTTP-запрос (Webhook)","form.typeLabel":"Тип исполнителя","form.typeLlm":"Инструкция для AI-агента (LLM)","form.typeNode":"Node.js","form.typePython":"Python","form.typeScript":"Shell-команда / скрипт","form.typeShell":"Shell-скрипт / Команда ОС","form.typeSkill":"Навык DSH (Skill)","form.typeSsh":"Удалённый SSH","form.typeWorkflow":"Рабочий процесс (Workflow)","form.workflowNameLabel":"Имя рабочего процесса","form.workspaceLabel":"ID или путь рабочего пространства (необязательно)","form.worktreeLabel":"Запускать в изолированном git worktree","history.applySuggestion":"Открыть форму редактирования с этой рекомендацией","history.diagnosis":"Диагностика","history.empty":"Запусков пока не зафиксировано","history.loading":"Загрузка истории…","history.openSession":"Открыть сессию","history.refresh":"Обновить историю","history.silentSkip":"подавлено по правилу:","history.statusFailed":"Ошибка","history.statusMissed":"Пропущено (простой)","history.statusSkipped":"Пропущено","history.statusSuccess":"Успешно","history.statusTimeout":"Таймаут","list.cancelBtn":"Отмена","list.configManaged":"Конфиг","list.configManagedHint":"Задача создана автоматически из файла конфигурации DSH","list.cost":"Стоимость: {cost}","list.deleteBtn":"Удалить","list.deleteConfirm":"Удалить задачу «{name}»? Это действие нельзя отменить.","list.empty":"Задач по расписанию пока нет","list.failed":"Сбой","list.lastRun":"Последний запуск: {time}","list.loadErrorPrefix":"Не удалось загрузить задачи","list.loading":"Загрузка задач по расписанию…","list.next":" · след: {time}","list.nextRun":"Следующий запуск: {time}","list.oneShot":"Разовая","list.paused":"Пауза","list.running":"Выполняется","list.runningNow":"Выполняется прямо сейчас","list.runsCount":"Запусков: {count}","list.tokens":"Токены: {tokens}","list.typeLlm":"LLM","list.typeShell":"Shell","modal.cancel":"Отмена","modal.close":"Закрыть","modal.create":"Создать задачу","modal.editTitle":"Редактирование задачи","modal.history":"История запусков ({count})","modal.newTitle":"Новая задача по расписанию","modal.params":"Параметры","modal.save":"Сохранить изменения","modal.statusActive":"● Активна","modal.statusPaused":"○ На паузе","panel.back":"Назад к чату","panel.subtitle":"Попросите DSH спланировать задачи, установить напоминания или отслеживать обновления","panel.title":"Задачи по расписанию","recs.hint":"Готовые шаблоны задач. Нажатие открывает форму с заполненными полями — ничего не создаётся до сохранения.","recs.title":"Рекомендуемые задачи","search.placeholder":"Поиск задач по расписанию","settings.apiTokenLabel":"Внешний API-токен","settings.apiTokenPlaceholder":"Bearer-токен для /dsh-cron/api/* (пусто = отключено)","settings.automationHint":"Модели для вспомогательных вызовов (оценка правил, экспресс-анализ сбоев). Оставьте пустым для использования модели задачи.","settings.automationSection":"Модели автоматизации","settings.barkKeyLabel":"Ключ устройства Bark","settings.barkServerLabel":"URL сервера Bark","settings.botTokenRefLabel":"Имя секрета для Telegram Bot Token","settings.botTokenRefPlaceholder":"например TELEGRAM_BOT_TOKEN","settings.cardDesc":"Запуск задач по расписанию (cron/интервалы), фоновые сценарии агента и доставка отчётов в Telegram, Discord, Slack, ntfy, Bark, PushPlus, голос и Gitea.","settings.cardTitle":"⏰ Планировщик задач (Cron)","settings.channelTemplateLabel":"Шаблон для канала {channel}","settings.chatIdLabel":"ID чата в Telegram","settings.chatIdPlaceholder":"Например: 345678901","settings.checkingKanban":"Проверка Kanban…","settings.defaultHint":"✓ Настроенный бот обнаружен в профиле DSH","settings.deliverySection":"Каналы доставки","settings.deliveryTimeoutMsLabel":"Таймаут доставки по каналу (мс)","settings.discordLabel":"URL вебхука Discord","settings.giteaBaseUrlLabel":"Базовый URL Gitea","settings.giteaRepoLabel":"Репозиторий Gitea (владелец/репозиторий)","settings.giteaTokenRefLabel":"Имя секрета для токена Gitea","settings.globalNotify":"Глобально доставлять отчёты обо всех задачах в Telegram","settings.globalOnlyFailure":"Глобальный режим: только при ошибках (молчать при успехе)","settings.inspectorModelLabel":"Модель для диагностики сбоев","settings.kanbanFail":"❌ {error}","settings.kanbanOk":"✅ Карточка Kanban создана","settings.kanbanUrlLabel":"Базовый URL Kanban","settings.loading":"Загрузка настроек…","settings.modalTitle":"Уведомления и каналы доставки","settings.ntfyTokenRefLabel":"Имя секрета для токена ntfy","settings.ntfyTopicLabel":"Тема (topic) в ntfy","settings.ntfyUrlLabel":"URL сервера ntfy","settings.openPanel":"Открыть панель задач","settings.pushplusTokenRefLabel":"Имя секрета для токена PushPlus","settings.pushplusUrlLabel":"Конечная точка PushPlus","settings.retry":"Повторить","settings.save":"Сохранить настройки","settings.saveError":"Ошибка сохранения: {error}","settings.saveErrorUnknown":"неизвестная ошибка","settings.saved":"✓ Сохранено","settings.secretsHint":"Введите ИМЯ учётных данных DSH, а не сам секрет. Секреты остаются в защищённом хранилище credentials.","settings.secretsOnCard":"Учётные данные, на которые ссылается панель настроек, отображаются скрытыми и сохраняются по имени ссылки.","settings.secretsSection":"Учётные данные (ссылки по имени)","settings.sending":"Отправка…","settings.silentRuleModelLabel":"Модель для фоновых правил","settings.slackLabel":"URL вебхука Slack","settings.telegramSection":"Telegram","settings.templateHint":"Применяется ко всем каналам без индивидуального шаблона. Пусто = стандартный встроенный текст.","settings.templateLabel":"Шаблон сообщения по умолчанию","settings.templatesSection":"Шаблоны сообщений","settings.testFail":"❌ {error}","settings.testKanban":"📋 Проверить Kanban","settings.testOk":"✅ Тестовое сообщение доставлено в Telegram!","settings.testTelegram":"🔔 Проверить доставку в Telegram","settings.tokenLabel":"Токен бота Telegram","settings.tokenPlaceholder":"123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ","settings.tokenPlaceholderDefault":"Используется бот, настроенный в профиле DSH (или введите свой)","settings.ttsBaseUrlLabel":"Базовый URL службы dsh-tts","settings.unavailable":"Настройки сейчас недоступны.","sidebar.jobsTitle":"Активные задачи","sidebar.label":"Задачи по расписанию","sidebar.moreJobs":"и ещё {count}","sidebar.noActiveJobs":"Нет активных задач","stats.activeTasks":"Активных задач","stats.totalCost":"Расчётная стоимость","stats.totalRuns":"Всего запусков","stats.totalTokens":"Потрачено токенов","tabs.active":"Активные","tabs.all":"Все","tabs.completed":"Завершённые","tabs.paused":"На паузе","transfer.badFile":"Выбранный файл не является корректным JSON-экспортом: {error}","transfer.confirm":"Импортировать","transfer.exportFailed":"Сбой экспорта: {error}","transfer.exportTitle":"Экспорт задач","transfer.exported":"Экспортировано задач: {count}.","transfer.importFailed":"Сбой импорта: {error}","transfer.importHint":"Экспортируются только настройки задач: без истории запусков и счетчиков. Секреты не включаются — каналы ссылаются на учетные данные по имени, поэтому убедитесь, что эти имена существуют на целевом сервере.","transfer.importTitle":"Импорт задач","transfer.importTitleModal":"Импорт задач","transfer.imported":"Импортировано задач: {count}.","transfer.strategyAdd":"Добавить как новые задачи (новые ID, существующие не изменятся)","transfer.strategyReplace":"Заменить задачи с совпадающим ID","transfer.strategySkip":"Пропустить задачи, чей ID уже существует","transfer.summary":"В файле содержится задач: {total} (новых: {add}, совпадает по ID: {replace}, пропущено: {skip}).","tune.startFailed":"Не удалось начать диалог настройки: {error}"}}
1
+ {"dsh-cron":{"actions.archive":"Архив","actions.archiveTitle":"Архив выполнений и журнал","actions.create":"Создать","actions.createWithDsh":"💬 Создать через DSH","actions.delete":"Удалить задачу","actions.dryRun":"Имитация","actions.dryRunTitle":"Имитация запуска (проверка выполнения без побочных эффектов и уведомлений)","actions.duplicate":"Дублировать задачу","actions.edit":"Изменить / Детали","actions.pause":"Пауза","actions.resume":"Возобновить","actions.runNow":"Запустить сейчас","actions.runNowShort":"Запуск","actions.settings":"Уведомления и каналы","actions.setupManually":"✏️ Настроить вручную","actions.tuneWithDsh":"Настроить через DSH","archive.close":"Закрыть","archive.empty":"Для этой задачи пока нет архивных записей.","archive.loadMore":"Загрузить ещё ({shown} из {total})","archive.title":"📜 Архив выполнения","archive.totalRuns":"Всего записей: {total}","banner.loadError":"Не удалось загрузить задачи: {error}","banner.retry":"Повторить","chip.title":"Задачи по расписанию (Cron)","confirm.delete":"Удалить эту задачу?","details.channel":"Канал доставки","details.created":"Создана","details.duration":"Длительность","details.error":"Ошибка","details.historyTitle":"История недавних запусков","details.model":"Модель","details.noHistory":"Запусков пока не было.","details.output":"Вывод","details.prompt":"Промпт / Команда","details.schedule":"Расписание","details.statusFailed":"Сбой","details.statusSuccess":"Успешно","details.title":"Детали задачи","details.updated":"Обновлена","dryRun.close":"Закрыть","dryRun.duration":"Длительность","dryRun.output":"Результат вывода","dryRun.preflight":"Предварительная проверка","dryRun.status":"Статус имитации","dryRun.task":"Задача","dryRun.title":"🧪 Результат имитации запуска","dsh.descLabel":"Опишите задачу и желаемую периодичность:","dsh.launchError":"Сбой запуска: {error}","dsh.modalTitle":"Планирование задачи с агентом DSH","dsh.placeholder":"Например: проверяй свободное место на диске и упавшие службы systemd каждые 2 часа и присылай алерт, только если что-то сломалось…","dsh.sendHint":"Ctrl+Enter для отправки","dsh.sendTitle":"Отправить агенту","dsh.startFailed":"Не удалось начать диалог с агентом: {error}","duplicate.done":"Копия создана и поставлена на паузу: проверьте расписание перед запуском.","duplicate.failed":"Не удалось дублировать задачу: {error}","duplicate.oneShotHint":"Копия является разовой и на паузе — исходное время уже могло пройти, задайте новое время перед возобновлением.","filters.any":"Любой","filters.channel":"Канал","filters.empty":"Нет задач, соответствующих выбранным фильтрам.","filters.model":"Модель","filters.reset":"Сбросить фильтры","filters.showing":"Показано {shown} из {total}","filters.title":"Фильтры","filters.type":"Тип","form.agentPresetHint":"Пресет агента из dsh-agent-presets (например: standard, minimal, cordis, ptc). Монтирует рабочее пространство и инструменты написания кода.","form.agentPresetLabel":"Пресет агента","form.agentPresetPlaceholder":"standard (оставьте пустым для значения по умолчанию)","form.autoDiagnoseLabel":"Автоматическая AI-диагностика сбоев","form.channelBark":"Bark","form.channelDiscord":"Discord","form.channelGitea":"Задача в Gitea","form.channelKanban":"Карточка dsh-kanban","form.channelNtfy":"ntfy","form.channelPushplus":"PushPlus","form.channelSlack":"Slack","form.channelTelegram":"Telegram","form.channelTts":"Голос (dsh-tts)","form.channelsHint":"Выберите каналы для этой задачи. Явный выбор переопределяет переключатель Telegram выше; оставьте всё неотмеченным для отката к нему.","form.channelsTitle":"Каналы доставки","form.concurrencyGroupLabel":"Группа параллелизма (Concurrency Group)","form.cronExprHint":"Синтаксис: минута (0-59) час (0-23) день месяца (1-31) месяц (1-12) день недели (0-6)","form.cronExprLabel":"Cron-выражение","form.cronExprPlaceholder":"0 9 * * 1-5 (по будням в 09:00)","form.cwdLabel":"Рабочий каталог (необязательно)","form.dockerImageLabel":"Образ контейнера","form.envHint":"Применяется только для сред без LLM. Не храните здесь секреты.","form.envLabel":"Переменные окружения (КЛЮЧ=ЗНАЧЕНИЕ в строке)","form.envPlaceholder":"NODE_ENV=production\nTZ=Europe/Moscow","form.fallbackModelHint":"Если запуск на основной модели выше завершится ошибкой, задача будет повторена один раз на резервной модели. Обе попытки учитываются в стоимости.","form.fallbackModelLabel":"Резервная модель (Fallback)","form.fallbackModelPlaceholder":"например deepseek-reasoner","form.gracePeriodLabel":"Льготный период heartbeat (секунды)","form.heartbeatIntervalLabel":"Интервал heartbeat (секунды, 0 = выкл)","form.httpBodyLabel":"Тело запроса (необязательно)","form.httpHeadersLabel":"Заголовки (JSON, необязательно)","form.httpMethodLabel":"HTTP-метод","form.httpUrlLabel":"URL","form.inspectOnFailureHint":"После сбоя модель анализирует промпт, ошибку и вывод, сохраняя диагноз и предлагаемые правки промпта вместе с запуском. Изменения не применяются автоматически.","form.inspectOnFailureLabel":"Диагностировать сбои с помощью модели","form.intervalUnitDays":"дней","form.intervalUnitHours":"часов","form.intervalUnitMinutes":"минут","form.intervalValueLabel":"Интервал выполнения","form.kanbanAlways":"Создавать карточку при каждом завершении (Done / Backlog)","form.kanbanLabel":"Создание карточек в Kanban (dsh-kanban)","form.kanbanNone":"Не создавать карточки (отключено)","form.kanbanOnFailure":"Создавать карточку при сбое (в Backlog)","form.keepWorktreeLabel":"Сохранять worktree после завершения запуска","form.misfireCatchUp":"Выполнить разово и зафиксировать пропуск (catchUpAll)","form.misfireLabel":"При пропущенном запуске (после простоя)","form.misfireRunOnce":"Выполнить один раз с опозданием (runOnce)","form.misfireSkip":"Пропустить невыполненный запуск (skip)","form.modelDefault":"Модель по умолчанию из профиля DSH","form.modelLabel":"Модель агента (для типа LLM)","form.nameLabel":"Название задачи","form.namePlaceholder":"Например: Ежедневный отчёт по коммитам","form.nextRunLabel":"Следующий запуск: ","form.notScheduled":"не запланировано","form.notifyOnlyFailure":"Только при сбоях (onlyOnFailure / молчать при успехе)","form.notifyTelegram":"Отправлять отчёт о выполнении в Telegram","form.notifyTitle":"Уведомления в Telegram","form.oneShotDateLabel":"Дата и время разового запуска","form.overlapLabel":"Политика наложения запусков","form.overlapQueue":"Поставить следующий запуск в очередь (queue)","form.overlapReplace":"Отменить текущий запуск и перезапустить (replace)","form.overlapSkip":"Пропустить новый запуск (skip)","form.permissionDefault":"По умолчанию (как настроено в DSH)","form.permissionFull":"Полный доступ","form.permissionLabel":"Разрешения сессии","form.permissionReadonly":"Только чтение","form.permissionWrite":"Запись в рабочее пространство","form.preflightDisk":"Свободное место на диске (путь:мин%)","form.preflightHttp":"HTTP (проверка кода 2xx)","form.preflightLabel":"Предварительная проверка (Pre-flight)","form.preflightNone":"Отключена","form.preflightShell":"Shell-команда (код возврата 0)","form.preflightTargetLabel":"Цель предварительной проверки","form.preflightTargetPlaceholder":"https://example.com/healthz или ls /data или /:10%","form.previewSchedule":"Рассчитать следующие запуски","form.previewScheduleTitle":"Следующие 5 запусков по расписанию:","form.priorityLabel":"Приоритет в очереди (1-10, выше = раньше)","form.promptLabelLlm":"Инструкция / Промпт для агента","form.promptLabelScript":"Shell-команда или скрипт","form.promptPlaceholderLlm":"Опишите подробно, что именно должен сделать агент…","form.promptPlaceholderScript":"curl -fsSL https://... || exit 1","form.providerDefault":"По умолчанию (DSH)","form.providerLabel":"Провайдер LLM","form.reliabilityTitle":"🛡️ Надёжность, Heartbeat и самоисцеление","form.retriesLabel":"Автоматических повторов при сбое (0 = выкл)","form.scheduleLabel":"Расписание (cron или интервал)","form.schedulePlaceholder":"0 */6 * * * или every 2h или in 30m или at: 2026-09-05T15:00:00Z","form.scheduleTypeCron":"Стандартный Cron (выражение из 5 полей)","form.scheduleTypeInterval":"Повторяющийся интервал (каждые N минут/часов)","form.scheduleTypeLabel":"Режим расписания","form.scheduleTypeOneShot":"Разовый отложенный запуск (в заданное время)","form.selfHealingLabel":"Команда самоисцеления (Shell)","form.selfHealingPlaceholder":"systemctl restart app || true","form.silentRuleHint":"Для задач с выводом: легковесная модель оценивает результат по этому правилу и пропускает отчёт, если предписано молчать. При сбое модели отчёт доставляется.","form.silentRuleLabel":"Правило подавления уведомлений (Silent rule, необязательно)","form.silentRulePlaceholder":"Молчать, если ни одна файловая система не заполнена более чем на 80%","form.skillNameLabel":"Имя навыка","form.sshKeyLabel":"Путь к закрытому ключу (резервный, необязательно)","form.sshProfileHint":"Рекомендуется: хост и реквизиты доступа берутся из плагина remote-workspace.","form.sshProfileLabel":"Профиль dsh-remote-workspace","form.sshTargetLabel":"Резервный адрес хоста (user@host, необязательно)","form.targetSessionIdHint":"Если указан, запланированные запуски возобновляют эту сессию для непрерывности контекста диалога вместо создания новой изолированной сессии.","form.targetSessionIdLabel":"ID постоянной сессии (Target Session ID)","form.targetSessionIdPlaceholder":"например: audit-chat или dev-summary (пусто = изолированный запуск)","form.targetSessionResetDaily":"Ежедневная ротация (новая сессия каждый день)","form.targetSessionResetHint":"Автоматически меняет идентификатор сессии, предотвращая разрастание контекстного окна при долгосрочной работе.","form.targetSessionResetLabel":"Ротация контекста сессии","form.targetSessionResetNever":"Непрерывно (без ротации)","form.targetSessionResetWeekly":"Еженедельная ротация (новая сессия каждую неделю)","form.templateHint":"Переменные: {title} {id} {status} {output} {error} {duration} {schedule} {time} {tokens} {cost} {model}. Пусто = встроенный текст.","form.templateLabel":"Шаблон сообщения (необязательно)","form.templatePlaceholder":"⏰ {title} — {status} за {duration}","form.timeoutLabel":"Таймаут выполнения (секунды)","form.timezoneLabel":"Часовой пояс (IANA, необязательно)","form.timezonePlaceholder":"например Europe/Moscow (пусто = локальное время сервера)","form.titleCreate":"Создание задачи по расписанию","form.titleEdit":"Редактирование задачи по расписанию","form.typeDocker":"Контейнер Docker","form.typeHttp":"HTTP-запрос (Webhook)","form.typeLabel":"Тип исполнителя","form.typeLlm":"Инструкция для AI-агента (LLM)","form.typeNode":"Node.js","form.typePython":"Python","form.typeScript":"Shell-команда / скрипт","form.typeShell":"Shell-скрипт / Команда ОС","form.typeSkill":"Навык DSH (Skill)","form.typeSsh":"Удалённый SSH","form.typeWorkflow":"Рабочий процесс (Workflow)","form.workflowNameLabel":"Имя рабочего процесса","form.workspaceLabel":"ID или путь рабочего пространства (необязательно)","form.worktreeLabel":"Запускать в изолированном git worktree","history.applySuggestion":"Открыть форму редактирования с этой рекомендацией","history.diagnosis":"Диагностика","history.empty":"Запусков пока не зафиксировано","history.loading":"Загрузка истории…","history.openSession":"Открыть сессию","history.refresh":"Обновить историю","history.silentSkip":"подавлено по правилу:","history.statusFailed":"Ошибка","history.statusMissed":"Пропущено (простой)","history.statusSkipped":"Пропущено","history.statusSuccess":"Успешно","history.statusTimeout":"Таймаут","list.cancelBtn":"Отмена","list.configManaged":"Конфиг","list.configManagedHint":"Задача создана автоматически из файла конфигурации DSH","list.cost":"Стоимость: {cost}","list.deleteBtn":"Удалить","list.deleteConfirm":"Удалить задачу «{name}»? Это действие нельзя отменить.","list.empty":"Задач по расписанию пока нет","list.failed":"Сбой","list.lastRun":"Последний запуск: {time}","list.loadErrorPrefix":"Не удалось загрузить задачи","list.loading":"Загрузка задач по расписанию…","list.next":" · след: {time}","list.nextRun":"Следующий запуск: {time}","list.oneShot":"Разовая","list.paused":"Пауза","list.running":"Выполняется","list.runningNow":"Выполняется прямо сейчас","list.runsCount":"Запусков: {count}","list.tokens":"Токены: {tokens}","list.typeLlm":"LLM","list.typeShell":"Shell","modal.cancel":"Отмена","modal.close":"Закрыть","modal.create":"Создать задачу","modal.editTitle":"Редактирование задачи","modal.history":"История запусков ({count})","modal.newTitle":"Новая задача по расписанию","modal.params":"Параметры","modal.save":"Сохранить изменения","modal.statusActive":"● Активна","modal.statusPaused":"○ На паузе","panel.back":"Назад к чату","panel.subtitle":"Попросите DSH спланировать задачи, установить напоминания или отслеживать обновления","panel.title":"Задачи по расписанию","recs.hint":"Готовые шаблоны задач. Нажатие открывает форму с заполненными полями — ничего не создаётся до сохранения.","recs.title":"Рекомендуемые задачи","search.placeholder":"Поиск задач по расписанию","settings.apiTokenLabel":"Внешний API-токен","settings.apiTokenPlaceholder":"Bearer-токен для /dsh-cron/api/* (пусто = отключено)","settings.automationHint":"Модели для вспомогательных вызовов (оценка правил, экспресс-анализ сбоев). Оставьте пустым для использования модели задачи.","settings.automationSection":"Модели автоматизации","settings.barkKeyLabel":"Ключ устройства Bark","settings.barkServerLabel":"URL сервера Bark","settings.botTokenRefLabel":"Имя секрета для Telegram Bot Token","settings.botTokenRefPlaceholder":"например TELEGRAM_BOT_TOKEN","settings.cardDesc":"Запуск задач по расписанию (cron/интервалы), фоновые сценарии агента и доставка отчётов в Telegram, Discord, Slack, ntfy, Bark, PushPlus, голос и Gitea.","settings.cardTitle":"⏰ Планировщик задач (Cron)","settings.channelTemplateLabel":"Шаблон для канала {channel}","settings.chatIdLabel":"ID чата в Telegram","settings.chatIdPlaceholder":"Например: 345678901","settings.checkingKanban":"Проверка Kanban…","settings.defaultHint":"✓ Настроенный бот обнаружен в профиле DSH","settings.deliverySection":"Каналы доставки","settings.deliveryTimeoutMsLabel":"Таймаут доставки по каналу (мс)","settings.discordLabel":"URL вебхука Discord","settings.giteaBaseUrlLabel":"Базовый URL Gitea","settings.giteaRepoLabel":"Репозиторий Gitea (владелец/репозиторий)","settings.giteaTokenRefLabel":"Имя секрета для токена Gitea","settings.globalNotify":"Глобально доставлять отчёты обо всех задачах в Telegram","settings.globalOnlyFailure":"Глобальный режим: только при ошибках (молчать при успехе)","settings.inspectorModelLabel":"Модель для диагностики сбоев","settings.kanbanFail":"❌ {error}","settings.kanbanOk":"✅ Карточка Kanban создана","settings.kanbanUrlLabel":"Базовый URL Kanban","settings.loading":"Загрузка настроек…","settings.modalTitle":"Уведомления и каналы доставки","settings.ntfyTokenRefLabel":"Имя секрета для токена ntfy","settings.ntfyTopicLabel":"Тема (topic) в ntfy","settings.ntfyUrlLabel":"URL сервера ntfy","settings.openPanel":"Открыть панель задач","settings.pushplusTokenRefLabel":"Имя секрета для токена PushPlus","settings.pushplusUrlLabel":"Конечная точка PushPlus","settings.retry":"Повторить","settings.save":"Сохранить настройки","settings.saveError":"Ошибка сохранения: {error}","settings.saveErrorUnknown":"неизвестная ошибка","settings.saved":"✓ Сохранено","settings.secretsHint":"Введите ИМЯ учётных данных DSH, а не сам секрет. Секреты остаются в защищённом хранилище credentials.","settings.secretsOnCard":"Учётные данные, на которые ссылается панель настроек, отображаются скрытыми и сохраняются по имени ссылки.","settings.secretsSection":"Учётные данные (ссылки по имени)","settings.sending":"Отправка…","settings.silentRuleModelLabel":"Модель для фоновых правил","settings.slackLabel":"URL вебхука Slack","settings.telegramSection":"Telegram","settings.templateHint":"Применяется ко всем каналам без индивидуального шаблона. Пусто = стандартный встроенный текст.","settings.templateLabel":"Шаблон сообщения по умолчанию","settings.templatesSection":"Шаблоны сообщений","settings.testFail":"❌ {error}","settings.testKanban":"📋 Проверить Kanban","settings.testOk":"✅ Тестовое сообщение доставлено в Telegram!","settings.testTelegram":"🔔 Проверить доставку в Telegram","settings.tokenLabel":"Токен бота Telegram","settings.tokenPlaceholder":"123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ","settings.tokenPlaceholderDefault":"Используется бот, настроенный в профиле DSH (или введите свой)","settings.ttsBaseUrlLabel":"Базовый URL службы dsh-tts","settings.unavailable":"Настройки сейчас недоступны.","sidebar.jobsTitle":"Активные задачи","sidebar.label":"Задачи по расписанию","sidebar.moreJobs":"и ещё {count}","sidebar.noActiveJobs":"Нет активных задач","stats.activeTasks":"Активных задач","stats.totalCost":"Расчётная стоимость","stats.totalRuns":"Всего запусков","stats.totalTokens":"Потрачено токенов","tabs.active":"Активные","tabs.all":"Все","tabs.completed":"Завершённые","tabs.paused":"На паузе","transfer.badFile":"Выбранный файл не является корректным JSON-экспортом: {error}","transfer.confirm":"Импортировать","transfer.exportFailed":"Сбой экспорта: {error}","transfer.exportTitle":"Экспорт задач","transfer.exported":"Экспортировано задач: {count}.","transfer.importFailed":"Сбой импорта: {error}","transfer.importHint":"Экспортируются только настройки задач: без истории запусков и счетчиков. Секреты не включаются — каналы ссылаются на учетные данные по имени, поэтому убедитесь, что эти имена существуют на целевом сервере.","transfer.importTitle":"Импорт задач","transfer.importTitleModal":"Импорт задач","transfer.imported":"Импортировано задач: {count}.","transfer.strategyAdd":"Добавить как новые задачи (новые ID, существующие не изменятся)","transfer.strategyReplace":"Заменить задачи с совпадающим ID","transfer.strategySkip":"Пропустить задачи, чей ID уже существует","transfer.summary":"В файле содержится задач: {total} (новых: {add}, совпадает по ID: {replace}, пропущено: {skip}).","tune.startFailed":"Не удалось начать диалог настройки: {error}","updater.available":"Доступно обновление: v{version}","updater.btnCheck":"Проверить обновления","updater.btnUpdate":"Обновить до v{version}","updater.checking":"Проверка…","updater.current":"Текущая версия: v{version}","updater.desc":"Проверка реестра npm и установка обновлений плагина на месте без SSH-доступа.","updater.success":"Успешно обновлено до v{version}. Перезапустите DSH или перезагрузите профиль для применения изменений.","updater.title":"Автообновление плагина","updater.upToDate":"Актуальная версия","updater.updating":"Обновление…"}}
@@ -1 +1 @@
1
- {"@goodandready/dsh-live-canvas":{"aiPromptBtn":"✨ AI Доработка","aiPromptDesc":"Опишите, что нужно изменить в компоненте, или выберите готовый пресет:","aiPromptModalTitle":"Доработка элемента с помощью ИИ","aiPromptPlaceholder":"Например: Сделай эту карточку в стиле glassmorphism, добавь светящуюся рамку и настрой отступы для мобильных…","aiSentSuccess":"Задача отправлена! Холст обновится автоматически по завершении.","aiSubmitBtn":"Отправить задачу агенту","annotateBtn":"Аннотации","annotationResolvedToast":"Аннотация помечена как решённая","artifactsBtn":"📋 Артефакты","artifactsModalTitle":"📋 Генератор интерактивных HTML-артефактов","autoOpen":"Автооткрытие холста","autoOpenDesc":"Автоматически открывать холст предпросмотра при создании агентом HTML или React компонентов","blockInsertedToast":"Блок успешно вставлен","blocksBtn":"✨ Блоки","blocksModalTitle":"✨ Каталог современных дизайн-блоков","blueprintBtn":"📐 Скетч / Wireframe","browseFilesBtn":"Обзор","cancelBtn":"Отмена","choosePlaceholder":"⚡ Выберите файл или сессию…","codeBtn":"💻 Код","codeDrawerLive":"● Живая синхронизация","codeDrawerSync":"Правки синхронизируются в реальном времени","codeDrawerTitle":"Исходный код","codeSyncedToast":"Код синхронизирован","compareBtn":"Сравнить","consoleBtn":"Консоль","consoleClearBtn":"Очистить","consoleDrawerTitle":"Мини-консоль и журнал выполнения","consoleFilterAll":"Все","consoleFilterErrors":"Ошибки","consoleFilterLogs":"Логи","consoleFilterWarnings":"Предупреждения","controlsBtn":"Параметры","copyShareLink":"Скопировать ссылку","crudArtifact":"🗄️ Дашборд Retool / CRUD","customPathPlaceholder":"Или введите путь…","defaultViewport":"Область просмотра по умолчанию","defaultViewportDesc":"Начальный размер экрана фрейма для живого предпросмотра","deployBtn":"🌍 Деплой","deployModalTitle":"🌍 Мгновенная публикация в Web","description":"Интерактивный холст в браузере для предпросмотра HTML (с Tailwind CSS и иконками Lucide), React-компонентов, SVG и диаграмм в реальном времени: обнаружение файлов воркспейса, переключение сессий, контролы параметров props, визуальный diff, матрица устройств, AI-мок-данные, экспорт проекта Vite в 1 клик и интеграция с Better Sidebar.","desktop":"Десктоп (1280px)","diagramArtifact":"📊 Интерактивная диаграмма архитектуры","drawingBtn":"Рисование…","enableHotReload":"Включить горячую перезагрузку (SSE Hot-Reload)","enableHotReloadDesc":"Мгновенное обновление предпросмотра при изменении компонентов","errCount":"ошибок","exportBtn":"Экспорт","insertBlockBtn":"Вставить блок","inspectBtn":"Инспектор","inspectingBtn":"Инспекция…","loading":"Загрузка…","matrix":"Матрица устройств","matrixBtn":"Матрица","maxSessions":"Макс. кэшированных сессий","maxSessionsDesc":"Количество активных сессий предпросмотра, удерживаемых в памяти","mobile":"Смартфон (375px)","mockBadge":"Mock API","mockBtn":"⚡ Мок-данные","mockPopulatedToast":"Набор мок-данных загружен в песочницу","noConsoleLogs":"Вывод консоли пока не зафиксирован.","noControls":"Для этого компонента не объявлены интерактивные параметры props.","noFilesFound":"Фронтенд-файлы (.html, .jsx, .tsx, .svg, .md) не найдены.","noLogs":"Журнал телеметрии пока пуст.","notesCount":"заметок","openActionBtn":"Открыть","openFileBtn":"Файлы","openTabBtn":"В новой вкладке","packBtn":"Собрать Vite-проект","planArtifact":"📋 Интерактивная дорожная карта","presetBadge":"🔥 Бейдж скидки и анимированная кнопка действия","presetGlass":"💎 Глассморфизм и неоновое свечение","presetMobile":"📱 Оптимизация адаптивности под смартфоны","presetModern":"⚡ Минималистичная типографика и аккуратные отступы","prototypeArtifact":"🧪 Многошаговый прототип","refreshBtn":"Обновить","reorderBtn":"↕️ Перестановка","reorderOffToast":"Режим Drag & Drop отключён","reorderOnToast":"Режим Drag & Drop включён: перетаскивайте секции для изменения порядка","resolveAnnotationBtn":"✓ Решено","responsive":"Адаптивный","save":"Сохранить изменения","saveError":"Не удалось сохранить настройки","saved":"Настройки успешно сохранены","searchPlaceholder":"🔍 Поиск файлов проекта (напр. preview.html)…","selectedLabel":"Выбрано","sessionsGroup":"⚡ Активные сессии","shareBtn":"📱 QR-предпросмотр","shareModalDesc":"Отсканируйте камерой смартфона в локальной Wi-Fi сети:","shareModalTitle":"📱 Мобильный предпросмотр по QR-коду","sidebarTab":"Live Canvas","snapshotBtn":"Снимок экрана","snapshotCapturedToast":"Снимок интерфейса сохранён и готов к анализу моделью.","soundBtn":"🔊 Звук","standaloneExportBtn":"Один HTML-файл","stateDefault":"Обычное","stateEmpty":"Пусто","stateError":"Ошибка","stateLoading":"Загрузка","stateOverflow":"Переполнение","storybookBtn":"🧩 UI Kit","syncScroll":"Синхронная прокрутка","tablet":"Планшет (768px)","themeAppliedToast":"Тема дизайн-системы применена","themeDark":"Тёмная","themeLight":"Светлая","themesLabel":"🎨 Тема оформления","timetravelBtn":"⏳ Таймлайн","title":"Интерактивный холст (Live Canvas)","tweakEdit":"Инлайн-правка","tweakPadding":"Отступы","tweakRadius":"Скругление","tweakText":"Текст","tweakerBarTitle":"Редактор стилей","unavailable":"Служба настроек недоступна","wireframeArtifact":"📐 Low-Fi скетч / вайрфрейм","workspaceFilesGroup":"📂 Файлы рабочего пространства"}}
1
+ {"@goodandready/dsh-live-canvas":{"aiPromptBtn":"✨ AI Доработка","aiPromptDesc":"Опишите, что нужно изменить в компоненте, или выберите готовый пресет:","aiPromptModalTitle":"Доработка элемента с помощью ИИ","aiPromptPlaceholder":"Например: Сделай эту карточку в стиле glassmorphism, добавь светящуюся рамку и настрой отступы для мобильных…","aiSentSuccess":"Задача отправлена! Холст обновится автоматически по завершении.","aiSubmitBtn":"Отправить задачу агенту","allowedRootsLabel":"Разрешённые корни","annotateBtn":"Аннотации","annotationResolvedToast":"Аннотация помечена как решённая","artifactsBtn":"📋 Артефакты","artifactsModalTitle":"📋 Генератор интерактивных HTML-артефактов","autoOpen":"Автооткрытие холста","autoOpenDesc":"Автоматически открывать холст предпросмотра при создании агентом HTML или React компонентов","blockInsertedToast":"Блок успешно вставлен","blocksBtn":"✨ Блоки","blocksModalTitle":"✨ Каталог современных дизайн-блоков","blueprintBtn":"📐 Скетч / Wireframe","browseFilesBtn":"Обзор","cancelBtn":"Отмена","canvasOpenedToast":"Сессия Canvas открыта","checkUpdate":"Проверить обновления","checkingUpdate":"Проверка обновлений…","choosePlaceholder":"⚡ Выберите файл или сессию…","codeBtn":"💻 Код","codeDrawerLive":"● Живая синхронизация","codeDrawerSync":"Правки синхронизируются в реальном времени","codeDrawerTitle":"Исходный код","codeSyncedToast":"Код синхронизирован","compareBtn":"Сравнить","consoleBtn":"Консоль","consoleClearBtn":"Очистить","consoleDrawerTitle":"Мини-консоль и журнал выполнения","consoleFilterAll":"Все","consoleFilterErrors":"Ошибки","consoleFilterLogs":"Логи","consoleFilterWarnings":"Предупреждения","controlsBtn":"Параметры","copyShareLink":"Скопировать ссылку","crudArtifact":"🗄️ Дашборд Retool / CRUD","customPathPlaceholder":"Или введите путь…","defaultViewport":"Область просмотра по умолчанию","defaultViewportDesc":"Начальный размер экрана фрейма для живого предпросмотра","demoTemplatesHeader":"Быстрый старт с демо-шаблонами","deployBtn":"🌍 Деплой","deployModalTitle":"🌍 Мгновенная публикация в Web","description":"Интерактивный холст в браузере для предпросмотра HTML (с Tailwind CSS и иконками Lucide), React-компонентов, SVG и диаграмм в реальном времени: обнаружение файлов воркспейса, переключение сессий, контролы параметров props, визуальный diff, матрица устройств, AI-мок-данные, экспорт проекта Vite в 1 клик и интеграция с Better Sidebar.","desktop":"Десктоп (1280px)","diagramArtifact":"📊 Интерактивная диаграмма архитектуры","dragToResize":"Потяните для изменения высоты","drawingBtn":"Рисование…","enableHotReload":"Включить горячую перезагрузку (SSE Hot-Reload)","enableHotReloadDesc":"Мгновенное обновление предпросмотра при изменении компонентов","errCount":"ошибок","exportBtn":"Экспорт","fileOpenErrorFile":"Файл","fileOpenErrorGuidance":"Для предпросмотра файлов вне стандартной рабочей области настройте разрешённые пути в параметре \"workspaceRoots\" настроек плагина.","fileOpenErrorReason":"Причина","fileOpenErrorTitle":"Доступ к файлу ограничен","insertBlockBtn":"Вставить блок","inspectBtn":"Инспектор","inspectingBtn":"Инспекция…","loading":"Загрузка…","matrix":"Матрица устройств","matrixBtn":"Матрица","maxSessions":"Макс. кэшированных сессий","maxSessionsDesc":"Количество активных сессий предпросмотра, удерживаемых в памяти","mobile":"Смартфон (375px)","mockBadge":"Mock API","mockBtn":"⚡ Мок-данные","mockPopulatedToast":"Набор мок-данных загружен в песочницу","noConsoleLogs":"Вывод консоли пока не зафиксирован.","noControls":"Для этого компонента не объявлены интерактивные параметры props.","noFilesFound":"Фронтенд-файлы (.html, .jsx, .tsx, .svg, .md) не найдены.","noLogs":"Журнал телеметрии пока пуст.","noRecentProjects":"Недавние проекты не найдены","notesCount":"заметок","openActionBtn":"Открыть","openFileBtn":"Файлы","openInLiveCanvas":"Открыть в Live Canvas","openTabBtn":"В новой вкладке","openingLiveCanvas":"Открытие…","packBtn":"Собрать Vite-проект","pageRefreshedToast":"Страница перезагружена","planArtifact":"📋 Интерактивная дорожная карта","presetBadge":"🔥 Бейдж скидки и анимированная кнопка действия","presetGlass":"💎 Глассморфизм и неоновое свечение","presetMobile":"📱 Оптимизация адаптивности под смартфоны","presetModern":"⚡ Минималистичная типографика и аккуратные отступы","projectsHub":"Центр проектов","prototypeArtifact":"🧪 Многошаговый прототип","recentProjects":"Недавние проекты","refreshBtn":"Обновить","reorderBtn":"↕️ Перестановка","reorderOffToast":"Режим Drag & Drop отключён","reorderOnToast":"Режим Drag & Drop включён: перетаскивайте секции для изменения порядка","resizeLarge":"Расширенный 540px","resizeMedium":"Средний 360px","resizeNormal":"Стандартная ширина","resizeSmall":"Компактный 220px","resizeWide":"На всю ширину","resolveAnnotationBtn":"✓ Решено","responsive":"Адаптивный","save":"Сохранить изменения","saveError":"Не удалось сохранить настройки","saved":"Настройки успешно сохранены","searchPlaceholder":"🔍 Поиск файлов проекта (напр. preview.html)…","searchProjectsPlaceholder":"Поиск проектов или файлов…","selectedLabel":"Выбрано","sessionsGroup":"⚡ Активные сессии","shareBtn":"📱 QR-предпросмотр","shareModalDesc":"Отсканируйте камерой смартфона в локальной Wi-Fi сети:","shareModalTitle":"📱 Мобильный предпросмотр по QR-коду","sidebarTab":"Live Canvas","snapshotBtn":"Снимок экрана","snapshotCapturedToast":"Снимок интерфейса сохранён и готов к анализу моделью.","soundBtn":"🔊 Звук","standaloneExportBtn":"Один HTML-файл","stateDefault":"Обычное","stateEmpty":"Пусто","stateError":"Ошибка","stateLoading":"Загрузка","stateOverflow":"Переполнение","storybookBtn":"🧩 UI Kit","syncScroll":"Синхронная прокрутка","tablet":"Планшет (768px)","themeAppliedToast":"Тема дизайн-системы применена","themeDark":"Тёмная","themeLight":"Светлая","themesLabel":"🎨 Тема оформления","timetravelBtn":"⏳ Таймлайн","title":"Интерактивный холст (Live Canvas)","tweakEdit":"Инлайн-правка","tweakPadding":"Отступы","tweakRadius":"Скругление","tweakText":"Текст","tweakerBarTitle":"Редактор стилей","unavailable":"Служба настроек недоступна","upToDate":"Установлена актуальная версия","updateAvailable":"Доступно обновление","updateFailed":"Сбой обновления. См. логи сервера.","updatePlugin":"Обновить до","updateSuccess":"Успешно обновлено! Перезапустите DSH для применения изменений.","updating":"Обновление плагина…","wireframeArtifact":"📐 Low-Fi скетч / вайрфрейм","workspaceFilesGroup":"📂 Файлы рабочего пространства","workspaceRoots":"Корневые директории рабочей области","workspaceRootsDesc":"Разрешённые корневые пути для открытия и предпросмотра файлов (по одному на строку или через запятую)"},"dsh-live-canvas":{"allowedRootsLabel":"Разрешённые корни","canvasOpenedToast":"Сессия Canvas открыта","checkUpdate":"Проверить обновления","checkingUpdate":"Проверка обновлений…","demoTemplatesHeader":"Быстрый старт с демо-шаблонами","dragToResize":"Потяните для изменения высоты","fileOpenErrorFile":"Файл","fileOpenErrorGuidance":"Для предпросмотра файлов вне стандартной рабочей области настройте разрешённые пути в параметре \"workspaceRoots\" настроек плагина.","fileOpenErrorReason":"Причина","fileOpenErrorTitle":"Доступ к файлу ограничен","noRecentProjects":"Недавние проекты не найдены","openInLiveCanvas":"Открыть в Live Canvas","openingLiveCanvas":"Открытие…","pageRefreshedToast":"Страница перезагружена","projectsHub":"Центр проектов","recentProjects":"Недавние проекты","resizeLarge":"Расширенный 540px","resizeMedium":"Средний 360px","resizeNormal":"Стандартная ширина","resizeSmall":"Компактный 220px","resizeWide":"На всю ширину","searchProjectsPlaceholder":"Поиск проектов или файлов…","upToDate":"Установлена актуальная версия","updateAvailable":"Доступно обновление","updateFailed":"Сбой обновления. См. логи сервера.","updatePlugin":"Обновить до","updateSuccess":"Успешно обновлено! Перезапустите DSH для применения изменений.","updating":"Обновление плагина…","workspaceRoots":"Корневые директории рабочей области","workspaceRootsDesc":"Разрешённые корневые пути для открытия и предпросмотра файлов (по одному на строку или через запятую)"}}
@@ -1 +1 @@
1
- {"dsh-grok-xsearch":{"advanced_settings":"Расширенные настройки","api_key":"Ключ API xAI","api_key_hint":"Ключ API xAI. Если поле пустое, используется переменная окружения XAI_API_KEY.","api_key_placeholder":"xai-...","author":"Автор","auto_fallback":"Автопереключение на Grok 4.5 при лимитах (429)","base_url":"Базовый URL API","base_url_hint":"Конечная точка xAI API (по умолчанию: https://api.x.ai/v1).","browser_no_return":"Браузер не вернулся автоматически? Вставьте URL перенаправления","cache_cleared":"Кэш очищен","cache_hit_rate":"Эффективность кэша","cache_hits":"Попаданий","cache_misses":"Промахов","cache_stats":"Запросов в кэше","cache_ttl_hint":"Длительность хранения результатов в кэше запросов (по умолчанию: 300 с).","cache_ttl_seconds":"Время жизни кэша (сек)","cancel":"Отмена","clear_cache":"Очистить кэш","client_id_hint":"OAuth Client ID из портала разработчиков SuperGrok / xAI.","connect":"Подключить","connected":"Подключено","disconnect":"Отключить","enable_cache":"Кэширование повторных запросов в памяти (5 мин)","enable_deep_search":"Режим углублённого поиска (Deep Search)","enable_deep_search_hint":"Выполняет многошаговые поисковые проходы для всестороннего анализа темы.","enable_news":"Включить агрегацию новостей X","enable_news_hint":"Позволяет модели обобщать актуальные тренды новостей и медиа-повестки.","enabled_plugin":"Включить плагин Grok X Search","grok_client_id":"ID клиента Grok (OAuth Client ID)","likes":"Лайков","loading":"Загрузка…","max_results":"Макс. результатов поиска","max_results_hint":"Максимальное количество твитов или постов, возвращаемых за один поисковый запрос (1–50).","model":"Модель","model_hint":"Модель xAI для обобщения и синтеза поисковой выдачи.","no_results":"По вашему запросу ничего не найдено в X.","not_connected":"Не подключено","not_connected_msg":"Подключите учётную запись SuperGrok для активации инструментов аналитики X.","paste_hint":"Вставьте полный URL из адресной строки браузера после авторизации.","plugin_subtitle":"Поиск в реальном времени и аналитика X (Twitter) на базе xAI Grok","plugin_title":"Grok X Search","posted_at":"Опубликовано {time}","ready_msg":"Инструменты x_search, x_author_profile, x_trending_topics, x_fact_check_notes, x_thread_reader и x_find_experts готовы к работе в чате.","reconnect":"Переподключить","redirect_uri":"URL перенаправления OAuth","redirect_uri_hint":"Локальный URL обратного вызова OAuth (по умолчанию: http://127.0.0.1:56121/callback).","reposts":"Репостов","results_count":"Найдено результатов: {count}","retries":"Макс. попыток","retries_hint":"Количество повторных попыток при сетевых сбоях (по умолчанию: 2).","save_error":"Ошибка при сохранении настроек","save_settings":"Сохранить настройки","saving":"Сохранение…","search_btn":"Найти","search_placeholder":"Поиск трендов, аккаунтов или тем в X...","search_tab":"Поиск в X","searching":"Поиск в X…","sec_auth_desc":"Токен подключения OAuth безопасно хранится в службе Credentials DSH и обновляется автоматически.","sec_auth_title":"🔑 Авторизация и доступ к SuperGrok","sec_cache_desc":"Кэш запросов LRU в оперативной памяти исключает дублирующие вызовы API и ускоряет повторные поиски.","sec_cache_title":"⚡ Производительность и кэш запросов","sec_model_desc":"Выбор модели xAI для синтеза поисковой выдачи и автоматический переход на резервную при лимитах.","sec_model_title":"🧠 Настройка модели и отказоустойчивости","sentiment_negative":"Негативная тональность","sentiment_neutral":"Нейтральная тональность","sentiment_positive":"Позитивная тональность","settings_saved":"Настройки успешно сохранены","status_active":"Активен","status_error":"Ошибка подключения","status_no_key":"API-ключ не задан","submit":"Отправить","subtitle":"Поиск в реальном времени, профили авторов, тренды и фактчекинг в X (Twitter) через SuperGrok OAuth.","supergrok_account":"Учётная запись SuperGrok","timeout_hint":"Максимальное время ожидания ответа перед отменой (по умолчанию: 180 с).","timeout_seconds":"Таймаут поиска (сек)","title":"Grok X Search & Intelligence Suite"}}
1
+ {"dsh-grok-xsearch":{"advanced_settings":"Расширенные настройки","api_key":"Ключ API xAI","api_key_hint":"Ключ API xAI. Если поле пустое, используется переменная окружения XAI_API_KEY.","api_key_placeholder":"xai-...","author":"Автор","auto_fallback":"Автопереключение на Grok 4.5 при лимитах (429)","base_url":"Базовый URL API","base_url_hint":"Конечная точка xAI API (по умолчанию: https://api.x.ai/v1).","browser_no_return":"Браузер не вернулся автоматически? Вставьте URL перенаправления","cache_cleared":"Кэш очищен","cache_hit_rate":"Эффективность кэша","cache_hits":"Попаданий","cache_misses":"Промахов","cache_stats":"Запросов в кэше","cache_ttl_hint":"Длительность хранения результатов в кэше запросов (по умолчанию: 300 с).","cache_ttl_seconds":"Время жизни кэша (сек)","cancel":"Отмена","clear_cache":"Очистить кэш","client_id_hint":"OAuth Client ID из портала разработчиков SuperGrok / xAI.","connect":"Подключить","connected":"Подключено","disconnect":"Отключить","enable_cache":"Кэширование повторных запросов в памяти (5 мин)","enable_deep_search":"Режим углублённого поиска (Deep Search)","enable_deep_search_hint":"Выполняет многошаговые поисковые проходы для всестороннего анализа темы.","enable_news":"Включить агрегацию новостей X","enable_news_hint":"Позволяет модели обобщать актуальные тренды новостей и медиа-повестки.","enabled_plugin":"Включить плагин Grok X Search","grok_client_id":"ID клиента Grok (OAuth Client ID)","likes":"Лайков","loading":"Загрузка…","max_results":"Макс. результатов поиска","max_results_hint":"Максимальное количество твитов или постов, возвращаемых за один поисковый запрос (1–50).","model":"Модель","model_hint":"Модель xAI для обобщения и синтеза поисковой выдачи.","no_results":"По вашему запросу ничего не найдено в X.","not_connected":"Не подключено","not_connected_msg":"Подключите учётную запись SuperGrok для активации инструментов аналитики X.","paste_hint":"Вставьте полный URL из адресной строки браузера после авторизации.","plugin_subtitle":"Поиск в реальном времени и аналитика X (Twitter) на базе xAI Grok","plugin_title":"Grok X Search","posted_at":"Опубликовано {time}","ready_msg":"Инструменты x_search, x_author_profile, x_trending_topics, x_fact_check_notes, x_thread_reader и x_find_experts готовы к работе в чате.","reconnect":"Переподключить","redirect_uri":"URL перенаправления OAuth","redirect_uri_hint":"Локальный URL обратного вызова OAuth (по умолчанию: http://127.0.0.1:56121/callback).","reposts":"Репостов","results_count":"Найдено результатов: {count}","retries":"Макс. попыток","retries_hint":"Количество повторных попыток при сетевых сбоях (по умолчанию: 2).","save_error":"Ошибка при сохранении настроек","save_settings":"Сохранить настройки","saving":"Сохранение…","search_btn":"Найти","search_placeholder":"Поиск трендов, аккаунтов или тем в X...","search_tab":"Поиск в X","searching":"Поиск в X…","sec_auth_desc":"Токен подключения OAuth безопасно хранится в службе Credentials DSH и обновляется автоматически.","sec_auth_title":"🔑 Авторизация и доступ к SuperGrok","sec_cache_desc":"Кэш запросов LRU в оперативной памяти исключает дублирующие вызовы API и ускоряет повторные поиски.","sec_cache_title":"⚡ Производительность и кэш запросов","sec_model_desc":"Выбор модели xAI для синтеза поисковой выдачи и автоматический переход на резервную при лимитах.","sec_model_title":"🧠 Настройка модели и отказоустойчивости","sentiment_negative":"Негативная тональность","sentiment_neutral":"Нейтральная тональность","sentiment_positive":"Позитивная тональность","settings_saved":"Настройки успешно сохранены","status_active":"Активен","status_error":"Ошибка подключения","status_no_key":"API-ключ не задан","submit":"Отправить","subtitle":"Поиск в реальном времени, профили авторов, тренды и фактчекинг в X (Twitter) через SuperGrok OAuth.","supergrok_account":"Учётная запись SuperGrok","timeout_hint":"Максимальное время ожидания ответа перед отменой (по умолчанию: 180 с).","timeout_seconds":"Таймаут поиска (сек)","title":"Grok X Search & Intelligence Suite","updater_check":"Проверить обновления","updater_checking":"Проверка…","updater_current":"Текущая версия","updater_failed":"Ошибка проверки обновлений: ","updater_latest":"Последняя версия","updater_success":"Плагин успешно обновлен! Пожалуйста, перезапустите сервис DSH.","updater_title":"Обновление плагина","updater_up_to_date":"Актуальная версия","updater_update_now":"Обновить сейчас","updater_updating":"Обновление…"}}
@@ -1 +1 @@
1
- {"dsh-goal":{"autoDriveLabel":"Автопилот: непрерывное автономное выполнение цикла","clearGoal":"Очистить цель","close":"Закрыть","closeBanner":"Закрыть баннер цели","copyGitDiff":"Нажмите, чтобы скопировать команду git diff","copyPRComment":"🐙 Скопировать для GitHub PR","copyReport":"📋 Скопировать отчёт в Markdown","details":"Развернуть детали цели","discard":"Сбросить изменения","done":"Выполнено","eta":"Оценка времени (ETA)","goalCompleted":"Цель достигнута","goalLabel":"Текущая цель","iterations":"Итерации","loading":"Загрузка настроек…","localeCode":"ru","maxIterLabel":"Макс. итераций (лимит безопасности):","milestones":"План работы:","modalTitle":"План и статус цели","modalTitleCompleted":"Цель выполнена: план и результаты","noMilestones":"Агент формирует план работы…","notifLabel":"Нативные уведомления на рабочем столе браузера при завершении","nudgePlaceholder":"💡 Уточнить задачу или скорректировать агента…","nudgeSent":"✅ Уточнение отправлено!","overridden":"переопределено","pause":"Пауза","paused":"Приостановлено","pluginDesc":"Баннер цели над полем ввода, декомпозиция задач и автопилот","pluginTitle":"Автономный режим целей (Goal Mode)","prCommentCopied":"✅ Отчёт для PR скопирован!","progress":"Прогресс","quickLaunch":"Начать цель","quickLaunchDesc":"Сформулируйте задачу для автономной работы агента:","quickLaunchLabel":"Кнопка быстрого запуска цели над полем ввода","quickLaunchPlaceholder":"Например: Реализовать экспорт отчёта и покрыть юнит-тестами…","quickLaunchTitle":"Быстрый запуск цели","reportCopied":"✅ Скопировано!","resetField":"По умолчанию","resume":"Возобновить","save":"Сохранить","saveFailed":"Не удалось сохранить — исправьте значения и повторите","saving":"Сохранение…","sendNudge":"Подрулить","soundLabel":"Звуковой сигнал при завершении цели","startGoal":"Запустить цель","time":"Время выполнения","tokens":"Токены","toolFailHint":"Приостанавливать цель, если N ходов подряд завершаются ошибками инструментов (0 — выкл)","toolFailLabel":"Лимит автопаузы при сбоях инструментов:","unavailable":"Настройки недоступны"}}
1
+ {"dsh-goal":{"artifactSaved":"✅ Артефакт сохранён (.dsh/goals/)","autoCheckpointLabel":"Создавать Git-чекпоинт при завершении этапа","autoDriveLabel":"Автопилот: непрерывное автономное выполнение цикла","budgetExceededBadge":"Лимит токенов исчерпан","budgetLabel":"Лимит токенов (0 — без ограничений):","budgetWarnLabel":"Порог предупреждения (%):","cardSubtitle":"Отслеживание целей с контрольными точками и подцелями","checkUpdate":"Проверить обновление","checking":"Проверка…","clearGoal":"Очистить цель","close":"Закрыть","closeBanner":"Закрыть баннер цели","compactDock":"Свернуть в компактную капсулу","copyGitDiff":"Нажмите, чтобы скопировать команду git diff","copyPRComment":"🐙 Скопировать для GitHub PR","copyReport":"📋 Скопировать отчёт в Markdown","details":"Развернуть детали цели","discard":"Сбросить изменения","done":"Выполнено","eta":"Оценка времени (ETA)","expandDock":"Развернуть панель цели","extendBudgetBtn":"+50k токенов и продолжить","goalCompleted":"Цель достигнута","goalLabel":"Текущая цель","iterations":"Итерации","loading":"Загрузка настроек…","localeCode":"ru","maxIterLabel":"Макс. итераций (лимит безопасности):","milestones":"План работы:","modalTitle":"План и статус цели","modalTitleCompleted":"Цель выполнена: план и результаты","noMilestones":"Агент формирует план работы…","notifLabel":"Нативные уведомления на рабочем столе браузера при завершении","nudgePlaceholder":"💡 Уточнить задачу или скорректировать агента…","nudgeSent":"✅ Уточнение отправлено!","overridden":"переопределено","pause":"Пауза","paused":"Приостановлено","pluginDesc":"Баннер цели над полем ввода, декомпозиция задач и автопилот","pluginTitle":"Автономный режим целей (Goal Mode)","prCommentCopied":"✅ Отчёт для PR скопирован!","progress":"Прогресс","quickLaunch":"Начать цель","quickLaunchDesc":"Сформулируйте задачу для автономной работы агента:","quickLaunchLabel":"Кнопка быстрого запуска цели над полем ввода","quickLaunchPlaceholder":"Например: Реализовать экспорт отчёта и покрыть юнит-тестами…","quickLaunchTitle":"Быстрый запуск цели","reportCopied":"✅ Скопировано!","resetField":"По умолчанию","resume":"Возобновить","rollbackBtn":"Откатить к чекпоинту","rollbackConfirm":"Откатить рабочую копию к этому чекпоинту?","rollbackSuccess":"Успешный откат к чекпоинту","save":"Сохранить","saveArtifact":"Сохранить артефакт выполнения","saveArtifactFailed":"Не удалось сохранить артефакт","saveFailed":"Не удалось сохранить — исправьте значения и повторите","saving":"Сохранение…","sendNudge":"Подрулить","soundLabel":"Звуковой сигнал при завершении цели","startGoal":"Запустить цель","templateCleanup":"🧹 Мёртвый код","templateDocs":"📚 Документация и контракт","templateFeature":"🚀 Новая функция","templateFix":"🐛 Исправление бага","templatePerf":"⚙️ Производительность","templateRefactor":"⚡ Рефакторинг (YAGNI)","templateReview":"🔍 Ревью кода","templateSecurity":"🛡️ Аудит безопасности","templateTests":"📝 Тесты и покрытие","templateUpgrade":"📦 Обновление зависимостей","time":"Время выполнения","tokens":"Токены","toolFailHint":"Приостанавливать цель, если N ходов подряд завершаются ошибками инструментов (0 — выкл)","toolFailLabel":"Лимит автопаузы при сбоях инструментов:","unavailable":"Настройки недоступны","upToDate":"Актуальная версия","updateAvailable":"доступно","updateBtn":"Обновить","updateDone":"Обновлено! Перезапустите DSH.","updateFailed":"Ошибка обновления","updating":"Обновление…","version":"Версия"}}
@@ -1 +1 @@
1
- {"dsh-model-sync":{"acknowledge":"Подтвердить","addAlias":"Сохранить алиас","aliasPlaceholder":"Алиас (например, gpt-4o-latest)","all":"Все провайдеры с API-ключами","allModels":"Все модели","apply":"Применить изменения","autoApplySchedule":"Автоматически применять изменения","batchTry":"Проверить выбранные модели","batchTryDeselectUnreachable":"Снять выбор с недоступных","batchTryResults":"Пакетная проверка: доступно %d из %d","batchTryRunning":"Проверка…","cacheHoursAgo":"кэш %d ч назад","cancel":"Отмена","capabilityCount":"показано","capabilityFilter":"Фильтр по возможностям","checkCredentials":"Проверить ключи","credentialReady":"настроен","credentials":"Диагностика ключей","deprecated":"deprecated","deprecatesIn":"Устареет через %d дн.","desc":"Обновление каталогов моделей провайдеров по API-ключам. По умолчанию включён безопасный предпросмотр (dry-run); применение изменений выполняется явно.","deselectAllFiltered":"Снять выбор с показанных","diffAdded":"добавлено","diffChanged":"изменена метаинформация","diffRemoved":"удалено","diffRenamed":"переименовано","dormant":"не настроен","dryRun":"Только предпросмотр (dry-run)","empty":"нет настроенных провайдеров","enableContextFilter":"Фильтровать по минимальному контексту","enableCostFilter":"Фильтровать по максимальной цене","exportConfig":"Экспорт настроек","exportImportTitle":"Резервное копирование и восстановление настроек","failure":"ошибка","filterCheap":"Экономные ≤ $1/1M","filterContext100k":"Контекст ≥ 100k","filterCostContext":"Ограничения по цене и контексту","health":"Проверить доступность","healthDormant":"не настроен","healthError":"недоступна","healthOk":"доступна","history":"История синхронизаций","historyRun":"Запуск","importConfig":"Импорт настроек","importError":"Ошибка импорта: %s","importPlaceholder":"Вставьте JSON-конфигурацию сюда…","importSuccess":"Конфигурация успешно импортирована","intervalMinutes":"Интервал (в минутах)","invalidPattern":"Некорректный regex-шаблон: %s","invertFiltered":"Инвертировать выбор","lastRun":"Последний запуск","loading":"Загрузка…","markRead":"Прочитано","maxPricePerMillion":"Макс. цена ($ / 1 млн токенов)","minContextTokens":"Мин. размер контекста (токенов)","missingCredential":"не настроен","modelAliases":"Алиасы моделей","nextRun":"следующий запуск","noAliases":"Алиасы моделей не заданы.","noCapabilities":"В этом каталоге нет метаданных о возможностях.","noHistory":"Истории синхронизаций нет.","noModels":"В текущем каталоге нет моделей.","noNotifications":"Новых уведомлений нет.","noProviders":"Провайдеры с API-ключами не найдены.","notifications":"Уведомления","ok":"готов","partial":"частичный успех","pickerNote":"Выбранные модели сразу станут доступны в переключателе моделей DSH.","policy":"Ручной отбор моделей","policyDeny":"Запрещённые возможности (через запятую)","policyExclude":"Правила исключения (по одному regex в строке)","policyInclude":"Правила включения (по одному regex в строке)","policyNote":"Шаблоны сопоставляются с ID, именем и тегами моделей. Нажмите «Применить изменения», чтобы обновить список в DSH.","policyRequire":"Обязательные возможности (через запятую)","previewAdded":"Добавлено","previewApply":"Применить изменения","previewChanged":"Изменено","previewDismiss":"Закрыть предпросмотр","previewNone":"Изменений не обнаружено.","previewRemoved":"Удалено","previewTitle":"Предпросмотр изменений","refresh":"Обновить статус","refreshAll":"Обновить всё","removeAlias":"Удалить алиас","removeMissing":"Подтвердить удаление устаревших","report":"Итог запуска","rollback":"Откатить каталог","rollbackConfirm":"Откатить каталог этого провайдера к выбранному снимку?","run":"Найти модели","running":"синхронизация…","savePolicy":"Сохранить политику","saveScheduler":"Сохранить расписание","saveSelection":"Сохранить и применить выбор","scheduleEnabled":"Включить фоновое расписание","scheduler":"Планировщик","schedulerOff":"выключен","schedulerOn":"включён","schedulerSaved":"Сохранено","schedulerSettings":"Настройка планировщика","scopeUnavailable":"Служба настроек недоступна.","searchPlaceholder":"Поиск по ID / имени / тегу","selectAllFiltered":"Выбрать все показанные","selectAtLeastOne":"Выберите хотя бы одну модель или используйте вариант «Все модели».","selectModels":"Выбор моделей","selected":"выбрано","showMore":"Показать ещё (%d)","showSettings":"Показать настройки","showingCount":"Показано %d из %d моделей","sortContext":"Контекст ↓","sortDate":"Новые ↓","sortName":"Имя А→Я","sortPrice":"Цена ↑","stale":"устарела","success":"успех","targetModel":"Целевая модель","targetProvider":"Провайдер","title":"Синхронизация моделей"}}
1
+ {"dsh-model-sync":{"acknowledge":"Подтвердить","addAlias":"Сохранить алиас","aliasPlaceholder":"Алиас (например, gpt-4o-latest)","all":"Все провайдеры с API-ключами","allModels":"Все модели","apply":"Применить изменения","autoApplySchedule":"Автоматически применять изменения","batchTry":"Проверить выбранные модели","batchTryDeselectUnreachable":"Снять выбор с недоступных","batchTryResults":"Пакетная проверка: доступно %d из %d","batchTryRunning":"Проверка…","cacheHoursAgo":"кэш %d ч назад","cancel":"Отмена","capabilityCount":"показано","capabilityFilter":"Фильтр по возможностям","checkCredentials":"Проверить ключи","checkForUpdates":"Проверить обновления","checkUpdateFailed":"Не удалось проверить обновления","checkingUpdates":"Проверка…","credentialReady":"настроен","credentials":"Диагностика ключей","deprecated":"deprecated","deprecatesIn":"Устареет через %d дн.","desc":"Обновление каталогов моделей провайдеров по API-ключам. По умолчанию включён безопасный предпросмотр (dry-run); применение изменений выполняется явно.","deselectAllFiltered":"Снять выбор с показанных","diffAdded":"добавлено","diffChanged":"изменена метаинформация","diffRemoved":"удалено","diffRenamed":"переименовано","dormant":"не настроен","dryRun":"Только предпросмотр (dry-run)","empty":"нет настроенных провайдеров","enableContextFilter":"Фильтровать по минимальному контексту","enableCostFilter":"Фильтровать по максимальной цене","exportConfig":"Экспорт настроек","exportImportTitle":"Резервное копирование и восстановление настроек","failure":"ошибка","filterCheap":"Экономные ≤ $1/1M","filterContext100k":"Контекст ≥ 100k","filterCostContext":"Ограничения по цене и контексту","health":"Проверить доступность","healthDormant":"не настроен","healthError":"недоступна","healthOk":"доступна","hideSettings":"Скрыть настройки","history":"История синхронизаций","historyRun":"Запуск","importConfig":"Импорт настроек","importError":"Ошибка импорта: %s","importPlaceholder":"Вставьте JSON-конфигурацию сюда…","importSuccess":"Конфигурация успешно импортирована","intervalMinutes":"Интервал (в минутах)","invalidPattern":"Некорректный regex-шаблон: %s","invertFiltered":"Инвертировать выбор","lastRun":"Последний запуск","loading":"Загрузка…","markRead":"Прочитано","maxPricePerMillion":"Макс. цена ($ / 1 млн токенов)","minContextTokens":"Мин. размер контекста (токенов)","missingCredential":"не настроен","modelAliases":"Алиасы моделей","nextRun":"следующий запуск","noAliases":"Алиасы моделей не заданы.","noCapabilities":"В этом каталоге нет метаданных о возможностях.","noHistory":"Истории синхронизаций нет.","noModels":"В текущем каталоге нет моделей.","noNotifications":"Новых уведомлений нет.","noProviders":"Провайдеры с API-ключами не найдены.","notifications":"Уведомления","ok":"готов","partial":"частичный успех","pickerNote":"Выбранные модели сразу станут доступны в переключателе моделей DSH.","policy":"Ручной отбор моделей","policyDeny":"Запрещённые возможности (через запятую)","policyExclude":"Правила исключения (по одному regex в строке)","policyInclude":"Правила включения (по одному regex в строке)","policyNote":"Шаблоны сопоставляются с ID, именем и тегами моделей. Нажмите «Применить изменения», чтобы обновить список в DSH.","policyRequire":"Обязательные возможности (через запятую)","previewAdded":"Добавлено","previewApply":"Применить изменения","previewChanged":"Изменено","previewDismiss":"Закрыть предпросмотр","previewNone":"Изменений не обнаружено.","previewRemoved":"Удалено","previewTitle":"Предпросмотр изменений","refresh":"Обновить статус","refreshAll":"Обновить всё","removeAlias":"Удалить алиас","removeMissing":"Подтвердить удаление устаревших","report":"Итог запуска","restartRequired":" (требуется перезапуск)","rollback":"Откатить каталог","rollbackConfirm":"Откатить каталог этого провайдера к выбранному снимку?","run":"Найти модели","running":"синхронизация…","savePolicy":"Сохранить политику","saveScheduler":"Сохранить расписание","saveSelection":"Сохранить и применить выбор","scheduleEnabled":"Включить фоновое расписание","scheduler":"Планировщик","schedulerOff":"выключен","schedulerOn":"включён","schedulerSaved":"Сохранено","schedulerSettings":"Настройка планировщика","scopeUnavailable":"Служба настроек недоступна.","searchPlaceholder":"Поиск по ID / имени / тегу","selectAllFiltered":"Выбрать все показанные","selectAtLeastOne":"Выберите хотя бы одну модель или используйте вариант «Все модели».","selectModels":"Выбор моделей","selected":"выбрано","showMore":"Показать ещё (%d)","showSettings":"Показать настройки","showingCount":"Показано %d из %d моделей","sortContext":"Контекст ↓","sortDate":"Новые ↓","sortName":"Имя А→Я","sortPrice":"Цена ↑","stale":"устарела","success":"успех","targetModel":"Целевая модель","targetProvider":"Провайдер","title":"Синхронизация моделей","updateSuccess":"Обновлено до "}}
@@ -1 +1 @@
1
- {"@goodandready/dsh-issue-reporter":{"aiOptimize":"Оптимизировать с AI","aiOptimizeError":"Не удалось выполнить AI-оптимизацию","aiOptimized":"Черновик дополнен рекомендациями AI.","aiOptimizing":"Оптимизация описания…","apiBaseUrl":"Базовый адрес GitHub API","appClientId":"ID клиента GitHub App","attachmentReadError":"Не удалось прочитать файл изображения.","attachmentTooLarge":"Файл превышает 8 МБ (общий лимит: 20 МБ).","attachmentTooMany":"Разрешено не более 5 скриншотов.","attachments":"Скриншоты и изображения","attachmentsHelp":"Прикрепите до 5 скриншотов PNG, JPG, GIF или WebP (макс. 8 МБ каждый, суммарно до 20 МБ). Загрузка происходит только после окончательного подтверждения.","auth":"Авторизация в GitHub","authFailed":"Сбой авторизации в GitHub","authHelp":"Войдите для поиска дубликатов и создания задач. Токен безопасно остаётся в хранилище DSH Credentials.","authRequired":"Подключите GitHub для поиска дубликатов и создания отчёта.","authUnavailable":"Вход через GitHub не настроен для данной установки DSH.","authorize":"Авторизовать GitHub","cancel":"Отмена","checkingUpdate":"Проверка обновлений…","close":"Закрыть","code":"Введите этот код на странице GitHub","connected":"GitHub подключён","copied":"Скопировано!","copyCode":"Скопировать код","create":"Создать задачу на GitHub","created":"Задача создана","description":"Преобразование проблемы плагина DSH в структурированный баг-репорт GitHub Issue.","disabled":"отключено","dropzonePrompt":"Перетащите скриншоты сюда, нажмите для выбора или вставьте из буфера через Ctrl+V","duplicates":"Возможные дубликаты","empty":"Установленные плагины не найдены.","enabled":"включено","environment":"Сведения об окружении (необязательно)","error":"Произошла ошибка","expected":"Ожидаемое поведение","failedBanner":"Плагин завершил работу с runtime-ошибкой.","fallback":"Открыть предзаполненную форму отчёта","fetchLogs":"Загрузить логи","includeClosed":"Искать дубликаты среди закрытых задач","insertLogs":"Вставить выбранные логи","labels":"Метки (Labels)","loading":"Загрузка…","loadingLogs":"Загрузка журнала сессии…","myReportsEmpty":"В этой сессии ещё не было отправлено ни одного репорта.","myReportsRefresh":"Обновить статус","nativePlugins":"Нативные плагины DSH","noDuplicates":"Похожих открытых проблем не найдено.","noLogsFound":"Недавних записей в журнале не обнаружено.","noNativePlugins":"Нативные плагины DSH не установлены.","noSearchResults":"Плагины по вашему запросу не найдены.","noThirdPartyPlugins":"Сторонние плагины DSH не установлены.","observed":"Что произошло?","openVerification":"Открыть страницу подтверждения GitHub","preview":"Сформировать безопасный предпросмотр","previewTab":"Предпросмотр","previewTitle":"Предпросмотр","quickReport":"Сообщить о сбое","recentLogs":"Журнал сессии","redactions":"Скрытые конфиденциальные данные","refresh":"Обновить список плагинов","refreshAllStatus":"Обновить всё","removeAttachment":"Удалить","report":"Сообщить об ошибке","reproduction":"Шаги для воспроизведения","review":"Я проверил безопасный предпросмотр отчёта.","save":"Сохранить настройки","saved":"Настройки сохранены","search":"Поиск по установленным плагинам…","signIn":"Войти через GitHub","signInAgain":"Сменить аккаунт","signOut":"Выйти из GitHub","signedOut":"Выход выполнен","statusClosed":"Закрыт (Closed)","statusOpen":"Открыт (Open)","suggestedLabels":"Рекомендуемые метки","sysInfo":"Диагностика системы","tabAuth":"Авторизация","tabCatalog":"Каталог плагинов","tabEditor":"Редактор отчёта","tabReports":"Мои репорты","thirdPartyPlugins":"Сторонние плагины DSH","title":"Отправка баг-репорта на GitHub","titleField":"Заголовок проблемы","tokenEnv":"Ссылка на учётные данные","unsupported":"Нет данных о публичном репозитории GitHub","upToDate":"Установлена актуальная версия","updateAvailable":"Доступно обновление","updateFailed":"Сбой обновления. См. логи сервера.","updatePlugin":"Обновить до","updateSuccess":"Плагин успешно обновлён! Перезапустите DSH для применения.","updating":"Обновление плагина…","waiting":"Ожидание авторизации…","writeTab":"Правка (Markdown)"},"dsh-issue-reporter":{"aiOptimize":"Оптимизировать с AI","aiOptimizeError":"Не удалось выполнить AI-оптимизацию","aiOptimized":"Черновик дополнен рекомендациями AI.","aiOptimizing":"Оптимизация описания…","apiBaseUrl":"Базовый адрес GitHub API","appClientId":"ID клиента GitHub App","attachmentReadError":"Не удалось прочитать файл изображения.","attachmentTooLarge":"Файл превышает 8 МБ (общий лимит: 20 МБ).","attachmentTooMany":"Разрешено не более 5 скриншотов.","attachments":"Скриншоты и изображения","attachmentsHelp":"Прикрепите до 5 скриншотов PNG, JPG, GIF или WebP (макс. 8 МБ каждый, суммарно до 20 МБ). Загрузка происходит только после окончательного подтверждения.","auth":"Авторизация в GitHub","authFailed":"Сбой авторизации в GitHub","authHelp":"Войдите для поиска дубликатов и создания задач. Токен безопасно остаётся в хранилище DSH Credentials.","authRequired":"Подключите GitHub для поиска дубликатов и создания отчёта.","authUnavailable":"Вход через GitHub не настроен для данной установки DSH.","authorize":"Авторизовать GitHub","cancel":"Отмена","checkingUpdate":"Проверка обновлений…","close":"Закрыть","code":"Введите этот код на странице GitHub","connected":"GitHub подключён","copied":"Скопировано!","copyCode":"Скопировать код","create":"Создать задачу на GitHub","created":"Задача создана","description":"Преобразование проблемы плагина DSH в структурированный баг-репорт GitHub Issue.","disabled":"отключено","dropzonePrompt":"Перетащите скриншоты сюда, нажмите для выбора или вставьте из буфера через Ctrl+V","duplicates":"Возможные дубликаты","empty":"Установленные плагины не найдены.","enabled":"включено","environment":"Сведения об окружении (необязательно)","error":"Произошла ошибка","expected":"Ожидаемое поведение","failedBanner":"Плагин завершил работу с runtime-ошибкой.","fallback":"Открыть предзаполненную форму отчёта","fetchLogs":"Загрузить логи","includeClosed":"Искать дубликаты среди закрытых задач","insertLogs":"Вставить выбранные логи","labels":"Метки (Labels)","loading":"Загрузка…","loadingLogs":"Загрузка журнала сессии…","myReportsEmpty":"В этой сессии ещё не было отправлено ни одного репорта.","myReportsRefresh":"Обновить статус","nativePlugins":"Нативные плагины DSH","noDuplicates":"Похожих открытых проблем не найдено.","noLogsFound":"Недавних записей в журнале не обнаружено.","noNativePlugins":"Нативные плагины DSH не установлены.","noSearchResults":"Плагины по вашему запросу не найдены.","noThirdPartyPlugins":"Сторонние плагины DSH не установлены.","observed":"Что произошло?","openVerification":"Открыть страницу подтверждения GitHub","preview":"Сформировать безопасный предпросмотр","previewTab":"Предпросмотр","previewTitle":"Предпросмотр","quickReport":"Сообщить о сбое","recentLogs":"Журнал сессии","redactions":"Скрытые конфиденциальные данные","refresh":"Обновить список плагинов","refreshAllStatus":"Обновить всё","removeAttachment":"Удалить","report":"Сообщить об ошибке","reproduction":"Шаги для воспроизведения","review":"Я проверил безопасный предпросмотр отчёта.","save":"Сохранить настройки","saved":"Настройки сохранены","search":"Поиск по установленным плагинам…","signIn":"Войти через GitHub","signInAgain":"Сменить аккаунт","signOut":"Выйти из GitHub","signedOut":"Выход выполнен","statusClosed":"Закрыт (Closed)","statusOpen":"Открыт (Open)","suggestedLabels":"Рекомендуемые метки","sysInfo":"Диагностика системы","tabAuth":"Авторизация","tabCatalog":"Каталог плагинов","tabEditor":"Редактор отчёта","tabReports":"Мои репорты","thirdPartyPlugins":"Сторонние плагины DSH","title":"Отправка баг-репорта на GitHub","titleField":"Заголовок проблемы","tokenEnv":"Ссылка на учётные данные","unsupported":"Нет данных о публичном репозитории GitHub","upToDate":"Установлена актуальная версия","updateAvailable":"Доступно обновление","updateFailed":"Сбой обновления. См. логи сервера.","updatePlugin":"Обновить до","updateSuccess":"Плагин успешно обновлён! Перезапустите DSH для применения.","updating":"Обновление плагина…","waiting":"Ожидание авторизации…","writeTab":"Правка (Markdown)"}}
1
+ {"@goodandready/dsh-issue-reporter":{"aiOptimize":"Оптимизировать с AI","aiOptimizeError":"Не удалось выполнить AI-оптимизацию","aiOptimized":"Черновик дополнен рекомендациями AI.","aiOptimizing":"Оптимизация описания…","apiBaseUrl":"Базовый адрес GitHub API","appClientId":"ID клиента GitHub App","attachmentReadError":"Не удалось прочитать файл изображения.","attachmentTooLarge":"Файл превышает 8 МБ (общий лимит: 20 МБ).","attachmentTooMany":"Разрешено не более 5 скриншотов.","attachments":"Скриншоты и изображения","attachmentsHelp":"Прикрепите до 5 скриншотов PNG, JPG, GIF или WebP (макс. 8 МБ каждый, суммарно до 20 МБ). Загрузка происходит только после окончательного подтверждения.","auth":"Авторизация в GitHub","authFailed":"Сбой авторизации в GitHub","authHelp":"Войдите для поиска дубликатов и создания задач. Токен безопасно остаётся в хранилище DSH Credentials.","authRequired":"Подключите GitHub для поиска дубликатов и создания отчёта.","authUnavailable":"Вход через GitHub не настроен для данной установки DSH.","authorize":"Авторизовать GitHub","cancel":"Отмена","checkingUpdate":"Проверка обновлений…","close":"Закрыть","code":"Введите этот код на странице GitHub","connected":"GitHub подключён","copied":"Скопировано!","copyCode":"Скопировать код","create":"Создать задачу на GitHub","created":"Задача создана","description":"Преобразование проблемы плагина DSH в структурированный баг-репорт GitHub Issue.","disabled":"отключено","dropzonePrompt":"Перетащите скриншоты сюда, нажмите для выбора или вставьте из буфера через Ctrl+V","duplicates":"Возможные дубликаты","empty":"Установленные плагины не найдены.","enabled":"включено","environment":"Сведения об окружении (необязательно)","error":"Произошла ошибка","expected":"Ожидаемое поведение","failedBanner":"Плагин завершил работу с runtime-ошибкой.","fallback":"Открыть предзаполненную форму отчёта","fetchLogs":"Загрузить логи","includeClosed":"Искать дубликаты среди закрытых задач","insertLogs":"Вставить выбранные логи","labels":"Метки (Labels)","loading":"Загрузка…","loadingLogs":"Загрузка журнала сессии…","myReportsEmpty":"В этой сессии ещё не было отправлено ни одного репорта.","myReportsRefresh":"Обновить статус","nativePlugins":"Нативные плагины DSH","noDuplicates":"Похожих открытых проблем не найдено.","noLogsFound":"Недавних записей в журнале не обнаружено.","noNativePlugins":"Нативные плагины DSH не установлены.","noSearchResults":"Плагины по вашему запросу не найдены.","noThirdPartyPlugins":"Сторонние плагины DSH не установлены.","observed":"Что произошло?","openVerification":"Открыть страницу подтверждения GitHub","preview":"Сформировать безопасный предпросмотр","previewTab":"Предпросмотр","previewTitle":"Предпросмотр","quickReport":"Сообщить о сбое","recentLogs":"Журнал сессии","redactions":"Скрытые конфиденциальные данные","refresh":"Обновить список плагинов","refreshAllStatus":"Обновить всё","removeAttachment":"Удалить","report":"Сообщить об ошибке","reproduction":"Шаги для воспроизведения","review":"Я проверил безопасный предпросмотр отчёта.","save":"Сохранить настройки","saved":"Настройки сохранены","search":"Поиск по установленным плагинам…","signIn":"Войти через GitHub","signInAgain":"Сменить аккаунт","signOut":"Выйти из GitHub","signedOut":"Выход выполнен","statusClosed":"Закрыт (Closed)","statusOpen":"Открыт (Open)","suggestedLabels":"Рекомендуемые метки","sysInfo":"Диагностика системы","tabAuth":"Авторизация","tabCatalog":"Каталог плагинов","tabEditor":"Редактор отчёта","tabReports":"Мои репорты","thirdPartyPlugins":"Сторонние плагины DSH","title":"Отправка баг-репорта на GitHub","titleField":"Заголовок проблемы","tokenEnv":"Ссылка на учётные данные","unsupported":"Нет данных о публичном репозитории GitHub","upToDate":"Установлена актуальная версия","updateAvailable":"Доступно обновление","updateFailed":"Сбой обновления. См. логи сервера.","updatePlugin":"Обновить до","updateSuccess":"Плагин успешно обновлён! Перезапустите DSH для применения.","updating":"Обновление плагина…","waiting":"Ожидание авторизации…","writeTab":"Правка (Markdown)"},"dsh-issue-reporter":{"aiOptimize":"Оптимизировать с AI","aiOptimizeError":"Не удалось выполнить AI-оптимизацию","aiOptimized":"Черновик дополнен рекомендациями AI.","aiOptimizing":"Оптимизация описания…","apiBaseUrl":"Базовый адрес GitHub API","appClientId":"ID клиента GitHub App","attachmentReadError":"Не удалось прочитать файл изображения.","attachmentTooLarge":"Файл превышает 8 МБ (общий лимит: 20 МБ).","attachmentTooMany":"Разрешено не более 5 скриншотов.","attachments":"Скриншоты и изображения","attachmentsHelp":"Прикрепите до 5 скриншотов PNG, JPG, GIF или WebP (макс. 8 МБ каждый, суммарно до 20 МБ). Загрузка происходит только после окончательного подтверждения.","auth":"Авторизация в GitHub","authFailed":"Сбой авторизации в GitHub","authHelp":"Войдите для поиска дубликатов и создания задач. Токен безопасно остаётся в хранилище DSH Credentials.","authRequired":"Подключите GitHub для поиска дубликатов и создания отчёта.","authUnavailable":"Вход через GitHub не настроен для данной установки DSH.","authorize":"Авторизовать GitHub","cancel":"Отмена","checkingUpdate":"Проверка обновлений…","close":"Закрыть","code":"Введите этот код на странице GitHub","connected":"GitHub подключён","copied":"Скопировано!","copyCode":"Скопировать код","copyCodeFailed":"Не удалось скопировать код верификации.","create":"Создать задачу на GitHub","created":"Задача создана","description":"Преобразование проблемы плагина DSH в структурированный баг-репорт GitHub Issue.","disabled":"отключено","dropzonePrompt":"Перетащите скриншоты сюда, нажмите для выбора или вставьте из буфера через Ctrl+V","duplicateLookupFailed":"Предпросмотр отчёта готов, но поиск дубликатов завершился сбоем.","duplicates":"Возможные дубликаты","empty":"Установленные плагины не найдены.","enabled":"включено","environment":"Сведения об окружении (необязательно)","error":"Произошла ошибка","expected":"Ожидаемое поведение","failedBanner":"Плагин завершил работу с runtime-ошибкой.","fallback":"Открыть предзаполненную форму отчёта","fetchLogs":"Загрузить логи","includeClosed":"Искать дубликаты среди закрытых задач","insertLogs":"Вставить выбранные логи","issueStatusFailed":"Не удалось обновить статус этой задачи.","labels":"Метки (Labels)","labelsUnavailable":"Рекомендуемые метки недоступны; вы всё равно можете составить отчёт.","loading":"Загрузка…","loadingLogs":"Загрузка журнала сессии…","logsUnavailable":"Логи сессии сейчас недоступны.","myReportsEmpty":"В этой сессии ещё не было отправлено ни одного репорта.","myReportsRefresh":"Обновить статус","nativePlugins":"Нативные плагины DSH","noDuplicates":"Похожих открытых проблем не найдено.","noLogsFound":"Недавних записей в журнале не обнаружено.","noNativePlugins":"Нативные плагины DSH не установлены.","noSearchResults":"Плагины по вашему запросу не найдены.","noThirdPartyPlugins":"Сторонние плагины DSH не установлены.","observed":"Что произошло?","openVerification":"Открыть страницу подтверждения GitHub","preview":"Сформировать безопасный предпросмотр","previewTab":"Предпросмотр","previewTitle":"Предпросмотр","quickReport":"Сообщить о сбое","recentLogs":"Журнал сессии","redactions":"Скрытые конфиденциальные данные","refresh":"Обновить список плагинов","refreshAllStatus":"Обновить всё","removeAttachment":"Удалить","report":"Сообщить об ошибке","reproduction":"Шаги для воспроизведения","review":"Я проверил безопасный предпросмотр отчёта.","save":"Сохранить настройки","saved":"Настройки сохранены","search":"Поиск по установленным плагинам…","signIn":"Войти через GitHub","signInAgain":"Сменить аккаунт","signOut":"Выйти из GitHub","signedOut":"Выход выполнен","statusClosed":"Закрыт (Closed)","statusOpen":"Открыт (Open)","statusesRefreshFailed":"Не удалось обновить статусы отчётов.","suggestedLabels":"Рекомендуемые метки","sysInfo":"Диагностика системы","tabAuth":"Авторизация","tabCatalog":"Каталог плагинов","tabEditor":"Редактор отчёта","tabReports":"Мои репорты","thirdPartyPlugins":"Сторонние плагины DSH","title":"Отправка баг-репорта на GitHub","titleField":"Заголовок проблемы","tokenEnv":"Ссылка на учётные данные","unsupported":"Нет данных о публичном репозитории GitHub","upToDate":"Установлена актуальная версия","updateAvailable":"Доступно обновление","updateCheckFailed":"Не удалось проверить обновления плагина.","updateFailed":"Сбой обновления. См. логи сервера.","updatePlugin":"Обновить до","updateSuccess":"Плагин успешно обновлён! Перезапустите DSH для применения.","updating":"Обновление плагина…","waiting":"Ожидание авторизации…","writeTab":"Правка (Markdown)"}}
@@ -1 +1 @@
1
- {"@goodandready/dsh-model-search":{"clear":"Очистить поиск","dms.clear":"Очистить поиск","dms.empty":"Нет подходящих моделей","dms.placeholder":"Поиск модели или провайдера…","dms.recent":"Недавние","empty":"Модели не найдены","placeholder":"Поиск модели или провайдера…","recent":"Недавние"},"dsh-model-search":{"clear":"Очистить поиск","dms.clear":"Очистить поиск","dms.empty":"Нет подходящих моделей","dms.placeholder":"Поиск модели или провайдера…","dms.recent":"Недавние","empty":"Модели не найдены","placeholder":"Поиск модели или провайдера…","recent":"Недавние"}}
1
+ {"@goodandready/dsh-model-search":{"clear":"Очистить поиск","dms.clear":"Очистить поиск","dms.desc":"Поиск и быстрый выбор моделей для WebUI DeepSeek Harness","dms.empty":"Нет подходящих моделей","dms.placeholder":"Поиск модели или провайдера…","dms.recent":"Недавние","dms.title":"Поиск моделей","dms.updater.check":"Проверить обновления","dms.updater.checking":"Проверка…","dms.updater.current":"Текущая версия","dms.updater.failed":"Ошибка","dms.updater.restart_notice":"Обновление установлено. Перезапустите DSH для применения.","dms.updater.up_to_date":"Актуальная версия","dms.updater.update_available":"Доступна новая версия: v{version}","dms.updater.update_now":"Обновить сейчас","dms.updater.updating":"Обновление…","empty":"Модели не найдены","placeholder":"Поиск модели или провайдера…","recent":"Недавние"},"dsh-model-search":{"clear":"Очистить поиск","desc":"Селектор моделей с поиском для WebUI DeepSeek Harness","dms.clear":"Очистить поиск","dms.desc":"Поиск и быстрый выбор моделей для WebUI DeepSeek Harness","dms.empty":"Нет подходящих моделей","dms.placeholder":"Поиск модели или провайдера…","dms.recent":"Недавние","dms.title":"Поиск моделей","dms.updater.check":"Проверить обновления","dms.updater.checking":"Проверка…","dms.updater.current":"Текущая версия","dms.updater.failed":"Ошибка","dms.updater.restart_notice":"Обновление установлено. Перезапустите DSH для применения.","dms.updater.up_to_date":"Актуальная версия","dms.updater.update_available":"Доступна новая версия: v{version}","dms.updater.update_now":"Обновить сейчас","dms.updater.updating":"Обновление…","empty":"Модели не найдены","placeholder":"Поиск модели или провайдера…","recent":"Недавние","title":"Поиск моделей","updater_check":"Проверить обновления","updater_checking":"Проверка…","updater_current":"Текущая версия","updater_failed":"Не удалось проверить или установить обновление","updater_restart_notice":"Обновление установлено. Перезапустите DSH для применения.","updater_up_to_date":"Актуальная версия","updater_update_available":"Доступен новый релиз: v{version}","updater_update_now":"Обновить сейчас","updater_updating":"Обновление…"}}
@@ -1 +1 @@
1
- {"@goodandready/dsh-agent-orchestrator":{"subtitle":"Автономный рабочий процесс на базе DAG с оптимизацией кэширования промптов","title":"Мульти-агентный оркестратор"},"dsh-agent-orchestrator":{"description":"Декомпозиция и выполнение задач специализированными автономными агентами с оптимизацией кэширования промптов.","subtitle":"Автономный рабочий процесс на базе DAG с оптимизацией кэширования промптов","title":"Мульти-агентный оркестратор"}}
1
+ {"@goodandready/dsh-agent-orchestrator":{"btnCancel":"Отмена","btnDelegate":"Делегировать субагенту","btnDispatching":"Отправка…","btnStartPipeline":"Запустить пайплайн","description":"Декомпозиция и выполнение задач специализированными автономными агентами с оптимизацией кэширования промптов.","launchTitle":"🚀 Запуск мультиагентного оркестратора","roleInstructionsLabel":"Инструкции для субагента","roleInstructionsPlaceholder":"Конкретные инструкции, вопросы или требования для данного специалиста…","roleLabel":"Роль целевого специалиста","role_architecture":"Системный архитектор (DESIGN.md / ADR)","role_backend":"Ведущий backend-разработчик","role_bugfix":"Инженер хотфиксов и диагностики","role_devops":"DevOps и инфраструктурный специалист","role_docs":"Технический писатель / Документация","role_frontend":"Ведущий frontend-разработчик","role_qa_tests":"Инженер автоматизации тестирования","role_refactoring":"Специалист по рефакторингу и сложности","role_research":"Исследователь R&D и прототипирования","role_spec":"Аналитик технических спецификаций","role_ui_design":"UI/UX дизайнер интерфейсов","scenarioAuto":"Авто (определить по сложности задачи)","scenarioComplex":"Сложный (6 этапов: полный инженерный цикл)","scenarioEnterprise":"Enterprise (7 этапов: R&D исследование -> Фулстек -> Гейт приёмки)","scenarioHotfix":"Хотфикс (1 этап: анализ и точечный фикс)","scenarioLabel":"Топологический сценарий","scenarioMedium":"Средний (4 этапа: ТЗ -> Дизайн -> Код -> Тестирование)","scenarioSimple":"Простой (2 этапа: ТЗ + реализация)","scopeLabel":"Объём и требования","scopePlaceholder":"Детальная функциональная спецификация, критерии приёмки, ограничения…","subtitle":"Автономный рабочий процесс на базе DAG с оптимизацией кэширования промптов","tabPipeline":"Полный DAG-пайплайн","tabSpecialist":"Прямой субагент-специалист","title":"Мульти-агентный оркестратор","titleLabel":"Название задачи","titlePlaceholder":"Например: Реализовать карточку настроек профиля с токенами темы"},"dsh-agent-orchestrator":{"badge.accepted":"🟢 Результат субагента принят оркестратором","btnCancel":"Отмена","btnDelegate":"Делегировать субагенту","btnDispatching":"Отправка…","btnStartPipeline":"Запустить пайплайн","description":"Декомпозиция и выполнение задач специализированными автономными агентами с оптимизацией кэширования промптов.","launchTitle":"🚀 Запуск мультиагентного оркестратора","roleInstructionsLabel":"Инструкции для субагента","roleInstructionsPlaceholder":"Конкретные инструкции, вопросы или требования для данного специалиста…","roleLabel":"Роль целевого специалиста","role_architecture":"Системный архитектор (DESIGN.md / ADR)","role_backend":"Ведущий backend-разработчик","role_bugfix":"Инженер хотфиксов и диагностики","role_devops":"DevOps и инфраструктурный специалист","role_docs":"Технический писатель / Документация","role_frontend":"Ведущий frontend-разработчик","role_qa_tests":"Инженер автоматизации тестирования","role_refactoring":"Специалист по рефакторингу и сложности","role_research":"Исследователь R&D и прототипирования","role_spec":"Аналитик технических спецификаций","role_ui_design":"UI/UX дизайнер интерфейсов","scenarioAuto":"Авто (определить по сложности задачи)","scenarioComplex":"Сложный (6 этапов: полный инженерный цикл)","scenarioEnterprise":"Enterprise (7 этапов: R&D исследование -> Фулстек -> Гейт приёмки)","scenarioHotfix":"Хотфикс (1 этап: анализ и точечный фикс)","scenarioLabel":"Топологический сценарий","scenarioMedium":"Средний (4 этапа: ТЗ -> Дизайн -> Код -> Тестирование)","scenarioSimple":"Простой (2 этапа: ТЗ + реализация)","scopeLabel":"Объём и требования","scopePlaceholder":"Детальная функциональная спецификация, критерии приёмки, ограничения…","subtitle":"Автономный рабочий процесс на базе DAG с оптимизацией кэширования промптов","tabPipeline":"Полный DAG-пайплайн","tabSpecialist":"Прямой субагент-специалист","title":"Мульти-агентный оркестратор","titleLabel":"Название задачи","titlePlaceholder":"Например: Реализовать карточку настроек профиля с токенами темы"}}
@@ -1 +1 @@
1
- {"dsh-key-limits":{"accountOrder":"Порядок аккаунтов","activeNoSession":"сессия","activeNone":"—","activeOnTop":"Активный всегда сверху","add":"Добавить","addKey":"Добавить ключ","allSub":"Все ключи","allTitle":"Лимиты подписки","balance":"Баланс","cancel":"Отмена","checkForUpdates":"Проверить обновления","checkUpdateFailed":"Не удалось проверить обновления","checkingUpdates":"Проверка…","close":"Закрыть","composerBar":"Кнопка в строке ввода","dataPath":"Данные: ~/.dsh/storages/dsh-key-limits/","delete":"Удалить","deleteConfirm":"Удалить ключ «","errTitle":"Key Limits: ошибка UI","extra":"Дополнительно","fillFields":"Заполните:","floatChip":"Плавающий чип","floatTitle":"Лимиты клавиш — клик: все, перетаскивание: перемещение","labelOptional":"Метка (необязательно)","loading":"Загрузка…","moveDown":"Вниз","moveUp":"Вверх","noQuota":"Нет данных о квоте","noSubs":"Ключей пока нет","oneTitle":"Лимиты активных ключей","pctLeft":"слева","pickDash":"— выбрать —","pickProvider":"Выберите провайдера","refresh":"Обновить","refreshAll":"Обновить все","refreshHours":"Интервал обновления (ч)","refreshing":"Обновление…","remaining":"остаток","restartRequired":" (требуется перезапуск)","retry":"Повторить","save":"Сохранить","saveError":"ошибка сохранения","saved":"Сохранено","secret":"Секрет / ключ","stale":"устаревший","storageDir":"Каталог данных","subtitle":"API-ключи и квоты подписки","title":"Лимиты ключей","totalAccounts":"Всего аккаунтов","uiHint":"Float chip и кнопка в строке ввода — cordis ui.*","upToDate":"Установлена последняя версия","updateAvailable":"Доступно обновление: ","updateFailed":"Ошибка обновления: ","updateNow":"Обновить сейчас","updateSuccess":"Успешно обновлено до ","updated":"Обновлено","updaterCurrent":"Текущая версия: v{version}","updaterLatest":"Новая версия: v{version}","updaterUpToDate":"Установлена актуальная версия","updating":"Обновление…"}}
1
+ {"dsh-key-limits":{"accountOrder":"Порядок аккаунтов","activeNoSession":"сессия","activeNone":"—","activeOnTop":"Активный всегда сверху","add":"Добавить","addKey":"Добавить ключ","allSub":"Все ключи","allTitle":"Лимиты подписки","balance":"Баланс","cancel":"Отмена","checkForUpdates":"Проверить обновления","checkUpdateFailed":"Не удалось проверить обновления","checkingUpdates":"Проверка…","close":"Закрыть","composerBar":"Кнопка в строке ввода","dataPath":"Данные: ~/.dsh/storages/dsh-key-limits/","delete":"Удалить","deleteConfirm":"Удалить ключ «","errTitle":"Key Limits: ошибка UI","extra":"Дополнительно","fillFields":"Заполните:","floatChip":"Плавающий чип","floatTitle":"Лимиты клавиш — клик: все, перетаскивание: перемещение","labelOptional":"Метка (необязательно)","loading":"Загрузка...","moveDown":"Вниз","moveUp":"Вверх","noQuota":"Нет данных о квоте","noSubs":"Ключей пока нет","oneTitle":"Лимиты активных ключей","pctLeft":"слева","pickDash":"— выбрать —","pickProvider":"Выберите провайдера","refresh":"Обновить","refreshAll":"Обновить все","refreshHours":"Интервал обновления (ч)","refreshing":"Обновление…","remaining":"остаток","restartRequired":" (требуется перезапуск)","retry":"Повторить","save":"Сохранить","saveError":"ошибка сохранения","saved":"Сохранено","secret":"Секрет / ключ","stale":"устаревший","storageDir":"Каталог данных","subtitle":"Лимиты использования ключей и квоты провайдеров","title":"Лимиты ключей","totalAccounts":"Всего аккаунтов","uiHint":"Float chip и кнопка в строке ввода — cordis ui.*","upToDate":"Установлена последняя версия","updateAvailable":"Доступно обновление: ","updateFailed":"Ошибка обновления: ","updateNow":"Обновить сейчас","updateSuccess":"Успешно обновлено до ","updated":"Обновлено","updaterCurrent":"Текущая версия: v{version}","updaterLatest":"Новая версия: v{version}","updaterUpToDate":"Установлена актуальная версия","updating":"Обновление…"}}