@goodandready/dsh-russian-lang 0.2.19 → 0.2.20

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 (159) hide show
  1. package/README.md +1 -1
  2. package/README.ru.md +1 -1
  3. package/README.zh.md +102 -0
  4. package/lib/client.js +72 -203
  5. package/lib/index.js +41 -8
  6. package/lib/locales/plugins/01-token-dashboard.json +1 -0
  7. package/lib/locales/plugins/02-subscriptions.json +1 -0
  8. package/lib/locales/plugins/03-dshmarket.json +1 -0
  9. package/lib/locales/plugins/04-context-doctor.json +1 -0
  10. package/lib/locales/plugins/05-plugins-store.json +1 -0
  11. package/lib/locales/plugins/06-im-hub.json +1 -0
  12. package/lib/locales/plugins/07-better-sidebar.json +1 -0
  13. package/lib/locales/plugins/08-task-board.json +1 -0
  14. package/lib/locales/plugins/09-dshmarket-1.13.json +1 -0
  15. package/lib/locales/plugins/10-kanban.json +1 -0
  16. package/lib/locales/plugins/11-skill-hub.json +1 -0
  17. package/lib/locales/plugins/12-skills-manager.json +1 -0
  18. package/lib/locales/plugins/13-agent-teams.json +1 -0
  19. package/lib/locales/plugins/14-ollama-cloud.json +1 -0
  20. package/lib/locales/plugins/15-commandcode.json +1 -0
  21. package/lib/locales/plugins/16-usage-stats.json +1 -0
  22. package/lib/locales/plugins/17-dsh-context.json +1 -0
  23. package/lib/locales/plugins/18-opencode-palette.json +1 -0
  24. package/lib/locales/plugins/19-univer-office.json +1 -0
  25. package/lib/locales/plugins/20-skill-explorer.json +1 -0
  26. package/lib/locales/plugins/21-auto-collapse.json +1 -0
  27. package/lib/locales/plugins/22-subagent-director.json +1 -0
  28. package/lib/locales/plugins/23-moa.json +1 -0
  29. package/lib/locales/plugins/24-personal-directive.json +1 -0
  30. package/lib/locales/plugins/25-hooks.json +1 -0
  31. package/lib/locales/plugins/26-config-manager.json +1 -0
  32. package/lib/locales/plugins/27-config-manager-sync.json +1 -0
  33. package/lib/locales/plugins/28-config-manager-market.json +1 -0
  34. package/lib/locales/plugins/29-config-manager-recovery.json +1 -0
  35. package/lib/locales/plugins/30-config-manager-history.json +1 -0
  36. package/lib/locales/plugins/31-dshhub-market.json +1 -0
  37. package/lib/locales/plugins/32-vision-bridge.json +1 -0
  38. package/lib/locales/plugins/33-messenger-gateway.json +1 -0
  39. package/lib/locales/plugins/34-key-rotation.json +1 -0
  40. package/lib/locales/plugins/35-gitea.json +1 -0
  41. package/lib/locales/plugins/36-cost-meter.json +1 -0
  42. package/lib/locales/plugins/37-time-machine.json +1 -0
  43. package/lib/locales/plugins/38-context-lens.json +1 -0
  44. package/lib/locales/plugins/39-shadow-auditor.json +1 -0
  45. package/lib/locales/plugins/40-clinebot.json +1 -0
  46. package/lib/locales/plugins/41-lanmode.json +1 -0
  47. package/lib/locales/plugins/42-plugin-console.json +1 -0
  48. package/lib/locales/plugins/43-better-input.json +1 -0
  49. package/lib/locales/plugins/44-auto-review.json +1 -0
  50. package/lib/locales/plugins/45-session-control.json +1 -0
  51. package/lib/locales/plugins/46-memory-brain.json +1 -0
  52. package/lib/locales/plugins/47-llm-wiki.json +1 -0
  53. package/lib/locales/plugins/48-task-tracker.json +1 -0
  54. package/lib/locales/plugins/49-usage-guard.json +1 -0
  55. package/lib/locales/plugins/50-automode.json +1 -0
  56. package/lib/locales/plugins/51-plugin-guard.json +1 -0
  57. package/lib/locales/plugins/52-navbar.json +1 -0
  58. package/lib/locales/plugins/53-remote-workspace.json +1 -0
  59. package/lib/locales/plugins/54-workshop-market.json +1 -0
  60. package/lib/locales/plugins/55-skin-center.json +1 -0
  61. package/lib/locales/plugins/56-cron.json +1 -0
  62. package/lib/locales/plugins/57-live-canvas.json +1 -0
  63. package/lib/locales/plugins/58-grok-xsearch.json +1 -0
  64. package/lib/locales/plugins/59-goal.json +1 -0
  65. package/lib/locales/plugins/60-model-sync.json +1 -0
  66. package/lib/locales/plugins/61-issue-reporter.json +1 -0
  67. package/lib/locales/plugins/62-model-search.json +1 -0
  68. package/lib/locales/plugins/63-agent-orchestrator.json +1 -0
  69. package/lib/locales/plugins/64-key-limits.json +1 -0
  70. package/lib/locales/plugins/65-subscriptions.json +1 -0
  71. package/lib/locales/plugins/66-tts.json +1 -0
  72. package/lib/locales/plugins/67-voice.json +1 -0
  73. package/lib/locales/plugins/68-image-gen.json +1 -0
  74. package/lib/locales/plugins/69-plugin-notify.json +1 -0
  75. package/lib/locales/plugins/70-hypotheses.json +1 -0
  76. package/lib/locales/zh-ru.json +1 -0
  77. package/lib/locales.js +32 -0
  78. package/lib/plugin-updater.js +8 -2
  79. package/package.json +6 -7
  80. package/docs/media/banner.jpg +0 -0
  81. package/docs/media/language-selector.png +0 -0
  82. package/docs/media/ui-russian.png +0 -0
  83. package/ru/01-core-small.json +0 -225
  84. package/ru/02-conversation.json +0 -846
  85. package/ru/03-models-workspace.json +0 -193
  86. package/ru/04-preset-cordis.json +0 -142
  87. package/ru/05-plugins-subagent.json +0 -158
  88. package/ru/06-rest.json +0 -257
  89. package/ru/07-sidebar-previewers.json +0 -58
  90. package/ru/08-sidebar-terminal-archive.json +0 -48
  91. package/ru-plugins/01-token-dashboard.json +0 -83
  92. package/ru-plugins/02-subscriptions.json +0 -40
  93. package/ru-plugins/03-dshmarket.json +0 -539
  94. package/ru-plugins/04-context-doctor.json +0 -64
  95. package/ru-plugins/05-plugins-store.json +0 -81
  96. package/ru-plugins/06-im-hub.json +0 -97
  97. package/ru-plugins/07-better-sidebar.json +0 -490
  98. package/ru-plugins/08-task-board.json +0 -126
  99. package/ru-plugins/09-dshmarket-1.13.json +0 -46
  100. package/ru-plugins/10-kanban.json +0 -460
  101. package/ru-plugins/11-skill-hub.json +0 -257
  102. package/ru-plugins/12-skills-manager.json +0 -222
  103. package/ru-plugins/13-agent-teams.json +0 -193
  104. package/ru-plugins/14-ollama-cloud.json +0 -72
  105. package/ru-plugins/15-commandcode.json +0 -253
  106. package/ru-plugins/16-usage-stats.json +0 -126
  107. package/ru-plugins/17-dsh-context.json +0 -321
  108. package/ru-plugins/18-opencode-palette.json +0 -31
  109. package/ru-plugins/19-univer-office.json +0 -57
  110. package/ru-plugins/20-skill-explorer.json +0 -69
  111. package/ru-plugins/21-auto-collapse.json +0 -16
  112. package/ru-plugins/22-subagent-director.json +0 -142
  113. package/ru-plugins/23-moa.json +0 -214
  114. package/ru-plugins/24-personal-directive.json +0 -9
  115. package/ru-plugins/25-hooks.json +0 -11
  116. package/ru-plugins/26-config-manager.json +0 -468
  117. package/ru-plugins/27-config-manager-sync.json +0 -202
  118. package/ru-plugins/28-config-manager-market.json +0 -142
  119. package/ru-plugins/29-config-manager-recovery.json +0 -102
  120. package/ru-plugins/30-config-manager-history.json +0 -55
  121. package/ru-plugins/31-dshhub-market.json +0 -398
  122. package/ru-plugins/32-vision-bridge.json +0 -216
  123. package/ru-plugins/33-messenger-gateway.json +0 -236
  124. package/ru-plugins/34-key-rotation.json +0 -217
  125. package/ru-plugins/35-gitea.json +0 -174
  126. package/ru-plugins/36-cost-meter.json +0 -90
  127. package/ru-plugins/37-time-machine.json +0 -38
  128. package/ru-plugins/38-context-lens.json +0 -36
  129. package/ru-plugins/39-shadow-auditor.json +0 -67
  130. package/ru-plugins/40-clinebot.json +0 -142
  131. package/ru-plugins/41-lanmode.json +0 -164
  132. package/ru-plugins/42-plugin-console.json +0 -382
  133. package/ru-plugins/43-better-input.json +0 -127
  134. package/ru-plugins/44-auto-review.json +0 -83
  135. package/ru-plugins/45-session-control.json +0 -122
  136. package/ru-plugins/46-memory-brain.json +0 -33
  137. package/ru-plugins/47-llm-wiki.json +0 -26
  138. package/ru-plugins/48-task-tracker.json +0 -19
  139. package/ru-plugins/49-usage-guard.json +0 -51
  140. package/ru-plugins/50-automode.json +0 -46
  141. package/ru-plugins/51-plugin-guard.json +0 -12
  142. package/ru-plugins/52-navbar.json +0 -6
  143. package/ru-plugins/53-remote-workspace.json +0 -140
  144. package/ru-plugins/54-workshop-market.json +0 -58
  145. package/ru-plugins/55-skin-center.json +0 -97
  146. package/ru-plugins/56-cron.json +0 -334
  147. package/ru-plugins/57-live-canvas.json +0 -121
  148. package/ru-plugins/58-grok-xsearch.json +0 -80
  149. package/ru-plugins/59-goal.json +0 -54
  150. package/ru-plugins/60-model-sync.json +0 -121
  151. package/ru-plugins/61-issue-reporter.json +0 -192
  152. package/ru-plugins/62-model-search.json +0 -22
  153. package/ru-plugins/63-agent-orchestrator.json +0 -11
  154. package/ru-plugins/64-key-limits.json +0 -27
  155. package/ru-plugins/65-subscriptions.json +0 -185
  156. package/ru-plugins/66-tts.json +0 -211
  157. package/ru-plugins/67-voice.json +0 -158
  158. package/ru-plugins/68-image-gen.json +0 -143
  159. package/ru-plugins/69-plugin-notify.json +0 -29
@@ -0,0 +1 @@
1
+ {"dsh-kanban":{"DEFAULT_BOARDS.main.title":"Проектная доска","DEFAULT_BOARDS.simple.title":"Простая доска","acceptance.accept":"Принять (Выполнено)","acceptance.acceptAndMerge":"Принять и смержить ветку","acceptance.merging":"Выполняется слияние ветки…","acceptance.reject":"Вернуть на доработку","acceptance.rejectReasonPlaceholder":"Укажите, что необходимо исправить или доработать...","acceptance.rejectSubmit":"Отправить на доработку","acceptance.rejectTitle":"Возврат на доработку","acceptance.rejectedAlert":"Возвращено на доработку: {reason}","acceptance.rejectedBadge":"На доработке","acceptance.title":"Приёмка и проверка задачи","action.exportCsv":"Экспорт доски в CSV","action.resume":"Возобновить выполнение","archive.empty":"В архиве пусто.","archive.hint":"Карточки, отстоявшие свой срок в «Выполнено». Ничего не удалено: возвращённая карточка встаёт в ту же колонку, откуда ушла.","archive.restore":"Вернуть на доску","archive.since":"в архиве {ago}","archiveAfterDays":"Через сколько дней в колонке «Выполнено» карточка уходит в архив. Ноль — не убирать.","batch.hint":"Одна сессия на все. Задачи приходят по очереди: агент берёт следующую, закончив текущую. В «В работе» уезжает только первая — остальные ждут своей очереди там, где лежат.","batch.start":"Запустить","batch.title":"Запустить {n} задач в одном чате","board.allRepos":"Все репозитории","board.archive":"Архив","board.back":"В чат","board.backHint":"Закрыть доску и вернуться в разговор","board.clearFilters":"Снять отборы","board.collapse":"Свернуть колонку","board.empty":"Задач пока нет.","board.expand":"Развернуть колонку","board.export":"Скачать","board.exportHint":"Экспортировать всю доску в файл JSON","board.import":"Импорт","board.imported":"Импортировано {n} задач","board.limit":"предел {n}","board.loading":"Доска загружается…","board.metrics":"Метрики","board.mine":"Мои: {n}","board.mineHint":"Задачи, назначенные на {who}","board.newTask":"Задача","board.noMatch":"Ничего не найдено.","board.noRepo":"без проекта","board.overdueCount":"Просрочено: {n}","board.overdueHint":"Показать только просроченные задачи","board.pickArchive":"В архив","board.pickMove":"Перенести…","board.pickNone":"Снять выбор","board.pickStart":"Запустить выбранные","board.pickUnqueue":"Снять с очереди","board.pickedCount":"выбрано {n}","board.refresh":"Обновить","board.repo":"репозиторий","board.search":"Поиск","board.shown":"показано {shown} из {total}","board.someFailed":"Сделано у {done} из {total}, остальные отказали.","board.sync":"Сверить с Gitea","board.syncing":"Сверяю…","board.waitCount":"Ждут ответа: {n}","board.waitCountHint":"Задачи, где агент задал вопрос или просит разрешения.","board.waiting":"нужен человек","boardName.main":"Проектная доска","boardName.simple":"Простая доска","boardToolEnabled":"Разрешить агенту двигать карточки инструментом board_move.","card.assigneeHint":"Кто взял задачу","card.attach":"Прикрепить файл","card.checklist":"Чеклист","card.comments":"Комментарии","card.created":"Создано {date}","card.deadline":"Срок выполнения","card.deleteConfirm":"Удалить эту карточку?","card.description":"Описание задачи","card.due":"срок {date}","card.dueDate":"Крайний срок","card.edit":"Редактировать","card.labels":"Метки","card.move":"Переместить в колонку","card.pack":"пачка {at} из {total}","card.packHint":"Запущены вместе, одной сессией; агент берёт их в этом порядке.","card.pick":"Отметить для группового запуска","card.priority":"Приоритет","card.progress":"Прогресс","card.queue":"в очередь...","card.revive":"Восстановить","card.stop":"остановить","card.tags":"Теги","card.title":"Название карточки","card.toChat":"перейти в чат","card.unqueue":"снять с очереди","checklist.add":"Добавить","checklist.empty":"Критерии готовности ещё не настроены.","checklist.evidence":"Подтверждение: {text}","checklist.placeholder":"Новый критерий готовности...","checklist.progress":"DoD: {done} из {total}","checklist.required":"Обязательно","checklist.title":"Критерии готовности (DoD)","chip.moveTo":"Перенести в","chip.note":"Оставить заметку","chip.noteHint":"Заметка дописывается в тело задачи. Тело уходит агенту первым сообщением, поэтому заметка до запуска попадёт в работу, а после запуска — нет.","chip.noteSave":"Дописать","chip.openCard":"Перейти к карточке","column.addCard":"+ Добавить карточку","column.backlog":"Бэклог","column.cleanup":"Уборка","column.clear":"Очистить колонку","column.collapse":"Свернуть колонку","column.delete":"Удалить колонку","column.deploy":"Выкатка","column.done":"Выполнено","column.empty":"В этой колонке нет задач","column.expand":"Развернуть колонку","column.in-progress":"В работе","column.limit":"Лимит WIP: {n}","column.rename":"Переименовать колонку","column.review":"Ревью","column.title":"Название колонки","columnNames":"Свои названия колонок парами «идентификатор=Название» через запятую. Пусто — обычные названия.","comments.add":"Опубликовать комментарий","comments.authorAgent":"Агент","comments.authorUser":"Пользователь","comments.empty":"Комментариев пока нет.","comments.placeholder":"Добавьте заметку или отзыв...","comments.title":"Обсуждение и комментарии","console.empty":"Вывод агента пока не записан.","console.tab":"Живая консоль","defaultProjectRoot":"Корень, в котором лежат рабочие копии проектов. Пусто — рабочая папка харнесса.","dialog.archived":"архив","dialog.bodyHint":"Уйдёт агенту первым сообщением при запуске задачи.","dialog.cancel":"Отмена","dialog.create":"Создать","dialog.fromGitea":"Из Gitea","dialog.imported":"уже на доске","dialog.kind":"Какая это задача","dialog.kindPlain":"Не проект","dialog.kindPlainHint":"Заметка, не относящаяся ни к какому репозиторию. Живёт на простой доске и в Gitea не попадает.","dialog.kindProject":"Проект","dialog.kindProjectHint":"В Gitea заводится issue, карточка привязывается к нему и живёт на проектной доске.","dialog.labelsHint":"через запятую","dialog.loadingRepos":"Репозитории загружаются…","dialog.noIssues":"Открытых issue не найдено.","dialog.noRepos":"Репозиториев нет","dialog.own":"Своя задача","dialog.pickRepo":"Выберите репозиторий","dialog.repo":"Репозиторий","dialog.repoNamePlaceholder":"имя нового репозитория, латиницей","dialog.repoNew":"— новый репозиторий —","dialog.repoNewHint":"Будет создан в организации: приватный и пустой, без README и заготовок. Создание репозитория отсюда не отменить.","dialog.taskBody":"Описание","dialog.taskColumn":"Колонка","dialog.taskLabels":"Метки","dialog.taskTitle":"Заголовок","dialog.title":"Новая задача","diff.additions":"Добавлено","diff.author":"Автор","diff.branch":"Ветка: {name}","diff.cherryPick":"Перенести коммит (Cherry-pick)","diff.commits":"Коммиты задачи ({n})","diff.date":"Дата","diff.deletions":"Удалено","diff.empty":"Нет коммитов или изменений файлов для этой задачи.","diff.filesChanged":"Изменено файлов: {n}","diff.hash":"Хеш","diff.hide":"Скрыть просмотр diff","diff.loadFailed":"Не удалось загрузить изменения: {error}","diff.loading":"Загрузка коммитов и diff…","diff.mergeConflict":"Обнаружены конфликты слияния","diff.mergeFailed":"Сбой слияния ветки: {error}","diff.mergeSuccess":"Ветка успешно смержена в основную","diff.message":"Сообщение коммита","diff.resolveConflicts":"Разрешить конфликты","diff.revert":"Откатить коммит","diff.show":"Показать просмотр diff","diff.staged":"Подготовленные изменения","diff.title":"Изменения в ветке задачи","diff.truncated":"Дифф обрезан (превышен лимит)","diff.uncommitted":"Незакоммиченные изменения","diff.view":"Просмотр изменений","discard":"Отменить","epic.addSubtask":"Добавить подзадачу","epic.badge":"Эпик","epic.createGiteaIssues":"Также создать связанные задачи в Gitea","epic.noSubtasks":"Подзадач пока нет.","epic.progress":"Подзадач: {done}/{total}","epic.subtasks":"Подзадачи","epic.triage":"Декомпозировать","epic.triageHelp":"Введите по одному названию подзадачи в строке. Дочерние задачи будут привязаны к этому эпику.","epic.triageSubmit":"Создать подзадачи","epic.triageTitle":"Декомпозиция задачи на подзадачи","error.bad-repo-name":"В имени репозитория допустимы только латинские буквы, цифры, точка, дефис и подчёркивание.","error.badImport":"Неверный формат файла импорта","error.crossSite":"Запрос отклонён как межсайтовый.","error.gitea-unreachable":"Сервер Gitea недоступен","error.giteaAbsent":"Плагин Gitea не установлен, импорт недоступен.","error.giteaUnconfigured":"Сначала настройте Gitea в карточке плагина Gitea.","error.issue-not-created":"Issue не заведён. Если репозиторий был новым, он остался — ничего не удалено.","error.issueNotFound":"Issue не найден.","error.modelNotSelected":"Модель не выбрана — задайте её в настройках или укажите здесь.","error.no-live-sessions":"Нет ни одной идущей сессии, в очередь ставить некуда.","error.permission-refused":"Уровень доступа не принят, задача не запущена.","error.permission-unavailable":"В этой сборке уровней доступа нет — задача не запущена, чтобы не пойти с бо́льшими правами, чем просили.","error.repo-not-created":"Репозиторий не создан; больше ничего не сделано.","error.repo-required":"Выберите репозиторий или назовите новый.","error.session-not-live":"Эта сессия больше не идёт.","error.sessionNotOpened":"Сессия поднята ({id}), но эта сборка не умеет в неё переключиться. Найдите её в списке сессий.","error.startFailed":"Не удалось поднять сессию.","error.task-not-queued":"Задача не стоит в очереди.","error.taskHasNoIssue":"За этой задачей нет issue в Gitea.","error.taskNotFound":"Задача не найдена.","error.titleRequired":"Нужен заголовок.","error.unknown":"Запрос не выполнен.","facet.assignee":"Исполнитель","facet.author":"Автор","facet.priority":"Приоритет","facet.release":"Выпуск","facet.repo":"Репозиторий","facet.risk":"Риск","facet.scope":"Область","facet.signal":"Сигнал","facet.status":"Статус","facet.type":"Тип","field.announceToAgent":"Уведомлять агента об изменениях","field.archiveAfterDays":"Убирать в архив из «Выполнено» через, дней","field.autoSyncSessions":"Автосинхронизация внешних сессий чата","field.boardToolEnabled":"Разрешить агенту двигать карточки","field.columnNames":"Свои названия колонок","field.cronEnabled":"Включить планировщик задач","field.defaultProjectRoot":"Корень проектов","field.giteaOwner":"Организация Gitea","field.giteaTokenRef":"Имя учётной записи","field.giteaUrl":"Адрес инстанса","field.maxConcurrentSessions":"Макс. параллельных сессий агентов","field.permissionGateEnabled":"Контроль прав доступа к доске","field.preventIdleSleep":"Предотвращать засыпание при активных задачах","field.progressDumpEnabled":"Дамп прогресса выполнения","field.pushToGitea":"Закрывать issue в Gitea","field.replyInstruction":"Постоянная приписка","field.sessionDefaultPermission":"Права доступа сессии по умолчанию","field.staleAfterMin":"Считать задачу молчащей после, минут","field.startPrompt":"Шаблон первого сообщения","field.syncIntervalSec":"Сверяться с Gitea раз в, секунд","field.watchRepos":"Сузить подхват до репозиториев","field.webhookSecretRef":"Имя учётной записи для вебхука","field.wipInProgress":"Предел «В работе»","field.wipReview":"Предел «Ревью»","field.workspaceClaimBoundaries":"Границы захвата рабочей области","field.worktreeIsolation":"Изоляция рабочих деревьев (worktree)","field.worktreeRoot":"Корневой каталог worktree","filter.active":"Активные","filter.all":"Все задачи","filter.assignee":"Исполнитель","filter.epics":"Эпики","filter.label":"Метка","filter.overdue":"Просроченные","filter.priority":"Приоритет","filter.review":"На проверке","filter.search":"Поиск задач…","filter.stale":"Без активности","giteaOwner":"Организация Gitea, чьи репозитории смотрит доска. Пусто — определяется сама, если организация одна.","giteaTokenRef":"ИМЯ учётной записи DSH, в которой лежит токен. Сам токен сюда не вводить.","giteaUrl":"Адрес инстанса Gitea или Forgejo, например https://gitea.example.com. Пусто — импорт недоступен.","group.assignee":"По исполнителям","group.general":"Общее","group.gitea":"Gitea","group.limits":"Пределы колонок","group.nobody":"Без исполнителя","group.repo":"По репозиториям","group.sync":"Автоперемещение","hint.announceToAgent":"Автоматически отправлять агенту сообщения о перемещении карточек","hint.archiveAfterDays":"Считается с попадания карточки в «Выполнено». Ноль — оставлять всё на доске.","hint.autoSyncSessions":"Автоматически создавать карточки на доске для стандартных диалогов чата DSH.","hint.boardToolEnabled":"Выключено, пока скилл воркфлоу запрещает этому CLI трогать канбан.","hint.columnNames":"Пары «идентификатор=Название» через запятую, например «backlog=Идеи, review=Проверка». Пусто — обычные названия.","hint.cronEnabled":"Запуск фоновых периодических проверок статусов задач","hint.defaultProjectRoot":"Где лежат рабочие копии проектов. Пусто — рабочая папка харнесса.","hint.giteaOwner":"Чьи репозитории смотрит доска. Пусто — определится сама, пока у токена ровно одна организация.","hint.giteaTokenRef":"ИМЯ учётной записи DSH, в которой лежит токен. Сам токен сюда не вводить.","hint.giteaUrl":"Например https://gitea.example.com. Пусто — импорт недоступен.","hint.label":"Пусто — метка для этой колонки не ставится.","hint.limit":"Ноль — без предела. Превышение подсвечивается, но не запрещается.","hint.permissionGateEnabled":"Требовать подтверждения при выполнении деструктивных операций","hint.preventIdleSleep":"Не усыплять фоновый процесс DSH, пока есть незавершённые задачи","hint.progressDumpEnabled":"Периодически сохранять прогресс выполнения в файл progress.md","hint.pushToGitea":"Карточка, дошедшая до «Выполнено», закрывает свой issue. Меток доска не ставит: стадия и так видна по ветке и pull request.","hint.replyInstruction":"Дописывается к каждому первому сообщению — например язык ответа. Пусто — ничего не добавляется.","hint.sessionDefaultPermission":"Уровень прав, выдаваемый сессиям без явных настроек","hint.staleAfterMin":"Помечаются только задачи с сессией. Ноль отключает отметку.","hint.startPrompt":"Шаблон первого сообщения агенту. Пусто — встроенный шаблон.","hint.syncIntervalSec":"Ноль отключает сверку. Меньше пятнадцати секунд поднимается до пятнадцати.","hint.watchRepos":"Через запятую, «владелец/репо» или просто «репо». Пусто — все репозитории организации, где есть открытые задачи.","hint.webhookSecretRef":"ИМЯ учётной записи DSH с секретом вебхука Gitea. Пусто — остаётся только опрос.","hint.worktreeIsolation":"Создавать отдельный git worktree для каждой задачи","hint.worktreeRoot":"Каталог, в котором создаются временные изолированные worktree","import.error":"Ошибка импорта JSON доски","import.success":"Доска успешно импортирована","label.assigned":"Назначено","label.blocked":"Заблокировано","label.completed":"Выполнено","label.inProgress":"В работе","label.pending":"В очереди","label.review":"На проверке","metrics.columns":"Время в колонках","metrics.completed":"Завершено задач: {n}","metrics.cycleTime":"Среднее время выполнения: {days} дн.","metrics.empty":"Переходов ещё не было — измерять нечего.","metrics.hint":"{n} задач на доске • выполнено за неделю: {week} • за месяц: {month}","metrics.leadTime":"Общее время от создания: {days} дн.","metrics.leadTimeAvg":"Средний Lead Time","metrics.mean":"среднее {time}","metrics.median":"медиана {time}","metrics.noStale":"Ни одна задача не задерживалась так долго.","metrics.stale":"Без движения дольше {days} дн.","metrics.throughput":"Пропускная способность","metrics.total":"Всего задач: {n}","metrics.wip":"Задач в работе (WIP): {n}","metrics.wipLimit":"Лимит задач в работе (WIP)","modal.confirmDelete":"Подтверждение удаления","modal.createTask":"Создание новой задачи","modal.editTask":"Редактирование задачи","move.backlog":"Работа по задаче останавливается: идущий ход агента будет прерван. Если сессии нет, карточка просто переедет.","move.cleanup":"Агент удалит ветку в Gitea, worktree и локальную ветку и запишет это в issue.","move.confirm":"Перенести","move.deploy":"Агент вольёт pull request и выкатит. Сам перенос в эту колонку И ЕСТЬ ваше «ок» на deploy — второй раз агент спрашивать не станет.","move.done":"Задача считается завершённой. Это решение человека: сам агент карточку сюда не переносит.","move.in-progress":"Агент получит команду начать или продолжить реализацию.","move.review":"Агент доведёт работу до ревью: снимет с pull request пометку черновика и запросит проверку.","move.title":"Перенести в «{column}»?","nav.all":"Все доски","nav.back":"Назад к доске","nav.settings":"Настройки доски","order.manual":"Как разложено","order.new":"Сначала новые","order.old":"Сначала старые","panel.agentPreset":"Профиль агента","panel.archive":"В архив","panel.assignDrop":"Отказаться","panel.assignMe":"Взять себе","panel.assignee":"взял {who}","panel.author":"завёл {who}","panel.bodyLoading":"читаю описание…","panel.cleanupWorktree":"Очистить worktree","panel.close":"Закрыть","panel.continue":"Продолжить","panel.continueHint":"У задачи один чат: открывается прежняя сессия, а не новая.","panel.created":"заведена {ago} назад","panel.delete":"Удалить","panel.deleteConfirm":"Удалить «{title}»? Отменить будет нельзя.","panel.due":"Срок","panel.issue":"Issue","panel.labels":"Метки","panel.log":"Переходы","panel.message":"Сообщение агенту","panel.messageHint":"Правьте перед отправкой. Пустое — уйдёт встроенный текст.","panel.model":"Модель","panel.noLog":"Переходов пока нет.","panel.noModels":"У этого провайдера нет моделей","panel.noProviders":"Провайдеров нет","panel.openChat":"Открыть чат","panel.permission":"Уровень доступа","panel.pickModel":"Выберите модель","panel.pickProvider":"Выберите провайдера","panel.pickProviderFirst":"Сначала выберите провайдера","panel.presetDefault":"Как в харнессе по умолчанию","panel.priority":"Приоритет","panel.priorityNone":"Без приоритета","panel.provider":"Провайдер","panel.refresh":"Обновить из Gitea","panel.saveEdit":"Сохранить","panel.start":"Начать","panel.startHint":"Откроется отдельная сессия агента по этой задаче. Ветку и worktree заводит агент после preflight, а не отсюда.","panel.starting":"Запускается…","panel.updated":"последнее изменение {ago} назад","panel.workDir":"Рабочая папка: {path}","panel.workDirHint":"Корень проекта не указан в настройках, поэтому используется эта папка.","panel.worktree":"Worktree: {path}","panel.worktreeDirty":"Незакоммиченные изменения в worktree: {files}","plan.counter":"{done} из {total}","plan.title":"План агента","pr.create":"Создать PR в Gitea","pr.created":"PR #{n} создан","pr.creating":"Создание PR…","pr.view":"Открыть PR","priority.high":"Высокий","priority.highest":"Критический","priority.low":"Низкий","priority.lowest":"Минимальный","priority.medium":"Средний","priority.normal":"Обычный","priority.urgent":"Срочный","queue.add":"В очередь","queue.hint":"Задача встанет в очередь сессии: агент возьмёт её, закончив текущую работу. До этого карточка остаётся там, где лежит.","queue.option":"{title} - задач: {n}","queue.session":"Сессия","queue.title":"Поставить в очередь идущей сессии","reasoning.default":"По умолчанию (модель)","reasoning.high":"Высокое (глубокие рассуждения)","reasoning.label":"Глубина рассуждений","reasoning.low":"Низкая (быстро / экономно)","reasoning.medium":"Средняя (сбалансировано)","replyInstruction":"Постоянная приписка к первому сообщению — например язык ответа. Пусто — ничего не добавляется.","report.artifacts":"Артефакты","report.changedFiles":"Изменённые файлы","report.checksRun":"Проверки и тесты","report.risks":"Риски и примечания","report.summary":"Сводка","report.title":"Отчёт о выполнении","revive.fresh":"Предыдущая сессия завершена, поэтому запущена новая; старый чат больше недоступен.","revive.same":"Предыдущая сессия восстановлена — чат на том месте, где вы остановились.","save":"Сохранить","section.label":"Канбан","settings.autoArchive":"Автоархивация завершённых задач","settings.autoArchiveHint":"Перемещать завершённые задачи в архив через указанное число дней","settings.boardName":"Название доски","settings.columns":"Колонки доски","settings.description":"Описание канбан-доски","settings.general":"Основные настройки","settings.integrations":"Интеграции","settings.loading":"Загрузка настроек доски…","settings.readOnly":"Настройки в этой сессии доступны только для чтения.","settings.save":"Сохранить настройки","settings.saveFailed":"Не сохранены поля: {fields}","settings.saved":"Настройки сохранены","settings.saving":"Сохранение настроек…","settings.unavailable":"Хост не знает пространство настроек dsh-kanban. Перезапустите веб-интерфейс после установки плагина.","slash.hint":"Введите / для списка команд и навыков","staleAfterMin":"После скольких минут молчания задача с сессией помечается тревожно. Ноль — не помечать.","startPrompt":"Шаблон первого сообщения агенту. Пусто — встроенный шаблон.","state.queued":"в очереди · {n}","state.running":"в работе","state.stopped":"остановился","status.active":"Активна","status.archived":"В архиве","status.closed":"Закрыта","status.open":"Открыта","stop.idle":"Агент не работал, останавливать было нечего.","stop.no-session":"У задачи нет сессии.","subtitle":"Доска задач: issue из Gitea и отдельная сессия под задачу","sync.failed":"сверка не проходит","sync.lastSeen":"последняя удачная сверка {ago} назад","sync.never":"сверки с Gitea ещё не было","sync.neverSeen":"удачной сверки с запуска харнесса не было","sync.okAgo":"сверено {ago} назад","sync.running":"сверяемся с Gitea…","syncIntervalSec":"Как часто сверяться с Gitea, в секундах. Ноль — не сверяться.","task.confirmPermission":"Подтвердить права","task.cron":"Расписание Cron","task.nextRun":"Следующий запуск: {date}","task.noRuns":"Запусков ещё не было","task.permissionConfirmed":"Права подтверждены","task.permissionGateWarning":"Требуется подтверждение повышенных прав ({permission})","task.progressDump":"Дамп прогресса (Handover)","task.runs":"История выполнений","template.bugfix":"Исправление бага (Bugfix)","template.feature":"Новая функция (Feature)","template.label":"Шаблон задачи","template.none":"Без шаблона (пусто)","template.refactor":"Рефакторинг (Refactor)","template.release":"Релиз (Подготовка выпуска)","template.security":"Безопасность (Аудит и CVE)","time.day":"{n} дн","time.hour":"{n} ч","time.min":"{n} мин","time.now":"только что","title":"Канбан","view.analytics":"Аналитика","view.archive":"Архив","view.board":"Доска","view.calendar":"Календарь","view.gantt":"Диаграмма Ганта","view.list":"Список","view.table":"Таблица","watchRepos":"Сузить подхват до этих репозиториев, через запятую. Пусто — все репозитории организации, где есть открытые задачи.","wipInProgress":"Предел числа карточек в колонке «В работе». Ноль — без предела.","wipReview":"Предел числа карточек в колонке «Ревью». Ноль — без предела."}}
@@ -0,0 +1 @@
1
+ {"dsh-skill-hub":{"badge.source.bundled":"встроенный","badge.source.custom":"свой каталог","badge.source.project-agents":"проект .agents","badge.source.project-dsh":"проект .dsh","badge.source.runtime":"runtime","badge.source.user-agents":"пользователь .agents","badge.source.user-dsh":"пользователь .dsh","delete.confirm":"В корзину","delete.confirmText":"Переместить «{name}» в корзину? Его можно восстановить в любой момент.","delete.confirmTitle":"В корзину?","detail.addedAt":"Добавлен","detail.back":"К списку","detail.copied":"Скопировано","detail.copyMention":"Копировать $mention","detail.copyPath":"Копировать путь","detail.groups":"Группы","detail.loading":"Загрузка текста навыка…","detail.path":"Путь","detail.provider":"Провайдер","detail.updatedAt":"Обновлён","detail.uses":"Вызовы","detail.whenToUse":"Когда применять","diag.fix":"Исправить","diag.fixConfirm":"Перезаписать frontmatter этого файла автоисправлением? Сначала создайте резервную копию: {path}","diag.fixed":"Исправлено","diag.fixing":"Исправление…","entry.label":"Навыки","entry.tooltip":"Центр навыков: просмотр, группировка и синхронизация локальных навыков","err.dismiss":"Понятно","filter.allSources":"Все источники","filter.filteredSuffix":" · отфильтровано","filter.invocation":"Тип вызова","filter.invocationAll":"Все","filter.modelOnly":"Модель","filter.private":"Личные","filter.shortened":"Кратких описаний: {count}, наведите для полного текста","filter.showing":"Показано {shown} из {total} (включено){filtered}","filter.userOnly":"Пользователь","form.busy":"Создание…","form.cancel":"Отмена","form.capabilityHint":"Как выбрать способность: повторяемый метод → навык; внешняя система → MCP; долгосрочные знания → база знаний.","form.desc":"Описание (одно предложение для маршрутизации)","form.descPlaceholder":"Одна строка — что делает (с триггерными словами); по этому описанию агенты активируют навык","form.error":"Ошибка создания: ","form.name":"Имя навыка (kebab-case, например code-review)","form.root":"Целевой каталог","form.submit":"Создать","form.success":"Создано: ","group.bundled":"Встроенные","group.custom":"Пользовательские каталоги","group.other":"Другие источники","group.project-agents":"Проектные .agents/skills","group.project-dsh":"Проектные .dsh/skills","group.runtime":"Runtime","group.user-agents":"Пользовательские ~/.agents/skills","group.user-dsh":"Пользовательские ~/.dsh/skills","groups.closeAll":"Закрыть все","groups.conflictText":"Эти навыки включены и в других группах; их закрытие затронет и те группы:","groups.conflictTitle":"Закрыть эту группу?","groups.delete":"Удалить сценарий","groups.edit":"Изменить","groups.empty":"Сценариев ещё нет. Создайте один и начните раскладывать навыки.","groups.keepOn":"Оставить включёнными","groups.membersHint":"Отметьте навыки, чтобы добавить их в сценарий (включая отключённые).","groups.merge":"Объединить","groups.namePlaceholder":"Название сценария","groups.new":"Новый сценарий","groups.noCollections":"Групп по источникам пока нет. Импортируйте навыки из маркета — они сгруппируются по источникам.","groups.noWritable":"В группе нет перезаписываемых навыков (состояние навыков «только чтение» нельзя менять из центра)","groups.personal":"Личные","groups.project":"Проектные","groups.rename":"Сохранить название","groups.saveMembers":"Сохранить состав","groups.subdivide":"Разделить","legend.hint":"У навыка не более одной точки; нет точки = не вызывается.","legend.model":"Вызывается моделью — агенты могут вызывать автоматически","legend.user":"Вызывается пользователем — только явный вызов","market.add":"Добавить","market.addPlaceholder":"owner/repo или https://github.com/…","market.addSource":"Добавить источник","market.branchConfirm":"Подтвердить","market.branchHint":"У репозитория нет релизов. Выберите ветку для отслеживания (по умолчанию main):","market.branchTitle":"Выберите ветку","market.catalog.anthropics":"Официальная коллекция навыков Anthropic (Claude Skills)","market.catalog.mattpocock":"Коллекция навыков Matt Pocock","market.catalog.openDesign":"Коллекция навыков дизайна (design-templates)","market.catalog.superpowers":"Коллекция навыков сообщества Superpowers","market.catalogHint":"Отобранные репозитории навыков — добавьте, чтобы сканировать и устанавливать, с постоянной проверкой обновлений.","market.check":"Проверить","market.checkAll":"Проверить все","market.checkUpdate":"Проверить обновления","market.checking":"Проверка…","market.deleteSource":"Удалить источник","market.deletedUpstream":"Удалено в источнике: {count}","market.installed":"Установлено: {count}","market.newRelease":"Новая версия v{version}","market.noSources":"Источников пока нет. Добавьте из каталога ниже или введите репозиторий GitHub.","market.removeHint":"Удаление источника не затрагивает установленные навыки.","market.scan":"Сканировать","market.scanning":"Сканирование…","market.sync":"Синхронизировать","market.syncCancel":"Пропустить","market.syncNone":"Из этого репозитория пока не импортировано ни одного навыка.","market.syncText":"Источник выровнен с {ref}. Обновить эти локальные навыки?","market.syncTitle":"Обновить локальные навыки","market.syncing":"Синхронизация…","market.title":"Маркет","market.unpinned":"не закреплено","market.upToDate":"Актуально","market.updatable":"Обновляемо: {count}","market.update":"Обновить","market.updateAll":"Обновить всё","market.updateAllConfirmText":"Обновляемые навыки этих источников будут перезаписаны их новейшими версиями из источника:","market.updateAllConfirmTitle":"Обновить все навыки?","market.updateAllDone":"Обновлено источников: {count}","market.updateAllItem":"{repo} (навыков: {count})","market.updateCount":"Обновить {count}","market.updated":"Есть обновления","market.versionBranches":"Ветки","market.versionConfirm":"Переключить на {ref}","market.versionCurrent":"текущая {ref}","market.versionCustom":"Пользовательская (тег / ветка / коммит)","market.versionHint":"Нажмите для переключения отслеживаемой версии","market.versionReleases":"Релизы","market.versionText":"Выберите версию для отслеживания репозитория {repo}; после этого обновите и синхронизируйте навыки","market.versionTitle":"Переключить отслеживаемую версию","panel.count":"Всего навыков: {count}","panel.diagnostics":"Диагностика обнаружения","panel.disabled":"Отключено","panel.disabledCount":"Отключено: {count}","panel.empty":"Нет подходящих навыков.","panel.emptyAll":"Навыков пока нет. Создайте первый.","panel.enabled":"Включено","panel.incomplete":"(каталог может быть неполным)","panel.loading":"Загрузка…","panel.new":"Новый навык","panel.search":"Поиск навыков…","panel.title":"Центр навыков","panel.workspaceClear":"Очистить рабочую область","panel.workspaceHint":"Укажите путь проекта, чтобы показать навыки его .dsh/skills и .agents/skills (только чтение); очистите и нажмите Enter, чтобы вернуться к пользовательскому виду.","panel.workspacePlaceholder":"Путь рабочей области (Enter — применить)","repo.cancel":"Отмена","repo.cancelled":"Отменено · {imported}/{total} сохранено, временные файлы удалены","repo.clearAll":"Очистить","repo.empty":"Импортируемых навыков не найдено.","repo.existing":"Существующие","repo.failed":"Не удалось: {count}","repo.files":"Файлов: {count} · {size}","repo.import":"Импортировать выбранные ({count})","repo.imported":"Импортировано: {count}","repo.importing":"Импорт…","repo.importingCurrent":"Импорт: {name} ({done}/{total})","repo.ready":"Найдено импортируемых навыков: {count}","repo.root.designTemplates":"Шаблоны design-templates","repo.root.generic":"{root}","repo.root.skills":"Навыки (skills)","repo.selectAll":"Выбрать все","repo.skippedExisting":"Пропущено существующих: {count}","repo.truncated":"⚠ Репозиторий слишком большой, показаны не все навыки (сокращено GitHub)","row.copied":"Скопировано","row.copy":"Копировать","row.copyMention":"Копировать $mention","row.copyPath":"Копировать путь","row.delete":"В корзину","row.disable":"Отключить","row.duplicate":"дубликат","row.duplicateHint":"Это имя предоставляется несколькими источниками; показан наиболее приоритетный","row.enable":"Включить","row.open":"Подробнее о навыке {name} (Enter)","row.readonly":"только чтение","settings.announceToAgent":"Объявлять агенту","settings.announceToAgentHint":"Добавляет раздел в системный промпт, чтобы агенты знали, как сотрудничать, когда пользователь упоминает управление навыками.","settings.collapse":"Скрыть настройки","settings.description":"Управление локальным каталогом навыков dsh: просмотр, группировка, синхронизация источников и создание.","settings.discard":"Отменить","settings.dotModelColor":"Цвет точки «вызывается моделью»","settings.dotModelColorHint":"Цвет синей точки «модель может вызвать» в панели навыков и чате/меню (#rrggbb).","settings.dotUserColor":"Цвет точки «вызывается пользователем»","settings.dotUserColorHint":"Цвет зелёной точки «только пользователь» в панели навыков и чате/меню (#rrggbb).","settings.enabled":"Включить плагин","settings.enabledHint":"Отключает маршруты, элементы и объявление центра навыков.","settings.expand":"Показать настройки","settings.inherit":"Наследовать","settings.notExposed":"Это развёртывание не предоставляет пространство настроек.","settings.off":"Выкл","settings.on":"Вкл","settings.overridden":"Переопределено","settings.readOnly":"Настройки этого развёртывания доступны только для чтения.","settings.reset":"Сбросить к значению по умолчанию","settings.save":"Сохранить","settings.saveFailed":"Развёртывание не приняло эти значения; они оставлены для исправления.","settings.saving":"Сохранение…","settings.showGroupSummary":"Показывать сводку по группам","settings.showGroupSummaryHint":"После заголовков групп показывать число вызовов и время последнего вызова.","settings.showUseCount":"Показывать число вызовов","settings.showUseCountHint":"Показывать янтарный счётчик вызовов рядом с именем навыка.","settings.showUseTime":"Показывать время последнего вызова","settings.showUseTimeHint":"Показывать относительное время в строке имени (например «3 дн назад»).","settings.statsScanMinutes":"Интервал автостатистики (минут)","settings.statsScanMinutesHint":"Как часто фоновое сканирование журналов сессий выполняется (минимум 1); тяжёлые сканирования автоматически растягивают интервал.","settings.statsWindowDays":"Окно статистики (дней)","settings.statsWindowDaysHint":"Учитывать использование только за последние N дней (по умолчанию 14); 0 = вся история. Изменения применяются сразу.","settings.title":"Центр навыков","settings.unsaved":"Есть несохранённые","sort.added":"По дате добавления","sort.name":"По названию","sort.uses":"По числу вызовов","source.check":"Проверить обновления","source.checkHint":"Нажмите, чтобы проверить источник на обновления","source.checking":"Проверка…","source.clearTrash":"Очистить корзину","source.clearTrashConfirm":"Удалить безвозвратно","source.clearTrashConfirmText":"Навыки в корзине будут удалены безвозвратно и не могут быть восстановлены.","source.clearTrashConfirmTitle":"Очистить корзину?","source.commit":"Синхронизированная ревизия","source.deleteConfirmText":"Эти навыки удалены из источника; их локальные каталоги уйдут в корзину (восстановимо):","source.deleteConfirmTitle":"Согласиться с удалением в источнике?","source.deleteGroup":"Удалить группу","source.deleteGroupHint":"Удалить все навыки ({count}) этой группы","source.deleteGroupText":"Все навыки ({count}) группы «{name}» будут перемещены в корзину (восстановимо); навыки «только чтение» будут пропущены:","source.deleteGroupTitle":"Удалить группу?","source.deleted":"Удалено в источнике: {count}","source.error":"Проверка не удалась","source.followDelete":"Согласиться с удалением","source.private":"Личный навык (не привязан к источнику; проверки обновлений нет)","source.restore":"Восстановить","source.sync":"Синхронизировать","source.syncConfirmText":"Локальные изменения этих навыков будут перезаписаны новейшими версиями из источника:","source.syncConfirmTitle":"Синхронизировать навыки?","source.syncing":"Синхронизация…","source.throttled":"Недавно проверено","source.trash":"Корзина","source.unverified":"источник ещё не проверен","source.upToDate":"Актуально","source.updated":"Обновлений: {count}","time.daysAgo":"{value} дн назад","time.hoursAgo":"{value} ч назад","time.justNow":"только что","time.minutesAgo":"{value} мин назад","time.weeksAgo":"{value} нед назад","update.available":"Доступно обновление: v{version} (текущая v{current})","update.check":"Проверить обновления","update.checking":"Проверка…","update.error":"Не удалось проверить обновления: {error}","update.newVersion":"Новая версия v{version}","update.unavailable":"Нет доступных релизов","update.upToDate":"Актуальная версия: v{version}","update.viewRelease":"Открыть релиз","view.flat":"Списком","view.grouped":"По группам","view.market":"Маркет","view.scenes":"Сценарии","view.sources":"Источники"}}
@@ -0,0 +1 @@
1
+ {"skills-manager":{"action.create":"создание","action.delete":"удаление","action.disable":"отключение","action.enable":"включение","action.restore":"восстановление","action.toggle":"включение или отключение","btn.cancel":"Отмена","btn.close":"Закрыть","btn.create":"Создать навык","btn.create.now":"Создать навык","btn.delete.forever":"Удалить безвозвратно","btn.detail":"Подробнее","btn.disable":"Отключить","btn.enable":"Включить","btn.file.pick":"Выбрать файл","btn.folder.pick":"Выбрать папку","btn.import":"Импорт","btn.import.now":"Установить","btn.refresh":"Обновить","btn.repair.enable":"Исправить и включить","btn.restore":"Восстановить","btn.trash":"В корзину","confirm.delete.desc":"«{name}» будет безвозвратно удалён из корзины; восстановить невозможно.","confirm.delete.title":"Удалить безвозвратно?","confirm.trash.desc":"«{name}» будет перемещён из текущего источника в корзину; позже его можно восстановить на прежнее место.","confirm.trash.title":"Отправить в корзину?","create.body":"Текст (Markdown)","create.body.placeholder":"Опишите инструкции, шаги и границы навыка…","create.chat.note":"Команда create_skill в чате по-прежнему создаёт пользовательский навык DSH; проектный навык можно создать здесь, выбрав активный проект.","create.description":"Описание","create.description.placeholder":"Одно предложение — когда использовать","create.globalTarget":"Глобальный DSH","create.name":"Название","create.name.placeholder":"например code-review-helper","create.target":"Место создания","create.title":"Создать навык","desc":"Единая загрузка и управление Agent-навыками на этом компьютере.","detail.body":"Текст","detail.diagnostics":"Диагностика","detail.frontmatter":"Frontmatter","detail.noIssues":"Проблем не обнаружено.","detail.path":"Исходный файл","detail.title":"Подробности навыка","diagnostic.description.missing":"В frontmatter нет description","diagnostic.frontmatter.missing":"Отсутствует полный YAML frontmatter","diagnostic.invocation.invalid":"Недопустимое значение политики вызова","diagnostic.name.invalid":"Имя навыка не соответствует kebab-case: {name}","diagnostic.name.missing":"В frontmatter нет name","diagnostic.shadowed":"Перекрыт источником с более высоким приоритетом {root}","empty.search":"Подходящих навыков нет.","empty.source":"Этого каталога не существует или в нём пока нет навыков.","error.action":"Действие не удалось: {error}","error.browse.absolute":"Путь к папке должен быть абсолютным: {path}","error.browse.notDirectory":"Это не папка: {path}","error.browse.unreadable":"Не удалось прочитать папку: {path}","error.create.bodyRequired":"Текст навыка обязателен","error.create.conflict":"Навык с таким именем уже существует: {name}","error.create.descriptionRequired":"Описание навыка обязательно","error.create.tooLarge":"Содержимое навыка слишком велико","error.import.duplicateName":"В пакетном источнике есть навыки с одинаковыми именами: {name}","error.import.emptySource":"В каталоге не найдено ни одного элемента навыков: {path}","error.import.failed":"Импорт не удался","error.import.invalidName":"Не удалось сгенерировать корректное имя kebab-case (исходное: {name})","error.import.overlap":"Источник импорта не может совпадать с каталогом навыков DSH, содержать или находиться внутри него","error.import.rollbackFailed":"Откат перезаписывающего импорта не удался; резервные копии сохранены в: {path} ({error})","error.proto.bodyTooLarge":"Тело запроса слишком велико","error.proto.contentType":"Тело запроса должно быть application/json","error.proto.forbidden":"Запрещённый запрос на изменение (нет клиентского маркера)","error.proto.forbiddenHost":"Запрещённый источник запроса (неверный Host)","error.proto.invalidJson":"Тело запроса — не корректный JSON","error.proto.method":"Метод не поддерживается","error.proto.nonJson":"Сервер вернул ответ не в формате JSON (HTTP {status})","error.proto.unknownAction":"Неизвестное действие","error.root.readonly":"Этот источник не разрешает: {action}","error.root.unknown":"Неизвестный источник навыков: {root}","error.root.unsafe":"Каталог проектных навыков небезопасен, запись отклонена: {path}","error.skill.noFrontmatter":"У навыка неполный frontmatter, нельзя выполнить «{action}»: {name}","error.skill.notFound":"Навык не найден: {name}","error.skill.notLoadable":"Структура навыка неполная, невозможно выполнить {action}: {name}","error.source.notFound":"Путь не существует: {path}","error.source.symlink":"Источники навыков с символическими ссылками не поддерживаются: {path}","error.source.tooDeep":"Глубина каталога источника превышает {depth} уровней: {path}","error.source.unrecognized":"Нераспознанный источник навыков: {path}","error.state.invalid":"Файл состояния менеджера не читается, перезапись отклонена: {path}","error.trash.conflict":"Нельзя восстановить: навык с таким именем уже существует: {name}","error.trash.invalid":"Недопустимый путь элемента корзины: {id}","error.trash.notFound":"Элемент корзины не найден: {id}","error.trash.projectUnavailable":"Исходный проект не является активной рабочей областью, восстановление невозможно: {path}","error.trash.rollbackFailed":"Откат перемещения в корзину не удался; невосстановленное содержимое сохранено в: {path} ({error})","error.upload.archiveTooLarge":"ZIP-архив слишком велик; лимит {limit} байт","error.upload.duplicate":"Загрузка содержит дублирующийся путь: {path}","error.upload.empty":"Загрузка пуста","error.upload.encoding":"Недопустимая кодировка загружаемого содержимого","error.upload.path":"Загрузка содержит недопустимый путь: {path}","error.upload.tooLarge":"Загрузка слишком велика; лимит {limit} байт","error.upload.tooMany":"Слишком много файлов; максимум {limit}","error.upload.zipInvalid":"ZIP-архив не удаётся распаковать","filter.all":"Все источники","filter.option":"{name} ({count})","filter.source":"Источник","filter.status":"Статус вызова","filter.statusAll":"Все статусы","format.locale":"ru-RU","format.warningSeparator":"; ","import.global":"Импорт в глобальный DSH","import.title":"Импорт навыка","link.feedback":"Обратная связь","link.project":"GitHub","loading":"Загрузка навыков…","note.missing":"Описание не указано","project.empty":"В текущей сессии проект не распознан. Откройте сессию внутри проекта Git.","result.created":"Навык создан: {name}","result.deleted":"Удалён безвозвратно: {name}","result.importEmpty":"Не импортировано ни одного навыка.","result.importPartial":"Импортировано: {imported}; пропущены одноимённые: {skipped}","result.importSkipped":"Ничего не импортировано; пропущены существующие: {names}","result.importWarnings":"{result}; предупреждения: {warnings}","result.imported":"Импорт завершён: {names}","result.restored":"Навык восстановлен: {name}","result.trashed":"Отправлен в корзину: {name}","result.updated":"Состояние обновлено.","root.agents":"Общий Agent","root.ccswitch":"CC Switch","root.claude":"Claude","root.clawdbot":"OpenClaw (legacy)","root.codebuddy":"CodeBuddy","root.codex":"Codex","root.copilot":"Copilot","root.cursor":"Cursor","root.dsh":"Навыки DSH","root.gemini":"Gemini","root.openclaw":"OpenClaw","root.opencode":"OpenCode","root.projectAgents":"Проектный Agent","root.projectDsh":"Проектный DSH","root.projectSkills":"Навыки проекта","root.roo":"Roo","root.trae":"Trae","root.traeCn":"Trae CN","root.windsurf":"Windsurf","root.windsurfUser":"Windsurf (домашний)","scope.label":"Режимы менеджера навыков","scope.project":"Навыки проекта","scope.projectHint":"Применяются к проекту текущей сессии. Переключатели не меняют исходные файлы других агентов. Импорт записывает в глобальный DSH.","scope.trash":"Корзина","scope.user":"Глобальные навыки","scope.userHint":"Доступны во всех проектах. Переключатели влияют только на вызов внутри DSH.","search":"Поиск","search.clear":"Очистить поиск","search.placeholder":"Поиск по названию или описанию навыка","select.file.invalid":"Выберите .zip или один файл SKILL.md.","select.folder.invalid":"В выбранной папке не найдено SKILL.md.","skill.toggle":"Вкл/выкл навык","source.dsh.note":"Локальные навыки DSH можно создавать, импортировать и отправлять в корзину.","source.external.note":"Загружается через Skills Manager только для чтения; переключения не меняют исходные файлы.","source.selectHint":"Выберите источник для просмотра его каталога или отключения источника целиком. Отключение влияет только на вызов в DSH и не меняет файлы.","source.toggle":"Вкл/выкл источник","status.bundle":"Набор навыков","status.disabled":"Отключён","status.discovered":"Обнаружен","status.enabled":"Загружен","status.fallback.project":"Сейчас используется копия проекта из {source}.","status.fallback.user":"Сейчас используется глобальная копия из {source}.","status.invalid":"Есть проблемы","status.manageable":"Управляемый","status.project":"Проектный","status.rank":"Приоритет {rank}","status.readonly":"Источник только для чтения","status.selected":"Выбрано","status.shadowed":"Перекрыт","status.shadowedBy":"Перекрыт одноимённым навыком в {source}","status.single":"Один файл","status.source.off":"Отключён","status.source.on":"Загружен","summary.disabled":"Отключено: {count}","summary.disabled.one":"{count} отключён","summary.disabled.other":"{count} отключено","summary.enabled.one":"{count} включён","summary.enabled.other":"{count} включено","summary.group":"Навыков: {count}","summary.group.one":"{count} навык","summary.group.other":"{count} навыков","summary.invalid.one":"диагностика: {count}","summary.invalid.other":"диагностик: {count}","summary.issues":"Проблем: {count}","summary.issues.one":"{count} проблема","summary.issues.other":"{count} проблем","summary.loaded":"Загружено в DSH: {count}","summary.shadowed.one":"перекрыт: {count}","summary.shadowed.other":"перекрыто: {count}","summary.total":"Навыков: {count}","summary.total.one":"{count} навык","summary.total.other":"{count} навыков","table.skill":"Название и описание навыка","table.status":"Состояние в DSH","title":"Навыки","trash.count":"Навыков в очереди: {count}","trash.count.one":"{count} навык в корзине","trash.count.other":"{count} навыков в корзине","trash.deletedAt":"Удалено {time}","trash.empty":"Корзина пуста.","trash.source":"Источник: {source}","trash.title":"Корзина","upload.drop.copy":"Поддерживаются .zip, папка навыка или один SKILL.md","upload.drop.title":"Перетащите навык сюда","upload.importing":"Установка…","upload.remove":"Убрать выбранное","upload.requirement.copy":"Импорт копирует содержимое целиком и не меняет источник","upload.requirement.frontmatter":"SKILL.md должен содержать YAML-название и описание","upload.requirement.skill":"Архив или папка должны содержать SKILL.md","upload.requirements":"Требования к файлам","upload.selected":"Файлов: {count} · {size}","upload.selected.one":"Выбран {count} файл · {size}","upload.selected.other":"Выбрано {count} файлов · {size}","warning.backupUncleaned":"Резервная копия старой версии не удалена: {path} ({error})","warning.project.unavailable":"Не удалось получить активную рабочую область у хоста, проектные навыки скрыты: {path}","warning.scan.truncated":"Некоторые навыки не показаны из-за слишком большого каталога или глубокой вложенности: {path}","warning.state.invalid":"Файл состояния менеджера не читается; внешние навыки отключены, перезапись заблокирована до исправления: {path}"}}
@@ -0,0 +1 @@
1
+ {"agentTeams":{"action.openActivityPanel":"Открыть панель активности","activity.badgeAria":"Активность и история команд агентов, {count} записей команд","activity.collapse":"Свернуть панель активности","activity.dockRight":"Закрепить справа","activity.empty":"Нет активности команды","activity.float":"Переключиться на плавающую панель","activity.panelAria":"Панель активности команд агентов","activity.panelButton":"Панель активности","activity.title":"Активность команд агентов","archive.discardedLabel":"План отменен · Архивная история","archive.label":"Завершено · Архивная история","assignment.discarded":"План отклонён","assignment.empty":"Нет задач","assignment.label":"Капитан назначен","assignment.staged":"Запланировано","captain.name":"Капитан","captain.role":"Разделить · Делегировать · Синтезировать","captain.state.awaitingFeedback":"Ожидание отзыва","captain.state.collected":"Все полученные отчеты","captain.state.discarded":"Отменено","captain.state.settled":"Завершено","captain.state.staged":"Ожидает одобрения","captain.state.takeover":"Работаю над {tasks}","captain.state.waiting":"Ожидание отчетов","captain.state.working":"{count} активных","captain.summary":"Назначено {tasks} задач {members} участникам","captain.summary.awaitingFeedback":"Черновой вариант сохранен; ожидаем ваших указаний по доработке в чате","captain.summary.discarded":"План отклонён: {members} участников не созданы и {tasks} задач не выполнены","captain.summary.staged":"Запланировано {tasks} задач и {members} участников; ожидают утверждения","captain.summary.withTakeover":"Назначено {tasks} участникам · Капитан владеет {captainTasks}","card.memberCount":"{count} участников","delegation.aria":"Карта делегирования капитана","dependency.aria":"Цепочка зависимостей задач","dependency.hint.chain":"Наведите для подсветки зависимостей · Нажмите, чтобы закрепить","dependency.hint.parallel":"Нет зависимостей · Нажмите для подробностей","dependency.hint.pinned":"{taskId} закреплена · Esc для сброса","dependency.parallel":"Параллельные задачи","dependency.title":"Зависимости задач","format.listSeparator":",","member.model":"{model}","member.state.delivered":"Доставлено","member.state.failed":"Имеются сбои","member.state.left":"Покинул команду","member.state.notCreated":"Не создано","member.state.pending":"Ожидание","member.state.removed":"Удалено","member.state.staged":"В плане (не создан)","member.state.stopped":"Остановлено","member.state.unassigned":"Ожидание назначения","member.state.waiting":"Ожидание","member.state.working":"Работает","member.status.delivered":"Задачи выполнены","member.status.discarded":"План отклонён; участник не был создан","member.status.executing":"Работа над {taskId}","member.status.executingModel":"Работа над {taskId} · {model}","member.status.idle":"Готовы продолжить","member.status.settled":"Вся назначенная работа выполнена","member.status.staged":"Будет создан после одобрения","member.status.stopped":"Команда остановлена; требуется явное возобновление","member.status.unknown":"Статус неизвестен","member.status.waitingAssignment":"Ожидание назначения работы от капитана","member.status.waitingOn":"Ожидание {taskId} · {assignee}","member.status.waitingPrerequisite":"Ожидание выполнения предварительных условий","member.status.working":"Работа над назначенными задачами","members.collapse":"Свернуть","members.empty":"Пока нет участников; ожидаем, пока капитан соберёт команду","members.expand":"Развернуть","members.toggle":"Участники {count}","plan.addTask":"Добавить задачу","plan.adding":"Добавление…","plan.approve":"Одобрить и запустить","plan.approveConfirm":"Подтвердить запуск","plan.approveConfirmTitle":"Подтвердить запуск команды","plan.approveHint":"Одобрение создаёт {members} участников и планирует {tasks} задачи.","plan.approveTitle":"План готов?","plan.approveWarning":"Маршруты участников и зависимости нельзя редактировать здесь после запуска.","plan.approving":"Создание участников…","plan.badge":"Ожидание подтверждения","plan.cancel":"Отмена","plan.continue":"Вернуться в чат и исправить","plan.dependencies.count":"{count} зависимостей","plan.dependencies.none":"Нет зависимостей","plan.description":"Участники не были созданы, и задачи не были назначены. Отредактируйте черновик здесь или вернитесь в чат и сообщите Капитану, что нужно изменить.","plan.discard":"Отменить этот план","plan.discardConfirm":"Отменить план","plan.discardConfirmTitle":"Отменить этот план?","plan.discardWarning":"План будет завершён и заархивирован. Участники не были созданы, и задачи выполняться не будут.","plan.discarding":"Отмена…","plan.failed":"Операция не удалась: {message}","plan.feedbackHint":"Капитан спросит в чате. После вашего ответа он пересмотрит этот черновик и снова будет ждать одобрения.","plan.feedbackTitle":"Ожидание ваших указаний по исправлению","plan.flow.aria":"Процесс запуска команды","plan.flow.review":"Просмотреть план","plan.flow.run":"Начать работу","plan.flow.spawn":"Создать участников","plan.member.model":"Модель","plan.member.prompt":"Роль подсказки","plan.member.provider":"Провайдер","plan.member.reasoning":"Усилие на рассуждение","plan.member.reasoningHint":"Оставьте пустым для значения по умолчанию; принимает low, medium, high, xhigh и другие.","plan.member.role":"Роль","plan.member.roleFallback":"Роль не установлена","plan.members.count":"{count} участников","plan.members.empty":"Пока нет запланированных участников","plan.members.title":"Участники и маршруты моделей","plan.model.back":"Назад","plan.model.choose":"Выберите модель","plan.model.currentUnavailable":"{provider}/{model} (нет в текущем каталоге)","plan.model.defaultReasoning":"Усилия по умолчанию при рассуждении","plan.model.empty":"Нет доступных моделей","plan.model.loading":"Загрузка моделей…","plan.model.modelDefault":"Модель по умолчанию ({effort})","plan.model.partialFailure":"{count} каталогов провайдеров не удалось загрузить","plan.model.providerDefault":"Провайдер по умолчанию","plan.model.retry":"Повторить","plan.model.route":"Маршрут: {provider}/{model}","plan.model.triggerAria":"Выберите модель участника, текущая {model}, уровень усилий для рассуждений {effort}","plan.newTask":"Новая тема задачи","plan.newTaskLabel":"Добавить запланированную задачу","plan.pendingEdits":"Сохраните текущие изменения перед запуском команды.","plan.readySummary":"{members} участников · {tasks} задач · {links} зависимостей","plan.remove":"Удалить","plan.removeConfirm":"Подтвердите удаление","plan.removeWarning":"Удаление {task} приведет к пересчету зависимостей ниже по цепочке.","plan.removed":"Задача удалена","plan.returnToChat":"Вернуться в чат","plan.save":"Сохранить","plan.saved":"План сохранён","plan.saving":"Сохранение…","plan.task.assignee":"Исполнитель","plan.task.dependencies":"ID задач зависимостей (через запятую)","plan.task.dependenciesHint":"Например, task-1, task-2; циклы отклонены","plan.task.description":"Описание задачи","plan.task.subject":"Тема задачи","plan.task.unassigned":"Общий пул задач","plan.taskAdded":"Задача добавлена","plan.tasks.count":"{count} задач · {links} зависимостей","plan.tasks.empty":"Нет запланированных задач","plan.tasks.title":"Задачи и зависимости","plan.title":"Проверка плана перед запуском","plan.unsaved":"Не сохранено","progress.aria":"Общий прогресс команды","progress.blocked":"■ Ожидание {count}","progress.delivered":"■ Доставлено {count}","progress.running":"■ В процессе {count}","progress.title":"Общий прогресс","task.assignee.unclaimed":"Невостребованные","task.detail.completed":"Завершено и доставлено","task.detail.noDownstream":"Нет последующих задач","task.detail.noPrerequisite":"Нет требований; готовы начать","task.detail.notRun":"План отменён; задача не была выполнена","task.detail.ready":"Предварительные условия выполнены; можно начинать","task.detail.unlocks":"Разблокирует {tasks} после завершения","task.detail.waitingOn":"Ожидание {tasks}","task.model":"Модель: {model}","task.runningAria":"Выполняется","task.status.cancelled":"Отменено","task.status.claimed":"Заявлено","task.status.completed":"Завершено","task.status.failed":"Не удалось","task.status.inProgress":"Выполняется","task.status.notRun":"Не запущено","task.status.pending":"Невостребованные","task.summary.allDelivered":"Все {count} задачи доставлены","task.summary.blocked":"{tasks} ожидают выполнения предварительных условий","task.summary.blockedAndRunning":"{tasks}{more} ожидают выполнения предварительных условий; другая работа уже начата","task.summary.discarded":"{count} запланированных задач отменено; ни одна не выполнена","task.summary.ended":"Итог: {completed} доставлено · {cancelled} отменено · {failed} не удалось","task.summary.failedSettled":"{count} ошибок; автоматический цикл остановлен","task.summary.more":"и ещё {count}","task.summary.ready":"{tasks} готовы к началу","task.summary.running":"{tasks} в процессе выполнения","task.summary.staged":"{count} запланированных задач ожидают утверждения","task.summary.waitingBreakdown":"Ожидание, пока капитан распределит работу","task.summary.waitingSchedule":"Ожидание следующего цикла планирования","team.discarded":"Отклонено","team.ended":"Завершено","team.stats.completed":"{completed}/{total} завершено","team.stats.members":"{count} участников","team.stats.messages":"{count} сообщений","team.stop":"Остановить команду","team.stopCancel":"Продолжать работу","team.stopConfirm":"Остановить команду","team.stopDescription":"Это отменяет {tasks} незавершённых задач и останавливает {members} работающих участников. Завершённые результаты сохраняются.","team.stopFailed":"Не удалось остановить команду: {message}","team.stopRequestFailed":"Сервер не смог остановить эту команду. Попробуйте снова.","team.stopTitle":"Остановить “{team}”?","team.stopped":"Остановлено","team.stopping":"Остановка…"}}
@@ -0,0 +1 @@
1
+ {"settings.ollama-cloud":{"addModel":"Добавить модель вручную","apiKey":"API-ключ","apiKeyConfigured":"Настроено — введите новое значение для замены","apiKeyPending":"Введён новый ключ — теперь он используется для обнаружения; Сохранить для хранения","apiKeyPlaceholder":"Введите API-ключ","apiKeyUnset":"API-ключ не настроен","applySelected":"Применить выбранное","baseURL":"URL API","cancel":"Отмена","close":"Закрыть","collapse":"Свернуть настройки","connection":"Подключение","customized":"Пользовательский каталог","defaultEffort":"Стандартное мышление","description":"Родной API-ключ Ollama Cloud, конечная точка и каталог моделей.","discard":"Отменить","dragModel":"Перетащите для изменения порядка","expand":"Развернуть настройки","fetchEmpty":"Конечная точка не вернула ни одной модели.","fetchModels":"Получить доступные модели","fetchingModels":"Получение моделей…","inherited":"Использование составленного каталога","invalidApiKey":"API-ключ не может состоять только из пробелов.","invalidBaseURL":"Введите URL API HTTP или HTTPS.","invalidModel":"Каждая модель должна иметь уникальный ID и допустимые положительные значения мощностей.","loading":"Загрузка настроек плагина…","modelContext":"Контекстное окно","modelDetails":"Подробности","modelId":"ID модели","modelName":"Отображаемое имя","modelOutput":"Максимальная мощность","models":"Каталог моделей","pickerDescription":"Выберите модели, которые нужно оставить в этом каталоге.","pickerLoading":"Получение метаданных модели…","pickerTitle":"Выбрать каталог моделей","readOnly":"Настройки этого профиля доступны только для чтения.","remoteAccess":"Удалённые браузеры не могут изменять настройки плагинов: API конфигурации Harness работает только через локальный интерфейс. Откройте страницу на самом хосте или пробросьте её (ssh -L 3080:127.0.0.1:3080 user@host, затем откройте http://127.0.0.1:3080). Сохранённые там настройки продолжают работать в удалённых сеансах.","remove":"Удалить","requestFailed":"Не удалось выполнить запрос.","save":"Сохранить","saved":"Сохранено","saving":"Сохранение…","summaryModels":"{count} моделей","summaryOff":"Не настроено","summaryOn":"Настроено","thinking":"Рассуждение","title":"Ollama Облако","tools":"Инструменты","unavailable":"Этот профиль не предоставляет доступ к настройкам Ollama Cloud.","unsaved":"Несохранённые изменения","usage":"Использование облака","usageLoading":"Чтение использования…","usageModels":"Модели, использованные на этой неделе","usageNeedsRestart":"Использование отображается после перезагрузки этого плагина на работающем хосте (перезапустите dsh).","usageRefresh":"Обновить","usageRefreshFailed":"Не удалось обновить","usageRequests":"запросы","usageResetAt":"Сбросится через {time}","usageResetAtDays":"Лимиты использования сбросятся {date} (осталось {count} дней)","usageResetEveryDays":"Сбрасывается каждые {count} дней","usageResetEveryHours":"Сбрасывается каждые {count} часов","usageSession":"Использование сессии","usageUnreachable":"Не удалось получить данные об использовании Ollama Cloud. Проверьте подключение к сети и URL API.","usageUnsupported":"Этот эндпоинт не передаёт данные об использовании облака.","usageUpdatedAt":"Обновлено {time}","usageUsed":"Использовано","usageWeekly":"Еженедельное использование","vision":"Зрение"}}
@@ -0,0 +1 @@
1
+ {"commandcode":{"accountSeparator":"────────────────────","accountTitle":"📊 {label}{badges}","activeBadge":" ✅ активен","barLine":" └ {bar} {pct}%","blockedInvalidKey":"⛔ API-ключ недействителен или истёк — сервер отклонил запросы (401); проверьте ключ аккаунта","blockedNetwork":"⚠️ Не удалось подключиться к Command Code — проверьте сеть или адрес API","blockedServiceUnavailable":"⚠️ Сервис Command Code временно недоступен (5xx); повторите позже","cooldownBadge":" ⏳ охлаждение, сброс {when}","costLine":" 💰 Расход {money} ({credits} кредитов)","creditsHeader":"── Кредиты ──────────────────────────","errorText":"Не удалось получить статистику Command Code: {message}","exceededWarning":" ⚠️ превышен!","fiveHourLine":" ⏱ 5-часовое {used} / {cap}{warn}","imageGate":"В сессии уже есть изображения, а модель {model} не поддерживает изображения; выберите модель с поддержкой зрения или удалите изображения из сессии.","invalidCredentialBadge":" ⛔ неверный ключ","monthlyLine":" 💳 В месяц {monthly} (куплено {purchased} / бесплатно {free})","noData":"(нет данных — проверьте API-ключ)","partialFailures":"⚠️ Сбои на некоторых эндпоинтах: {list}","planLine":" 📦 Тариф {name}{status}{period}","planPeriodSuffix":" · окончание периода: {date}","rateLimitBadge":" ⏳ лимит запросов (ожидание окна)","requestsLine":" 💬 Запросы {n} / сбоев {f} успешность {r}%","resetSuffix":"сброс {when}","title":"📊 Использование Command Code{account}","tokensLine":" 🔤 Токены {in} вход / {out} выход","unconfigured":" (API-ключ не настроен)","usageHeader":"── Запросы ──────────────────────────","weeklyLine":" 📅 Недельное {used} / {cap}{warn}","windowBarLine":" └ {bar} сброс {when}","windowsHeader":"── Использование окна ───────────────"},"panel.commandcode":{"active":"Активен","close":"Закрыть","closeHint":"Вернуться к диалогу","coolingDown":"Охлаждение","credits":"Кредиты","errorGeneric":"Не удалось получить данные об использовании аккаунта","errorInvalidKey":"API-ключ недействителен или истёк","errorInvalidKeyHint":"Сервер отклонил все запросы (401). Проверьте ключ для этого аккаунта или сгенерируйте новый в консоли commandcode.ai.","errorNetwork":"Не удалось связаться с сервисом Command Code","errorNetworkHint":"Запрос не достиг сервера. Проверьте сетевое подключение или настройку базового URL API.","errorServiceUnavailable":"Сервис Command Code временно недоступен","errorServiceUnavailableHint":"Сервер возвращает ошибки (5xx). Повторите попытку через минуту.","exceeded":"Превышен","exhausted":"Исчерпан","failed":"ошибок","fiveHour":"5-часовое окно","fiveHourShort":"5 ч","free":"Бесплатно","invalidKey":"Неверный ключ","limits":"Лимиты","loading":"Загрузка…","monthly":"Месячный лимит","monthlyLimit":"Месячный лимит","monthlyUsed":"Использовано за месяц","nav":"Command Code","noKey":"Ключ не настроен","noKeyHint":"Добавьте API-ключ Command Code в Настройках, чтобы отслеживать квоту и кредиты.","partial":"Частично","periodEnds":"Окончание периода","plan":"Тариф","purchased":"Приобретено","refresh":"Обновить","refreshing":"Обновление…","remaining":"Осталось","requests":"Запросы","resets":"Сброс через","spend":"Расходы","subtitle":"Тарифы, кредиты и плавающие окна квот","successRate":"Успешность","tokens":"Токены","tokensIn":"Входящие токены","tokensOut":"Исходящие токены","unavailable":"Недоступно","unconfigured":"Не настроено","updated":"Обновлено","usage":"Использование","weekly":"Недельное окно","weeklyShort":"7 дн","windowUnlimited":"Без ограничений"},"settings.commandcode":{"accountAdd":"Добавить аккаунт","accountDefault":"Основной аккаунт","accountKey":"API-ключ","accountKeyHint":"API-ключ этого аккаунта. Если оставить поле пустым, сохранённый ключ останется без изменений.","accountLabel":"Название аккаунта","accountRemove":"Удалить","accountSeparator":"────────────────────","accountTitle":"📊 {label}{badges}","accountsHint":"Когда активный аккаунт достигает лимита использования (429) или его ключ недействителен (401), запросы переключаются на следующий аккаунт; когда все аккаунты исчерпаны, ошибка указывает ближайшее время сброса окна.","accountsTitle":"Смена аккаунта","activeAccount":"Активный аккаунт","activeAccountAuto":"Авто (первый доступный аккаунт)","activeAccountHint":"Закрепите предпочтительный аккаунт; применяется к следующему запросу после сохранения. Если выбранный аккаунт исчерпан, запросы будут перенаправлены на другой доступный аккаунт.","activeBadge":" ✅ активен","advancedInvalid":"Число в расширенных настройках не готово к сохранению; раскройте, чтобы исправить.","advancedOverriddenMany":"{count} настроено","advancedOverriddenOne":"1 настроенный","advancedSettings":"Дополнительно","advancedSettingsHint":"Редко используемые параметры: базовый URL API, рабочая директория, тайм-ауты и фильтрация моделей.","apiBase":"Базовый URL API","apiBaseHint":"По умолчанию используется https://api.commandcode.ai; обычно оставляйте как есть.","apiKey":"API-ключ","apiKeyHint":"Создайте его в консоли commandcode.ai. Если оставить это поле пустым, сохранённый ключ останется без изменений.","apiKeyLocked":"Ключ предоставлен только для чтения","apiKeySet":"Настроено","apiKeyUnset":"Не настроено","barLine":" └ {bar} {pct}%","blockedInvalidKey":"⛔ API-ключ недействителен или истёк — сервер отклонил запросы (401); проверьте ключ аккаунта","blockedNetwork":"⚠️ Не удалось подключиться к Command Code — проверьте сеть или адрес API","blockedServiceUnavailable":"⚠️ Сервис Command Code временно недоступен (5xx); повторите позже","cancel":"Отмена","cardConfiguredHint":"API-ключ готов. Чтобы заменить его, добавить ротацию аккаунтов, проверить использование или изменить базовый API, откройте страницу \"Command Code\" в Настройках.","cardLoadingHint":"Загрузка конфигурации командного кода…","cardRegistrationHint":"Эта карта предоставлена плагином Command Code; для отображения всех элементов управления требуется более новая версия DeepSeek Harness.","cardRouteActive":"Активный","cardTitle":"Подключение командного кода","cooldownBadge":" ⏳ охлаждение, сброс {when}","costLine":" 💰 Расход {money} ({credits} кредитов)","creditsHeader":"── Кредиты ──────────────────────────","discard":"Отменить","errorText":"Не удалось получить статистику Command Code: {message}","exceededWarning":" ⚠️ превышен!","filterModelsByPlan":"Скрыть модели вне тарифного плана","filterModelsByPlanHint":"Если включено, в выборе моделей отображаются только те, что входят в вашу подписку; при наличии баланса кредитов по запросу показывается полный каталог.","fiveHourLine":" ⏱ 5-часовое {used} / {cap}{warn}","hide":"Скрыть","imageGate":"В сессии уже есть изображения, а модель {model} не поддерживает изображения; выберите модель с поддержкой зрения или удалите изображения из сессии.","intro":"Настройте подключение к Command Code Provider. API-ключ сохраняется только в локальной службе учетных данных и никогда не отображается; остальные поля записываются в пользовательские настройки и вступают в силу при следующем запросе.","invalidCredentialBadge":" ⛔ неверный ключ","invalidNumber":"Недопустимый номер","loginButton":"Войдите в Command Code","loginCancel":"Отменить вход","loginCancelled":"Вход отменён.","loginDenied":"Доступ запрещён. Попробуйте снова или вставьте ключ вручную.","loginFailedGeneric":"Не удалось войти; попробуйте снова или вставьте ключ вручную.","loginHintIdle":"Не хотите создавать ключ вручную? Войдите в систему, и ваш браузер откроет страницу авторизации commandcode.ai; одобренный ключ сохранится в локальном сервисе учетных данных и будет применяться к следующему запросу.","loginInvalidKey":"Доставленный ключ не прошел проверку (401). Попробуйте снова или вставьте его вручную.","loginNetwork":"Не удалось подключиться к сервису Command Code для проверки ключа; проверьте подключение к сети и повторите попытку.","loginOpenLink":"Откройте страницу авторизации ↗","loginStarting":"Запуск локального серверного обработчика callback…","loginStoreFailed":"Не удалось сохранить ключ в локальной службе учетных данных; вставьте его вручную.","loginSuccess":"Вошли как","loginTimeout":"Истекло время ожидания ответа авторизации; попробуйте снова.","loginTitle":"Войти, чтобы получить ключ","loginUnavailable":"Вход в систему недоступен в этой среде; вставьте {API key} вместо этого.","loginWaiting":"Ожидание авторизации в вашем браузере…","modelSearchEmpty":"Подходящих моделей не найдено","modelSearchPlaceholder":"Поиск модели по имени или ID…","modelStale":"Устаревшая модель (не найдена в текущем каталоге)","monthlyLine":" 💳 В месяц {monthly} (куплено {purchased} / бесплатно {free})","nav":"Код команды","noData":"(нет данных — проверьте API-ключ)","numberTooLarge":"Превышено допустимое максимальное значение (2147483647 мс)","numberTooSmall":"Должно быть не менее 1 (мс)","overridden":"Переопределено","partialFailures":"⚠️ Сбои на некоторых эндпоинтах: {list}","planLine":" 📦 Тариф {name}{status}{period}","planPeriodSuffix":" · окончание периода: {date}","rateLimitBadge":" ⏳ лимит запросов (ожидание окна)","readOnly":"Настройки доступны только для чтения.","requestTimeoutMs":"Таймаут запроса (мс)","requestTimeoutMsHint":"Время ожидания первого байта ответа; по умолчанию 60000.","requestsLine":" 💬 Запросы {n} / сбоев {f} успешность {r}%","reset":"Сбросить","resetSuffix":"сброс {when}","ruleAccount":"Целевой аккаунт","ruleAdd":"Добавить правило","ruleHint":"Отметьте модели для маршрутизации в выпадающем списке (множественный выбор), затем выберите целевой аккаунт.","ruleModel":"Модели","ruleModelCount":"Выбрано моделей: {count}","ruleModelPick":"Выберите модели…","ruleRemove":"Удалить","rulesCatalogFailed":"Не удалось загрузить каталог моделей — выбор моделей недоступен; сохранённые правила продолжают действовать.","rulesEmpty":"Правил пока нет.","rulesHint":"Выберите модели (множественный выбор) и направьте их на конкретный аккаунт. Когда модель из запроса совпадает с правилом и аккаунт доступен, запрос обслуживается им; при исчерпании или недоступности аккаунта происходит откат к стандартной ротации. Правила проверяются по порядку сверху вниз — срабатывает первое совпадение.","rulesOrder":"Порядок правил","rulesTitle":"Правила маршрутизации моделей","rulesTotal":"Всего правил: {count}","save":"Сохранить","saveFailed":"Не удалось сохранить, попробуйте снова.","saved":"Сохранено ✓","saving":"Сохранение","show":"Показать","showSidebarQuota":"Показывать карточку квоты в боковой панели","showSidebarQuotaHint":"Когда включено, карточка тарифа и квоты Command Code располагается внизу боковой панели (над Настройками) и открывает полный дашборд. По умолчанию выключено: ничего не отображается слева и фоновый опрос не выполняется. Применяется при сохранении.","streamIdleTimeoutMs":"Таймаут простоя потока (мс)","streamIdleTimeoutMsHint":"Как долго зависший поток считается мёртвым; по умолчанию 300000 (намеренно щедро — модели с долгим обдумыванием могут молчать минутами).","title":"Код команды","tokensLine":" 🔤 Токены {in} вход / {out} выход","unconfigured":" (API-ключ не настроен)","unsaved":"Не сохранено","updateAvailable":"доступно обновление","updateHint":"Доступна новая версия; нажмите для просмотра заметок о выпуске. Уведомление исчезнет после обновления плагина.","usageActive":"Активно","usageCooldown":"Охлаждение","usageCost":"Потратить","usageError":"Не удалось получить данные об использовании","usageExceeded":"Превышено","usageFailed":"не удалось","usageFiveHour":"5-часовое окно","usageFree":"Бесплатно","usageHeader":"── Запросы ──────────────────────────","usageInvalidKey":"Неверный ключ","usageKeyClear":"Очистить сохранённый ключ","usageKeyClearStaged":"Будет очищено при сохранении","usageKeyInvalid":"Неверный или просроченный API-ключ","usageKeyInvalidHint":"Сервер отклоняет все запросы (401). Проверьте ключ, настроенный для этого аккаунта, или создайте новый в консоли commandcode.ai.","usageLoading":"Получение данных об использовании аккаунта…","usageMonthly":"Ежемесячно","usageNetworkError":"Не удалось подключиться к сервису Command Code","usageNetworkHint":"На сервер не поступило ни одного запроса. Проверьте подключение к сети или настройку базового API.","usageNoKey":"Настройте API-ключ, чтобы увидеть здесь данные об использовании и состоянии кредитов этого аккаунта.","usagePartial":"Некоторые данные конечной точки недоступны","usagePeriodEnd":"Период заканчивается","usagePurchased":"Куплено","usageRefresh":"Обновить","usageRefreshing":"Обновление…","usageRequests":"Запросы","usageReset":"Сбросить","usageServiceUnavailable":"Сервис Command Code временно недоступен","usageServiceUnavailableHint":"Сервер вернул ошибки (5xx); попробуйте обновить позже.","usageSuccessRate":"Уровень успеха","usageTitle":"Использование аккаунта","usageTokens":"Токены","usageTokensIn":"в","usageTokensOut":"выход","usageUnconfigured":"Для этого аккаунта ещё не настроен API-ключ.","usageUndoKeyClear":"Отменить очистку","usageUpdated":"Обновлено","usageWeekly":"Еженедельное окно","visibleModelsCleanStale":"Очистить устаревшие ({count})","visibleModelsCount":"Выбрано моделей: {count}","visibleModelsHideInactive":"Скрыть неактивные","visibleModelsHint":"Выберите модели, которые будут доступны для назначения правил маршрутизации","visibleModelsPick":"Выбрать модели","visibleModelsReset":"Сбросить выбор моделей","visibleModelsShowAll":"Показать все модели","visibleModelsStaleHint":"{count} выбранных моделей больше нет в каталоге (возможно, выведены из эксплуатации); на остальные модели это не влияет. Удалите их или сохраните.","visibleModelsTitle":"Видимые модели","webSearch":"Использовать Command Code для веб-поиска DSH","webSearchHint":"Если включено, инструмент web_search для модели работает через Command Code (тот же API-ключ и base URL, что и в чате). Если выключено, используется встроенный поиск DeepSeek.","weeklyLine":" 📅 Недельное {used} / {cap}{warn}","windowBarLine":" └ {bar} сброс {when}","windowsHeader":"── Использование окна ───────────────","workingDir":"Рабочая директория","workingDirHint":"Необязательно. Оставьте пустым, чтобы использовать текущий рабочий каталог процесса (указан в поле); укажите путь только для фиксации конкретного расположения."}}
@@ -0,0 +1 @@
1
+ {"usageStats":{"account.balanceMode":"Баланс API","account.blocked":"Запрос к учетной записи был заблокирован локальной политикой безопасности. Проверьте настройки HTTPS, same-origin и private-network.","account.health.age":"Возраст данных","account.health.lastAttempt":"Последняя попытка","account.health.lastSuccess":"Последний успех","account.health.provenance":"Источник","account.invalidResponse":"Провайдер вернул нераспознанные данные о квоте.","account.loading":"Загрузка провайдеров…","account.provenance.configured":"Настроено","account.provenance.experimental":"Экспериментальный","account.provenance.official":"Официальный API","account.provenance.provider":"API провайдера","account.provenance.unknown":"Неизвестно","account.provider":"Текущий провайдер","account.reason.allAddressesUnreachable":"Ни один из проверенных сетевых адресов не доступен.","account.reason.blockedNetwork":"Запрос на учетную запись был заблокирован политикой локальной сети.","account.reason.dnsResolutionFailed":"Имя хоста провайдера не удалось разрешить.","account.reason.noValidatedAddress":"Не было доступно ни одного проверенного адреса провайдера.","account.reason.rateLimited":"Провайдер ограничил проверку аккаунтов по частоте запросов.","account.reason.sub2apiBalanceShapeUnrecognized":"Конечная точка баланса Sub2API вернула данные в нераспознанном формате.","account.reason.timeout":"Запрос аккаунта завершился по тайм-ауту.","account.reason.unauthorized":"Учетные данные аккаунта были отклонены.","account.reason.unknown":"Проверка учетной записи завершилась неудачей без безопасного диагностического сообщения.","account.reason.upstreamInvalidJson":"Вверх по течению возвращен нечитаемый JSON","account.reason.upstreamInvalidResponse":"Восходящий поток вернул нераспознанный ответ.","account.reason.upstreamNotJson":"Ответ вышестоящего сервера не был в формате JSON","account.reason.upstreamTooLarge":"Ответ от вышестоящего сервера превысил допустимый размер.","account.status.blocked":"Заблокировано","account.status.invalidResponse":"Неверный ответ","account.status.loading":"Загрузка","account.status.stale":"Устаревшие данные","account.status.unknown":"Неизвестно","account.status.unsupported":"Баланс не поддерживается","account.title":"Аккаунт провайдера","action.close":"Закрыть","action.nextMonth":"Следующий месяц","action.prevMonth":"Предыдущий месяц","action.refresh":"Обновить","action.retry":"Повторить","action.today":"Сегодня","balance.available":"доступно","balance.error":"Не удалось получить баланс: {message}","balance.granted":"Предоставлено","balance.loading":"Получение баланса…","balance.noCredential":"{ref} не настроен (отредактируйте ~/.dsh/.credentials.yaml)","balance.noSchemeTag":"нет баланса API","balance.provider":"Провайдер","balance.remaining":"Доступный баланс","balance.title":"Баланс счета","balance.toppedUp":"Пополнено","balance.total":"Общий баланс","balance.unavailable":"недоступно","balance.unsupported":"У этого провайдера нет публичного интерфейса для проверки баланса.","balance.used":"Использовано","billing.monthly":"≈ {amount}/мес","billing.parts":"Композиция","billing.projected":"Прогнозируемое использование на конец месяца","billing.tokenOnly":"расчет на основе использования","billing.total":"Ориентировочные ежемесячные траты","budget.exceeded":"превышен бюджет","budget.level.critical":"Превышение бюджета","budget.level.normal":"Обычный","budget.level.unknown":"Неполная стоимость","budget.level.warning":"Близко к бюджету","budget.over":"{pct}% бюджета использовано","budget.period.daily":"Оценка за сегодня","budget.period.monthly":"Ожидаемый за этот месяц","budget.remaining":"осталось","budget.summary":"{period}: {spent} / {limit} · {level}","budget.title":"Ежемесячный бюджет","budget.used":"использовано","col.cacheRead":"Чтение кэша","col.cacheWrite":"Запись в кеш","col.calls":"Звонки","col.cost":"Стоимость","col.created":"Создано","col.cwd":"Рабочая папка","col.day":"День","col.default":"Стандартная ставка","col.hour":"Время","col.input":"Ввод","col.model":"Модель","col.models":"Модели","col.output":"Вывод","col.price":"Тариф","col.provider":"Провайдер","col.session":"Сессия","col.sessions":"Сессии","col.share":"Поделиться","col.time":"Время","col.tokens":"Токены","col.turn":"Поворот/шаг","curve.cost":"Стоимость","curve.empty":"Нет данных о сериях (нет вызовов в указанном интервале)","curve.legendCacheRead":"Чтение кеша","curve.legendInput":"Ввод","curve.legendOutput":"Вывод","curve.tokens":"Токены","details.auto":"Автоматически обновляется вместе с главным окном","details.exportCalls":"Экспорт журнала вызовов в CSV","details.exportCsv":"Экспорт CSV","details.exportJson":"Экспортировать JSON","details.hint":"Звонки, токены и стоимость за сессию × модель","details.open":"Открыть подробности в новом окне","details.title":"Детали звонка · сессия × модель","details.updated":"Обновлено","duration.daysHours":"{days}д {hours}ч","duration.hoursMinutes":"{hours}ч {minutes}м","duration.minutes":"{minutes}м","export.dailyCsv":"Ежедневный CSV","export.json":"Полный JSON","export.sessionsCsv":"Сессии CSV","export.title":"Экспорт без секретов","filter.all":"Все рабочие пространства","filter.scope":"Фильтровать статистику по одной рабочей директории","footnote.disclaimer":"Стоимость рассчитана на основе установленных тарифов и не является счетом.","footnote.errors":"({errors} логов не удалось декодировать)","footnote.scanned":"{sessions} сессий, {calls} звонков просканировано","heatmap.empty":"Данные тепловой карты пока отсутствуют","heatmap.fri":"Пт","heatmap.less":"Меньше","heatmap.mon":"Пн","heatmap.month":"{m}","heatmap.more":"Ещё","heatmap.title":"Тепловая карта активности (52 недели)","heatmap.wed":"Ср","lastUpdated":"Обновлено","month.names":"Янв,Фев,Мар,Апр,Май,Июн,Июл,Авг,Сен,Окт,Ноя,Дек","month.year":"{month} {year}","orcarouter.addError":"Не удалось добавить OrcaRouter. Пожалуйста, попробуйте ещё раз.","orcarouter.choiceSuffix":"(Спонсированная интеграция)","panel.badge":"Использование/Баланс","panel.title":"Расход и баланс","panel.updatedAt":"Обновлено в {time}","perf.empty":"Нет данных о производительности (отсутствуют временные метки в журналах)","perf.est":"прибл.","perf.latencyAvg":"Средняя задержка","perf.modeTps":"токены/с","perf.modeTtft":"ТТФТ","perf.note":"TTFT = запрос → первый токен контента. Последующие шаги в цикле инструментов не имеют отдельного лога запросов, поэтому их TTFT оценивается с начала шага.","perf.samples":"Образцы","perf.title":"Скорость и задержка модели","perf.tps":"токенов/с","perf.ttftAvg":"Среднее значение TTFT","perf.ttftP50":"ТТФТ P50","perf.ttftP90":"TTFT P90","plan.auto":"авто","plan.balance":"Баланс","plan.code":"План кода","plan.noBalance":"не настроен баланс","plan.perMonth":"месяц","plan.period":"последние {days} дней","plan.quota":"квота","plan.remaining":"Осталось","plan.requests":"запросы","plan.subscription":"Подписка","plan.tiers":"Уровни","plan.token":"Тарифный план","plan.tokenEstimate":"оценка токенов","plan.tokens":"Токены","plan.used":"Использовано","plan.usedCost":"Стоимость использования","pricing.peakOffpeak":"пиковый/непиковый","recent.anomaly":"Аномалия стоимости (значительно выше среднего)","refresh":"Обновить","section.byCwd":"Рабочий каталог","section.byDay":"Днём","section.byModel":"По модели","section.byProvider":"По провайдеру","section.bySession":"По сеансу","section.plans":"Тарифы","section.pricing":"Тарифы (за миллион токенов)","section.recent":"Последние звонки","section.series":"Временные ряды","state.empty":"Данные об использовании токенов пока отсутствуют (нет вызовов с использованием)","state.error":"Не удалось загрузить","state.loading":"Вычисление…","state.retry":"Повторить","subscription.error":"Не удалось использовать подписку: {message}","subscription.loading":"Получение данных об использовании подписки…","subscription.notConfigured":"Настройте {refs} для отображения текущего использования подписки.","subscription.planUnknown":"План подписки","subscription.rateLimited":"Провайдер ограничивает частоту проверок; попробуйте позже.","subscription.resetDue":"Сброс квоты","subscription.resets":"Сбросится через {time}","subscription.status.notConfigured":"Не настроено","subscription.status.ok":"В прямом эфире","subscription.status.rateLimited":"Ограничение по частоте запросов","subscription.status.unauthorized":"Войдите снова","subscription.status.unavailable":"Недоступно","subscription.title":"Использование подписки","subscription.unauthorized":"Учетные данные истекли; обновите их и повторите попытку.","subscription.unavailable":"Провайдер не вернул распознаваемых окон квот.","subscription.used":"{value}% использовано","subscription.window.daily":"Ежедневное окно","subscription.window.mcp":"Ежемесячная квота MCP","subscription.window.monthly":"Ежемесячное окно","subscription.window.quota":"Общая квота","subscription.window.session":"5-часовое окно","subscription.window.weekly":"Еженедельное окно","summary.activeDays":"Активные дни","summary.avgCost":"Среднее / вызов","summary.cacheHit":"Процент попаданий в кеш","summary.cacheRead":"Чтение кэша","summary.cacheWrite":"Запись в кеш","summary.calls":"Звонки","summary.cost":"Примерная стоимость","summary.input":"Ввод","summary.output":"Вывод","summary.sessions":"Сессии","summary.streak":"Дневная серия","summary.today":"Сегодня","summary.tokens":"Всего токенов","tab.details":"Детали звонка","tab.overview":"Обзор","tab.perf":"Производительность","tab.today":"Сегодня","today.calls":"Звонков сегодня","today.cost":"Стоимость сегодня","today.empty":"Сегодня звонков еще не было","today.title":"Сегодняшние токены и стоимость","today.tokens":"Токены сегодня","usage.back":"Назад","usage.cacheRead":"Чтение кэша","usage.error":"Агрегация использования не удалась: {message}","usage.heatmap":"Ежедневное использование в этом месяце","usage.hit.today":"Сегодняшний процент попаданий в кэш","usage.hitRate":"Кэш-попадание","usage.input":"Ввод","usage.legendLess":"Меньше","usage.legendMore":"Ещё","usage.loading":"Агрегирование использования…","usage.month":"В этом месяце","usage.noModels":"Нет данных по моделям за этот день.","usage.output":"Вывод","usage.recent":"Последние 14 дней","usage.title":"Использование токенов","usage.today":"Сегодня","usage.total":"За всё время","usage.unknownModel":"Неизвестная модель","weekday.fri":"Ф","weekday.mon":"М","weekday.sat":"С","weekday.sun":"С","weekday.thu":"Т","weekday.tue":"Т","weekday.wed":"В","widget.close":"Свернуть","widget.hint":"Использование токенов & примерная стоимость","widget.hoverHint":"Нажмите, чтобы развернуть","widget.open":"Развернуть"}}
@@ -0,0 +1 @@
1
+ {"dsh-context":{"agents.billed":"{n} выставлено к оплате","agents.chip.count":"{n} агентов","agents.chip.running":"{n} запущено","agents.chip.tokens":"{n} токенов в контексте","agents.continuable":"продолжаемый","agents.legend.free":"свободное окно","agents.more":"Ещё {n} не показано","agents.oneshot":"одноразовый","agents.open":"нажмите, чтобы открыть →","agents.requests":"{n} запросов","agents.running":"выполняется","agents.self":"текущий","agents.solo":"Пока нет суб-агентов — когда агент делегирует работу через инструмент суб-агентов, сеть будет отображаться здесь","agents.sub":"Живой контекст этого агента и его подчиненных агентов · нажмите на узел, чтобы открыть его сессию","agents.title":"Сеть агентов","attach.close":"Закрыть","attach.image":"Изображение","attach.images":"Изображения","attach.loadFailed":"Не удалось загрузить · нажмите, чтобы повторить","attach.loading":"…","attach.open":"Открыть изображение полностью","attach.other":"Другой контент","attach.preview":"Превью изображения","attach.raw":"Сырой","attach.sent":"Отправлено","attach.token":"Токен","attach.tokensTip":"Расчетная стоимость токенов через официальное преобразование размера изображения DeepSeek (ограничение в 384 токена на изображение)","block.answer":"Ответ","block.content":"Контент","block.line":"1 строка","block.lines":"{n} строк","block.result":"Результат","block.summary":"Сводка","block.thinking":"Обоснование","brief.input":"В","brief.inputTip":"Что было введено после предыдущего ответа и перед этим запросом — обычно результаты предыдущего вызова инструмента; начало нового оборота не содержит ничего нового","brief.locate":"Показать в контекстном браузере","brief.more":"+{n}","brief.noInputs":"(ничего нового)","brief.reply":"Ответ","brief.replyTip":"Что модель вернула на этом шаге (текстовый ответ или вызовы инструментов) — результаты вызовов отображаются в строке In следующего бара","brief.turn":"Пользователь","brief.turnTip":"Сообщение пользователя, которое открыло этот ход — каждый шаг хода ссылается на него","browser.approx":"Некоторые удаленные сообщения этого шага превышают срок хранения — приведенное ниже восстановление является приблизительным","browser.deltaHint":"по сравнению с предыдущим ходом","browser.dna":"Режим ДНК","browser.dnaTip":"Ленточная полоса элементов в порядке чтения контекста моделью: системный промпт, схемы инструментов, хронология сообщений (наведите для деталей, нажмите для перехода к строке)","browser.headerMetaOnly":"Эта среда не может загрузить заголовки по запросу; только оценка токенов","browser.items":"{n} элементов","browser.live":"В прямом эфире (Следующий запрос)","browser.liveNow":"В прямом эфире · Следующий запрос","browser.loadFailed":"Не удалось загрузить — нажмите, чтобы повторить","browser.loading":"Загрузка полного содержимого из более старой истории сеанса…","browser.missingLive":"… {n} предыдущих сообщений также являются частью контекста (за пределами предоставленного окна)","browser.noContent":"Полное содержимое находится за пределами загруженного окна сообщений (загрузите более старую историю в Чате для просмотра)","browser.noEpoch":"Содержание заголовка (Системное сообщение / Схемы инструментов) этого шага находится за пределами удержания","browser.noHeader":"Обслуживается устаревшей версией плагина: только оценка токенов, без содержимого","browser.noSystem":"В заголовке этого запроса не было системного промпта","browser.notInLog":"Этот элемент больше не находится в журнале сессии (возможно, он был удалён или очищен)","browser.preview":"Предварительный просмотр","browser.rowNoMatch":"Нет строк, соответствующих текущему фильтру","browser.search.assistant":"Фильтровать по ответам или звонкам…","browser.search.inject":"Фильтровать введённый контекст…","browser.search.skill":"Фильтр навыков…","browser.search.tool":"Фильтровать по инструменту или аргументам…","browser.search.user":"Фильтровать по тексту сообщения…","browser.title":"Контекстный браузер","call.exit":"выход {n}","call.fail":"Не удалось","call.ok":"ОК","cat.assistant":"Сообщения ассистента","cat.inject":"Введённый контекст","cat.skill":"Инъекции навыков","cat.system":"Системное сообщение","cat.tool":"Результаты инструмента","cat.tools":"Схемы инструментов","cat.user":"Сообщения пользователя","cmd.close":"Закрыть","cmd.desc":"Просмотр текущего контекста макияжа, просмотр состава по шагам","cmd.label":"Контекст","cmd.section":"Контекст","detail.actual":"Фактический запрос {n}","detail.cache":"Кэш {n}%","detail.estTotal":"Примерно ≈ {n}","detail.lastStep":"Последний шаг","detail.loadFailed":"Не удалось загрузить историю — нажмите для повтора","detail.loading":"Загрузка истории…","detail.output":"Вывод {n}","detail.step":"Поверните {t} · Шаг {s}","detail.turn":"Поверните {t} · {n} шагов","error":"Не удалось прочитать данные контекста:","error.retry":"Повторить","ev.compaction":"Контекст сжат (резюме заменено {n} сообщений)","ev.mode.plan.off":"Режим плана выключен","ev.mode.plan.on":"Режим планирования включён","ev.model":"Модель изменена: {a} → {b}","ev.prune":"Вывод инструмента обрезан","ev.skill":"Навык внедрён ({name})","events.at":"Поверните {t} · Шаг {s}","events.empty":"Событий контекста пока нет (компактизация, инъекции, переключения моделей отображаются здесь)","events.range":"Поверните {t} · Шаг {a}→{b}","events.rangeTo":"Поверните {a} · Шаг {as} → Поверните {b} · Шаг {bs}","events.title":"Контекстные события","files.chipTip":"{files} файлов · {ops} операций","files.deltaTip":"Совокупное изменение строк, оцененное по аргументам вызовов редактирования/записи: + добавлено / − удалено","files.empty":"Нет чтений, записей или поиска файлов в этом диапазоне","files.errs":"{n} не удалось","files.files":"{n} файлов","files.form.dir":"Каталог","files.form.image":"Изображение","files.form.text":"Файл","files.glyph.archive":"Архив","files.glyph.assets":"Активы","files.glyph.build":"Результат сборки","files.glyph.config":"Конфигурация","files.glyph.data":"Данные / манифест","files.glyph.database":"База данных","files.glyph.deps":"Зависимости","files.glyph.docker":"Docker","files.glyph.docs":"Документы","files.glyph.document":"Документ","files.glyph.font":"Шрифт","files.glyph.hidden":"Каталог метаданных","files.glyph.ignore":"Игнорировать правила","files.glyph.lang.c":"C","files.glyph.lang.cpp":"C++","files.glyph.lang.csharp":"C#","files.glyph.lang.dart":"Dart","files.glyph.lang.go":"Перейти","files.glyph.lang.html":"HTML","files.glyph.lang.java":"Java","files.glyph.lang.js":"JavaScript","files.glyph.lang.kotlin":"Kotlin","files.glyph.lang.lua":"Lua","files.glyph.lang.php":"PHP","files.glyph.lang.ruby":"Рубин","files.glyph.lang.rust":"Ржавчина","files.glyph.lang.scala":"Скала","files.glyph.lang.svelte":"Свелт","files.glyph.lang.swift":"Быстро","files.glyph.lang.ts":"TypeScript","files.glyph.lang.vue":"Вью","files.glyph.license":"Лицензия","files.glyph.lock":"Файл блокировки","files.glyph.log":"Войти","files.glyph.markdown":"Документ с разметкой","files.glyph.media":"Медиа","files.glyph.notebook":"Блокнот","files.glyph.python":"Питон","files.glyph.root":"Корневая папка рабочей области","files.glyph.scripts":"Скрипты","files.glyph.sheet":"Таблица","files.glyph.shell":"Оболочка","files.glyph.style":"Стили","files.glyph.tests":"Тесты","files.hits":"{n} попаданий","files.kind.all":"Все","files.kind.image":"Изображения","files.kind.read":"Читать","files.kind.search":"Искали","files.kind.write":"Написано","files.locate":"Показать эту операцию в Обозревателе контекста","files.noMatch":"Нет файлов, соответствующих текущим фильтрам","files.open":"Открыть на вашем устройстве","files.preview":"Предпросмотр в боковой панели","files.readEst":"Строк прочитано, оценка на основе аргумента limit","files.readTip":"Прочитайте строки {a}–{b}","files.scopeLatest":"До последнего · следует за выбором трендового графика","files.search":"Фильтровать по пути…","files.sort.count":"Самый активный","files.sort.latest":"Последние","files.sort.path":"По пути","files.sortTip":"Сортировать файлы по количеству операций (выбранного вида при активной метке вида), последней активности или пути","files.title":"Активность файла","footer":"Оценка: та же эвристика с фиксированной плотностью, что и встроенный tokenMeter в dsh (~4 символа ≈ 1 токен); «фактическое» — это использование, сообщаемое провайдером.","form.catalog":"Обновление каталога","form.context":"Контекстная инъекция","form.instructions":"Инструкции","form.notice":"Уведомление","form.recall":"Напомнить","form.relay":"Агентский ретранслятор","form.snapshot":"Снимок состояния","gate.body":"dsh-context поддерживает DeepSeek Harness версии {minimum} или новее.","gate.current":"Текущая","gate.minimum":"Минимально требуемая","gate.ok":"Понятно","gate.orNewer":"или новее","gate.title":"Требуется обновление DSH","gran.delta":"Дельта","gran.modeHint":"Итого: суммарное значение; Дельта: изменение по сравнению с предыдущим запросом","gran.step":"Шаг","gran.total":"Всего","gran.turn":"Повернуть","jump.statsLine":"Просмотр состава контекста на вкладке «Контекст»","jump.title":"Посмотреть этот шаг во вкладке Контекст","kind.compaction":"Компактный","kind.inject":"Внедрить","kind.mode":"Режим","kind.model":"Переключить","kind.prune":"Обрезать","loading":"Чтение журнала сессии…","node.calls":"Звонки","node.empty":"(пустой ответ)","node.failed":"Выполнение инструмента завершилось с ошибкой","node.nonText":"(сообщение без текста)","node.skillTag":"Навык · {name}","node.snapshot":"Снимок:","node.toolResult":"Результат инструмента","nodes.empty":"Нет видимых сообщений прямо сейчас","nodes.hint":"в настоящее время видимые модели, сначала новые","nodes.more":"… {n} предыдущих сообщений пропущено","nodes.title":"Сообщения","overview.compactReserve":"Резерв автоуплотнения: автоуплотнение срабатывает при {pct}% окна — эта область обычно сохраняется как запас, фактически не используется.","overview.estimate":"токены (примерно)","overview.free":"Бесплатное окно","overview.ofUsed":"из использованного контекста","overview.title":"Текущий контекст","overview.used":"использовано контекста","placement.all":"Везде","placement.sidebar":"Боковая панель","placement.tab":"Вкладка","plugin.github":"GitHub","plugin.hint":"Лучший плагин контекста для DSH ⭐","plugin.name":"Плагин","plugin.settings":"Настройки","plugin.settingsOpen":"Открыть в Настройках","plugin.title":"Информация о плагине","rich.copied":"Скопировано","rich.copy":"Скопировать исходный текст","rich.md":"Markdown","rich.md.copied":"Скопировано","rich.md.copy":"Копировать","rich.md.footnotes":"Сноски","rich.raw":"Сырьё","rich.toMd":"Просмотреть как Markdown","rich.toRaw":"Просмотреть исходный текст","settings.collapse":"Свернуть","settings.desc":"Настройки отображения для панели Context","settings.expand":"Развернуть","settings.fileSort":"Сортировка файлов по умолчанию","settings.gran":"Гранулярность трендов по умолчанию","settings.mode":"Отображение трендов по умолчанию","settings.placement":"Варианты размещения","settings.readOnly":"Настройки доступны только для чтения в этой среде","settings.title":"Контекст","settings.toolSort":"Схемы инструментов · Сортировка по умолчанию","sidebar.guideDescription":"Анализ состава контекста сессии, пошаговой истории и сообщений.","stats.cacheHit":"Кэш-попадания","stats.cacheHitTip":"Накопительная доля чтения из кэша от общего платного ввода за сессию.","stats.compactions":"Компактизации","stats.cost":"Расч. стоимость","stats.costHit":"попадание","stats.costMiss":"пропустить","stats.costOut":"Вывод","stats.costPriceHead":"Тарифы за 1 миллион токенов (пиковый | внепиковый по половине цены):","stats.costPriceHeadPair":"Ставки за 1 млн токенов (пик|скидка):","stats.costTip":"Примерная совокупная стоимость всей сессии по прайс-листу DeepSeek: входные данные разделены по попаданию/промаху кэша, выходные данные включают рассуждения; каждый запрос оценивается по пиковой ставке (01:00–04:00, 06:00–10:00 UTC) или по половинной ставке вне пикового времени в зависимости от времени запроса. Применяется к deepseek-v4-flash / deepseek-v4-pro на любом провайдере; цены зафиксированы, только для справки.","stats.costTipDeepseek":"DeepSeek тарифицирует пиковые окна (будни 09:00–12:00, 14:00–18:00 по Пекину) по полному прайсу; в остальные часы действует скидка 50%.","stats.costUnavailable":"Цены моделей недоступны (повторяем запрос) — стоимость пока не может быть рассчитана.","stats.costWrite":"запись","stats.hint":"За период сохранённой истории (аналогично графику истории)","stats.humanInputs":"Сообщения пользователя","stats.humanInputsTip":"Сообщения пользователя и ответы на вопросы в текущей сессии.","stats.images":"Изображения","stats.injects":"Инъекции","stats.prunes":"Чернослив","stats.steps":"Шаги","stats.title":"Статистика контекста","stats.toolCalls":"Вызовы инструментов","stats.turns":"Переключается","tab":"Контекст","timing.callTimes":"Вызовов: {n}","timing.empty":"Данных о таймингах пока нет — они появятся в процессе беседы","timing.gen":"Генерация LLM","timing.hint":"Распределение времени активности за всю сессию","timing.other":"Накладные расходы","timing.reasoning":"Размышление","timing.text":"Ответ","timing.title":"Статистика таймингов","timing.toolArgs":"Аргументы инструментов","timing.toolTimes":"Запусков: {n}","timing.tools":"Вызовы инструментов","timing.total":"Время активности","timing.ttft":"TTFT","tip.actual":"(фактическое {n})","tip.cat":"{cat} ≈ {n}","tip.delta":"Дельта {n}","tip.step":"Повернуть {t} · Шаг {s}","tip.total":"Всего ≈ {n}","tip.turn":"Поверните {t} · {n} шагов","tip.turn1":"Шаг {t} · 1 действие","tokens.cacheHit":"Попадание в кэш","tokens.cacheRead":"Вход из кэша","tokens.cacheWrite":"Запись в кэш","tokens.hint":"Суммарное использование по данным провайдера","tokens.output":"Выход","tokens.outputNote":"вкл. рассуждения","tokens.title":"Статистика токенов","tokens.total":"Всего","tokens.uncached":"Вход без кэша","tool.desc":"Описание","tool.hitsTip":"Сколько раз этот инструмент вызывался и возвращал ответ в контексте текущего шага","tool.jsonHide":"Свернуть","tool.jsonToggle":"Просмотреть сырой JSON","tool.noMatch":"Нет инструментов, соответствующих текущему фильтру","tool.params":"Параметры","tool.paramsEmpty":"(без параметров)","tool.plugin":"Регистрирующий плагин этого инструмента (для справки)","tool.search":"Фильтровать по названию, описанию или параметрам…","tool.sort.count":"По числу вызовов","tool.sort.name":"По имени","tool.sort.size":"По размеру","tool.sortTip":"Сортировать инструменты по размеру токена (по умолчанию) или по названию","tool.unknown":"Неизвестный плагин","tool.unknownTitle":"Инструмент был зарегистрирован до загрузки контекстного плагина, или его плагин был выгружен, поэтому его провайдер не может быть определен","tools.more":"из {n}","tools.top":"Лучшие схемы инструментов:","trend.adaptive":"Адаптивный","trend.adaptiveHint":"Масштабировать высоту столбцов под видимый диапазон с учётом прокрутки","trend.empty":"Отправьте сообщение, и состав контекста каждого запроса модели появится здесь","trend.focus":"Отображается только {cat}","trend.hint":"Наведите курсор для просмотра деталей, ✂ обозначает уплотнение/удаление, Шаг/Ход переключает детализацию","trend.title":"История контекста"}}
@@ -0,0 +1 @@
1
+ {"opencode-palette":{"bodyStyle":"Стиль текста","codeFont":"Шрифт кода","disableTitle":"Нажмите, чтобы отключить тему","disabled":"Отключено","enableTitle":"Нажмите, чтобы включить тему","enabled":"Включено","fontPreview":"моно","fontSize":"Размер шрифта","group.cool-blue":"Холодные синие","group.cyan-blue":"Сине-голубые","group.neutral":"Нейтральные","group.special":"Особые","group.teal":"Бирюзовые","group.transparent":"Прозрачные","group.violet":"Фиолетовые","group.warm":"Тёплые","group.yellow-green":"Жёлто-зелёные","mono":"Моноширинный (терминал)","noMatch":"Подходящих тем не найдено","panelName":"Палитра Opencode","sans":"Обычный (интерфейс)","search":"Поиск тем…","subtitle":"34 официальные темы opencode — переключение в один клик","systemDefault":"Системная (по умолчанию)","themeCount":"34 темы · по цветовым группам","themeSection":"Выбор темы","typography":"Шрифт и размер"}}
@@ -0,0 +1 @@
1
+ {"univer":{"collapse":"Свернуть просмотр","dock.close":"Закрыть","dock.currentVersion":"Текущая версия","dock.discard":"Отклонить","dock.discarded":"Отклонено","dock.discardedTitle":"Изменения отклонены","dock.draft":"Редактирование","dock.exitFullscreen":"Выйти из полноэкранного режима","dock.expand":"Развернуть","dock.fold":"Свернуть","dock.fullscreen":"Полноэкранный просмотр","dock.gatewayDown":"Univer Gateway не запущен; интерактивный предпросмотр недоступен","dock.live":"синхронизация","dock.loading":"Загрузка…","dock.markReady":"Отправить на подтверждение","dock.maximize":"На весь экран","dock.merge":"Объединить с текущей версией","dock.mergeReady":"Готово к слиянию","dock.mergeTitle":"Предпросмотр слияния","dock.merged":"Слито","dock.mergedTitle":"Изменения объединены","dock.notReady":"Отправьте это изменение на подтверждение перед слиянием или отклонением","dock.ready":"Готово","dock.restore":"Восстановить размер","dock.reviewTitle":"Идёт редактирование","dock.startGateway":"Запустить Gateway","dock.unavailable":"Недоступно","dock.unit.added":"Д","dock.unit.conflict":"Конфликт","dock.unit.deleted":"У","dock.unit.modified":"И","expand":"Развернуть просмотр","gateway.checking":"Проверка Univer Gateway…","gateway.failed":"Univer Gateway недоступен — нажмите для повтора","gateway.running":"Univer Gateway запущен","gateway.starting":"Запуск Univer Gateway…","gateway.stopped":"Univer Gateway остановлен — нажмите для запуска","refresh":"Обновить","settings.autoOpenLivePreview":"Автоматически открывать интерактивный предпросмотр","settings.autoOpenLivePreviewHint":"Показывать плавающее окно просмотра, когда агент редактирует документ. Карточки ревью в чате остаются доступны при отключении.","settings.collapse":"Свернуть","settings.description":"Управление интерактивным предпросмотром при редактировании документов.","settings.discard":"Отменить изменения","settings.expand":"Развернуть","settings.overridden":"Переопределено","settings.readOnly":"Текущий документ настроек доступен только для чтения.","settings.reset":"Сбросить по умолчанию","settings.save":"Сохранить","settings.saveFailed":"Не удалось сохранить. Попробуйте снова.","settings.saving":"Сохранение…","settings.title":"Univer Office","settings.unsaved":"Не сохранено","title":"Просмотр Univer"}}
@@ -0,0 +1 @@
1
+ {"dsh-skill-explorer":{"close":"Закрыть","create.content":"Инструкции (тело SKILL.md, Markdown)","create.created":"Создано: {path}","create.description":"Описание (как модель понимает, когда активировать навык)","create.empty":"Имя, описание и содержимое навыка не могут быть пустыми","create.failed":"Ошибка создания: {error}","create.name":"Имя навыка (kebab-case, совпадает с именем каталога)","create.namePlaceholder":"например, my-workflow","create.note":"Навык активируется немедленно (автосканирование файловой системы). Его содержимое внедряется в контекст модели как инструкция — не указывайте конфиденциальные данные.","create.root":"Расположение","create.root.project":"Навыки проекта (каталог .dsh/skills текущего проекта)","create.root.user":"Глобальные навыки (~/.dsh/skills, доступны во всех проектах)","create.submit":"Создать навык","create.whenToUse":"Когда применять (необязательно)","cwd":"рабочая папка: {cwd}","entry.label":"Центр навыков","entry.tooltip":"Центр навыков: обзор и управление загруженными навыками","filter.categories":"Категории навыков","filter.clear":"Очистить фильтры","filter.empty":"Нет навыков, соответствующих «{query}»","filter.emptyWorkspace":"В текущей рабочей области нет локальных навыков","filter.searchLabel":"Поиск навыков","filter.searchPlaceholder":"Поиск по имени, тегу или описанию навыка…","filter.tags":"Фильтр по тегам","filter.workspaceAll":"Все рабочие области","filter.workspaceCurrent":"Текущая рабочая область ({name})","filter.workspaceLabel":"Рабочая область","group.bundled":"Встроенные в систему","group.custom":"Пользовательские каталоги","group.project-agents":"Навыки проекта (.agents/skills)","group.project-dsh":"Навыки проекта (.dsh/skills)","group.runtime":"Зарегистрированные в рантайме","group.user-agents":"Глобальные навыки (~/.agents/skills)","group.user-dsh":"Глобальные навыки (~/.dsh/skills)","groupHint.bundled":"Глобальные навыки, поставляемые с DSH и его плагинами","groupHint.custom":"Конфигурация customSkillDirs","groupHint.project-agents":"Расположены в каталоге проекта, ограничены его рабочей областью","groupHint.project-dsh":"Расположены в каталоге проекта, ограничены его рабочей областью","groupHint.runtime":"Навыки, зарегистрированные плагинами во время работы","groupHint.user-agents":"Глобальные навыки (~/.agents/skills), общие для всех проектов","groupHint.user-dsh":"Глобальные навыки (~/.dsh/skills), общие для всех проектов","list.count":"{count}","list.delete":"Удалить","list.deleteConfirm":"Удалить навык \"{name}\"? Он будет перемещён в .trash.","list.deleteFailed":"Не удалось удалить: {error}","list.disabled":"Отключено: недоступно для вызова моделью (нажмите для включения)","list.empty":"Навыки пока не загружены.","list.enabled":"Включено: доступно для вызова моделью (нажмите для отключения)","list.invokable":"Вызов: {marks}","list.invokableTooltip":"Модель может вызывать этот навык автоматически; ручные команды /skill остаются доступны","list.linked":"символическая ссылка","list.loadFailed":"Не удалось загрузить: {error}","list.loading":"Загрузка…","list.mark.model":"модель","list.mark.user":"пользователь","list.toggleFailed":"Сбой операции: {error}","list.when":"Условие: {when}","panel.title":"Центр навыков","provider.filesystem":"Файловая система","provider.tooltip":"Источник навыка: {provider}","refresh":"Обновить","tab.create":"Создать","tab.list":"Навыки","workspace.isolated":"Изолировано рабочей областью","workspace.isolatedHint":"Этот навык принадлежит рабочей области «{workspace}» и изолирован от контекста текущей сессии"}}
@@ -0,0 +1 @@
1
+ {"dsh-auto-collapse":{"collapse":"Свернуть процесс","collapseSettings":"Свернуть настройки","customStatusPrompt":"Свой промпт статуса","expand":"Развернуть процесс","expandSettings":"Развернуть настройки","hint":"Если пусто, возвращается исходный промпт Deep diving...","overridden":"Переопределено","processed":"Обработано","resetDefault":"По умолчанию","statusPrompt":"Промпт статуса","think":"Рассуждения","unwritten":"Не сохранено"}}
@@ -0,0 +1 @@
1
+ {"settings.subagentDirector":{"addRole":"Добавить роль","addedRole":"Роль добавлена","bridgeUnavailable":"Мост настроек Subagent Director недоступен на этом сервере. Обновите/перезапустите dsh web.","cancel":"Отмена","closeContinuable":"Освободить субагент","closeContinuableTitle":"Освободить этот непрерывный субагент (освободить резидентный дескриптор)","closeFailed":"Сбой освобождения: {message}","closedSubagent":"Освобождён","closingContinuable":"Освобождение…","confirmCloseContinuable":"Освободить субагент «{id}»? Он перестанет быть резидентным; продолжение через send_message будет невозможно.","confirmDeleteRole":"Удалить роль «{id}»? Роли, на которые ссылается defaultRole, вернутся к настройкам плагина по умолчанию.","conflict":"Конфликт","defaultModel":"Модель","defaultProvider":"Провайдер","defaultReasoningEffort":"Уровень рассуждений","defaultRoleBadge":"По умолчанию","defaultsHeading":"Модель по умолчанию","defaultsHint":"Используется, если при вызове или в роли не указан конкретный провайдер или модель.","deleteRole":"Удалить","descriptionPlaceholder":"Когда делегировать задачи этой роли и что она должна делать…","displayNamePlaceholder":"например, Ревьюер кода","edit":"Редактировать","emptyRoles":"Шаблонов ролей пока нет. Добавьте роль, чтобы распределить обязанности субагентов.","fallbackOnInvalid":"Откатываться к родительскому агенту, если привязанная модель недоступна","fatal":"Не удалось сохранить: {message}","invalidRoleId":"Идентификатор роли должен быть в kebab-case (строчные буквы, цифры, дефис).","loadError":"Не удалось загрузить настройки предпочтений.","model":"Модель","modelNotRecorded":"Модель субагента пока не записана","modelOptional":"Сохраните карточку для применения изменений","modelQueryFailed":"Модель субагента недоступна","modelRanOn":"Субагент запущен на","modelRanOnTitle":"Маршрут модели: {model}","nav":"Директор субагентов","noAllowedModels":"Нет авторизованных моделей. Выберите модели в официальном списке субагентов (Настройки плагинов → Subagent); выбор здесь ограничен этим списком.","persona":"Персона","personaPlaceholder":"Инструкции системного промпта, передаваемые субагенту…","provider":"Провайдер","providerMissing":"Провайдер не выбран","readonly":"Настройки доступны только для чтения.","reasoningEffort":"Уровень рассуждений","rejected":"Изменение отклонено провайдером настроек.","removeRoleDone":"Роль удалена","restoreDefaults":"Сбросить по умолчанию","restoreDone":"Значения по умолчанию восстановлены","retry":"Повторить","roleDescription":"Инструкции делегирования","roleDisplayName":"Отображаемое имя","roleId":"Идентификатор роли","roleIdPlaceholder":"например, code-reviewer","rolePersona":"Персона","roleUpdated":"Роль обновлена","rolesHeading":"Шаблоны ролей","rolesHint":"Роль связывает инструкции делегирования, персону и (опционально) провайдера/модель с субагентом.","save":"Сохранить","sectionIntro":"Настройте провайдера и модель LLM для каждого субагента, а также шаблоны ролей, связывающие модель и персону с делегированием. Выбирать можно только провайдеров/модели из пула субагентов в настройках плагина (Плагины → Настройки плагинов → Subagent).","setDefaultRole":"Сделать по умолчанию","toolFilter":"Набор инструментов","toolFilterCollapse":"Свернуть","toolFilterCount":"Выбрано {count} из {total}","toolFilterDeselectAll":"Снять выбор","toolFilterEmpty":"Нет доступных инструментов","toolFilterExpand":"Развернуть","toolFilterHint":"Ограничить субагента этими инструментами. Оставьте пустым для наследования всех инструментов родителя.","toolFilterNoMatch":"Инструментов не найдено.","toolFilterNone":"Наследовать инструменты родителя (без ограничений)","toolFilterSearch":"Поиск инструментов…","toolFilterSelectAll":"Выбрать все"},"subagent-director":{"addRole":"Добавить роль","addedRole":"Роль добавлена","bridgeUnavailable":"Мост настроек Subagent Director недоступен на этом сервере. Обновите/перезапустите dsh web.","cancel":"Отмена","closeContinuable":"Освободить субагент","closeContinuableTitle":"Освободить этот непрерывный субагент (освободить резидентный дескриптор)","closeFailed":"Сбой освобождения: {message}","closedSubagent":"Освобождён","closingContinuable":"Освобождение…","confirmCloseContinuable":"Освободить субагент «{id}»? Он перестанет быть резидентным; продолжение через send_message будет невозможно.","confirmDeleteRole":"Удалить роль «{id}»? Роли, на которые ссылается defaultRole, вернутся к настройкам плагина по умолчанию.","conflict":"Конфликт","defaultModel":"Модель","defaultProvider":"Провайдер","defaultReasoningEffort":"Уровень рассуждений","defaultRoleBadge":"По умолчанию","defaultsHeading":"Модель по умолчанию","defaultsHint":"Используется, если при вызове или в роли не указан конкретный провайдер или модель.","deleteRole":"Удалить","descriptionPlaceholder":"Когда делегировать задачи этой роли и что она должна делать…","displayNamePlaceholder":"например, Ревьюер кода","edit":"Редактировать","emptyRoles":"Шаблонов ролей пока нет. Добавьте роль, чтобы распределить обязанности субагентов.","fallbackOnInvalid":"Откатываться к родительскому агенту, если привязанная модель недоступна","fatal":"Не удалось сохранить: {message}","invalidRoleId":"Идентификатор роли должен быть в kebab-case (строчные буквы, цифры, дефис).","loadError":"Не удалось загрузить настройки предпочтений.","model":"Модель","modelNotRecorded":"Модель субагента пока не записана","modelOptional":"Сохраните карточку для применения изменений","modelQueryFailed":"Модель субагента недоступна","modelRanOn":"Субагент запущен на","modelRanOnTitle":"Маршрут модели: {model}","nav":"Директор субагентов","noAllowedModels":"Нет авторизованных моделей. Выберите модели в официальном списке субагентов (Настройки плагинов → Subagent); выбор здесь ограничен этим списком.","persona":"Персона","personaPlaceholder":"Инструкции системного промпта, передаваемые субагенту…","provider":"Провайдер","providerMissing":"Провайдер не выбран","readonly":"Настройки доступны только для чтения.","reasoningEffort":"Уровень рассуждений","rejected":"Изменение отклонено провайдером настроек.","removeRoleDone":"Роль удалена","restoreDefaults":"Сбросить по умолчанию","restoreDone":"Значения по умолчанию восстановлены","retry":"Повторить","roleDescription":"Инструкции делегирования","roleDisplayName":"Отображаемое имя","roleId":"Идентификатор роли","roleIdPlaceholder":"например, code-reviewer","rolePersona":"Персона","roleUpdated":"Роль обновлена","rolesHeading":"Шаблоны ролей","rolesHint":"Роль связывает инструкции делегирования, персону и (опционально) провайдера/модель с субагентом.","save":"Сохранить","sectionIntro":"Настройте провайдера и модель LLM для каждого субагента, а также шаблоны ролей, связывающие модель и персону с делегированием. Выбирать можно только провайдеров/модели из пула субагентов в настройках плагина (Плагины → Настройки плагинов → Subagent).","setDefaultRole":"Сделать по умолчанию","toolFilter":"Набор инструментов","toolFilterCollapse":"Свернуть","toolFilterCount":"Выбрано {count} из {total}","toolFilterDeselectAll":"Снять выбор","toolFilterEmpty":"Нет доступных инструментов","toolFilterExpand":"Развернуть","toolFilterHint":"Ограничить субагента этими инструментами. Оставьте пустым для наследования всех инструментов родителя.","toolFilterNoMatch":"Инструментов не найдено.","toolFilterNone":"Наследовать инструменты родителя (без ограничений)","toolFilterSearch":"Поиск инструментов…","toolFilterSelectAll":"Выбрать все"}}
@@ -0,0 +1 @@
1
+ {"dsh-moa":{"actions.retry":"Повторить","actions.save":"Сохранить конфигурацию","actions.saved":"Сохранено!","actions.saving":"Сохранение…","addCandidate":"Добавить слот параллельной модели","aggTempHint":"Рекомендуется 0.2 - 0.4 для строгой проверки и фактологического синтеза.","aggregator.add_fallback_btn":"Добавить резервную модель…","aggregator.blind_hint":"Анонимизировать ответы кандидатов, чтобы исключить предвзятость к конкретной модели","aggregator.blind_label":"Слепое судейство (Blind Evaluation)","aggregator.criteria_label":"Критерии оценки судьи","aggregator.criteria_placeholder":"Оценивай корректность кода, отсутствие галлюцинаций, следование стилю...","aggregator.curator_hint":"Специальные указания по синтезу ответов","aggregator.curator_label":"Инструкция куратора","aggregator.desc":"Модель, которая оценивает ответы кандидатов, применяет критерии и формирует итоговый результат","aggregator.fallbacks_desc":"Цепочка запасных моделей при отказе или превышении квот основного судьи","aggregator.fallbacks_title":"Резервные модели-судьи","aggregator.override_hint":"Заменить системную инструкцию судьи на собственную","aggregator.override_label":"Переопределение системного промпта","aggregator.peer_hint":"Включить раунд критики между кандидатами перед вынесением вердикта","aggregator.peer_label":"Режим взаимного консилиума","aggregator.questions_hint":"Список контрольных проверок при сопоставлении ответов кандидатов","aggregator.questions_label":"Контрольные вопросы для критики","aggregator.stream_hint":"Отображать финальный синтез в реальном времени","aggregator.stream_label":"Потоковый вывод агрегатора","aggregator.temp_hint":"Степень вариативности синтеза (обычно 0.1–0.3 для строгой оценки)","aggregator.temp_label":"Температура судьи","aggregator.timeout_label":"Таймаут агрегатора (сек)","aggregator.title":"Модель-судья и агрегация (Judge / Aggregator)","aggregatorDesc":"Оценивает предложения кандидатов, исправляет галлюцинации и формирует итоговое единое решение.","aggregatorTitle":"Модель-судья / Агрегатор (проверяет и синтезирует)","badge.candidates":"Кандидатов: {count}","badge.disabled":"Отключено","badge.models":"Доступно моделей: {count}","badge.offline":"Хост недоступен","badge.online":"MoA активен","badge.preset":"Пресет: {name}","btn.clear_stats":"Очистить статистику","btn.export_stats":"Экспорт статистики (CSV/JSON)","btn.refresh":"Обновить статус","btn.reset":"Сбросить к умолчаниям","btn.run":"Запустить раунд MoA","btn.running":"Генерация ответов…","btn.save":"Сохранить конфигурацию","btn.saving":"Сохранение…","cancel":"Отмена","candidate":"Кандидат","card.consensus":"Степень согласия консилиума: {consensus}%","card.critique_score":"Средний балл: {score}/10","card.critique_title":"Карточка взаимной критики","card.strengths":"Сильные стороны:","card.verdict":"Вердикт судьи:","card.weaknesses":"Замечания:","card.winner":"Выбранный кандидат: {model}","clear":"Очистить","col.avg_latency":"Средняя задержка","col.critique_score":"Оценка консилиума","col.model":"Модель","col.win_rate":"Винрейт","col.wins":"Побед","config.enabled_label":"Включить модуль Mixture of Agents","confirmDeletePreset":"Вы уверены, что хотите удалить пресет","create":"Создать","createNewPreset":"Создать новый пресет...","defaultPreset":"Пресет по умолчанию (используется для /moa без аргументов)","delete":"Удалить","deletePreset":"Удалить пресет","description":"Выполнение задач с несколькими параллельными моделями-советниками и синтезирующей моделью-судьёй","empty.models":"Нет доступных моделей для выбора","empty.proposers":"Выберите хотя бы одну модель-кандидата в списке выше","error.no_judge":"Необходимо указать модель-судью","error.no_proposers":"Необходимо выбрать хотя бы одну модель-кандидата","error.timeout":"Превышено время ожидания ответа моделей ({timeout}с)","export.copied":"Данные скопированы в буфер обмена","export.csv":"Экспорт CSV","export.json":"Экспорт JSON","field.blind_review":"Слепое рецензирование (Blind Review)","field.blind_review_hint":"Скрывать имена моделей при взаимной оценке для исключения предвзятости","field.curator_advice":"Совет куратора (Curator Guidance)","field.curator_advice_hint":"Инструкция судье, на какие аспекты обращать внимание (точность, лаконичность, код)","field.fallback_judges":"Резервные судьи (Fallback Judges)","field.fallback_judges_hint":"Цепочка моделей на случай превышения лимитов или недоступности основного судьи","field.judge_model":"Модель-судья (Judge / Synthesizer)","field.judge_model_hint":"Финальная модель, которая оценивает ответы кандидатов и формирует итоговый ответ","field.max_tokens":"Лимит токенов на раунд","field.max_tokens_hint":"Максимальное число токенов для ответов каждого кандидата","field.peer_critique":"Включить взаимную критику (Peer Critique)","field.peer_critique_hint":"Перед передачей судье кандидаты выставляют оценки и пишут замечания к чужим ответам","field.proposer_models":"Модели-кандидаты (Proposers)","field.proposer_models_hint":"Модели, генерирующие независимые варианты ответа в параллельном режиме","field.rounds":"Количество раундов синтеза","field.rounds_hint":"Число итераций доработки и взаимной критики (рекомендуется 1–2)","field.temperature":"Температура генерации","field.temperature_hint":"Степень креативности для моделей-кандидатов (0.0 — детерминировано, 1.0 — вариативно)","field.timeout_sec":"Таймаут раунда (сек)","field.timeout_sec_hint":"Максимальное время ожидания ответа самого медленного кандидата","header.sub":"Параллельная генерация несколькими моделями-кандидатами с финальной оценкой и объединением ведущей моделью-судьёй. Автоматически возвращает результат в модель текущей сессии.","header.title":"Оркестрация Mixture of Agents (MoA)","help.desc":"MoA комбинирует сильные стороны разных моделей (код, фактология, логика) для получения результата, превосходящего любую одиночную модель.","help.doc_link":"Документация и лучшие практики","help.slash_command":"Слэш-команда:","help.slash_example":"/moa Сравни подходы к кэшированию и составь архитектуру","help.title":"Справка по Mixture of Agents","isDefault":"по умолчанию","leaderboard.cost":"Расход токенов","leaderboard.desc":"Рейтинг эффективности кандидатов по оценкам судьи за все проведённые раунды","leaderboard.empty":"История раундов пока пуста","leaderboard.export_csv":"Экспорт CSV","leaderboard.export_json":"Экспорт JSON","leaderboard.filter_all":"Все модели","leaderboard.model":"Модель","leaderboard.runs":"Раундов","leaderboard.title":"Таблица побед моделей (Leaderboard)","leaderboard.winrate":"Винрейт","leaderboard.wins":"Побед","loading":"Сохранение…","makeDefault":"Сделать по умолчанию","makeDefaultHint":"Использовать этот пресет для /moa, когда аргумент пресета не указан","modelsFound":"Найдено","msg.reset":"Настройки сброшены к значениям по умолчанию","msg.saved":"Настройки MoA успешно сохранены","msg.stats_cleared":"История побед и статистика очищены","newPresetPlaceholder":"Имя нового пресета (например, fast-audit)","noModelsMatch":"Моделей по запросу не найдено.","of":"из","parallelCount":"Параллельные воркеры","picker.clear":"Очистить","picker.custom":"Указать вручную…","picker.found":"Найдено:","picker.none":"Модель не выбрана","picker.of":"из","picker.search_placeholder":"Поиск модели по имени или провайдеру…","picker.select":"Выбрать модель","presetSelectLabel":"Активный пресет для настройки:","presets.active_badge":"Активный пресет","presets.cancel":"Отмена","presets.create":"Создать","presets.del_btn":"Удалить пресет","presets.del_confirm":"Вы уверены, что хотите удалить этот пресет?","presets.desc":"Готовые наборы ролей, моделей-кандидатов и параметров судейства для различных типов задач","presets.name_placeholder":"Имя пресета (например: Code Review, Deep Debate)","presets.new_btn":"Создать пресет…","presets.set_default":"Сделать по умолчанию","presets.title":"Управление пресетами MoA","proposers.add_btn":"Добавить модель-кандидата…","proposers.candidate":"Кандидат #{index}","proposers.desc":"Список независимых моделей, параллельно генерирующих варианты ответа","proposers.grace_label":"Льготное время ожидания (сек)","proposers.parallel_count":"Параллельных потоков: {count}","proposers.quorum_hint":"Минимальное количество успешных ответов кандидатов для продолжения раунда","proposers.quorum_label":"Кворум ответов","proposers.role_general":"Общий ассистент (General)","proposers.role_label":"Специализация кандидата","proposers.role_minimalist":"Минималист (Ponytail/KISS)","proposers.role_performance":"Производительность и оптимизация","proposers.role_robustness":"Надёжность и безопасность","proposers.role_tester":"Тестирование и валидация","proposers.temp_hint":"Степень вариативности ответа кандидата","proposers.temp_label":"Температура кандидата","proposers.timeout_label":"Таймаут кандидатов (сек)","proposers.title":"Пул моделей-кандидатов (Proposers)","proposersDesc":"Параллельно генерируют независимые варианты ответов для предоставления различных точек зрения.","proposersTitle":"Модели-кандидаты (Советники)","refTempHint":"Рекомендуется 0.6 - 0.8 для генерации разнообразных творческих гипотез.","refTempLabel":"Температура кандидатов (разнообразие решений):","remove":"Удалить","retry":"Повторить подключение","save":"Сохранить изменения","saved":"Успешно сохранено","searchPlaceholder":"Поиск по названию модели или провайдеру...","sec.critique_desc":"Кандидаты анонимно рецензируют ответы друг друга перед финальным решением судьи","sec.critique_title":"Режим взаимной критики (Peer Review)","sec.roles_desc":"Выберите пул моделей-кандидатов (proposers) и синтезирующую модель-судью (judge)","sec.roles_title":"Назначение ролей моделей","sec.stats_desc":"Статистика качества ответов и частота выбора модели судьёй","sec.stats_title":"Метрики и победы моделей","selectModel":"Выберите модель...","slash.desc":"Выполнить запрос через оркестрацию нескольких моделей (MoA)","slashMoa":"Выполнить задачу через Mixture of Agents (/moa <промпт>)","stat.avg_latency":"Среднее время раунда","stat.no_data":"Статистика раундов пока пуста. Запустите MoA через /moa или кнопку выше.","stat.successful_runs":"Успешных раундов","stat.tokens_saved":"Экономия токенов","stat.total_runs":"Всего раундов MoA","stat.win_rate":"Доля побед моделей (Win Rate)","stats.active_models":"Активных моделей","stats.avg_cost":"Средняя стоимость","stats.desc":"Общая статистика генераций, экономия и средняя стоимость","stats.preset_count":"Пресетов","stats.title":"Сводная телеметрия MoA","stats.total_runs":"Всего раундов","status.completed":"Раунд успешно завершён","status.critique":"Взаимная критика и оценка ответов…","status.error":"Ошибка раунда: {error}","status.idle":"Готов к работе","status.judging":"Судья {judge} синтезирует финальный ответ…","status.proposing":"Генерация ответов кандидатами ({current}/{total})…","tab.advanced":"Дополнительно","tab.critique":"Консилиум и критика","tab.orchestration":"Оркестрация","tab.stats":"Лидерборд и винрейт","tag.coder":"Для кода","tag.fast":"Быстрая","tag.reasoning":"Рассуждающая","tag.recommended":"Рекомендуется","temperature":"Температура","title":"Смесь агентов (MoA)","toast.cleared":"История очищена","toast.copied":"Скопировано в буфер обмена","unavailable":"Сервис MoA временно недоступен (переподключение...)","useCustom":"Использовать свою"}}
@@ -0,0 +1 @@
1
+ {"personalDirective":{"disabled":"Директива: Выкл","enabled":"Директива: Вкл","failed":"Сбой подключения переключателя директивы","switching":"Переключение…","title":"Переключить персональную директиву"}}
@@ -0,0 +1 @@
1
+ {"dsh-hooks":{"addHook":"+ Добавить hook","currentHooks":"Текущие хуки","fillRunOrChannel":"hook #{i}:укажите команду run или выберите канал уведомлений","hookTriggered":"срабатываний хука","noHooks":"Нет хуков, нажмите «Редактировать» для добавления","notifyWebhook":"Webhook уведомлений","routeUnavailable":"Не удаётся получить доступ к маршрутам /dsh-hooks/*: убедитесь, что плагин dsh-hooks установлен и DSH перезапущен."}}