| 1 | { |
| 2 | "PetHabitatTitle": "CODEWHALE / WHALESONG · Общая среда обитания", |
| 3 | "PetHabitatHints": "{back} назад · {sound} звук · {browser} внешний вид · {window} окно", |
| 4 | "PetHabitatQueued": "Отправлено в общую среду обитания. /pet on открывает полный вид.", |
| 5 | "PetWatchSoundOn": "Звук включён", |
| 6 | "PetWatchSoundOff": "Звук выключен", |
| 7 | "PetWatchSoundPaused": "Звук приостановлен", |
| 8 | "PetWatchSoundUnavailable": "Звук Codewhale остановлен. Проверьте FFmpeg (ffplay) и аудиовыход, затем снова включите звук.", |
| 9 | "CmdPetDescription": "Отдаёт экран питомцу Codewhale на время работы", |
| 10 | "PetModeOn": "Режим питомца включён. Среда занимает экран, пока Codewhale работает; Esc возвращает к вводу.", |
| 11 | "PetModeOff": "Режим питомца выключен. Питомец продолжает жить в компаньоне; /pet включает его снова.", |
| 12 | "PetModeOnLabel": "режим питомца включён", |
| 13 | "PetModeOffLabel": "режим питомца выключен", |
| 14 | "PetViewOpen": "среда открыта", |
| 15 | "PetViewClosed": "среда закрыта", |
| 16 | "PetWatchRestored": "/pet восстановил среду этой сессии. Ожидание новой телеметрии.", |
| 17 | "PetWatchStorageUnavailable": "Watch не удалось восстановить или сохранить эту среду. Существующие файлы сохранены. Используйте {command}, чтобы экспортировать этот запуск.", |
| 18 | "PetWatchExported": "Запись Watch сохранена: {path}", |
| 19 | "PetWatchExportFailed": "Не удалось сохранить запись Watch. Она остаётся в памяти.", |
| 20 | "PetWatchExportQueued": "Сохранение записи Watch…", |
| 21 | "PetWatchExportUnavailable": "Откройте /pet в сохранённой сессии или дождитесь завершения текущего экспорта.", |
| 22 | "PetUnobserved": "нет наблюдений", |
| 23 | "PetDozing": "дремлет", |
| 24 | "PetWatchUnavailable": "Телеметрия питомца приостановлена. /pet on повторит попытку.", |
| 25 | "SessionArchiveExported": "Сеанс экспортирован", |
| 26 | "SessionArchiveSizes": "записи / размер без сжатия / размер архива", |
| 27 | "SessionArchiveNoArtifacts": "Обычные файлы артефактов для этого сеанса не найдены.", |
| 28 | "SessionArchiveRestoreHint": "Откройте извлечённую запись командой /load <session.json>; /resume импортирует только разговор. Извлечённые артефакты остаются отдельными файлами.", |
| 29 | "ExtensionsActionAdd": "добавить", |
| 30 | "ExtensionsActionEnable": "включить", |
| 31 | "ExtensionsActionEdit": "Изменить", |
| 32 | "ExtensionsHooksAddLabel": "Добавить хук", |
| 33 | "ExtensionsHooksAddDescription": "Открыть файл хуков этого проекта в вашем редакторе", |
| 34 | "ExtensionsActionReload": "перезагрузить", |
| 35 | "ExtensionsActionConnect": "подключить", |
| 36 | "ExtensionsActionReconnect": "переподключить", |
| 37 | "ExtensionsActionReauth": "повторно войти", |
| 38 | "ExtensionsActionDiagnose": "диагностика", |
| 39 | "ExtensionsActionManage": "управлять", |
| 40 | "ExtensionsActionFocus": "фокус", |
| 41 | "ExtensionsActionFold": "свернуть", |
| 42 | "ExtensionsActionTabs": "вкладки", |
| 43 | "ExtensionsCompatibilityFull": "полная", |
| 44 | "ExtensionsCompatibilityPartial": "частичная", |
| 45 | "ExtensionsComponentBrowserDriver": "драйвер браузера", |
| 46 | "ExtensionsComponentNativeRuntime": "нативная среда выполнения", |
| 47 | "ExtensionsComponentSandboxRuntime": "изолированная среда", |
| 48 | "ExtensionsGroupBuiltIn": "Встроенные", |
| 49 | "ExtensionsGroupConfigured": "Настроенные", |
| 50 | "ExtensionsGroupProblems": "Проблемы", |
| 51 | "ExtensionsGroupRecommended": "Рекомендуемые", |
| 52 | "ExtensionsGroupServers": "Серверы", |
| 53 | "ExtensionsGroupNeedsAttention": "Требует внимания", |
| 54 | "ExtensionsGroupNeedsLogin": "Требуется вход", |
| 55 | "ExtensionsGroupStatus": "Элементов: {count} · Enter сворачивает", |
| 56 | "ExtensionsGroupUser": "Пользователь", |
| 57 | "ExtensionsGroupWorkspace": "Рабочая область", |
| 58 | "ExtensionsHookDetail": "тайм-аут: {timeout} с · фон: {background} · продолжать после ошибки: {continue_on_error}", |
| 59 | "ExtensionsHookFallback": "хук {event}", |
| 60 | "ExtensionsHooksConfiguration": "Настройка хуков", |
| 61 | "ExtensionsInventoryAgents": "Агенты: {count}", |
| 62 | "ExtensionsInventoryCommands": "Команды: {count}", |
| 63 | "ExtensionsInventoryHooks": "Хуки: {count}", |
| 64 | "ExtensionsInventoryMcp": "MCP: {count}", |
| 65 | "ExtensionsInventoryNone": "Нет поддерживаемых компонентов", |
| 66 | "ExtensionsInventorySkills": "Навыки: {count}", |
| 67 | "ExtensionsMarketplaceDetail": "издатель: {publisher} · уровень: {tier} · можно установить: {installable}", |
| 68 | "ExtensionsMarketplaceUnavailable": "Хранилище магазина плагинов недоступно", |
| 69 | "ExtensionsMcpEmpty": "Серверы MCP не настроены", |
| 70 | "ExtensionsMcpBrowse": "Посмотреть рекомендуемые серверы", |
| 71 | "ExtensionsMcpDetail": "инструменты: {tools} · ресурсы: {resources} · промпты: {prompts}", |
| 72 | "ExtensionsMcpNotInspected": "Не проверено в этом снимке · Enter перезагрузит и подключит настроенные серверы", |
| 73 | "ExtensionsMcpRefresh": "Настроено серверов MCP: {count}; откройте /mcp, чтобы обновить снимок", |
| 74 | "ExtensionsMcpSummary": "{transport} · инструменты: {tools} · ресурсы: {resources}", |
| 75 | "ExtensionsNoItems": "На этой вкладке нет элементов", |
| 76 | "ExtensionsNoMatches": "Нет совпадений для «{query}»", |
| 77 | "ExtensionsPluginDetail": "{inventory} · доверие: {trust} · совместимость: {compatibility} · диагностика: {diagnostics}", |
| 78 | "ExtensionsProductBrowserUseDescription": "Сценарий управления браузером, упакованный как навык агента.", |
| 79 | "ExtensionsProductChromeDescription": "Просмотр и управление локальным сеансом Chrome через официальный MCP.", |
| 80 | "ExtensionsProductDetail": "издатель: {publisher} · компоненты: {components} · источник: {source}", |
| 81 | "ExtensionsProductPlaywrightDescription": "Автоматизация браузера на основе Playwright MCP от Microsoft.", |
| 82 | "ExtensionsProductCodewhaleComputerUseDescription": "Видит экран и управляет им: управление через специальные возможности, снимки, масштаб и запись экрана, а также удалённые компьютеры по ssh.", |
| 83 | "ExtensionsStateFirstParty": "Входит в Codewhale", |
| 84 | "ExtensionsProductSandboxDescription": "Слой изоляции процессов для локальных команд, предоставляемых плагинами.", |
| 85 | "ExtensionsSearchLabel": "Поиск: ", |
| 86 | "ExtensionsSkillRootCompatibleGlobal": "Совместимые глобальные ({harness})", |
| 87 | "ExtensionsSkillRootCompatibleProject": "Совместимый проект ({harness})", |
| 88 | "ExtensionsSkillRootConfigured": "Настроенный каталог", |
| 89 | "ExtensionsSkillRootGlobal": "Глобальные навыки Codewhale", |
| 90 | "ExtensionsSkillRootProject": "Навыки проекта Codewhale", |
| 91 | "ExtensionsSkillRootRegistryCache": "Кэш реестра", |
| 92 | "ExtensionsSkillRootReviewedPlugin": "Проверенный плагин", |
| 93 | "ExtensionsStateAvailable": "доступен", |
| 94 | "ExtensionsStateBetaCandidate": "бета-кандидат", |
| 95 | "ExtensionsStateConnected": "подключён", |
| 96 | "ExtensionsStateEnabled": "включён", |
| 97 | "ExtensionsStateEnabledUntrusted": "включён, не доверен", |
| 98 | "ExtensionsStateError": "ошибка", |
| 99 | "ExtensionsStateInactive": "неактивен", |
| 100 | "ExtensionsStateInapplicable": "не применим", |
| 101 | "ExtensionsStateInvalid": "недействителен", |
| 102 | "ExtensionsStateNotInspected": "не проверено", |
| 103 | "ExtensionsStateRejected": "отклонён", |
| 104 | "ExtensionsStateReviewedCandidate": "проверенный кандидат", |
| 105 | "ExtensionsStateUnderEvaluation": "оценивается", |
| 106 | "ExtensionsStateUnstaged": "не подготовлен", |
| 107 | "ExtensionsStateUnsupported": "не поддерживается", |
| 108 | "ExtensionsStateWarning": "предупреждение", |
| 109 | "ExtensionsTabHooks": "Хуки", |
| 110 | "ExtensionsTabMarketplace": "Магазин", |
| 111 | "ExtensionsTabMarketplaceCompact": "Магазин", |
| 112 | "ExtensionsTabPlugins": "Плагины", |
| 113 | "ExtensionsTierCommunity": "сообщество", |
| 114 | "ExtensionsTierCurated": "отобрано", |
| 115 | "ExtensionsTierOfficial": "официальный", |
| 116 | "ExtensionsTierPartner": "партнёр", |
| 117 | "ExtensionsTitle": "Расширения", |
| 118 | "ExtensionsTrustCapabilitiesChanged": "возможности изменены", |
| 119 | "ExtensionsTrustContentChanged": "содержимое изменено", |
| 120 | "ExtensionsTrustNotReviewed": "не проверен", |
| 121 | "ExtensionsTrustTrusted": "доверенный", |
| 122 | "ExtensionsValueNo": "нет", |
| 123 | "ExtensionsValueYes": "да", |
| 124 | "ComposerPlaceholder": "Введите сообщение…", |
| 125 | "ComposerPlaceholderFollowUp": "Введите следующее сообщение…", |
| 126 | "ComposerPlaceholderSendNow": "Enter отправит сейчас · напишите ещё", |
| 127 | "ComposerHintSendWithQueue": "↵ отправить ({count} в очереди)", |
| 128 | "ComposerHintQueue": "↵ отправить после этого хода", |
| 129 | "ComposerHintQueueWithCount": "↵ отправить после этого хода ({count} в очереди)", |
| 130 | "ComposerHintOfflineQueue": "↵ сохранить на потом", |
| 131 | "ComposerHintOfflineConnect": "↵ сохранить на потом · /provider подключает", |
| 132 | "ComposerHintSendNow": "↵ отправить сейчас", |
| 133 | "ComposerHintSendIntoTurn": "↵ отправить в этот ход", |
| 134 | "PendingSendingIntoTurnPrefix": " ↳ Отправка в этот ход: ", |
| 135 | "PendingCouldNotSendIntoTurnPrefix": " ↳ Не удалось отправить в этот ход: ", |
| 136 | "PendingEditingFollowUpPrefix": " ↳ Редактируется следующее сообщение: ", |
| 137 | "PendingQueuedOnePrefix": "В очереди #1: ", |
| 138 | "PendingQueuedManyPrefix": "В очереди {count} · далее: ", |
| 139 | "PendingSendNowControls": "Enter отправит сейчас · {key} правит последнее", |
| 140 | "PendingSendNowDropControls": "Enter отправит сейчас · {key} правит · /queue drop 1", |
| 141 | "PendingEscRestore": " Esc возвращает сообщение из очереди", |
| 142 | "PendingQueuedFollowUpPrefix": " ↳ Следующее в очереди #{number}: ", |
| 143 | "PendingInputsHeader": "Ожидающие вводы", |
| 144 | "PendingContextHeader": "Контекст для следующей отправки", |
| 145 | "ToastQueuedFollowUp": "В очереди. Отправится после этого хода.", |
| 146 | "ToastQueuedFollowUpCount": "В очереди ({count} ждут). Отправится после этого хода.", |
| 147 | "ToastQueuedOffline": "Сохранено. Чтобы отправить, подключите поставщика.", |
| 148 | "ToastSentIntoTurn": "Отправлено в этот ход.", |
| 149 | "ToastCouldNotSendIntoTurn": "Не удалось отправить в этот ход; осталось в очереди.", |
| 150 | "ToastHookBlockedFollowUp": "Хук заблокировал следующее сообщение; оно осталось в очереди.", |
| 151 | "ToastOfflineQueuedCount": "Офлайн: {count} сохранено на потом.", |
| 152 | "ComposerDispatchFailedRestored": "Сообщение не отправлено ({error}); возвращено в поле ввода.", |
| 153 | "DispatchFailedQueued": "Отправка не удалась ({error}); в очереди оставлено отложенных сообщений: {count}.", |
| 154 | "DispatchFailedInitial": "Не удалось отправить начальный запрос: {error}", |
| 155 | "HistorySearchPlaceholder": "Поиск по истории запросов...", |
| 156 | "HistorySearchTitle": "Поиск по истории", |
| 157 | "HistoryHintMove": "Up/Down перемещение", |
| 158 | "HistoryHintAccept": "Enter выбрать", |
| 159 | "HistoryHintRestore": "Esc вернуть", |
| 160 | "HistoryNoMatches": " Нет совпадений", |
| 161 | "TranscriptReasoningExpand": "развернуть", |
| 162 | "TelemetryNoticeDefaultOn": "Отправка статистики использования включена по умолчанию. Передавать сводные счётчики версий, платформ, сеансов, функций и ошибок Codewhale и обработчику PostHog. Без содержимого и IP. docs/TELEMETRY.md Отключить: codewhale config set telemetry false", |
| 163 | "TelemetryNoticeHeadline": "Статистика использования Codewhale", |
| 164 | "TelemetryNoticeBody": "Codewhale считает: версию, операционную систему и семейство процессора,\nдлительность и результат сеанса, а также сводные счётчики функций и ошибок.\n\nОн никогда не собирает ваши разговоры, код, запросы, файлы, имена файлов,\nрепозиториев или веток, содержимое модели и учётные данные — и никогда не\nотправляет хронологию действий агента по отдельным ходам или инструментам.\n\nДля идентификации служит только случайный идентификатор на этом устройстве,\nкоторый заменяется каждые 90 дней. Передумать можно в любое время:\n codewhale config set telemetry false\n\nПолная схема по полям: docs/TELEMETRY.md\n\nОтправка статистики использования включена по умолчанию. Codewhale и PostHog обрабатывают эти счётчики, если отправка настроена. IP не собираются.", |
| 165 | "TelemetryNoticeCompactBody": "Счёт: версия, ОС/CPU, время/итог сеанса, функции/ошибки. Локальный случайный ID меняется каждые 90 дней. Никогда: чаты/код/запросы/файлы/имена, данные модели/учётные данные, ходы/инструменты. Схема: docs/TELEMETRY.md Выкл.: codewhale config set telemetry false\nОтправка статистики использования включена по умолчанию. Codewhale и PostHog обрабатывают эти счётчики, если отправка настроена. IP не собираются.", |
| 166 | "TelemetryNoticeChoiceKeep": "Да, оставить анонимный подсчёт", |
| 167 | "TelemetryNoticeChoiceDisable": "Нет, отключить отслеживание", |
| 168 | "TelemetryNoticeActionChoose": "выбрать", |
| 169 | "TelemetryNoticeActionConfirm": "подтвердить", |
| 170 | "TelemetryNoticeActionExit": "выйти", |
| 171 | "TelemetryNoticeReceiptEnabled": "Анонимный подсчёт использования включён. Разговоры и код никогда не собираются. Изменить в /settings; схема: docs/TELEMETRY.md", |
| 172 | "TelemetryNoticeReceiptDisabled": "Анонимный подсчёт использования отключён. Повторного вопроса не будет.", |
| 173 | "TelemetryNoticeReceiptEnabledUnsaved": "Анонимный подсчёт использования включён для этого сеанса. Codewhale не удалось сохранить уведомление, поэтому оно появится снова. Изменить в /settings; схема: docs/TELEMETRY.md", |
| 174 | "TelemetryNoticeReceiptDisabledUnsaved": "Анонимный подсчёт использования отключён для этого сеанса. Codewhale не удалось сохранить выбор, поэтому при следующем запуске вопрос повторится.", |
| 175 | "TelemetryPreferenceEnabledNextLaunch": "Анонимный подсчёт использования включится при следующем запуске. Разговоры и код никогда не собираются.", |
| 176 | "TelemetryPreferenceDisabled": "Анонимный подсчёт использования отключён. Локальные данные телеметрии удалены.", |
| 177 | "TelemetryPreferenceDisabledWithWarning": "Анонимный подсчёт использования отключён, но часть очистки требует внимания: {detail}", |
| 178 | "TelemetryPreferenceDisabledForSession": "Анонимный подсчёт использования отключён для этого сеанса, но настройка не сохранена и может вернуться при следующем запуске: {detail}", |
| 179 | "TelemetryPreferenceSaveFailed": "Не удалось безопасно изменить настройку телеметрии: {detail}", |
| 180 | "StatusPickerTitle": " Строка статуса ", |
| 181 | "StatusPickerInstruction": "Выберите элементы для нижней панели:", |
| 182 | "StatusPickerActionToggle": "перекл. ", |
| 183 | "StatusPickerActionAll": "все ", |
| 184 | "StatusPickerActionNone": "ничего ", |
| 185 | "StatusPickerActionSave": "сохранить ", |
| 186 | "StatusPickerActionCancel": "отмена ", |
| 187 | "HotbarSetupTitle": " Настройка Hotbar ", |
| 188 | "HotbarSetupSourceApp": "прил.", |
| 189 | "HotbarSetupSourceSlash": "слеш", |
| 190 | "HotbarSetupSourceMcp": "MCP", |
| 191 | "HotbarSetupSourceSkill": "навык", |
| 192 | "HotbarSetupSourcePlugin": "плагин", |
| 193 | "HotbarSetupStatusDisabled": "отключено", |
| 194 | "HotbarSetupStatusPrefill": "предзаполнение", |
| 195 | "HotbarSetupStatusReady": "готово", |
| 196 | "HotbarSetupDirtyModified": "изменено", |
| 197 | "HotbarSetupDirtyClean": "без изменений", |
| 198 | "HotbarSetupNoAction": "Нет действия", |
| 199 | "HotbarSetupConfirmDisable": "Отключить Hotbar и очистить все слоты? (y/n)", |
| 200 | "HotbarSetupStatusLine": "слот {slot} | {action} | {dirty}", |
| 201 | "HotbarSetupSlotOutOfRange": "Слот Hotbar {slot} вне диапазона 1-{max}", |
| 202 | "HotbarSetupNoActionSelected": "Действие не выбрано.", |
| 203 | "HotbarSetupCannotAssign": "{action} нельзя назначить: {reason}", |
| 204 | "HotbarSetupNoActions": "Нет доступных действий для Hotbar.", |
| 205 | "HotbarSetupRecommended": "рек", |
| 206 | "HotbarSetupEmptySlot": "пусто", |
| 207 | "HotbarSetupHelp": "Tab/Shift+Tab источник Up/Down действие 1-8 слот Enter назначить Space перекл. Delete очистить s сохранить Esc отмена", |
| 208 | "HotbarActionVoiceToggleName": "Голосовой ввод", |
| 209 | "HotbarActionVoiceToggleDescription": "Включает/выключает захват голоса с микрофона терминала.", |
| 210 | "HotbarActionSessionCompactName": "Сжать сессию", |
| 211 | "HotbarActionSessionCompactDescription": "Сжимает контекст текущего диалога.", |
| 212 | "HotbarActionModePlanName": "Режим Plan", |
| 213 | "HotbarActionModePlanDescription": "Продумать план до начала работы.", |
| 214 | "HotbarActionModeAgentName": "Режим Work", |
| 215 | "HotbarActionModeAgentDescription": "Прямая работа в текущей сессии.", |
| 216 | "HotbarActionModeYoloName": "Full Access (Act)", |
| 217 | "HotbarActionModeYoloDescription": "Совместимость: Act с правами Full Access (не отдельный режим).", |
| 218 | "HotbarActionReasoningCycleName": "Переключение рассуждений", |
| 219 | "HotbarActionReasoningCycleDescription": "Перебирает уровень рассуждений активного провайдера.", |
| 220 | "HotbarActionReasoningCycleAutoDisabled": "Уровень рассуждений задаётся автомаршрутизацией модели.", |
| 221 | "HotbarActionSidebarToggleName": "Боковая панель", |
| 222 | "HotbarActionSidebarToggleDescription": "Показать или скрыть боковую панель.", |
| 223 | "HotbarActionFileTreeToggleName": "Дерево файлов", |
| 224 | "HotbarActionFileTreeToggleDescription": "Показать или скрыть дерево файлов рабочей области.", |
| 225 | "HotbarActionPaletteOpenName": "Палитра команд", |
| 226 | "HotbarActionPaletteOpenDescription": "Открывает палитру команд.", |
| 227 | "HotbarActionTrustToggleName": "Доверие", |
| 228 | "HotbarActionTrustToggleDescription": "Включает или выключает режим доверия рабочей области.", |
| 229 | "ConfigTitle": "Настройки", |
| 230 | "ConfigPreviewLabel": "Предпросмотр: ", |
| 231 | "ConfigHintExternalCredentials": "Какой файл учётных данных может читать этот провайдер, с каким доступом и как его отозвать.", |
| 232 | "ConfigModalTitle": " Настройки ", |
| 233 | "ConfigSearchPlaceholder": "введите для фильтра", |
| 234 | "ConfigNoSettings": " Настройки недоступны.", |
| 235 | "ConfigNoMatchesPrefix": " Нет совпадений для ", |
| 236 | "ConfigFilteredSettings": " Отфильтрованные настройки", |
| 237 | "ConfigShowing": " Показано", |
| 238 | "ConfigFooterDefault": " ввод=фильтр, Up/Down=выбор, Enter=изменить, Esc=закрыть ", |
| 239 | "ConfigFooterScrollable": " ввод=фильтр, Up/Down=выбор, Enter=изменить, PgUp/PgDn=прокрутка, Esc=закрыть ", |
| 240 | "ConfigFooterFiltered": " ввод=фильтр, Backspace=удалить, Ctrl+U/Esc=очистить, Enter=изменить ", |
| 241 | "ConfigSectionProvider": "Провайдер", |
| 242 | "ConfigSectionModel": "Модель", |
| 243 | "ConfigSectionPermissions": "Разрешения", |
| 244 | "ConfigSectionNetwork": "Сеть", |
| 245 | "ConfigSectionDisplay": "Отображение", |
| 246 | "ConfigSectionComposer": "Поле ввода", |
| 247 | "ConfigSectionSidebar": "Боковая панель", |
| 248 | "ConfigSectionHistory": "История", |
| 249 | "ConfigSectionMcp": "MCP", |
| 250 | "ConfigSectionFleet": "Fleet", |
| 251 | "ConfigSectionWorkflow": "Воркфлоу", |
| 252 | "ConfigSectionSession": "Сессия", |
| 253 | "ConfigSectionLegacy": "Устаревшее", |
| 254 | "ConfigSectionExperimental": "Экспериментальные", |
| 255 | "ConfigScopeSession": "СЕССИЯ", |
| 256 | "ConfigScopeSaved": "СОХРАНЕНО", |
| 257 | "ConfigCommandSource": "{value} (источник: {source})", |
| 258 | "ConfigCommandInvalidValue": "Недопустимое значение '{value}' для {key}. Допустимо: {choices}.", |
| 259 | "ConfigSearchUpdated": "search.provider = {value} ({scope}; последующие вызовы web_search используют эффективного провайдера с учётом переменных среды)", |
| 260 | "ConfigPromptSuggestionUpdated": "prompt_suggestion = {value} ({scope}; подсказки-призраки применяются после последующих ходов)", |
| 261 | "ConfigNotificationsSetHint": "Задайте через /config notifications <key> <value> [--save].", |
| 262 | "ConfigNotificationUpdated": "notifications.{key} = {value} ({scope}; применяется к последующим уведомлениям)", |
| 263 | "ConfigNotificationsWholeNumber": "notifications.threshold_secs должно быть целым числом", |
| 264 | "ConfigAuditSearchProvider": "Записывает [search] provider; последующие вызовы web_search по-прежнему учитывают переменные среды.", |
| 265 | "ConfigAuditPromptSuggestion": "Записывает prompt_suggestion верхнего уровня; подсказки-призраки остаются опциональными.", |
| 266 | "ConfigAuditNotifications": "Записывает скалярные значения [notifications] и применяет их к последующим уведомлениям о завершении хода.", |
| 267 | "ConfigHelpDiscoverable": " Доступные ключи config.toml: `/config search.provider`, `/config prompt_suggestion`, `/config notifications`. Для сохранения используйте `--save`.", |
| 268 | "ConfigEditCancelled": "Изменение отменено", |
| 269 | "ConfigEditTitlePrefix": "Изменить ", |
| 270 | "ConfigEditScopeLabel": "Область: ", |
| 271 | "ConfigEditCurrentLabel": "Текущее: ", |
| 272 | "ConfigEditHintLabel": "Подсказка: ", |
| 273 | "ConfigEditNewLabel": "Новое: ", |
| 274 | "ConfigEditFooter": " Enter=применить, Esc=отмена, Ctrl+U=очистить, Ctrl+A=всё, ←,/→,=переместить ", |
| 275 | "ConfigLocalePartialBadge": "частичный", |
| 276 | "ConfigLocalePartialDetail": "Частичный пакет перевода; отсутствующие строки будут на английском.", |
| 277 | "ConfigRowEffective": " (итог: {currency})", |
| 278 | "ConfigDefaultValue": "(по умолчанию)", |
| 279 | "ConfigDefaultReasoning": "(конфиг/по умолчанию)", |
| 280 | "ConfigUnavailable": "(недоступно)", |
| 281 | "ConfigLabelProvider": "Текущий провайдер", |
| 282 | "ConfigLabelBaseUrlDeepseek": "URL API провайдера (маршрут DeepSeek)", |
| 283 | "ConfigLabelProviderUrl": "URL API провайдера", |
| 284 | "ConfigHintProviderUrl": "Текущая конечная точка провайдера; Xiaomi: пакет токенов | оплата по мере использования | пользовательский URL", |
| 285 | "ConfigLabelModel": "Модель текущего провайдера", |
| 286 | "ConfigLabelFastModel": "Быстрая модель (производная)", |
| 287 | "ConfigLabelDefaultModel": "Резервная модель (только маршруты DeepSeek)", |
| 288 | "ConfigLabelReasoningEffort": "Уровень рассуждений", |
| 289 | "ConfigLabelApprovalMode": "Разрешение этой сессии", |
| 290 | "ConfigLabelPermissionPosture": "Разрешение новых сессий", |
| 291 | "ConfigLabelApprovalPolicy": "Разрешение новых сессий (конфиг)", |
| 292 | "ConfigLabelManagedApprovalPolicy": "Разрешение новых сессий (управляемое)", |
| 293 | "ConfigLabelDefaultMode": "Режим при запуске", |
| 294 | "ConfigLabelAllowShell": "Доступ к шеллу", |
| 295 | "ConfigLabelManagedAllowShell": "Доступ к шеллу (управляемый)", |
| 296 | "ConfigLabelTelemetry": "Анонимный подсчёт использования", |
| 297 | "ConfigHintTelemetry": "Сводные счётчики версий, сеансов, функций и ошибок для Codewhale и PostHog; никогда содержимое или IP. docs/TELEMETRY.md", |
| 298 | "ConfigValueTelemetryOn": "Вкл.", |
| 299 | "ConfigValueTelemetryOff": "Выкл.", |
| 300 | "ConfigLabelStreamTimeout": "Тайм-аут потока", |
| 301 | "ConfigLabelTheme": "Тема", |
| 302 | "ConfigLabelLocale": "Язык", |
| 303 | "ConfigLabelBackground": "Фон", |
| 304 | "ConfigLabelWorkSurfacePlacement": "Положение боковой панели", |
| 305 | "ConfigLabelTopHeight": "Высота верхней панели", |
| 306 | "ConfigLabelSideWidth": "Ширина боковой панели", |
| 307 | "ConfigLabelCalmMode": "Спокойная лента", |
| 308 | "ConfigLabelLowMotion": "Меньше анимаций", |
| 309 | "ConfigLabelFancyAnimations": "Живые анимации UI", |
| 310 | "ScreenModeFullscreenNotice": "Экран: полноэкранный режим (альтернативный экран).", |
| 311 | "ScreenModeInlineNotice": "Экран: встроенный — терминал сохраняет собственный буфер прокрутки. Транскрипция остаётся в области просмотра; пока в буфер прокрутки ничего не записывается.", |
| 312 | "ScreenModeMouseCaptureOn": "Захват мыши включён.", |
| 313 | "ScreenModeMouseCaptureOff": "Захват мыши выключен; выбором управляет терминал.", |
| 314 | "ScreenModeUnchanged": "Экран без изменений: {reason}.", |
| 315 | "ImageInputRejectedResent": "{model} не принимает изображения — они отправлены повторно как текст; используйте image_ocr для чтения", |
| 316 | "ProviderToolCallMissing": "Провайдер завершил ответ с `{reason}`, но не передал вызов инструмента. Повторите этот ход, чтобы продолжить.", |
| 317 | "ConfigLabelShowThinking": "Рассуждения модели в чате", |
| 318 | "ConfigLabelThinkingHighlight": "Подсветка фона рассуждений", |
| 319 | "ConfigLabelShowToolDetails": "Детализация инструментов", |
| 320 | "ConfigLabelInlineDiffs": "Встроенные изменения файлов", |
| 321 | "ConfigLabelStatusIndicator": "Индикатор статуса", |
| 322 | "ConfigLabelSynchronizedOutput": "Темп вывода", |
| 323 | "ConfigLabelCostCurrency": "Валюта стоимости", |
| 324 | "ConfigLabelTranscriptSpacing": "Интервалы в ленте", |
| 325 | "ConfigLabelToolCollapse": "Карточки инструментов", |
| 326 | "ConfigLabelComposerDensity": "Плотность поля ввода", |
| 327 | "ConfigLabelComposerBorder": "Рамка поля ввода", |
| 328 | "ConfigLabelComposerMultilineMode": "Многострочный режим поля ввода", |
| 329 | "ConfigLabelComposerVimMode": "Режим Vim в поле ввода", |
| 330 | "ConfigLabelBracketedPaste": "Режим bracketed paste", |
| 331 | "ConfigLabelPasteBurstDetection": "Определение вставки", |
| 332 | "ConfigLabelMentionMenuLimit": "Лимит меню упоминаний", |
| 333 | "ConfigLabelMentionMenuBehavior": "Поведение меню упоминаний", |
| 334 | "ConfigLabelMentionWalkDepth": "Глубина упоминаний файлов", |
| 335 | "ConfigLabelWorkspaceFollowSymlinks": "Следовать симлинкам", |
| 336 | "ConfigLabelContextPanel": "Панель контекста", |
| 337 | "ConfigLabelAutoCompact": "Автосжатие", |
| 338 | "ConfigLabelAutoCompactThreshold": "Порог сжатия", |
| 339 | "ConfigLabelMaxHistory": "История ввода", |
| 340 | "ConfigLabelMcpConfigPath": "Путь к конфигурации MCP", |
| 341 | "ConfigLabelMcpOpen": "Менеджер MCP", |
| 342 | "ConfigLabelMcpReconnect": "Переподключить MCP", |
| 343 | "ConfigLabelMcpDiagnose": "Диагностика MCP", |
| 344 | "ConfigLabelPluginsOpen": "Плагины", |
| 345 | "ConfigLabelFleetSpawnDepth": "Глубина рекурсии Fleet", |
| 346 | "ConfigLabelGoalCommand": "Команда цели", |
| 347 | "ConfigLabelWorkflow": "Воркфлоу", |
| 348 | "ConfigLabelFeaturePrefix": "Функция: {name}", |
| 349 | "ConfigColumnSetting": "Настройка", |
| 350 | "ConfigColumnValue": "Значение", |
| 351 | "ConfigColumnScope": "Область", |
| 352 | "ConfigActionOpenProvider": "Enter — выбор провайдера", |
| 353 | "ConfigActionOpenModel": "Enter — выбор модели", |
| 354 | "ConfigActionOpenMcp": "Enter открывает менеджер MCP", |
| 355 | "ConfigActionMcpReconnect": "Enter переподключает MCP", |
| 356 | "ConfigActionMcpDiagnose": "Enter диагностирует MCP", |
| 357 | "ConfigActionOpenPlugins": "Enter открывает плагины", |
| 358 | "ConfigActionToggle": "Enter — переключить", |
| 359 | "ConfigActionChoose": "Enter — открыть варианты", |
| 360 | "ConfigActionEdit": "Enter — изменить", |
| 361 | "ConfigActionReadOnly": "только чтение", |
| 362 | "ModelPickerAutoNetworkHint": "на ход · готовые провайдеры · запрос + недавний контекст → DeepSeek / deepseek-v4-flash", |
| 363 | "ModelPickerAutoLocalHint": "на ход · локальная эвристика · без запроса к маршрутизатору", |
| 364 | "ModelPickerAutoLastRoute": "последний {provider} · {model}", |
| 365 | "AutoRouteSelectedToast": "Auto: {provider} / {model} через {source} · Ctrl+O: детали маршрута", |
| 366 | "HelpGroupCommonCommands": "Частые команды", |
| 367 | "HelpGroupAllCommands": "Все команды", |
| 368 | "HelpTitle": "Справка", |
| 369 | "HelpFilterPlaceholder": "Введите для фильтра", |
| 370 | "HelpFilterPrefix": "Фильтр: ", |
| 371 | "HelpNoMatches": " Нет совпадений.", |
| 372 | "HelpSlashCommands": "Слеш-команды", |
| 373 | "HelpKeybindings": "Сочетания клавиш", |
| 374 | "HelpUserCommands": "Пользовательские команды", |
| 375 | "HelpSkills": "Навыки", |
| 376 | "HelpFooterTypeFilter": " введите для фильтра ", |
| 377 | "HelpFooterMove": " Up/Down перемещение ", |
| 378 | "HelpFooterJump": " PgUp/PgDn переход ", |
| 379 | "HelpFooterClose": " Esc закрыть ", |
| 380 | "CmdAnchorDescription": "Закрепить факт, переживающий сжатие (автоматически добавляется в контекст)", |
| 381 | "CmdAttachDescription": "Прикрепить изображение/видео; @path — для текстовых файлов и каталогов", |
| 382 | "CmdCacheDescription": "Показать статистику попаданий/промахов префикс-кэша за последние N ходов", |
| 383 | "CmdEffortDescription": "Задаёт уровень рассуждений модели (также /thinking)", |
| 384 | "CmdPreviewRequestDescription": "Предпросмотр следующего запроса в виде очищенного манифеста без отправки", |
| 385 | "CmdToolsDescription": "Просмотр ограниченной проекции последнего подготовленного запроса инструментов (только чтение)", |
| 386 | "CmdChangeDescription": "Показать последнюю запись списка изменений", |
| 387 | "CmdChangeHeader": "Последние изменения", |
| 388 | "CmdChangeTranslationQueued": "Ниже показаны английские заметки о выпуске. Перевод будет запрошен далее; если провайдер недоступен, останется этот английский текст.", |
| 389 | "CmdChangeTranslationUnavailable": "Ниже показаны английские заметки о выпуске. Перевод недоступен: в текущей сессии нет API-ключа или нет сети.", |
| 390 | "CmdChangePreviousVersion": "Предыдущая версия: {version} — выполните `/change {version}`, чтобы посмотреть", |
| 391 | "CmdBalanceDescription": "Проверить баланс счёта активного провайдера", |
| 392 | "CmdImportClaudeDescription": "Спланировать проверяемый импорт настроек Claude Code и серверов MCP", |
| 393 | "CmdClearDescription": "Очистить историю диалога", |
| 394 | "CmdCompactDescription": "Запустить сжатие контекста, чтобы освободить место", |
| 395 | "CmdPurgeDescription": "Позволить агенту точечно сократить историю диалога и освободить контекст", |
| 396 | "CmdConfigDescription": "Просмотр и изменение настроек (сырые ключи — для продвинутых)", |
| 397 | "CmdPermissionsDescription": "Просмотреть список правил разрешений и безопасно удалить их", |
| 398 | "PermissionsListHeader": "Правила разрешений\nИсточник: permissions.toml активного пользователя\nПуть: {path}\nСостояние файла: {file_state}\nКоличество правил: {count}", |
| 399 | "PermissionsNoRules": "Правила разрешений не настроены.", |
| 400 | "PermissionsFileMissing": "отсутствует", |
| 401 | "PermissionsFileEmpty": "пуст", |
| 402 | "PermissionsFilePresent": "присутствует", |
| 403 | "PermissionsRuleEntry": "#{index} | {action} | {tool}\n Действующее совпадение: {matcher}\n Область: {scope} — {applicability}", |
| 404 | "PermissionsMatchExactCommand": "точная команда `{command}`", |
| 405 | "PermissionsMatchCommandPrefix": "префикс команды `{command}` (с учётом аргументов)", |
| 406 | "PermissionsMatchExactPath": "точный нормализованный путь `{path}`", |
| 407 | "PermissionsMatchAnyInvocation": "любой вызов этого инструмента", |
| 408 | "PermissionsScopeGlobal": "глобальная", |
| 409 | "PermissionsScopeRepo": "репозиторий `{workspace}`", |
| 410 | "PermissionsAppliesHere": "действует в этой рабочей области", |
| 411 | "PermissionsInactiveHere": "не действует в этой рабочей области", |
| 412 | "PermissionsRemovePreview": "Проверьте удаление правила #{index}:\n{rule}\n\nДля подтверждения выполните `{command}`. Эта команда перестанет действовать, если permissions.toml изменится.", |
| 413 | "PermissionsRemoved": "Правило разрешений #{index} удалено: {action} {tool}.", |
| 414 | "PermissionsUsage": "Использование: /permissions [list|remove <rule-number> [--confirm <token>]]", |
| 415 | "PermissionsRuleNotFound": "Правило разрешений #{index} не найдено; снова выполните `/permissions list`.", |
| 416 | "PermissionsOperationFailed": "Операция с правилом разрешений завершилась ошибкой: {error}", |
| 417 | "CmdConstitutionDescription": "Управление постоянной конституцией и предпросмотрами", |
| 418 | "CmdContextDescription": "Открыть инспектор контекста или отчёт source-map", |
| 419 | "CmdCostDescription": "Показать разбивку стоимости сессии", |
| 420 | "CmdDiffDescription": "Показать изменения файлов с начала сессии", |
| 421 | "CmdEditDescription": "Изменить и повторно отправить последнее сообщение", |
| 422 | "CmdExitDescription": "Выйти из приложения", |
| 423 | "CmdExportDescription": "Скопировать безопасный экспорт диалога или записать его в указанный файл", |
| 424 | "CmdCopyDescription": "Скопировать последний завершённый ответ ассистента в буфер обмена", |
| 425 | "CmdCopyNoOutput": "Нет доступного завершённого ответа ассистента для копирования", |
| 426 | "CmdCopySuccess": "Последний завершённый ответ ассистента принят для передачи в буфер обмена; резервная копия находится в {path}", |
| 427 | "CmdCopySuccessNoBackup": "Последний завершённый ответ ассистента принят для отправки в буфер обмена, но записать файл восстановления не удалось. Используйте `/export file <path>`, чтобы выбрать место сохранения", |
| 428 | "CmdCopyQueued": "Последний завершённый ответ ассистента поставлен в очередь для буфера обмена терминального клиента; резервная копия находится в {path}", |
| 429 | "CmdCopyQueuedNoBackup": "Последний завершённый ответ ассистента поставлен в очередь для буфера обмена терминального клиента; записать файл восстановления не удалось. Используйте `/export file <path>`, чтобы выбрать место сохранения", |
| 430 | "CmdCopyFailed": "Не удалось скопировать в буфер обмена: {error}. Ответ сохранён в {path}", |
| 431 | "CmdCopyFailedNoBackup": "Не удалось скопировать в буфер обмена: {error}. Записать файл восстановления не удалось; используйте `/export file <path>`, чтобы выбрать место сохранения", |
| 432 | "CmdFeedbackDescription": "Создать и проверить локальные черновики отчётов о проблемах", |
| 433 | "FeedbackNoSession": "Начните или возобновите сеанс, прежде чем создавать черновик отчёта о проблеме.", |
| 434 | "FeedbackUnavailable": "Черновик или запрос недоступен либо некорректен. Проверьте текущий сеанс, идентификатор черновика и ограничения длины текста; ничего не опубликовано.", |
| 435 | "FeedbackReviewNotice": "Локальный черновик для проверки. Публикация и поиск дубликатов недоступны. Проверьте содержимое, прежде чем делиться им; скрытие конфиденциальных данных не гарантирует приватность.", |
| 436 | "FeedbackHelp": "Попросите текущего агента подготовить черновик отчёта о проблеме Codewhale, проверьте сохранённый черновик или запросите правки. Черновики отчётов об ошибках остаются на устройстве; публикация недоступна.", |
| 437 | "FeedbackDraftRequested": "Текущему агенту отправляется запрос на создание или доработку локального черновика отчёта о проблеме. Черновик появится только после успешного сохранения. Публикация недоступна.", |
| 438 | "CmdHfDescription": "Просмотр настройки и концепций Hugging Face MCP", |
| 439 | "CmdHelpDescription": "Разобраться в концепциях, командах и сочетаниях клавиш", |
| 440 | "CmdProfileDescription": "Переключиться на именованный профиль конфигурации", |
| 441 | "CmdHomeDescription": "Открыть главную, сохранив текущий разговор", |
| 442 | "CmdOverviewDescription": "Показать домашнюю панель со статистикой и быстрыми действиями", |
| 443 | "HomeBackToConversation": "Вернуться к разговору", |
| 444 | "HomeNavigationBusy": "Завершите или остановите текущую работу, прежде чем открыть главную.", |
| 445 | "CmdHooksDescription": "Управление хуками жизненного цикла в расширениях", |
| 446 | "CmdAgentDescription": "Открыть постоянную сессию субагента", |
| 447 | "CmdGoalDescription": "Продолжать одну цель на протяжении нескольких ходов", |
| 448 | "CmdInitDescription": "Сгенерировать AGENTS.md для проекта", |
| 449 | "CmdLspDescription": "Включить или выключить диагностику LSP", |
| 450 | "CmdShareDescription": "Экспортировать текущую сессию как веб-ссылку для общего доступа", |
| 451 | "CmdJobsDescription": "Просмотр и управление фоновыми заданиями Bash", |
| 452 | "CmdDispatchDescription": "Отправить облачного агента Codewhale, чтобы создать ветку и открыть PR", |
| 453 | "CmdLinksDescription": "Показать ссылки на Codewhale, сообщество и провайдеров", |
| 454 | "CmdLoadDescription": "Загрузить сессию из файла", |
| 455 | "CmdLogoutDescription": "Удалить API-ключ и вернуться к настройке", |
| 456 | "CmdMcpDescription": "Открыть список серверов MCP или управлять ими — подкоманда init добавляет сервер а doctor его проверяет", |
| 457 | "McpReloadAlreadyRunning": "Перезагрузка MCP уже выполняется; строка состояния показывает прогресс.", |
| 458 | "McpRecommendedUnknownId": "Неизвестный идентификатор рекомендованного MCP. Выполните {recommendations_command}, чтобы просмотреть отобранный список.", |
| 459 | "McpRecommendationsHeading": "Рекомендуемые плагины Codewhale (компоненты MCP; автоматической установки нет)", |
| 460 | "McpRecommendationsSafety": "Просмотр списка ничего не добавляет и не включает. Явное добавление только записывает конфигурацию; проверьте её до подключения сервера командой {restart_command}.", |
| 461 | "McpRecommendationGithub": "• github — официальный удалённый MCP-адрес GitHub\n адрес: {endpoint}\n аутентификация выполняется отдельно: используйте {login_command}, только если сервер заявляет OAuth;\n иначе настройте PAT с минимальными правами вне истории команд. Выданные\n области доступа могут изменять или удалять данные репозитория; по возможности начните с чтения.\n добавить явно: {add_command}", |
| 462 | "McpRecommendationChrome": "• chrome-devtools — официальный Chrome DevTools MCP через npm-пакет закреплённой версии\n пакет: {package} ({launcher})\n он может исследовать/управлять Chrome и читать страницы с авторизацией. Закройте\n конфиденциальные вкладки и проверьте пакет до добавления; {restart_command} может скачать и запустить его.\n добавить явно: {add_command}", |
| 463 | "McpRecommendationPlaywright": "• playwright — официальный Playwright MCP от Microsoft через npm-пакет закреплённой версии\n пакет: {package} ({launcher})\n источник: {source}\n --isolated запускает новый профиль браузера. Сервер может открывать страницы, управлять ими\n и отправлять формы; сначала проверьте действия. {restart_command} может скачать и запустить пакет.\n добавить явно: {add_command}", |
| 464 | "McpRecommendationContainerUse": "• container-use — экспериментальный container-use MCP от Dagger\n команда: container-use stdio\n источник: {source}\n требуется отдельно установленный исполняемый файл container-use; Codewhale никогда не\n скачивает и не устанавливает его. Сервер может создавать контейнеры и менять подключённые файлы проекта.\n Проверьте установку и команду перед {restart_command}.\n добавить явно: {add_command}", |
| 465 | "PluginKimiUsage": "Использование:\n {list_command}\n {approve_command}\nСписок доступен только для чтения. После подтверждения один канонический плагин под управлением Kimi копируется проверенным установщиком; он остаётся отключённым и недоверенным.", |
| 466 | "PluginKimiManagedRootHeading": "Плагины под управлением Kimi в {root}:", |
| 467 | "PluginKimiNoneFound": "Допустимые управляемые плагины не найдены.", |
| 468 | "PluginKimiLicenseUnspecified": "не указана", |
| 469 | "PluginKimiApplicable": "подходит для этой ОС", |
| 470 | "PluginKimiNotApplicable": "не подходит для этой ОС", |
| 471 | "PluginKimiCandidateSummary": "{name} {version} — лицензия={license} — {applicability} — {inventory}", |
| 472 | "PluginKimiCandidateDetails": " путь: {path}\n хэш содержимого: {content_hash}\n хэш возможностей: {capability_hash}\n подтвердить: {approve_command}", |
| 473 | "PluginKimiRejectedHeading": "Отклонённые записи (импорт невозможен):", |
| 474 | "PluginKimiInspectionFooter": "Проверка ничего не копировала, не объявляла доверенным, не включала и не запускала. Внешние приложения, службы, бинарные файлы, расширения браузера, учётные данные и разрешения ОС Kimi не проверялись.", |
| 475 | "PluginKimiCandidateMissing": "Нет допустимого канонического плагина под управлением Kimi с именем `{name}`. Снова выполните {list_command}.", |
| 476 | "PluginKimiCandidateChanged": "Плагин под управлением Kimi `{name}` изменился после проверки. Ожидался хэш {expected}, теперь {actual}. Ничего не скопировано; снова выполните {list_command}.", |
| 477 | "PluginKimiHomeMissing": "Не удалось найти домашний каталог пользователя для импорта Kimi.", |
| 478 | "PluginKimiRootInspectFailed": "Не удалось проверить корень плагинов Kimi {root}: {error}", |
| 479 | "PluginKimiRootMustBeDirectory": "Корень плагинов Kimi {root} должен быть настоящим каталогом, а не ссылкой или точкой повторного анализа.", |
| 480 | "PluginKimiRootCanonicalizeFailed": "Не удалось канонизировать корень плагинов Kimi {root}: {error}", |
| 481 | "PluginKimiRootListFailed": "Не удалось прочитать список корня плагинов Kimi {root}: {error}", |
| 482 | "PluginKimiEntryReadFailed": "Не удалось прочитать запись плагина Kimi: {error}", |
| 483 | "PluginKimiEntryLimit": "В корне плагинов Kimi {count} записей; за одно сканирование проверяется не более {max}.", |
| 484 | "PluginKimiEntryInspectFailed": "{path}: не удалось проверить: {error}", |
| 485 | "PluginKimiEntryLinksRefused": "{path}: ссылки и точки повторного анализа запрещены", |
| 486 | "PluginKimiEntryOutsideRoot": "{path}: канонический путь {canonical_path} не является непосредственным потомком управляемого корня", |
| 487 | "PluginKimiEntryCanonicalizeFailed": "{path}: не удалось канонизировать: {error}", |
| 488 | "PluginKimiManifestUnreadable": "{path}: нет читаемого {manifest}: {error}", |
| 489 | "PluginKimiManifestMustBeFile": "{path}: {manifest} должен быть настоящим обычным файлом", |
| 490 | "PluginKimiManifestInvalid": "{path}: недопустимый манифест: {error}", |
| 491 | "PluginKimiDirectoryNameMismatch": "{path}: имя каталога должно точно совпадать с именем `{name}` в манифесте", |
| 492 | "PluginKimiHashUnavailable": "недоступно", |
| 493 | "PluginKimiRollbackDestinationMissing": "Установщик не сообщил путь назначения.", |
| 494 | "PluginKimiMismatchRemoved": "Скопированный плагин `{name}` не совпал с одобренным содержимым (ожидалось {expected}, найдено {actual}). Неожиданная копия удалена; проверьте и повторите попытку.", |
| 495 | "PluginKimiMismatchRollbackFailed": "Ошибка: скопированный плагин `{name}` не совпал с одобренным содержимым (ожидалось {expected}, найдено {actual}), а автоматическое удаление завершилось с ошибкой: {error}. Он остаётся отключённым и недоверенным; проверьте {path} перед продолжением.", |
| 496 | "PluginKimiUserPluginDirectory": "каталог пользовательских плагинов", |
| 497 | "PluginKimiMarketplaceZipUnsupported": "Проверенный установщик Codewhale не поддерживает ZIP-пакеты Kimi; установите из локального каталога или импортируйте вышестоящий плагин под управлением Kimi.", |
| 498 | "PluginKimiMarketplaceRemoteUnsupported": "Удалённый источник Kimi для установки Codewhale должен оканчиваться на .tar.gz или .tgz; .zip распознаётся, но не поддерживается.", |
| 499 | "PluginKimiMarketplaceGzipTarball": "URL gzip-архива tar", |
| 500 | "CmdPluginDescription": "Просмотр и управление доверенными пакетами плагинов; устаревшие исполняемые инструменты — отдельно", |
| 501 | "CmdPluginBundleUsage": "Использование: /plugin [list|show <name>|validate [name]|install <spec>|update <name>|uninstall <name>|trust <name> [review-token]|enable <name>|disable <name>|revoke <name>|reload|tools [name]]", |
| 502 | "CmdPluginBundleNoneFound": "Пакеты плагинов Codewhale не найдены.", |
| 503 | "CmdPluginBundleListHeader": "Пакеты плагинов ({count}):", |
| 504 | "CmdPluginLegacyListHeader": "Устаревшие исполняемые плагины ({count}) в {dir}:", |
| 505 | "CmdPluginBundleNotFound": "Пакет плагина '{name}' не найден", |
| 506 | "CmdPluginBundleReloaded": "Перезагружено пакетов плагинов для {workspace}: {count}.", |
| 507 | "PluginPromptSuggestTrust": "Похоже на работу с {name}. Перед включением проверьте: /plugin trust {name}", |
| 508 | "PluginPromptSuggestEnable": "Похоже на работу с {name}. Включите: /plugin enable {name}", |
| 509 | "PluginPromptSuggestMarketplace": "Похоже на работу с {name}. Установите из каталога `{catalog}`: /plugin marketplace install {catalog} {name}", |
| 510 | "PluginCtaInstallPrompt": "Установить плагин {name}?", |
| 511 | "PluginCtaReview": "Проверить", |
| 512 | "PluginCtaDismiss": "Скрыть", |
| 513 | "PluginCtaDismissSaveFailed": "Скрыто на время сеанса; не удалось сохранить настройку плагина.", |
| 514 | "PluginSuggestionReason": "Совпадение с «{trigger}»", |
| 515 | "CmdPluginBundleDetail": "{name}\n========================================\nID: {id}\nВерсия: {version}\nИсточник: {origin} ({scope})\nСостояние: {state}\nДоверие: {trust}\nКомпоненты: {inventory}\nЗапрошенные разрешения: {permissions}\nСерверы MCP: {mcp}\nНеподдерживаемые/неактивные: {unsupported}\nХэш содержимого: {content_hash}\nХэш возможностей: {capability_hash}\nПуть: {path}", |
| 516 | "CmdPluginBundleDiagnosticsHeader": "Диагностика плагинов ({count}):", |
| 517 | "CmdPluginBundleMutationSuccess": "Пакет плагина '{name}': {action}.", |
| 518 | "CmdPluginActionFailed": "Действие с плагином не удалось: {error}", |
| 519 | "CmdPluginNoneFound": "Устаревшие исполняемые плагины в {dir} не найдены", |
| 520 | "CmdPluginNotFound": "Плагин '{name}' не найден", |
| 521 | "CmdPluginListHeader": "Устаревшие исполняемые плагины ({count}):", |
| 522 | "CmdPluginDetailDescription": "Описание: {description}", |
| 523 | "CmdPluginDetailSchema": "Схема:\n{schema}", |
| 524 | "CmdPluginDetailApproval": "Одобрение: {approval}", |
| 525 | "CmdPluginDetailPath": "Путь: {path}", |
| 526 | "CmdMemoryDescription": "Просмотр и управление постоянной структурированной памятью пользователя", |
| 527 | "CmdModeDescription": "Переключить разрешения или открыть выбор режима", |
| 528 | "CmdModelDescription": "Сменить или показать текущую модель", |
| 529 | "CmdModelsDescription": "Получить актуальные ID моделей из активного API", |
| 530 | "ModelsListHeader": "Модели {provider} (по умолчанию: {model})", |
| 531 | "ModelsListHint": "Сохранённый каталог; выполните `codewhale models --update`, чтобы обновить настроенных провайдеров.", |
| 532 | "ModelsUpdateSummary": "Каталоги моделей: обновлено {updated}, загружено из Codex {loaded}, ошибок {failed}, пропущено {skipped}.", |
| 533 | "ModelsUpdatePartial": "Не удалось обновить некоторые каталоги. Предыдущие и настроенные модели остаются доступны.", |
| 534 | "ModelsCodexHint": "Модели ChatGPT загружаются через Codex. Время запроса не подтверждает обновление каталога у провайдера.", |
| 535 | "ModelsSourceFallback": "Встроенные или настроенные модели; доступность не проверена.", |
| 536 | "CmdModelDbDescription": "Просмотр встроенной базы моделей", |
| 537 | "CmdNetworkDescription": "Управление правилами разрешения и запрета сети", |
| 538 | "CmdUpdateDescription": "Проверить и установить новый выпуск Codewhale", |
| 539 | "CmdNoteDescription": "Добавить, показать, изменить или удалить заметки рабочей области", |
| 540 | "CmdThemeDescription": "Сменить тему или открыть выбор темы", |
| 541 | "CmdProviderDescription": "Сменить активного провайдера и/или модель", |
| 542 | "CmdAuthDescription": "Управление способами аутентификации провайдеров", |
| 543 | "CmdLoginDescription": "Войти в Codewhale или сохранить ключи провайдера", |
| 544 | "CmdQueueDescription": "Просмотр и редактирование сообщений в очереди", |
| 545 | "CmdQueueUsage": "Использование: /queue [list|send <n>|edit <n>|drop <n>|clear]", |
| 546 | "CmdQueueDraftHeader": "Редактирование сообщения из очереди:", |
| 547 | "CmdQueueNoMessages": "Нет сообщений в очереди", |
| 548 | "CmdQueueListHeader": "Сообщения в очереди ({count}):", |
| 549 | "CmdQueueTip": "Совет: /queue send <n> — отправить сейчас, /queue drop <n> — удалить", |
| 550 | "CmdQueueAlreadyEditing": "Сообщение из очереди уже редактируется. Отправьте его или выполните /queue clear, чтобы отменить.", |
| 551 | "CmdQueueNotFound": "Сообщение в очереди не найдено", |
| 552 | "CmdQueueEditingStatus": "Редактирование сообщения {index} из очереди", |
| 553 | "CmdQueueEditingMessage": "Редактирование сообщения {index} из очереди (Enter — вернуть в очередь/отправить)", |
| 554 | "CmdQueueDropped": "Сообщение {index} удалено из очереди", |
| 555 | "CmdQueueAlreadyEmpty": "Очередь уже пуста", |
| 556 | "CmdQueueCleared": "Очередь очищена", |
| 557 | "CmdQueueMissingIndex": "Не указан индекс. Использование: /queue edit <n> или /queue drop <n>", |
| 558 | "CmdQueueIndexPositive": "Индекс должен быть положительным числом", |
| 559 | "CmdQueueIndexMin": "Индекс должен быть >= 1", |
| 560 | "CmdRelayDescription": "Создать эстафету сессии (接力) для нового треда", |
| 561 | "CmdRemoteControlDescription": "Продолжить именно этот сеанс из веб-аккаунта Codewhale", |
| 562 | "CmdRemoteEnvDescription": "Открыть новый размещённый Work с вершины ветки GitHub или CNB", |
| 563 | "CmdRemoteEnvOverview": "Размещённый Work запускает новую среду с вершины ветки, доступной на GitHub или CNB.\n\nОн не перемещает эту локальную папку и не включает неотправленные коммиты, изменённые или игнорируемые файлы, секреты и состояние сеанса.\n\nИспользуйте {command}, чтобы открыть средство запуска размещённого Work.", |
| 564 | "CmdRemoteEnvOpening": "Открывается размещённый Work для {repo} в ветке {branch}.\n\nНовая среда запускается с вершины ветки, доступной на Git-хосте, настроенном как {origin}. Состояние, существующее только локально, не включается.\n\nЕсли браузер не открылся, используйте:\n{url}", |
| 565 | "CmdRemoteEnvUnavailable": "Codewhale не смог определить для этой папки одновременно поддерживаемый origin GitHub или CNB и извлечённую ветку. Извлеките ветку, настройте {origin} с URL HTTPS или SSH и снова попробуйте {command}. Ничего не было создано или выделено.", |
| 566 | "CmdRemoteEnvSourceCustodyPolicy": "Codewhale не загружает, не переносит и не синхронизирует локальный исходный код с размещённым Work. Используйте {command}, чтобы начать с вершины ветки, доступной на GitHub или CNB. Неотправленные коммиты, изменённые или игнорируемые файлы, секреты и состояние сеанса остаются локальными.", |
| 567 | "CmdRemoteEnvBrowserLabel": "Размещённый Work Codewhale", |
| 568 | "CmdRenameDescription": "Переименовать текущую сессию", |
| 569 | "CmdTitleDescription": "Установить заголовок вкладки/окна, отображаемый как [title] … в заголовке терминала", |
| 570 | "CmdRestoreDescription": "Откатить рабочую область к прежнему снимку до/после хода. Без аргумента — список недавних снимков.", |
| 571 | "CmdRetryDescription": "Повторить последний запрос", |
| 572 | "CmdReviewDescription": "Запустить структурированное ревью кода для файла, diff или PR", |
| 573 | "CmdRlmDescription": "Открыть постоянный контекст RLM для файла или текста", |
| 574 | "CmdSaveDescription": "Сохранить сессию в файл", |
| 575 | "CmdFullscreenDescription": "Рисовать на альтернативном экране (TUI занимает весь терминал)", |
| 576 | "CmdInlineDescription": "Рисовать встроенно во всю высоту терминала, сохраняя буфер прокрутки", |
| 577 | "CmdForkDescription": "Создать ответвление активного диалога в соседнюю сессию", |
| 578 | "CmdTreeDescription": "Показать историю сессии в виде дерева (лист — активная ветвь)", |
| 579 | "CmdBranchDescription": "Переместить активную ветвь к существующей записи сессии, не переписывая историю", |
| 580 | "CmdResumeDescription": "Возобновить сессию с возможностью импортировать экспортированный JSON-файл сессии", |
| 581 | "CmdNewDescription": "Начать новую сохранённую сессию", |
| 582 | "CmdSessionsDescription": "Открыть выбор сессии из истории — подкоманды archive и prune управляют сохранёнными сессиями", |
| 583 | "CmdSettingsDescription": "Открыть типизированный редактор настроек", |
| 584 | "CmdSidebarDescription": "Разместить рейку (top/left/right/off) или выбрать её панель", |
| 585 | "CmdSkillDescription": "Активировать навык или установить/обновить/удалить/доверить навык сообщества", |
| 586 | "CmdSkillsDescription": "Показать локальные навыки, отфильтровать по префиксу или просмотреть удалённый реестр", |
| 587 | "CmdStashDescription": "Отложить или восстановить черновик", |
| 588 | "CmdStatusDescription": "Показать рабочий статус сессии", |
| 589 | "CmdStatuslineDescription": "Настроить элементы нижней панели", |
| 590 | "CmdStructcopyDescription": "Скопировать один ограниченный объект сессии как очищенный канонический JSON (только для человека, никогда не инструмент модели)", |
| 591 | "CmdStructcopyKindTurn": "ход", |
| 592 | "CmdStructcopyKindTool": "вызов инструмента", |
| 593 | "CmdStructcopyKindPlan": "План", |
| 594 | "CmdStructcopyKindWorkflow": "Запуск рабочего процесса", |
| 595 | "CmdStructcopyUsageError": "Некорректный запрос структурного копирования. Использование: {usage}", |
| 596 | "CmdStructcopyUnavailable": "Выбранный объект ({kind}) недоступен; ничего не скопировано", |
| 597 | "CmdStructcopyBusy": "Состояние ({kind}) занято; попробуйте ещё раз", |
| 598 | "CmdStructcopyPrepareFailed": "Не удалось подготовить выбранный объект ({kind}): {error}", |
| 599 | "CmdStructcopyClipboardQueued": "Структурная копия ({kind}, {bytes} байт) поставлена в очередь для буфера обмена терминального клиента через tmux/OSC 52; доставка зависит от поддержки терминала и не подтверждена", |
| 600 | "CmdStructcopyClipboardAccepted": "Структурная копия ({kind}, {bytes} байт) передана в буфер обмена; если системный буфер был недоступен, вместо этого поставлена в очередь запись в терминал", |
| 601 | "CmdStructcopyClipboardFailed": "Копирование в буфер обмена не удалось: {error}. Ничего не записано; запустите снова с `stdout` для явного текстового вывода", |
| 602 | "CmdStructcopyReceiptTooLarge": "Метаданные квитанции структурного копирования превышают предел вывода в {bytes} байт; вывод отклонён", |
| 603 | "CmdFleetDescription": "Просмотр и настройка участников команды и состояния оркестрации — подкоманда members открывает список а setup создаёт команду", |
| 604 | "CmdWorkflowDescription": "Запустить мультиагентный скрипт, когда важны порядок или fan-out", |
| 605 | "CmdWorkflowsDescription": "Показать запуски воркфлоу в этой рабочей области (список, отмена)", |
| 606 | "CmdHotbarDescription": "Открыть настройку Hotbar", |
| 607 | "CmdSetupDescription": "Открыть настройку, начиная с конституции", |
| 608 | "CmdSubagentsDescription": "Совместимый ярлык для /fleet workers (субагенты текущего сеанса)", |
| 609 | "CmdAdvisorDescription": "Toggle background advisor watcher on/off for this session", |
| 610 | "CmdSystemDescription": "Показать текущий системный промпт", |
| 611 | "CmdTaskDescription": "Управление фоновыми задачами", |
| 612 | "CmdTokensDescription": "Показать использование токенов за сессию", |
| 613 | "CmdTranslateDescription": "Включить/выключить перевод вывода на текущий язык системы", |
| 614 | "CmdTranslateOff": "Перевод вывода выключен (показывается исходный ответ модели)", |
| 615 | "CmdTranslateOn": "Перевод вывода включён: ответы модели будут показаны на языке вашей системы", |
| 616 | "TranslationInProgress": "Перевод ответа ассистента...", |
| 617 | "TranslationComplete": "Перевод завершён", |
| 618 | "TranslationFailed": "Перевод не удался", |
| 619 | "CmdTrustDescription": "Управление доверием рабочей области и списком разрешённых путей", |
| 620 | "CmdWorkspaceDescription": "Показать или сменить текущую рабочую область — подкоманда worktrees открывает менеджер рабочих деревьев git", |
| 621 | "CmdUndoDescription": "Удалить последнюю пару сообщений", |
| 622 | "CmdVerboseDescription": "Переключить полное отображение рассуждений в ленте", |
| 623 | "CmdCacheAdvice": "Доля попаданий выше ~70% после третьего хода означает стабильный префикс кэша; \n меньшие значения в длинных сессиях указывают на нестабильность префикса, которую стоит изучить (#263).", |
| 624 | "CmdCacheFootnote": "* промах вычислен как вход − попадание, если провайдер не сообщил его явно.\n", |
| 625 | "CmdCacheUnpricedNote": "стоимость — = нет достоверной цены для этого хода; она отсутствует в оценке сессии ({notes}).\n", |
| 626 | "CmdCacheHeader": "Телеметрия кэша — последние {count} из {total} ходов (модель: {model})\n", |
| 627 | "CmdCacheNoData": "История кэша: ходы ещё не записаны.\n\nПоддерживаемые провайдеры сообщают `prompt_cache_hit_tokens` / `prompt_cache_miss_tokens` на ходах API. Выполните ход и повторите /cache.", |
| 628 | "CmdCacheTotals": "Σ вх: {sum_in} Σ попад: {sum_hit} Σ промах: {sum_miss} ср. доля попаданий: {avg}\n", |
| 629 | "CmdCostReport": "Стоимость сессии:\n ─────────────────────────────\n Примерно потрачено: {cost}\n\n Оценки стоимости приблизительны и используют телеметрию провайдера, когда она доступна.\n\n Цены API провайдера:\n ─────────────────────────────\n Данные о ценах не настроены в этом CLI.", |
| 630 | "CmdTokensCacheBoth": "{hit} попад. / {miss} промах.", |
| 631 | "CmdTokensCacheHitOnly": "{hit} попад. / промахи не сообщены", |
| 632 | "CmdTokensCacheMissOnly": "попадания не сообщены / {miss} промах.", |
| 633 | "CmdTokensContextUnknownWindow": "~{estimated} / окно неизвестно", |
| 634 | "CmdTokensContextWithWindow": "~{used} / {window} ({percent}%)", |
| 635 | "FooterAgentSingular": "1 агент", |
| 636 | "FooterAgentsPlural": "{count} агентов", |
| 637 | "HeaderAgentsChip": "агентов {count}", |
| 638 | "FooterPressCtrlCAgain": "Нажмите Ctrl+C ещё раз, чтобы выйти", |
| 639 | "FooterWorking": "в работе", |
| 640 | "FooterBalancePrefix": "баланс", |
| 641 | "HelpSectionActions": "Действия", |
| 642 | "HelpSectionClipboard": "Буфер обмена", |
| 643 | "HelpSectionPointer": "Указатель", |
| 644 | "HelpSectionEditing": "Редактирование ввода", |
| 645 | "HelpSectionHelp": "Справка", |
| 646 | "HelpSectionModes": "Режимы", |
| 647 | "HelpSectionNavigation": "Навигация", |
| 648 | "HelpSectionSessions": "Сессии", |
| 649 | "CmdTokensNotReported": "не сообщено", |
| 650 | "CmdTokensReport": "Использование токенов:\n ─────────────────────────────\n Активный контекст: {active}\n Последний ввод API: {input} (телеметрия хода; повторный префикс может считаться в каждом раунде инструментов)\n Последний вывод API: {output}\n Попадания/промахи кэша: {cache} (только телеметрия/стоимость)\n Всего токенов: {total} (телеметрия использования сессии)\n Примерная стоимость: {cost}\n Сообщений API: {api_messages}\n Сообщений чата: {chat_messages}\n Модель: {model}", |
| 651 | "KbScrollTranscript": "Прокрутка ленты, навигация по истории ввода или выбор вложений", |
| 652 | "KbNavigateHistory": "Навигация по истории ввода", |
| 653 | "KbBrowseHistory": "Просмотр истории диалога", |
| 654 | "KbScrollTranscriptAlt": "Прокрутка ленты", |
| 655 | "KbScrollPage": "Прокрутка ленты постранично", |
| 656 | "KbJumpTopBottom": "Переход в начало / конец ленты", |
| 657 | "KbJumpTopBottomEmpty": "Переход в начало / конец (при пустом вводе)", |
| 658 | "KbJumpToolBlocks": "Переход между блоками вывода инструментов", |
| 659 | "KbMoveCursor": "Перемещение курсора в поле ввода", |
| 660 | "KbJumpLineStartEnd": "Переход в начало / конец строки", |
| 661 | "KbDeleteChar": "Удалить символ до / после курсора или выбранное вложение", |
| 662 | "KbDeleteWord": "Удалить предыдущее слово", |
| 663 | "KbYank": "Вставить из kill buffer (при пустом composer копирует ячейку в фокусе)", |
| 664 | "KbToggleFileTree": "Переключить боковую панель дерева файлов", |
| 665 | "KbSelectText": "Выделить текст; с Ctrl/Alt — по словам", |
| 666 | "KbSelectAllDraft": "Выделить весь черновик", |
| 667 | "KbClearDraft": "Очистить текущий черновик", |
| 668 | "KbRestoreClearedDraft": "Восстановить очищенный черновик", |
| 669 | "KbStashDraft": "Отложить текущий черновик (`/stash pop` — восстановить)", |
| 670 | "KbSearchHistory": "Поиск по истории запросов и восстановление локальных черновиков", |
| 671 | "KbInsertNewline": "Вставить новую строку в поле ввода", |
| 672 | "KbSendDraft": "Отправить, когда свободно; в очередь, когда занято; пустое поле ввода отправляет следующее сообщение из очереди сразу", |
| 673 | "KbSteerCurrentTurn": "Направить текущий ход (в простое отправляет как обычно)", |
| 674 | "KbCloseMenu": "Закрыть меню, отменить запрос, отбросить черновик или очистить ввод", |
| 675 | "KbCancelOrExit": "Отменить запрос или выйти в простое", |
| 676 | "KbShellControls": "Перенести ожидание запущенного шелла в /jobs", |
| 677 | "KbExitEmpty": "Выйти при пустом вводе", |
| 678 | "KbCommandPalette": "Открыть палитру команд", |
| 679 | "KbSettings": "Открыть типизированный редактор настроек", |
| 680 | "KbCancelBackgroundShellJobs": "Отменить все фоновые задания шелла (панель Activity)", |
| 681 | "KbFuzzyFilePicker": "Открыть нечёткий выбор файлов (Enter вставляет @path)", |
| 682 | "KbCompactInspector": "Открыть инспектор контекста сжатой сессии", |
| 683 | "KbCompactContext": "Сжать контекст разговора", |
| 684 | "KbLastMessagePager": "Открыть последнее сообщение в пейджере (при пустом вводе)", |
| 685 | "KbSelectedDetails": "Показать сырые детали выбранного инструмента или сообщения; Ctrl+Alt+O — обзор всего хода", |
| 686 | "KbToolDetailsPager": "Показать сырые детали выбранного элемента (Alt+V)", |
| 687 | "KbExternalEditor": "Открыть черновик во внешнем редакторе", |
| 688 | "KbLiveTranscript": "Открыть живую ленту поверх (Ctrl+Shift+T; автопрокрутка с привязкой к концу)", |
| 689 | "KbBacktrackMessage": "Вернуться к предыдущему сообщению пользователя (Left/Right — шаг, Enter — откат)", |
| 690 | "KbCompleteCycleModes": "Дополнить /command или переключить режим при пустом поле ввода (Plan → Work → Operate)", |
| 691 | "KbCycleThinking": "Перебор уровня рассуждений активного провайдера (Ctrl+T)", |
| 692 | "KbCyclePermissions": "Сменить доступ: Спрашивать → Авто-проверка → Полный доступ (Shift+Tab)", |
| 693 | "KbJumpPlanAgentYolo": "Активировать слоты Hotbar", |
| 694 | "KbAltJumpPlanAgentYolo": "Альтернативный переход в режим Plan / Act / Operate", |
| 695 | "KbFocusSidebar": "Фокус на панели рейки Tasks / Agents / Context / Pinned", |
| 696 | "KbSessionPicker": "Открыть выбор сессии", |
| 697 | "KbUpdateInstall": "Проверить и установить последнее обновление Codewhale (`/update install`)", |
| 698 | "UpdateChangedHint": "Codewhale обновлён: {previous} → {current}. Запустите /change, чтобы узнать, что нового.", |
| 699 | "KbTerminalPaste": "Вставить текст через локальный терминал", |
| 700 | "KbPasteAttach": "Вставить текст или прикрепить изображение из локального или проброшенного графического буфера обмена", |
| 701 | "KbCopySelection": "Скопировать текущее выделение Codewhale", |
| 702 | "ClipboardSshPasteHint": "Вставка по SSH идёт через локальный терминал: нажмите Cmd+V на macOS или Ctrl+Shift+V на Linux/Windows.", |
| 703 | "KbContextMenu": "Открыть контекстные действия: вставка, выделение, детали сообщения, контекст и справка", |
| 704 | "KbPointerScroll": "Прокручивает расшифровку; над полем ввода перемещает курсор построчно", |
| 705 | "KbPointerClick": "Активирует строку, чип или блок инструмента под указателем", |
| 706 | "KbPointerDrag": "Выделяет текст расшифровки или перетаскивает полосу прокрутки", |
| 707 | "KbAttachPath": "Добавить локальный текстовый файл или каталог в контекст", |
| 708 | "KbHelpOverlay": "Открыть эту справку поверх (при пустом вводе)", |
| 709 | "KbCycleWorkDock": "Переключать рабочую панель (задачи, агенты, задания, фон)", |
| 710 | "KbCycleWorkDockBack": "Переключать рабочую панель назад", |
| 711 | "KbToggleHelp": "Переключить справку поверх", |
| 712 | "KbToggleHelpSlash": "Переключить справку поверх", |
| 713 | "HelpUsageLabel": "Использование:", |
| 714 | "HelpAliasesLabel": "Псевдонимы:", |
| 715 | "SettingsTitle": "Настройки:", |
| 716 | "SettingsConfigFile": "Файл конфигурации:", |
| 717 | "SettingsTuiPrefsFolded": "Перенесли {key} '{value}' из tui.toml — теперь им владеет settings.toml.", |
| 718 | "SettingsTuiPrefsKept": "tui.toml задавал {key} как '{prefs}', но settings.toml уже задаёт '{settings}' — побеждает settings.toml.", |
| 719 | "SettingsTuiPrefsQuarantined": "Ключи tui.toml без соответствующей настройки сохранены в {path}: {keys}", |
| 720 | "ClearConversation": "Диалог очищен", |
| 721 | "ClearConversationBusy": "Ничего не очищено (состояние Work или фоновая работа заняты; подождите и повторите /clear)", |
| 722 | "ModelChanged": "Модель изменена: {old} →, {new}", |
| 723 | "LinksProjectTitle": "Codewhale и сообщество:", |
| 724 | "LinksDocumentation": "Документация:", |
| 725 | "LinksCommunity": "Сообщество и участие:", |
| 726 | "LinksGitHub": "GitHub:", |
| 727 | "LinksManagedApp": "Превью управляемого приложения:", |
| 728 | "LinksManagedAppNote": "Управляемое приложение использует отдельный вход и не связано с текущей локальной сессией.", |
| 729 | "LinksTitle": "Ссылки провайдеров:", |
| 730 | "LinksDashboard": "Панель:", |
| 731 | "LinksDocs": "Документы:", |
| 732 | "LinksKimiCodeRouteNote": "Маршрут плана подписки Kimi Code: `{route}` (консоль плана: `{console}`; используйте модель k3). Codewhale никогда не импортирует учётные данные Kimi CLI.", |
| 733 | "LinksTip": "Совет: используйте переменную окружения вашего провайдера или сохраните ключ командой `codewhale auth set --provider <id>`.", |
| 734 | "SubagentsFetching": "Получение субагентов текущего сеанса...", |
| 735 | "SubagentsNoCurrentSessionFleetWorkers": "В текущем сеансе нет воркеров флота.", |
| 736 | "SubagentsCurrentSessionFleetWorkersTitle": "Воркеры флота текущего сеанса", |
| 737 | "SubagentsCurrentSessionFleetWorkerRoles": "Роли субагентов — это роли воркеров флота текущего сеанса.", |
| 738 | "SubagentsCurrentSessionFleetWorkersStatus": "Воркеры флота текущего сеанса: всего {count}", |
| 739 | "SubagentsEmptyGuidance": "Настройте роли и параметры запуска через /fleet.", |
| 740 | "SubagentsStatusRunning": "Выполняется", |
| 741 | "SubagentsStatusCompleted": "Завершено", |
| 742 | "SubagentsStatusInterrupted": "Прервано", |
| 743 | "SubagentsStatusFailed": "Сбой", |
| 744 | "SubagentsStatusCancelled": "Отменено", |
| 745 | "SubagentsRowStatusInterrupted": "прервано", |
| 746 | "SubagentsRowStatusCancelled": "отменено", |
| 747 | "SubagentsRowStatusBudgetExhausted": "бюджет исчерпан", |
| 748 | "SubagentsSummaryItem": "{label}: {count}", |
| 749 | "SubagentsGroupHeading": "{label} ({count})", |
| 750 | "SubagentsHeaderRoster": "состав", |
| 751 | "SubagentsHeaderColumns": "статус активного воркера · роль · цель · модель · прошло", |
| 752 | "SubagentsActionRefresh": "обновить", |
| 753 | "SubagentsActionRosterSetup": "состав/настройка", |
| 754 | "SubagentsLabelReason": " причина: ", |
| 755 | "SubagentsLabelRole": " роль: ", |
| 756 | "SubagentsLabelPosture": " параметры: ", |
| 757 | "SubagentsLabelGit": " Git: ", |
| 758 | "SubagentsLabelObjective": " цель: ", |
| 759 | "SubagentsLabelResult": " результат: ", |
| 760 | "SubagentsPostureDetails": "сеть={network} · shell={shell} · запись={write}", |
| 761 | "SubagentsValueOn": "вкл", |
| 762 | "SubagentsValueOff": "выкл", |
| 763 | "SubagentsShellNone": "нет", |
| 764 | "SubagentsShellReadOnly": "только чтение", |
| 765 | "SubagentsShellFull": "полный", |
| 766 | "SubagentsBranch": "ветка {branch}", |
| 767 | "SubagentsBranchWithWorkspace": "ветка {branch} @ {workspace}", |
| 768 | "SubagentsRoleWorker": "воркер", |
| 769 | "SubagentsRoleScout": "разведчик", |
| 770 | "SubagentsRolePlanner": "планировщик", |
| 771 | "SubagentsRoleBuilder": "сборщик", |
| 772 | "SubagentsRoleVerifier": "проверяющий", |
| 773 | "SubagentsRoleReviewer": "рецензент", |
| 774 | "SubagentsRoleConsultant": "консультант", |
| 775 | "SubagentsRoleCustom": "пользовательский", |
| 776 | "HelpUnknownCommand": "Неизвестная команда: {topic}", |
| 777 | "HomeDashboardTitle": "codewhale", |
| 778 | "HomeModel": "Модель:", |
| 779 | "HomeMode": "Режим:", |
| 780 | "HomeWorkspace": "Рабочая область:", |
| 781 | "HomeHistory": "История:", |
| 782 | "HomeTokens": "Токены:", |
| 783 | "HomeQueued": "В очереди:", |
| 784 | "HomeSubagents": "Воркеры флота текущего сеанса:", |
| 785 | "HomeSkill": "Навык:", |
| 786 | "HomeQuickActions": "Быстрые действия", |
| 787 | "HomeQuickLinks": "/links - ссылки на Codewhale, сообщество и провайдеров", |
| 788 | "HomeQuickSkills": "/skills - список доступных навыков", |
| 789 | "HomeQuickConfig": "/config - просмотр и изменение настроек", |
| 790 | "HomeQuickSettings": "/settings - показать постоянные настройки", |
| 791 | "HomeQuickModel": "/model - сменить или показать модель", |
| 792 | "HomeQuickSubagents": "/fleet workers - субагенты текущего сеанса", |
| 793 | "HomeQuickTaskList": "/task list - показать очередь фоновых задач", |
| 794 | "HomeQuickHelp": "/help - показать справку", |
| 795 | "HomeQuickWorkspace": "/workspace - Переключить папку или worktree", |
| 796 | "HomeQuickRestore": "/restore - Вернуть файлы к снимку хода", |
| 797 | "HomeQuickTokens": "/tokens - Показать расход и контекст сессии", |
| 798 | "HomeModeTips": "Советы по режимам", |
| 799 | "HomeAgentModeTip": "Act — прямая работа в текущей сессии с инструментами", |
| 800 | "HomeAgentModeReviewTip": " /mode plan — сначала исследовать и представить план", |
| 801 | "HomeAgentModeYoloTip": " Shift+Tab переключает разрешения: Ask → Auto-Review → Full Access", |
| 802 | "HomeYoloModeTip": "Act + Full Access — инструменты работают без запросов на одобрение", |
| 803 | "HomeYoloModeCaution": " Деструктивные операции могут выполниться сразу; если сомневаетесь, выбирайте Ask", |
| 804 | "HomePlanModeTip": "Plan — исследование и проектирование до реализации", |
| 805 | "HomePlanModeChecklistTip": " Представьте план и прогресс To-do, затем переключитесь в Act или Operate", |
| 806 | "HomeGoalModeTip": "Отслеживание цели - задайте /goal <objective> для достижения целей", |
| 807 | "OnboardLanguageTitle": "Выберите язык", |
| 808 | "OnboardLanguageBlurb": "Выберите язык интерфейса. Его можно сменить в любой момент командой `/settings set locale <tag>`.", |
| 809 | "OnboardProviderTitle": "Выберите провайдера модели", |
| 810 | "OnboardProviderBlurb": "Выберите, где работает модель. Облачным провайдерам нужен ключ; локальные среды могут работать без него.", |
| 811 | "KimiCodePlanApiKeyHint": "Для планов подписки Kimi Code создайте ключ, привязанный к плану, на {console}.", |
| 812 | "KimiCodePlanRouteHint": "Этот маршрут использует {route} с моделью k3; это не публичный API-маршрут Moonshot.", |
| 813 | "KimiCodePlanNoImportHint": "Codewhale не импортирует учётные данные Kimi CLI; вставьте ключ плана, созданный вами.", |
| 814 | "OnboardApiKeyRejectedEnv": "API-ключ {provider} из {env} отклонён. Вставьте действующий ключ, чтобы сохранить его в {path}, или обновите переменную окружения.", |
| 815 | "OnboardTrustTitle": "Знакомство с рабочей областью", |
| 816 | "OnboardTrustQuestion": "Разрешить Codewhale работать с инструкциями и файлами этой рабочей области?", |
| 817 | "OnboardTrustLocationPrefix": "Рабочая область ", |
| 818 | "OnboardTrustRiskHint": "Недоверенные файлы могут попытаться перенаправить агента через инъекцию промптов.", |
| 819 | "OnboardTrustEffectHint": "Доверие записывается для этой установки Codewhale и включает инструменты и хуки рабочей области.", |
| 820 | "OnboardTrustEnterHint": "Нажмите 1 или Y — доверить, 2 или U — продолжить без доверия, 3, N или Esc — выйти из Codewhale.", |
| 821 | "OnboardTrustUntrustedNotice": "Продолжение без доверия к рабочей области — инструменты и хуки останутся ограниченными.", |
| 822 | "RedactionGateActionConfirm": "подтвердить и отключить", |
| 823 | "RedactionGateActionKeep": "оставить маскирование", |
| 824 | "RedactionGateActionQuit": "выйти из Codewhale", |
| 825 | "RedactionGateConfirmTitle": "Финальное подтверждение", |
| 826 | "RedactionGateConfirmQuestion": "Вы действительно уверены? После отключения ключи в выводе инструментов будут отправляться модели как есть, пока вы снова не включите маскирование и не подтвердите.", |
| 827 | "RedactionGateActionBack": "назад", |
| 828 | "RedactionGateEffect": "Действует после этого одноразового подтверждения и при последующих запусках, пока вы снова не установите [redaction] model_bound = \"enabled\".", |
| 829 | "RedactionGateEnterHint": "Enter не подтверждает. Выберите действие с помощью клавиш, указанных ниже.", |
| 830 | "RedactionGateQuestion": "Вы запросили отключение маскирования ключей на границе модели. Вывод инструментов с ключами API, токенами или секретами будет отправляться модели как есть.", |
| 831 | "RedactionGateDangerNotice": "Внимание: отключайте эту функцию с осторожностью. Обычно мы рекомендуем держать маскирование ключей включённым. Отправка ключей модели открытым текстом рискует их утечкой — на ваш страх и риск.", |
| 832 | "RedactionGateRisk": "Подтверждайте, только если модели нужно читать и редактировать файлы с реальными учётными данными.", |
| 833 | "RedactionGateRollbackHint": "«Оставить» включает маскирование на этот запуск; конфигурация всё ещё требует \"disabled\", поэтому следующий запуск спросит снова.", |
| 834 | "RedactionGateSaveFailed": "Не удалось сохранить подтверждение. Маскирование остаётся включённым. Повторите попытку или оставьте его включённым.", |
| 835 | "RedactionGateTitle": "Маскирование ключей на границе модели", |
| 836 | "OnboardOfflineOption": "Ctrl+O — посмотреть офлайн: осмотритесь сейчас, провайдера подключите позже.", |
| 837 | "OnboardOfflineNotice": "Смотрите офлайн. Пока ничего не подключено — выполните /provider, когда захотите подключиться.", |
| 838 | "OnboardWelcomeTitle": "Codewhale работает с вами в этой папке.", |
| 839 | "OnboardWelcomeLead": "Давайте подготовимся.", |
| 840 | "OnboardWelcomeBegin": "начать", |
| 841 | "OnboardActionBack": "назад", |
| 842 | "OnboardActionExit": "выйти", |
| 843 | "OnboardStepsTitle": "Начало работы", |
| 844 | "OnboardLanguagePick": "выбрать язык", |
| 845 | "OnboardLanguageKeep": "оставить текущий язык", |
| 846 | "OnboardProviderChoose": "выбрать провайдера", |
| 847 | "OnboardProviderOffline": "осмотреться офлайн", |
| 848 | "OnboardTrustActionTrust": "доверять и продолжить", |
| 849 | "OnboardTrustActionSkip": "продолжить без доверия", |
| 850 | "OnboardTrustActionQuit": "выйти из Codewhale", |
| 851 | "OnboardReadyTitle": "Всё готово.", |
| 852 | "OnboardReadyLead": "Скажите Codewhale, что нужно сделать.", |
| 853 | "OnboardReadyStart": "начать", |
| 854 | "OnboardReadyCustomize": "настроить оформление позже", |
| 855 | "OnboardSeedCodeProject": "Объясни, что делает этот проект, и перечисли основные точки входа.", |
| 856 | "OnboardSeedFolder": "Посмотри эту папку и предложи хорошую первую задачу.", |
| 857 | "SetupWizardTitle": "Настройка", |
| 858 | "SetupWizardWhy": "Эта оболочка записывает прогресс настройки в setup_state.json; изменения конфигурации применяются только явными действиями шагов.", |
| 859 | "SetupWizardProgress": "Шаг", |
| 860 | "SetupActionBack": "назад", |
| 861 | "SetupActionContinue": "продолжить", |
| 862 | "SetupActionSkip": "пропустить", |
| 863 | "SetupActionRetry": "повторить", |
| 864 | "SetupActionScrollBody": "прокрутка текста", |
| 865 | "SetupActionGuided": "предпросмотр/утвердить", |
| 866 | "SetupActionTuneGuided": "настроить", |
| 867 | "SetupActionModelDraft": "черновик модели", |
| 868 | "SetupActionFreeform": "свои слова", |
| 869 | "SetupActionKeepExisting": "оставить текущее", |
| 870 | "SetupActionUseRecommended": "принять рекомендацию", |
| 871 | "SetupActionCustomize": "настроить", |
| 872 | "SetupActionProvider": "настройка провайдера", |
| 873 | "SetupActionModel": "маршруты модели", |
| 874 | "SetupActionFleet": "настройка Fleet", |
| 875 | "SetupActionHotbar": "настройка Hotbar", |
| 876 | "SetupActionRemote": "удалённое подключение", |
| 877 | "SetupActionMode": "выбор режима", |
| 878 | "SetupActionConfig": "просмотр конфигурации", |
| 879 | "SetupActionRuntimePreset": "пресет", |
| 880 | "SetupActionApplyRuntimePreset": "предпросмотр/применить", |
| 881 | "SetupActionUseBundled": "использовать встроенное", |
| 882 | "SetupActionDefer": "отложить", |
| 883 | "SetupActionCancel": "отмена", |
| 884 | "SetupStatusNotStarted": "не начато", |
| 885 | "SetupStatusRecommended": "рекомендуется", |
| 886 | "SetupStatusOptional": "необязательно", |
| 887 | "SetupStatusDeferred": "отложено", |
| 888 | "SetupStatusInProgress": "в процессе", |
| 889 | "SetupStatusNeedsAction": "требует действия", |
| 890 | "SetupStatusVerified": "проверено", |
| 891 | "SetupStatusSkipped": "пропущено", |
| 892 | "SetupStatusFailed": "не удалось", |
| 893 | "SetupStepLanguageTitle": "Язык", |
| 894 | "SetupStepLanguageWhy": "Сначала выберите язык настройки, чтобы последующие экраны и текст конституции были понятны.", |
| 895 | "SetupStepProviderModelTitle": "Провайдер и модель", |
| 896 | "SetupStepProviderModelWhy": "Провайдер и модель, с которыми работает Codewhale; рабочие учётные данные используются повторно.", |
| 897 | "SetupStepTrustSandboxTitle": "Режим выполнения", |
| 898 | "SetupStepTrustSandboxWhy": "Политика доверия, песочницы, одобрений, шелла и сети.", |
| 899 | "SetupStepOperateFleetTitle": "Operate и Fleet", |
| 900 | "SetupStepOperateFleetWhy": "Встроенная команда уже работает; настройка Fleet нужна только для кастомизации.", |
| 901 | "SetupStepToolsMcpTitle": "Инструменты и MCP", |
| 902 | "SetupStepToolsMcpWhy": "Проверьте готовность необязательных инструментов и MCP, не блокируя контрольную точку конституции.", |
| 903 | "SetupStepHotbarTitle": "Hotbar", |
| 904 | "SetupStepHotbarWhy": "Настройте быстрые клавиши маршрутов и команд после того, как основной путь настройки завершён.", |
| 905 | "SetupStepRemoteRuntimeTitle": "Удалённая среда выполнения", |
| 906 | "SetupStepRemoteRuntimeWhy": "Удалённая настройка остаётся видимой, но необязательной для локально-ориентированных пользователей.", |
| 907 | "SetupStepPersistenceTitle": "Хранение", |
| 908 | "SetupStepPersistenceWhy": "Только пути; содержимое не читается.", |
| 909 | "SetupStepConstitutionTitle": "Рабочее соглашение", |
| 910 | "SetupStepConstitutionWhy": "Это соглашение направляет поведение, но не меняет разрешения среды выполнения.", |
| 911 | "SetupStepVerificationTitle": "Проверка", |
| 912 | "SetupStepVerificationWhy": "Сводка статуса настройки: какие шаги проверены, пропущены или ещё требуют действий.", |
| 913 | "SetupCheckpointLayerOrder": "Порядок слоёв: встроенная конституция -> глобальная конституция пользователя -> конституция репозитория -> инструкции AGENTS/проекта -> память/передача -> текущий запрос.", |
| 914 | "SetupCheckpointDoneBundled": "Контрольная точка конституции пройдена: используется встроенный закон по умолчанию.", |
| 915 | "SetupCheckpointDoneGuided": "Конституция утверждена — ваш постоянный закон сохранён. Изменить можно в любой момент через /constitution.", |
| 916 | "SetupCheckpointDoneKept": "Конституция сохранена — ваш текущий закон остаётся без изменений. Изменить можно в любой момент через /constitution.", |
| 917 | "SetupCheckpointDeferred": "Контрольная точка конституции отложена: действует встроенный закон по умолчанию, пока вы не вернётесь в /setup.", |
| 918 | "SetupStepSkipped": "Шаг настройки пропущен и сохранён.", |
| 919 | "SetupStepRetryRecorded": "Шаг настройки отмечен для повтора.", |
| 920 | "SetupLanguageReviewed": "Язык настройки записан.", |
| 921 | "SetupConstitutionChoiceLabel": "Выбор:", |
| 922 | "SetupConstitutionSourceLabel": "Источник:", |
| 923 | "SetupConstitutionValidityLabel": "Действительность:", |
| 924 | "SetupConstitutionPreviewLabel": "Хэш предпросмотра:", |
| 925 | "SetupConstitutionExistingLabel": "Текущий файл:", |
| 926 | "SetupConstitutionExpertOverrideLabel": "Экспертное переопределение:", |
| 927 | "SetupConstitutionGuidedHint": "1-6 настраивают черновик, G — предпросмотр, G ещё раз — утвердить. Только рекомендации: это никогда не меняет разрешения выполнения, песочницы, шелла, сети, доверия или MCP.", |
| 928 | "SetupConstitutionGuidedAnswersHint": "Ответы мастера сохраняют только глобальные предпочтения пользователя. Встроенное ядро остаётся активным; выполнение остаётся за политикой среды выполнения и будущими опциями.", |
| 929 | "SetupConstitutionExistingDefaultDetail": "Enter сохраняет его без изменений. C открывает все параметры соглашения.", |
| 930 | "SetupConstitutionRepairDefaultDetail": "Enter использует безопасное встроенное соглашение, не меняя этот файл. C открывает варианты исправления.", |
| 931 | "SetupConstitutionPurposeLabel": "Цель:", |
| 932 | "SetupConstitutionAutonomyLabel": "Инициатива:", |
| 933 | "SetupConstitutionEvidenceLabel": "Доказательства:", |
| 934 | "SetupConstitutionCommunicationLabel": "Коммуникация:", |
| 935 | "SetupConstitutionPrivacyLabel": "Конфиденциальность:", |
| 936 | "SetupConstitutionPrinciplesLabel": "Принципы:", |
| 937 | "SetupCardRouteLabel": "Маршрут:", |
| 938 | "SetupCardModelLabel": "Модель:", |
| 939 | "SetupCardAuthLabel": "Авторизация:", |
| 940 | "SetupCardHealthLabel": "Состояние:", |
| 941 | "SetupCardIntentLabel": "Цель работы:", |
| 942 | "SetupCardApprovalLabel": "Одобрения:", |
| 943 | "SetupCardShellLabel": "Шелл:", |
| 944 | "SetupCardTrustLabel": "Доверие:", |
| 945 | "SetupCardSandboxLabel": "Песочница:", |
| 946 | "SetupCardNetworkLabel": "Сеть:", |
| 947 | "SetupOperateRuntimeLabel": "Среда воркеров:", |
| 948 | "SetupOperateRosterLabel": "Состав Fleet:", |
| 949 | "SetupOperateConcurrencyLabel": "Параллелизм:", |
| 950 | "SetupOperateReadinessLabel": "Готовность Operate:", |
| 951 | "SetupOperateReviewHint": "Enter записывает этот снимок настройки.", |
| 952 | "SetupOperateReviewed": "Готовность Operate/Fleet записана.", |
| 953 | "SetupOperateNeedsActionSaved": "Operate/Fleet ещё требует действий; записано для отчёта настройки.", |
| 954 | "SetupHotbarBindingsLabel": "Привязки Hotbar:", |
| 955 | "SetupHotbarActionsLabel": "Доступные действия:", |
| 956 | "SetupHotbarReviewHint": "Enter записывает этот снимок настройки. Нажмите H, чтобы настроить слоты.", |
| 957 | "SetupHotbarReviewed": "Состояние настройки Hotbar записано.", |
| 958 | "SetupToolsMcpServersLabel": "Серверы MCP:", |
| 959 | "SetupToolsMcpSkillsLabel": "Навыки:", |
| 960 | "SetupToolsMcpToolsLabel": "Каталог инструментов:", |
| 961 | "SetupToolsMcpPluginsLabel": "Плагины:", |
| 962 | "SetupToolsMcpReviewHint": "Enter записывает этот снимок настройки. Нажмите R для безопасного подключения (без автозапуска).", |
| 963 | "SetupToolsMcpReviewed": "Готовность Tools/MCP записана.", |
| 964 | "SetupRemoteCloudsLabel": "Облачные цели:", |
| 965 | "SetupRemoteBridgesLabel": "Чат-мосты:", |
| 966 | "SetupRemoteProvidersLabel": "Провайдеры:", |
| 967 | "SetupRemoteModeLabel": "Удалённый режим:", |
| 968 | "SetupRemoteModeLocalOnly": "Только этот компьютер:", |
| 969 | "SetupRemoteModeRuntimeApi": "API среды выполнения:", |
| 970 | "SetupRemoteModeMobileLan": "Телефон в вашей сети:", |
| 971 | "SetupRemoteModeChatBridge": "Мессенджер:", |
| 972 | "SetupRemoteStatusDisabled": "недоступно", |
| 973 | "SetupRemoteStatusReady": "готово", |
| 974 | "SetupRemoteStatusNeedsAction": "чего-то не хватает", |
| 975 | "SetupRemoteReviewHint": "Enter записывает этот снимок настройки. Нажмите R для предпросмотра.", |
| 976 | "SetupRemotePreviewTitle": "Запуск удалённой среды", |
| 977 | "SetupRemoteReviewed": "Запуск удалённой среды записан.", |
| 978 | "SetupPersistenceHomeLabel": "Домашний каталог:", |
| 979 | "SetupPersistenceConfigLabel": "Конфигурация:", |
| 980 | "SetupPersistenceStateLabel": "Состояние настройки:", |
| 981 | "SetupPersistenceConstitutionLabel": "Конституция:", |
| 982 | "SetupPersistenceMemoryLabel": "Память:", |
| 983 | "SetupPersistenceNotesLabel": "Заметки:", |
| 984 | "SetupPersistenceReviewHint": "Enter записывает этот снимок настройки.", |
| 985 | "SetupPersistenceReviewed": "Пути сохранения записаны.", |
| 986 | "SetupProviderModelReadyHint": "Enter записывает маршрут провайдера/модели; P — настройка провайдера, M — маршруты моделей.", |
| 987 | "SetupProviderModelNeedsActionHint": "Enter записывает провайдера/модель как требующие действия и продолжает; P — исправить учётные данные, M — проверить маршруты.", |
| 988 | "SetupProviderModelReviewed": "Готовность провайдера/модели записана.", |
| 989 | "SetupProviderModelNeedsActionSaved": "Провайдер/модель всё ещё требуют действия; записано для отчёта настройки.", |
| 990 | "SetupRuntimePostureBoundary": "Режим среды выполнения задаётся конфигурацией; рекомендации конституции не меняют его незаметно.", |
| 991 | "SetupRuntimePostureReviewHint": "Enter записывает этот снимок настройки. M — режим работы, C — конфигурация.", |
| 992 | "SetupRuntimePostureReviewed": "Режим среды выполнения проверен; конфигурация не изменена.", |
| 993 | "SetupRuntimePresetSelectedLabel": "Выбранный пресет:", |
| 994 | "SetupRuntimePresetDiffLabel": "Изменения конфигурации:", |
| 995 | "SetupRuntimePresetAskFirstTitle": "Сначала спрашивать", |
| 996 | "SetupRuntimePresetAskFirstDescription": "Plan по умолчанию, shell скрыт, песочница только для чтения.", |
| 997 | "SetupRuntimePresetNormalAgentTitle": "Обычный агент", |
| 998 | "SetupRuntimePresetNormalAgentDescription": "Агент по умолчанию, запросы одобрения, shell виден.", |
| 999 | "SetupRuntimePresetHighTrustTitle": "Локальный с высоким доверием", |
| 1000 | "SetupRuntimePresetHighTrustDescription": "Full Access по умолчанию для доверенной локальной работы; без скрытых изменений конституции.", |
| 1001 | "SetupRuntimePresetPreviewTitle": "Предпросмотр пресета режима среды выполнения", |
| 1002 | "SetupRuntimePresetSafetyFloor": "Нижний предел безопасности: ошибки auth/OAuth, блокировки политики, действия типа публикации и барьеры удержания для проверки всё ещё могут остановить запуск.", |
| 1003 | "SetupRuntimePresetApplyHint": "Нажмите A для предпросмотра этого изменения; после предпросмотра нажмите A ещё раз, чтобы применить.", |
| 1004 | "SetupRuntimePresetApplied": "Пресет среды выполнения применён.", |
| 1005 | "SetupRuntimeProjectOverrideLabel": "Переопределение проекта:", |
| 1006 | "SetupRuntimeProjectOverrideNone": "переопределений approval_policy или sandbox_mode не обнаружено", |
| 1007 | "SetupReportFirstRunLabel": "Первый запуск:", |
| 1008 | "SetupReportUpdateLabel": "Контрольная точка обновления:", |
| 1009 | "SetupReportOperateLabel": "Operate/Fleet:", |
| 1010 | "SetupReportSourceLabel": "Источник:", |
| 1011 | "SetupReportAutonomyLabel": "Автономия конституции:", |
| 1012 | "SetupReportRuntimePostureLabel": "Режим среды выполнения:", |
| 1013 | "SetupReportPersisted": "сохранён setup_state.json", |
| 1014 | "SetupReportInherited": "получено из существующей конфигурации", |
| 1015 | "SetupReportReady": "готово", |
| 1016 | "SetupReportRequired": "обязательно", |
| 1017 | "SetupReportOptional": "необязательно", |
| 1018 | "SetupReportRowsLabel": "Статус шагов:", |
| 1019 | "SetupReportNextActionLabel": "Следующее действие:", |
| 1020 | "SetupReportNextActionNone": "Блокирующих действий настройки не записано.", |
| 1021 | "SetupReportNextActionConstitution": "Завершите контрольную точку конституции или выберите встроенный вариант по умолчанию.", |
| 1022 | "SetupReportNextActionProvider": "Проверьте готовность провайдера/модели или выполните /setup provider; для конкретного провайдера используйте /provider setup <name>.", |
| 1023 | "SetupReportNextActionRuntime": "Проверьте режим среды выполнения или используйте /config.", |
| 1024 | "SetupReportNextActionOperate": "Проверьте готовность Operate/Fleet перед длительными запусками с несколькими работниками.", |
| 1025 | "SetupReportNextActionRequired": "Проверьте оставшиеся обязательные шаги настройки.", |
| 1026 | "SetupReportRecorded": "Отчёт настройки записан.", |
| 1027 | "CtxMenuTitle": " Правая кнопка ", |
| 1028 | "CtxMenuCopySelection": "Копировать выделение", |
| 1029 | "CtxMenuCopySelectionDesc": "записать выделенный текст транскрипта", |
| 1030 | "CtxMenuOpenSelection": "Открыть выделение", |
| 1031 | "CtxMenuOpenSelectionDesc": "показать выделенный текст в пейджере", |
| 1032 | "CtxMenuClearSelection": "Снять выделение", |
| 1033 | "CtxMenuOpenDetails": "Открыть детали", |
| 1034 | "CtxMenuCopyMessage": "Копировать сообщение", |
| 1035 | "CtxMenuCopyMessageDesc": "записать выбранную ячейку транскрипта", |
| 1036 | "CtxMenuOpenInEditor": "Открыть в редакторе", |
| 1037 | "CtxMenuOpenInEditorDesc": "открыть файл:строку в $EDITOR", |
| 1038 | "CtxMenuShowCell": "Показать ячейку", |
| 1039 | "CtxMenuShowCellDesc": "раскрыть эту ячейку транскрипта", |
| 1040 | "CtxMenuHideCell": "Скрыть ячейку", |
| 1041 | "CtxMenuHideCellDesc": "свернуть эту ячейку транскрипта", |
| 1042 | "CtxMenuShowHidden": "Показать скрытые", |
| 1043 | "CtxMenuShowHiddenDesc": "раскрыть все свёрнутые ячейки", |
| 1044 | "CtxMenuPaste": "Вставить", |
| 1045 | "CtxMenuPasteDesc": "вставить буфер обмена в поле ввода", |
| 1046 | "CtxMenuCmdPalette": "Палитра команд", |
| 1047 | "CtxMenuCmdPaletteDesc": "команды, навыки и инструменты", |
| 1048 | "CtxMenuContextInspector": "Инспектор контекста", |
| 1049 | "CtxMenuContextInspectorDesc": "активный контекст и подсказки кэша", |
| 1050 | "CtxMenuHelp": "Справка", |
| 1051 | "CtxMenuHelpDesc": "сочетания клавиш и команды", |
| 1052 | "CtxMenuWindowPin": "Уменьшить и закрепить поверх всех", |
| 1053 | "CtxMenuWindowUnpin": "Восстановить окно", |
| 1054 | "CmdPinDescription": "Закрепить/открепить окно как мини-окно поверх всех", |
| 1055 | "CtxMenuWindowPinDesc": "закрепить/открепить это окно поверх всех", |
| 1056 | "WindowPinActive": "Окно закреплено как мини-окно поверх всех", |
| 1057 | "WindowPinReleased": "Окно восстановлено", |
| 1058 | "WindowPinFailed": "Не удалось изменить окно или подтвердить изменение. Подробности см. в журнале.", |
| 1059 | "FanoutCounts": "{done} готово · {running} выполняется · {failed} ошибок · {pending} в очереди", |
| 1060 | "AppModeAgent": "Work", |
| 1061 | "AppModeAuto": "Auto", |
| 1062 | "AppModeYolo": "Full Access (устаревшее название режима)", |
| 1063 | "AppModePlan": "Plan", |
| 1064 | "AppModeOperate": "Operate", |
| 1065 | "AppModeAgentHint": "Прямая работа в этой сессии — правки и shell запрашивают одобрение", |
| 1066 | "AppModeAutoHint": "Shell включён с автоматической проверкой рисков", |
| 1067 | "AppModePlanHint": "Сначала исследование только для чтения — план до начала действий", |
| 1068 | "AppModeYoloHint": "Только для совместимости — Act + Full Access, не видимый режим", |
| 1069 | "AppModeOperateHint": "Превращает запрос в цель: параллельные агенты, проверка", |
| 1070 | "VimModeNormal": "-- ОБЫЧНЫЙ --", |
| 1071 | "VimModeInsert": "-- ВСТАВКА --", |
| 1072 | "VimModeVisual": "-- ВЫДЕЛЕНИЕ --", |
| 1073 | "ApprovalRiskReview": "ПРОВЕРКА", |
| 1074 | "ApprovalRiskElevated": "ОДОБРЕНИЕ", |
| 1075 | "ApprovalRiskDestructive": "РАЗРУШИТЕЛЬНО", |
| 1076 | "ApprovalTimedOutDenied": "Запрос на одобрение истёк - отклонено", |
| 1077 | "ApprovalCategorySafe": "Безопасно", |
| 1078 | "ApprovalCategoryFileWrite": "Запись файла", |
| 1079 | "ApprovalCategoryShell": "Bash", |
| 1080 | "ApprovalCategoryNetwork": "Сеть", |
| 1081 | "ApprovalCategoryMcpRead": "Чтение MCP", |
| 1082 | "ApprovalCategoryMcpAction": "Действие MCP", |
| 1083 | "ApprovalCategoryAgent": "Субагент", |
| 1084 | "ApprovalCategoryUnknown": "Неизвестно", |
| 1085 | "ApprovalFieldType": "Тип: ", |
| 1086 | "ApprovalFieldAbout": "О чём: ", |
| 1087 | "ApprovalFieldImpact": "Влияние: ", |
| 1088 | "ApprovalFieldParams": "Параметры: ", |
| 1089 | "ApprovalOptionApproveOnce": "Разрешить один раз", |
| 1090 | "ApprovalOptionApproveAlways": "Разрешить в этой сессии (этот тип)", |
| 1091 | "ApprovalOptionAllowExactRepo": "Всегда разрешать это правило в этом репозитории", |
| 1092 | "ApprovalSaveAskRuleHint": " s разрешить раз + всегда спрашивать это правило", |
| 1093 | "ApprovalOptionDeny": "Отклонить этот вызов", |
| 1094 | "ApprovalOptionAbortTurn": "Прервать ход", |
| 1095 | "ApprovalBlockTitle": "одобрение", |
| 1096 | "ApprovalControlsHint": " · Pg↑/↓ просмотр · {details} детали · Esc отмена", |
| 1097 | "ApprovalTruncationHint": " … обрезано · нажмите {details} для полных деталей", |
| 1098 | "ApprovalFullAccessPolicyBlocked": "{tool} заблокирован: Full Access не может обойти эту политику", |
| 1099 | "AutoReviewQuestionSkipped": "Auto-Review пропустил вопрос пользователю и продолжил автономно", |
| 1100 | "ApprovalChooseHint": "Выбор: ", |
| 1101 | "ApprovalChooseAction": "Enter — выбранный вариант, или нажмите y/a/d напрямую", |
| 1102 | "ApprovalIntentLabel": "Намерение: ", |
| 1103 | "ApprovalMoreLines": " … (ещё {count} строк)", |
| 1104 | "ApprovalAutoDeniedSession": "{tool} отклонён автоматически: похожий запрос уже был отклонён в этом запуске Codewhale. Перезапустите Codewhale, чтобы пересмотреть.", |
| 1105 | "ElevationTitleSandboxDenied": " ⚠, Отказ песочницы ", |
| 1106 | "ElevationTitleRequired": " Требуется повышение прав песочницы ", |
| 1107 | "ElevationFieldTool": " Инструмент: ", |
| 1108 | "ElevationFieldCmd": " Команда: ", |
| 1109 | "ElevationFieldReason": " Причина: ", |
| 1110 | "ElevationImpactHeader": " Последствия при одобрении:", |
| 1111 | "ElevationImpactNetwork": " - повтор с сетью разрешает исходящие загрузки и HTTP-запросы", |
| 1112 | "ElevationImpactWrite": " - повтор с записью расширяет область записи в файловую систему для этого вызова", |
| 1113 | "ElevationImpactFullAccess": " - полный доступ полностью снимает ограничения песочницы для этого повтора", |
| 1114 | "ElevationPromptProceed": " Выберите, как продолжить:", |
| 1115 | "ElevationOptionNetwork": "Разрешить исходящую сеть", |
| 1116 | "ElevationOptionWrite": "Разрешить доп. доступ на запись", |
| 1117 | "ElevationOptionFullAccess": "Полный доступ (файловая система + сеть)", |
| 1118 | "ElevationOptionAbort": "Отмена", |
| 1119 | "ElevationOptionNetworkDesc": "Повторить вызов с исходящим сетевым доступом для загрузок и HTTP-запросов", |
| 1120 | "ElevationOptionWriteDesc": "Повторить вызов с дополнительной областью записи в файловую систему", |
| 1121 | "ElevationOptionFullAccessDesc": "Повторить без ограничений песочницы; даёт неограниченный доступ к файловой системе и сети", |
| 1122 | "ElevationOptionAbortDesc": "Отменить выполнение этого инструмента", |
| 1123 | "ContextAutoCompacting": "Контекст автоматически сжимается…", |
| 1124 | "ContextManualCompacting": "Контекст сжимается…", |
| 1125 | "ContextCompactionQueued": "Сжатие контекста поставлено в очередь; оно запустится после активного хода.", |
| 1126 | "ContextCompactionAlreadyRunning": "Сжатие контекста уже выполняется.", |
| 1127 | "ContextCompactionQueueFull": "Не удалось поставить сжатие контекста в очередь, потому что движок занят; повторите попытку после завершения хода.", |
| 1128 | "ContextCompactionQueueClosed": "Сжатие контекста недоступно, потому что движок больше не работает.", |
| 1129 | "ContextCompactionRouteInvalid": "Невозможно выполнить сжатие, потому что активный маршрут провайдера недействителен: {error}", |
| 1130 | "CtxInspTitle": "Инспектор контекста", |
| 1131 | "CtxInspSessionContext": "Контекст сессии", |
| 1132 | "CtxInspSystemPrompt": "Структура системного промпта", |
| 1133 | "CtxInspReferences": "Ссылки", |
| 1134 | "CtxInspRecentTools": "Недавние инструменты", |
| 1135 | "CtxInspToolSchemaCosts": "Стоимость схем инструментов", |
| 1136 | "CtxInspModel": "Модель", |
| 1137 | "CtxInspWorkspace": "Рабочая область", |
| 1138 | "CtxInspSession": "Сессия", |
| 1139 | "CtxInspContext": "Контекст", |
| 1140 | "CtxInspTranscript": "Транскрипт", |
| 1141 | "CtxInspWorkspaceStatus": "Статус рабочей области", |
| 1142 | "CtxInspNotSampledYet": "ещё не замерено", |
| 1143 | "CtxInspOk": "норма", |
| 1144 | "CtxInspHigh": "высокий", |
| 1145 | "CtxInspCritical": "критический", |
| 1146 | "CtxInspIncluded": "включено", |
| 1147 | "CtxInspAttached": "прикреплено", |
| 1148 | "CtxInspNotIncluded": "не включено", |
| 1149 | "CtxInspOutputCaptured": "вывод получен", |
| 1150 | "CtxInspNoOutputYet": "вывода пока нет", |
| 1151 | "CtxInspNoSystemPrompt": "Системный промпт не задан.", |
| 1152 | "CtxInspNoReferences": "Ссылки на файлы, каталоги или медиа пока не записаны.", |
| 1153 | "CtxInspNoToolActivity": "Активность инструментов пока не записана.", |
| 1154 | "CtxInspVHint": "Откройте нужную карточку и нажмите {details} для полных деталей.", |
| 1155 | "CtxInspCells": "ячеек", |
| 1156 | "CtxInspApiMessages": "сообщений API", |
| 1157 | "CtxInspActive": "активно", |
| 1158 | "CtxInspCell": "ячейка", |
| 1159 | "CtxInspMoreReferences": "ещё ссылок", |
| 1160 | "CtxInspStablePrefix": "Стабильный префикс", |
| 1161 | "CtxInspVolatileWorkingSet": "Изменчивый рабочий набор", |
| 1162 | "CtxInspFirstLine": "Первая строка", |
| 1163 | "CtxInspTotal": "Всего", |
| 1164 | "CtxInspTextPromptLayers": "Слои текстового промпта", |
| 1165 | "CtxInspSingleTextBlob": "Один текстовый блок", |
| 1166 | "CtxInspBlocks": "блоков", |
| 1167 | "CtxInspBlock": "блок", |
| 1168 | "CtxInspTokens": "токенов", |
| 1169 | "CtxInspLayers": "слоёв", |
| 1170 | "CtxInspNone": "нет", |
| 1171 | "CtxInspEmpty": "(пусто)", |
| 1172 | "CtxInspCacheFriendly": "дружественно к кэшу", |
| 1173 | "CtxInspChangesByTurn": "меняется по сессии/ходу", |
| 1174 | "CtxInspStablePrefixOnly": "только стабильный префикс", |
| 1175 | "CtxInspCacheTip": "Совет: блоки стабильного префикса могут кэшироваться, если активный провайдер поддерживает кэширование префиксов. Изменения изменчивого рабочего набора ломают кэш только для хвоста.", |
| 1176 | "ToolFamilyRead": "чтение", |
| 1177 | "ToolFamilyPatch": "патч", |
| 1178 | "ToolFamilyRun": "запуск", |
| 1179 | "ToolFamilyFind": "поиск", |
| 1180 | "ToolFamilyDelegate": "агент", |
| 1181 | "ToolFamilyFanout": "распределение", |
| 1182 | "ToolFamilyRlm": "rlm", |
| 1183 | "ToolFamilyVerify": "проверка", |
| 1184 | "ToolFamilyThink": "мышление", |
| 1185 | "ToolFamilyGeneric": "инструмент", |
| 1186 | "ToolReceiptDone": "готово", |
| 1187 | "ToolReceiptLinesSingular": "1 строка", |
| 1188 | "ToolReceiptLinesPlural": "{count} строк", |
| 1189 | "CmdVoiceDescription": "Вкл/выкл голосовой ввод: записать речь и транскрибировать в поле ввода", |
| 1190 | "CmdVoiceSendDescription": "Вкл/выкл автоотправку голосом: отправлять, когда транскрипт заканчивается фразой \"send it\"", |
| 1191 | "CmdVoiceControlDescription": "Вкл/выкл голосовое управление: диктовка с ИИ, учитывающая текст в поле ввода", |
| 1192 | "VoiceEnabled": "Голосовой ввод включён. Говорите для записи.", |
| 1193 | "VoiceDisabled": "Голосовой ввод выключен.", |
| 1194 | "VoiceSendEnabled": "Автоотправка голосом включена.", |
| 1195 | "VoiceSendDisabled": "Автоотправка голосом выключена.", |
| 1196 | "VoiceControlEnabled": "Голосовое управление включено.", |
| 1197 | "VoiceControlDisabled": "Голосовое управление выключено.", |
| 1198 | "VoiceErrNoAuth": "Голос: для активного провайдера не настроен API-ключ", |
| 1199 | "VoiceErrNoRecorder": "Голос: инструмент записи не найден. Установите sox, arecord или rec.", |
| 1200 | "VoiceErrNetwork": "Голос: запрос транскрибации не удался", |
| 1201 | "VoiceErrEmptySend": "Голос: нечего отправлять", |
| 1202 | "VoiceErrTooShort": "Голос: речь не обнаружена, запись слишком короткая", |
| 1203 | "VoiceRecording": "🎙 Запись... говорите", |
| 1204 | "VoiceProcessing": "🎙 Транскрибация...", |
| 1205 | "VoiceTranscribed": "🎙 Транскрибировано", |
| 1206 | "NotificationTurnComplete": "Ход завершён", |
| 1207 | "NotificationSubagentComplete": "Субагент завершён", |
| 1208 | "NotificationSubagentFailed": "Субагент завершился с ошибкой", |
| 1209 | "NotificationSubagentInterrupted": "Субагент прерван", |
| 1210 | "NotificationSubagentCancelled": "Субагент отменён", |
| 1211 | "NotificationSubagentBudgetExhausted": "Бюджет субагента исчерпан", |
| 1212 | "FooterWorkedChip": "работал {duration}", |
| 1213 | "FleetDraftTitle": "Профиль команды — черновик от {model_label} (g сохраняет)", |
| 1214 | "FleetDraftHeader": "# .codewhale/agents/{name}\n# Черновик от {model_label}, проверен и ограничен Codewhale.\n# Права остаются на минимуме команды: без shell, без доверия, требуется одобрение.\n# Ничего не сохраняется, пока вы не нажмёте g в мастере.\n\n", |
| 1215 | "SetupRemoteOnRampText": "Запуск удалённой среды\n\n/setup только показывает факты об удалённой среде выполнения. Он не генерирует пакеты развёртывания, не записывает учётные данные, не вызывает облачные CLI и не запускает `remote-setup`.\n\nТекущие факты:\n- Облака: {clouds_result}\n- Мосты чатов: {bridges_result}\n- Провайдеры: {providers_result}\n- Режим: {mode_result}\n\nЧтобы сгенерировать пакет развёртывания, выполните явно в обычном терминале:\n\n```sh\n{command}\n```\n\nСгенерированный RUNBOOK включает шаги для проверки человеком. `--apply` не реализован; не воспринимайте это как авторазвёртывание.", |
| 1216 | "ApprovalDescSafe": "Запрашивается безопасная операция только для чтения.", |
| 1217 | "ApprovalDescFileWrite": "Запрашивается изменение файла. Проверьте путь и содержимое.", |
| 1218 | "ApprovalDescShell": "Запрашивается выполнение команды shell. Проверьте команду и рабочий каталог.", |
| 1219 | "ApprovalDescNetwork": "Запрашивается доступ к сети или удалённому содержимому. Убедитесь, что цель доверенная.", |
| 1220 | "ApprovalDescMcpRead": "Запрашивается чтение с сервера MCP.", |
| 1221 | "ApprovalDescMcpAction": "Запрашивается вызов действия сервера MCP, которое может иметь побочные эффекты.", |
| 1222 | "ApprovalDescAgent": "Запрашивается запуск или проверка субагента; у субагентов есть собственные ограничения.", |
| 1223 | "ApprovalDescUnknown": "Запрашивается запуск неклассифицированного инструмента. Внимательно проверьте параметры.", |
| 1224 | "ApprovalImpactSafe": "Операция только для чтения.", |
| 1225 | "ApprovalImpactFileWrite": "Записывает файлы в рабочей области или в одобренной области записи.", |
| 1226 | "ApprovalImpactShell": "Выполняет команду Bash в вашей рабочей области.", |
| 1227 | "ApprovalImpactNetwork": "Может обращаться к сетевым службам или удалённому содержимому.", |
| 1228 | "ApprovalImpactMcpRead": "Читает с сервера MCP без явной локальной записи.", |
| 1229 | "ApprovalImpactMcpAction": "Вызывает действие сервера MCP, которое может иметь побочные эффекты.", |
| 1230 | "ApprovalImpactAgent": "Запускает или проверяет субагента; у субагентов есть собственные ограничения.", |
| 1231 | "ApprovalImpactUnknown": "Инструмент не классифицирован. Внимательно проверьте параметры перед одобрением.", |
| 1232 | "ApprovalLabelCommand": "Команда", |
| 1233 | "ApprovalLabelDir": "Каталог", |
| 1234 | "ApprovalLabelFile": "Файл", |
| 1235 | "ApprovalLabelPreview": "Предпросмотр", |
| 1236 | "ApprovalLabelProposedContent": "предлагаемое содержимое", |
| 1237 | "ApprovalLabelReplaceThis": "заменить это", |
| 1238 | "ApprovalLabelWithThis": "на это", |
| 1239 | "ApprovalLabelReplacementContent": "содержимое для замены", |
| 1240 | "ApprovalLabelPath": "Путь", |
| 1241 | "ApprovalLabelTarget": "Цель", |
| 1242 | "ApprovalLabelInput": "Ввод", |
| 1243 | "ApprovalLabelAction": "Действие", |
| 1244 | "ApprovalLabelType": "Тип", |
| 1245 | "ApprovalLabelPrompt": "Промпт", |
| 1246 | "ApprovalLabelAbout": "О чём: ", |
| 1247 | "ApprovalLabelImpact": "Влияние: ", |
| 1248 | "SetupConstitutionFileNotChecked": "ещё не проверено", |
| 1249 | "SetupConstitutionFileMissing": "constitution.json не найден; действует встроенный вариант по умолчанию", |
| 1250 | "SetupConstitutionFileLoadedSelected": "действительный constitution.json найден и выбран", |
| 1251 | "SetupConstitutionFileLoadedInactive": "действительный constitution.json найден, но неактивен при записанном выборе", |
| 1252 | "SetupConstitutionFileLoadedUnselected": "действительный constitution.json найден; мастер предложит предпросмотр или сохранение для его выбора", |
| 1253 | "SetupConstitutionFileEmpty": "constitution.json пуст; нажмите G для пересоздания или U для встроенного", |
| 1254 | "SetupConstitutionFileInvalid": "constitution.json недействителен; используйте исправление/пересоздание или встроенный", |
| 1255 | "SetupConstitutionFileUnreadable": "constitution.json не читается; используйте исправление/пересоздание или встроенный", |
| 1256 | "SetupConstitutionFilePathError": "Не удалось определить CODEWHALE_HOME для constitution.json", |
| 1257 | "SetupExpertOverrideNotChecked": "ещё не проверено", |
| 1258 | "SetupExpertOverrideMissing": "prompts/constitution.md не найден", |
| 1259 | "SetupExpertOverrideActive": "активно; экспертное переопределение Markdown включено", |
| 1260 | "SetupExpertOverrideDisabled": "файл найден, но отключён; задайте {env}=1 для активации", |
| 1261 | "SetupExpertOverrideEmpty": "файл переопределения пуст; действует встроенный вариант по умолчанию", |
| 1262 | "SetupExpertOverrideUnreadable": "файл переопределения не читается; действует встроенный вариант по умолчанию", |
| 1263 | "SetupExpertOverridePathError": "Не удалось определить CODEWHALE_HOME для prompts/constitution.md", |
| 1264 | "SetupAutonomyUnspecified": "не задано или встроенный вариант по умолчанию", |
| 1265 | "SetupGuidedPurposeCoding": "рабочая среда для кода", |
| 1266 | "SetupGuidedPurposeResearch": "исследовательский синтез", |
| 1267 | "SetupGuidedPurposeOperations": "помощник по операциям", |
| 1268 | "SetupGuidedPurposeMixed": "универсальная рабочая среда", |
| 1269 | "SetupGuidedPurposeAboutCoding": "Пользователь Codewhale, которому нужна спокойная рабочая среда для кода, опирающаяся на факты.", |
| 1270 | "SetupGuidedPurposeAboutResearch": "Пользователь Codewhale, которому нужны актуальные исследования со ссылками и аккуратный синтез.", |
| 1271 | "SetupGuidedPurposeAboutOperations": "Пользователь Codewhale, которому нужна надёжная помощь с операциями и понятные точки отката.", |
| 1272 | "SetupGuidedPurposeAboutMixed": "Пользователь Codewhale, которому нужна гибкая рабочая среда для кода, исследований, текстов и операций.", |
| 1273 | "SetupGuidedStyleCoding": "Держать изменения кода в рамках запрошенного поведения и существующих паттернов репозитория.", |
| 1274 | "SetupGuidedStyleResearch": "Отделять факты от выводов и ссылаться на источники для нестабильных данных.", |
| 1275 | "SetupGuidedStyleOperations": "Предпочитать обратимые операционные шаги с пробными запусками, проверками статуса и заметками об откате.", |
| 1276 | "SetupGuidedStyleMixed": "Переключаться между кодом, исследованиями, текстами и операциями, не расширяя уровень безопасности.", |
| 1277 | "SetupGuidedEvidenceAssumptions": "указывать допущения", |
| 1278 | "SetupGuidedEvidenceTestsAndReceipts": "тесты и подтверждения", |
| 1279 | "SetupGuidedEvidenceReleaseReceipts": "подтверждения релизов", |
| 1280 | "SetupGuidedNotes": "Ответы мастера: цель={purpose}; инициатива={initiative}; доказательства={evidence}; общение={communication}; приватность={privacy}; принципы={principles}. {notes} Принципы в свободной форме носят рекомендательный характер и не меняют права одобрения, песочницы, shell, сети, доверия или MCP.", |
| 1281 | "SetupToolsMcpHotbarLabel": "Источники Hotbar:", |
| 1282 | "SetupToolsMcpNeedsActionSaved": "Инструменты/MCP всё ещё требуют действия; записано для отчёта настройки (не блокирует первый запуск).", |
| 1283 | "SetupToolsMcpPreviewTitle": "Инструменты / MCP: безопасное начало", |
| 1284 | "SetupToolsMcpOnRampText": "Инструменты, MCP, навыки и плагины — безопасное начало\n\n/setup только читает локальный инвентарь. Он никогда не запускает серверы MCP, не устанавливает навыки, не запускает плагины и не выполняет недоверенные команды.\n\nТекущий инвентарь:\n- MCP: {mcp_result}\n- Навыки: {skills_result}\n- Каталог инструментов: {tools_result}\n- Плагины: {plugins_result}\n- Hotbar (общие адаптеры): {hotbar_result}\n\nПути (домашний каталог скрыт):\n- Конфигурация MCP: {mcp_path}\n- Навыки: {skills_path}\n- Плагины: {plugins_path}\n\nБезопасная инициализация (выполните сами в обычном терминале или командой TUI):\n- MCP: /mcp · codewhale mcp init · codewhale doctor\n- Навыки: /skills · codewhale setup --skills · /skills install <spec>\n- Плагины: /plugin · codewhale setup --plugins\n- Каталог инструментов: codewhale setup --tools\n\nДействия с побочными эффектами всегда требуют явного подтверждения. Команды плагинов отличаются от slash-команд; источник плагинов Hotbar отложен до появления барьеров одобрения.\n\nСм. docs/MCP.md и docs/skills/README.md о том, что ещё требует ручной внешней настройки.", |
| 1285 | "SetupToolsMcpDshLabel": "DeepSeek Harness (dsh):", |
| 1286 | "SetupToolsMcpDshRow": "DeepSeek Harness (dsh) — подключён через Codewhale, никогда не второй планировщик:\n- Состояние: {dsh_result}\n- Обнаружение только для чтения; подключить/план/запуск/удалить: codewhale integrations dsh status · plan · connect · launch · remove\n- Codewhale пишет только в $CODEWHALE_HOME/integrations/dsh; никогда не копирует API-ключи и не изменяет файлы DSH.", |
| 1287 | "HotbarActionModeOperateName": "Режим Operate", |
| 1288 | "HotbarActionModeOperateDescription": "Параллельная работа Fleet.", |
| 1289 | "HomeOperateModeTip": "Operate — параллельная работа Fleet", |
| 1290 | "HomeOperateModeFleetTip": " Встроенные роли используют модель этой сессии; /fleet setup настраивает их", |
| 1291 | "HelpSubtitle": "Концепции, команды и сочетания клавиш", |
| 1292 | "CommandPaletteTitle": "Команда", |
| 1293 | "CommandPaletteSubtitle": "Найти и выполнить одно действие", |
| 1294 | "ConfigSubtitle": "Сначала настройки; сырые ключи — в расширенных деталях", |
| 1295 | "LaunchStartTitle": "Начните здесь", |
| 1296 | "LaunchResumeConfirm": "Возобновить {title}? Нажмите ещё раз или Enter для подтверждения.", |
| 1297 | "LaunchResumeConfirmTitle": "Возобновить сессию", |
| 1298 | "LaunchResumeConfirmBody": "Текущий контекст будет заменён историей той сессии.", |
| 1299 | "LaunchResumeConfirmResume": "возобновить", |
| 1300 | "LaunchResumeConfirmCancel": "отмена", |
| 1301 | "LaunchWorkDescription": "Используйте локальные инструменты в этой папке; изменения подчиняются политике подтверждений.", |
| 1302 | "LaunchChatDescription": "Только разговор и планирование; файлы не изменяются.", |
| 1303 | "LaunchWorkspaceGitReady": "Рабочая область · {name} · область Git", |
| 1304 | "LaunchWorkspaceFolderReady": "Рабочая область · {name} · локальная папка", |
| 1305 | "LaunchProviderConfigured": "Провайдер · настроен", |
| 1306 | "LaunchProviderSetupNeeded": "Провайдер · требуется настройка", |
| 1307 | "LaunchGroupContinue": "Продолжить", |
| 1308 | "LaunchGroupMore": "Ещё", |
| 1309 | "LaunchWorkspaceGitShort": "Git", |
| 1310 | "LaunchWorkspaceFolderShort": "папка", |
| 1311 | "LaunchProviderConfiguredShort": "провайдер настроен", |
| 1312 | "LaunchProviderSetupShort": "настройка провайдера", |
| 1313 | "LaunchMenuChangelog": "Список изменений", |
| 1314 | "LaunchWorktreePrompt": "Назовите ветку/worktree или нажмите Enter для автоматического имени. Esc — назад.", |
| 1315 | "LaunchWorktreeNeedsGit": "Новый worktree требует репозиторий Git.", |
| 1316 | "LaunchWorktreeNameLabel": "имя worktree", |
| 1317 | "LaunchHintMove": "перемещение", |
| 1318 | "LaunchHintOpen": "открыть", |
| 1319 | "LaunchTipFlags": "Совет: -w <path> открывает рабочую область; -r <session-id> возобновляет напрямую", |
| 1320 | "LaunchSavedSessionSingular": "1 сохранённая сессия", |
| 1321 | "LaunchSavedSessionsPlural": "сохранённых сессий: {count}", |
| 1322 | "LaunchCreatingWorktree": "Создание worktree…", |
| 1323 | "LaunchWorktreeFailed": "Ошибка worktree: {error}", |
| 1324 | "LaunchWorktreeCreated": "Новый worktree {path} в ветке {branch}", |
| 1325 | "LaunchNoSavedSessions": "Нет сохранённых сессий для этой рабочей области.", |
| 1326 | "LaunchNoModelConnected": "модель не подключена", |
| 1327 | "LaunchRunCommand": "выполните {command}", |
| 1328 | "LaunchMcpConnectedOne": "подключён 1 сервер MCP", |
| 1329 | "LaunchMcpConnectedMany": "подключено серверов MCP: {count}", |
| 1330 | "LaunchMcpNeedsSignInOne": "1 требует входа", |
| 1331 | "LaunchMcpNeedsSignInMany": "{count} требуют входа", |
| 1332 | "PhaseIdle": "простой", |
| 1333 | "PhaseDraft": "черновик", |
| 1334 | "PhaseWorking": "работа", |
| 1335 | "PhaseReasoning": "мышление", |
| 1336 | "PhaseReading": "чтение", |
| 1337 | "PhaseUsingTool": "инструмент", |
| 1338 | "PhaseSubagents": "работают субагенты", |
| 1339 | "PhaseVerifying": "проверка", |
| 1340 | "PhaseWaitingOnYou": "ждёт вас", |
| 1341 | "PhaseDone": "готово", |
| 1342 | "PhaseFailed": "ошибка", |
| 1343 | "PhaseFinishing": "завершение", |
| 1344 | "ChipModeAct": "work", |
| 1345 | "ChipModePlan": "plan", |
| 1346 | "ChipModeOperate": "operate", |
| 1347 | "ChipPermissionReadOnly": "только чтение", |
| 1348 | "ChipPermissionAsk": "ask", |
| 1349 | "ChipPermissionAuto": "auto", |
| 1350 | "ChipPermissionFullAccess": "Full Access", |
| 1351 | "ChipPermissionNever": "никогда", |
| 1352 | "FooterHintKeys": "клавиши", |
| 1353 | "FooterHintOutput": "вывод", |
| 1354 | "FooterHintContext": "контекст", |
| 1355 | "InfoLineHelp": "справка", |
| 1356 | "InfoLineContext": "ctx", |
| 1357 | "InfoLineTtft": "ttft", |
| 1358 | "InfoLinePeak": "пик", |
| 1359 | "InfoLineOffPeak": "непиковое", |
| 1360 | "InfoLineWhales": "киты", |
| 1361 | "InfoLineAutomation": "автоматизация", |
| 1362 | "InfoLineNotConnected": "не подключено", |
| 1363 | "EmptyStateNoGit": "нет git", |
| 1364 | "EmptyStateMcpLabel": "mcp", |
| 1365 | "EmptyStatePrompt": "Чего вы хотите достичь?", |
| 1366 | "SessionsSurfaceTitle": "сессии", |
| 1367 | "SessionsPaneTitle": " сессии (1-9, PgUp/PgDn) ", |
| 1368 | "SessionsHistoryPaneTitle": " история (Shift+PgUp/PgDn) ", |
| 1369 | "SessionsActionResume": "возобновить", |
| 1370 | "SessionsActionSearch": "поиск", |
| 1371 | "SessionsActionSort": "сортировка", |
| 1372 | "SessionsActionRename": "переименовать", |
| 1373 | "SessionsActionAllWorkspaces": "все рабочие области", |
| 1374 | "SessionsActionDelete": "удалить", |
| 1375 | "SessionsActionClose": "закрыть", |
| 1376 | "SessionsScopeSortHeader": "область и сортировка · {sort}", |
| 1377 | "SessionsEmptyTitle": "Сохранённых сессий пока нет.", |
| 1378 | "SessionsEmptyHint": "Отправьте сообщение, чтобы начать сессию; она сохраняется автоматически.", |
| 1379 | "SessionsShowingAllWorkspaces": "показаны сессии из всех рабочих областей", |
| 1380 | "SessionsScopedToWorkspace": "только эта рабочая область", |
| 1381 | "SessionsNewTitlePrompt": "Новый заголовок: ", |
| 1382 | "SessionsDeletePrompt": "Удалить сессию? (y/n)", |
| 1383 | "SessionsConfirmDelete": "Подтвердите удаление (y/n)", |
| 1384 | "SessionsNewSessionTitle": "Новая сессия", |
| 1385 | "SessionsOpenedHistory": "Открыта история для {id}", |
| 1386 | "SessionsSortStatus": "Сортировка: {sort}", |
| 1387 | "SessionsSortRecent": "недавние", |
| 1388 | "SessionsSortName": "имя", |
| 1389 | "SessionsSortSize": "размер", |
| 1390 | "SessionsSearchPrompt": "Поиск: введите для фильтра, Enter — применить", |
| 1391 | "SessionsDeleteFailed": "Ошибка удаления: {error}", |
| 1392 | "SessionsDeleted": "Сессия {id} удалена", |
| 1393 | "SessionsNoSelection": "Сессия не выбрана", |
| 1394 | "SessionsTitleLength": "Заголовок должен быть от 1 до 100 символов", |
| 1395 | "SessionsOpenFailed": "Не удалось открыть сессии: {error}", |
| 1396 | "SessionsLoadFailed": "Не удалось загрузить сессию: {error}", |
| 1397 | "SessionsResumed": "Сеанс возобновлён: {title}", |
| 1398 | "SessionsRenameFailed": "Ошибка переименования: {error}", |
| 1399 | "SessionsRenamed": "Переименовано в \"{title}\"", |
| 1400 | "SessionsNoResults": "Сессии не найдены.", |
| 1401 | "SessionsDirectoryFailed": "Не удалось открыть каталог сессий.", |
| 1402 | "SessionsPreviewFailed": "Не удалось загрузить предпросмотр сессии.", |
| 1403 | "SessionsDeleteCancelled": "Удаление отменено", |
| 1404 | "SessionsRenameCancelled": "Переименование отменено", |
| 1405 | "SessionsShowingRange": "Показано {start}-{end} / {total}", |
| 1406 | "SessionsMessageCountCompact": "{count} сообщ.", |
| 1407 | "SessionsForkCompact": "fork", |
| 1408 | "SessionsCurrentCompact": "текущая", |
| 1409 | "SessionsPreviewId": "ID: {id}", |
| 1410 | "SessionsUnknownMode": "неизвестно", |
| 1411 | "SessionsPreviewTitle": "Заголовок: {title}", |
| 1412 | "SessionsPreviewUpdated": "Обновлено: {updated}", |
| 1413 | "SessionsPreviewMessagesModel": "Сообщений: {count} | Модель: {model}", |
| 1414 | "SessionsPreviewMode": "Режим: {mode}", |
| 1415 | "SessionsToolCall": "вызов инструмента: {name} {input}", |
| 1416 | "SessionsToolError": "ошибка инструмента: {content}", |
| 1417 | "SessionsToolResult": "результат инструмента: {content}", |
| 1418 | "SessionsServerTool": "серверный инструмент: {name} {input}", |
| 1419 | "SessionsImage": "[изображение]", |
| 1420 | "SessionsTimeJustNow": "только что", |
| 1421 | "SessionsTimeMinutesAgo": "{count} мин назад", |
| 1422 | "SessionsTimeHoursAgo": "{count} ч назад", |
| 1423 | "SessionsTimeDaysAgo": "{count} дн назад", |
| 1424 | "CtxInspRowSystemPrompt": "системный промпт", |
| 1425 | "CtxInspRowMessages": "сообщения", |
| 1426 | "CtxInspRowFree": "свободно", |
| 1427 | "CtxInspFreeTokensDetail": "Осталось {free} свободных токенов до заполнения окна маршрута. Порог автоуплотнения: {threshold}%.", |
| 1428 | "CtxInspDrillTitle": "контекст · {row}", |
| 1429 | "CtxInspSurfaceTitle": "контекст", |
| 1430 | "CtxInspActionSelect": "выбрать", |
| 1431 | "CtxInspActionDrillDown": "углубиться", |
| 1432 | "CtxInspActionClose": "закрыть", |
| 1433 | "CtxInspUsedTokens": "~{used}/{max} токенов", |
| 1434 | "CtxInspAutoCompactAt": "автоуплотнение при {threshold}%", |
| 1435 | "CtxInspRowTokens": "{tokens} токенов · {percent}%", |
| 1436 | "CtxInspRowCompaction": "compaction", |
| 1437 | "CtxInspRowAnchors": "anchors", |
| 1438 | "CtxInspCompactionNever": "no compaction this session", |
| 1439 | "CtxInspCompactionDetail": "{path}. {before} → {after} messages. Last round: {round} messages, {tools} tool results{assistant}.", |
| 1440 | "CtxInspCompactionRestored": "checkpoint present. Last round: {round} messages, {tools} tool results{assistant}.", |
| 1441 | "CtxInspCompactionPathSummary": "summary pass", |
| 1442 | "CtxInspCompactionPathPrune": "prune-only", |
| 1443 | "CtxInspCompactionAssistantKept": ", assistant kept", |
| 1444 | "CtxInspAnchorsNone": "no /anchor file", |
| 1445 | "CtxInspAnchorsPresent": "/anchor pinned ({chars} characters)", |
| 1446 | "RouteSurfaceTitle": "маршрут · {view}", |
| 1447 | "RouteBrowseCatalog": "каталог", |
| 1448 | "RouteActionType": "Тип", |
| 1449 | "RouteActionSearchAnyModel": "искать любую модель", |
| 1450 | "RoutePanelHeader": "маршрут", |
| 1451 | "RouteProviderLabel": "провайдер", |
| 1452 | "RouteModelFirstAtomic": "атомарный маршрут с приоритетом модели", |
| 1453 | "PickerActionMove": "перемещение", |
| 1454 | "PickerActionSwitch": "переключить", |
| 1455 | "PickerActionApply": "применить", |
| 1456 | "PickerActionAssignRoute": "назначить", |
| 1457 | "FleetRoutePickUnavailable": "Команда изменилась или больше недоступна. Откройте её заново перед выбором модели.", |
| 1458 | "FleetRouteSaved": "Сохранено: {fleet} · {route} · {path}", |
| 1459 | "FleetRouteInherited": "модель сеанса", |
| 1460 | "FleetRouteNotInCatalog": " · нет в текущем каталоге", |
| 1461 | "PickerActionSetStartupDefault": "установить как значение по умолчанию при запуске", |
| 1462 | "PickerActionPin": "закрепить", |
| 1463 | "PickerActionFleet": "флот", |
| 1464 | "PickerActionCancel": "отмена", |
| 1465 | "PickerActionClear": "очистить", |
| 1466 | "PickerActionClearSearch": "очистить поиск", |
| 1467 | "PickerActionBrowseAll": "показать все", |
| 1468 | "PickerActionCustom": "свой", |
| 1469 | "PickerActionJump": "перейти", |
| 1470 | "PickerActionEditKey": "изменить ключ", |
| 1471 | "PickerActionModels": "модели", |
| 1472 | "PickerActionUnavailable": "недоступно", |
| 1473 | "PickerActionSetKey": "задать ключ", |
| 1474 | "PickerActionConfigured": "настроено", |
| 1475 | "RouteNoModels": "Модели недоступны.", |
| 1476 | "RouteNoModelMatch": "Нет моделей по запросу \"{query}\" — Backspace очищает.", |
| 1477 | "ProviderNoMatchesTitle": "Провайдеры не найдены", |
| 1478 | "ProviderNoMatchesHint": "Попробуйте другой запрос или очистите его для просмотра.", |
| 1479 | "ProviderNoConfiguredTitle": "Провайдеры ещё не настроены", |
| 1480 | "ProviderNoConfiguredHint": "Просмотрите все поддерживаемые провайдеры или создайте свою конечную точку.", |
| 1481 | "ProviderNoCatalogModels": "Модели из каталога недоступны.", |
| 1482 | "ProviderExternalActionRevoke": "отозвать внешний", |
| 1483 | "ProviderExternalActionChoices": "варианты внешнего доступа", |
| 1484 | "ProviderExternalActionReuseGrok": "повторное использование внешнего Grok", |
| 1485 | "ProviderExternalHintCodexReview": "После {login} нажмите Enter, чтобы просмотреть варианты доступа: отключён/только чтение/управляемый.", |
| 1486 | "ProviderExternalHintXaiReview": "Enter — вход через устройство от Codewhale; E — просмотр существующего использования Grok CLI.", |
| 1487 | "ProviderExternalHintXaiApiKey": "Или используйте XAI_API_KEY и откройте этот выбор заново.", |
| 1488 | "XaiAuthChoiceTitle": " Аутентификация xAI ", |
| 1489 | "XaiAuthChoiceIntro": "Выберите один явный источник учётных данных. Текст ключа никогда не считается токеном OAuth.", |
| 1490 | "XaiAuthChoiceApiKeyOption": "Ключ API xAI — введите или вставьте, затем сохраните в слоте провайдера xAI", |
| 1491 | "XaiAuthChoiceDeviceOAuthOption": "Встроенный OAuth устройства — вход через браузер или код устройства с хранилищем Codewhale", |
| 1492 | "ChatgptAuthChoiceTitle": " Аутентификация ChatGPT / Codex ", |
| 1493 | "ChatgptAuthChoiceIntro": "Вход по подписке списывается с вашего плана ChatGPT. Маршрут API-ключа openai принадлежит другому плательщику.", |
| 1494 | "ChatgptAuthChoicePkceOption": "Войти через ChatGPT — PKCE в браузере, токены Codewhale, оплата подписки ChatGPT", |
| 1495 | "ChatgptAuthChoiceImportOption": "Импортировать учётные данные CLI Codex — явное согласие только на чтение; владельцем остаётся CLI Codex", |
| 1496 | "ProviderExternalHintChatgptReview": "Нажмите Enter, чтобы войти через ChatGPT; нажмите E, чтобы проверить существующее повторное использование CLI Codex.", |
| 1497 | "ProviderExternalActionReuseCodex": "внешнее повторное использование Codex", |
| 1498 | "ProviderExternalDetailScope": "Внешний: доступ={access} | провайдер={provider} | источник={source} | версия={version} | {state}", |
| 1499 | "ProviderExternalDormant": "неактивен", |
| 1500 | "ProviderExternalOwnerPath": "Владелец/путь: {owner} | {path}", |
| 1501 | "ProviderExternalPinnedPathWarning": "Внимание: путь учётных данных {owner} изменился; согласие остаётся привязанным к {path}.", |
| 1502 | "ToolProjectionWarning": "Внимание: {provider} исключил несовместимые инструменты для этого запроса: {tools}", |
| 1503 | "SnapshotsDisabledTooLarge": "Снимки и /undo отключены для {workspace}: в нём больше {limit} содержимого, попадающего в снимок. Увеличьте `{config_key}` в config.toml (или задайте 0, чтобы снять ограничение), чтобы включить их.", |
| 1504 | "SnapshotsDisabledTooManyFiles": "Снимки и /undo отключены для {workspace}: в нём больше {limit} файлов, попадающих в снимок. Ограничение по размеру здесь ни при чём — исключите сгенерированные каталоги в `.gitignore` или начните в подкаталоге поменьше, чтобы включить их.", |
| 1505 | "SnapshotsDisabledUnsafeLocation": "Снимки и /undo отключены для {workspace}: домашний или корневой каталог слишком широк для безопасного снимка. Начните в каталоге проекта, чтобы включить их.", |
| 1506 | "SessionIdDivergedNotice": "Идентификатор сеанса в этом окне изменился: движок теперь сохраняет контрольные точки как {next} (было {previous}). Прежние точки остаются под старым id; `codewhale sessions` показывает оба, а `codewhale resume {previous}` открывает прежний сеанс.", |
| 1507 | "RuntimeStoreUnreadableNotice": "Хранилище среды выполнения сессии: не удалось прочитать {record} в {path} ({reason}). Отложите этот файл (или удалите его) и повторите попытку; остальные записи потока сохраняются.", |
| 1508 | "RuntimeStoreUnwritableNotice": "Хранилище среды выполнения сессии: не удалось записать {record} в {path} ({reason}). Проверьте свободное место и права доступа там и повторите попытку; ничего не было перезаписано.", |
| 1509 | "ProviderExternalSemanticsRevoke": "{semantics} | отзыв: {revoke}", |
| 1510 | "ProviderExternalRevoke": "отзыв: {revoke}", |
| 1511 | "ProviderExternalChoiceTitle": " Доступ к внешним учётным данным · {provider} ", |
| 1512 | "ProviderExternalActionChoose": "выбрать", |
| 1513 | "ProviderExternalChoiceIntro": "Выберите, что Codewhale может делать с учётными данными, принадлежащими другому CLI.", |
| 1514 | "ProviderExternalDisabledLabel": "Отключено (по умолчанию)", |
| 1515 | "ProviderExternalDisabledDetail": "без проверок, чтения, обновления, сети и записи", |
| 1516 | "ProviderExternalReadOnlyLabel": "Использовать учётные данные внешнего CLI (только чтение)", |
| 1517 | "ProviderExternalReadOnlyDetail": "один точный файл; далее явное подтверждение", |
| 1518 | "ProviderExternalReadOnlySemantics": "чтение только этого файла; без обновления, запросов к поставщику идентификации или обнаружения, записи или перезаписи внешних файлов; обычные запросы к выбранному провайдеру могут использовать его токен", |
| 1519 | "ProviderExternalManagedLabel": "Управляемый (недоступно)", |
| 1520 | "ProviderExternalManagedDetail": "нет проверенного адаптера сохранения с безопасной схемой", |
| 1521 | "ProviderExternalConfirmTitle": " Подтвердите точный доступ только для чтения ", |
| 1522 | "ProviderExternalActionGrant": "предоставить доступ только для чтения", |
| 1523 | "ProviderExternalOwnerLabel": "CLI-владелец", |
| 1524 | "ProviderExternalExactPathLabel": "Точный разрешённый путь", |
| 1525 | "ProviderExternalSemanticsLabel": "Семантика", |
| 1526 | "ProviderExternalRejectUnsafe": "Codewhale отклонит симлинки, точки повторной обработки и необычные файлы.", |
| 1527 | "ProviderExternalRevokeLabel": "Отозвать", |
| 1528 | "ProviderExternalRouteLabel": "Маршрут", |
| 1529 | "ProviderExternalCustodyLine": "Хранение: только на этом устройстве — Codewhale хранит только эту запись о согласии, а не сами учётные данные; аккаунтное или облачное хранилище не используется.", |
| 1530 | "ProviderExternalBillingLine": "Владелец учётных данных и оплаты: ваш аккаунт {owner}; использование оплачивается этим аккаунтом.", |
| 1531 | "ProviderExternalRevokeScope": "Отзыв удаляет только запись о согласии Codewhale на этом устройстве; файл {owner} никогда не читается, не изменяется и не удаляется.", |
| 1532 | "ProviderExternalOwnerOnly": "Владелец: {owner}", |
| 1533 | "ProviderExternalPinnedPathChanged": "Предупреждение: путь к учётным данным {owner} в окружении изменился; согласие остаётся закреплённым за выданным путём.", |
| 1534 | "ProviderExternalRevokeConfirmTitle": " Отозвать доступ к внешним учётным данным? ", |
| 1535 | "ProviderExternalGrantedToast": "Доступ только для чтения к {owner} предоставлен для {provider}. Без обновления, запросов идентификации/обнаружения или записи внешних файлов; обычные запросы провайдера могут использовать токен.", |
| 1536 | "ProviderExternalSaveFailedToast": "Согласие на внешние учётные данные не сохранено: {error}", |
| 1537 | "ProviderExternalRevokedToast": "Доступ к внешним учётным данным отозван для {provider}", |
| 1538 | "ProviderExternalRevokeFailedToast": "Доступ к внешним учётным данным не отозван: {error}", |
| 1539 | "ThemeSurfaceTitle": "тема · живой предпросмотр", |
| 1540 | "FleetRosterHeaderLabel": "команда", |
| 1541 | "FleetRosterTabRoster": "участники", |
| 1542 | "FleetRosterTabSetup": "настройка", |
| 1543 | "FleetRosterWorkers": "воркеры", |
| 1544 | "FleetRosterMembersCount": "участников: {count}", |
| 1545 | "FleetRosterOperatorFirst": "Координатор ведёт · модель сессии управляет этим Fleet", |
| 1546 | "FleetRosterOperatorRow": "Координатор · лидер", |
| 1547 | "FleetRosterShadowBadgeProjectOverride": "сохранено для этого проекта", |
| 1548 | "FleetRosterShadowBadgePersonalIgnored": "сохранённая копия игнорируется", |
| 1549 | "FleetRosterShadowBadgePersonalOverride": "сохранено для всех проектов", |
| 1550 | "FleetRosterShadowBadgeConfigOverride": "сохранено в настройках", |
| 1551 | "FleetRosterLayersLabel": "Сохранено для", |
| 1552 | "FleetRosterLayerWins": "действует", |
| 1553 | "FleetRosterLayerIgnored": "игнорируемая копия", |
| 1554 | "FleetReadyNotice": "Fleet готов · /fleet открывает роли · /fleet setup настраивает модели участников", |
| 1555 | "FleetProfileIdentityVerifyFailed": "Не удалось проверить существующие идентификаторы профилей ({error}); исправьте указанный файл перед сохранением.", |
| 1556 | "FleetProfileIdConflict": "Идентификатор профиля `{id}` уже используется в {path}; пересоздайте черновик с другой ролью или сначала удалите старый файл.", |
| 1557 | "FleetProfileProviderUnconfigured": "Профиль закрепляет провайдера `{provider}`, для которого нет настроенных учётных данных ({env}); настройте его в /provider перед сохранением.", |
| 1558 | "FleetModelAdded": "{route} добавлен в команду `{fleet}`", |
| 1559 | "FleetModelAddedAs": "{route} добавлен как {roles} в команду `{fleet}`", |
| 1560 | "FleetModelAddedCreatedNote": " (новая личная команда, теперь выбрана)", |
| 1561 | "FleetModelAddedSelectedNote": " (теперь выбран)", |
| 1562 | "FleetModelRemoved": "{route} удалён из команды `{fleet}`", |
| 1563 | "FleetModelRemovedRoles": "{route} ({roles}) удалён из команды `{fleet}`", |
| 1564 | "FleetModelUnchanged": "{route} остаётся в команде `{fleet}`: {reason}", |
| 1565 | "FleetModelReasonOperatorRoute": "это ваша текущая модель (маршрут оператора команды); переключите модель или измените его через /fleet save", |
| 1566 | "FleetModelReasonAlreadyPresent": "уже в команде", |
| 1567 | "FleetModelErrorNeedsRoute": "модели команды нужны и id провайдера, и id модели", |
| 1568 | "FleetModelErrorNeedsRole": "участник команды — это роль; укажите её (например `/fleet add {route} scout`)", |
| 1569 | "FleetModelErrorNoSelection": "команда не выбрана; ваша команда — только модель сессии", |
| 1570 | "FleetModelErrorOperatorRoute": "{route} — маршрут оператора команды `{fleet}`; меняйте его через /fleet save, а не remove", |
| 1571 | "FleetModelErrorNotInFleet": "{route} нет в команде `{fleet}`", |
| 1572 | "FleetModelsEmpty": "Ваша команда — только модель сессии. Добавьте модель: /fleet add <provider> <model> [role…] (или ⇧F на строке в /model).", |
| 1573 | "FleetModelsHeader": "Ваша команда `{fleet}` (моделей: {count})", |
| 1574 | "FleetModelsBroken": "Не удалось загрузить выбранную команду: {error}. Исправьте файл или выберите другой через /fleet teams.", |
| 1575 | "FleetModelsFooter": "Добавить: /fleet add <provider> <model> [role…] · Удалить: /fleet remove <provider> <model>", |
| 1576 | "FleetModelsFactPrice": "${input}/{output} за M", |
| 1577 | "FleetModelsFactContext": "{context}k ctx", |
| 1578 | "FleetModelsFactTools": "инструменты", |
| 1579 | "FleetAddUsage": "Использование: /fleet add <provider> <model> [role…] — например /fleet add openrouter z-ai/glm-5.3-flash explore", |
| 1580 | "FleetAddProviderUnconfigured": "`{provider}` не является настроенным провайдером. Настройте его в ~/.codewhale/config.toml или переключитесь на него через /provider, прежде чем добавлять в команду.", |
| 1581 | "FleetAddModelNotServed": "{provider} не предоставляет `{model}` в текущем каталоге; выполните /models, чтобы увидеть доступные модели, или /fleet add с точным id из списка.", |
| 1582 | "FleetAddFailed": "Не удалось добавить в команду: {error}", |
| 1583 | "FleetRemoveUsage": "Использование: /fleet remove <provider> <model>", |
| 1584 | "FleetRemoveFailed": "Не удалось удалить из команды: {error}", |
| 1585 | "FleetToggleFailed": "Не удалось обновить команду: {error}", |
| 1586 | "FleetDestStepTitle": "Где сохранить этот профиль?", |
| 1587 | "FleetDestStepSubtitle": "Ничего не записывается, пока вы не подтвердите на последнем шаге.", |
| 1588 | "FleetDestProjectLabel": "Этот проект", |
| 1589 | "FleetDestPersonalLabel": "Личный", |
| 1590 | "FleetDestProjectSummary": "Только этот проект", |
| 1591 | "FleetDestPersonalSummary": "Доступен во всех проектах", |
| 1592 | "FleetDestProjectDescription": "Имеет приоритет над личным профилем с тем же ID.", |
| 1593 | "FleetDestPersonalDescription": "Собственный профиль проекта с тем же ID имеет приоритет в этом проекте.", |
| 1594 | "FleetDestPathLine": "Файл: {path}", |
| 1595 | "FleetDestUnavailable": "Недоступно: {reason}", |
| 1596 | "FleetDestReasonNoProjectConfig": "профили проекта отключены в этом сеансе (--no-project-config)", |
| 1597 | "FleetDestReasonWorkspaceMissing": "папка рабочего пространства {path} не существует или не является каталогом", |
| 1598 | "FleetDestReasonHomeUnavailable": "не удалось определить ваш домашний каталог Codewhale ({error})", |
| 1599 | "FleetDestWillReplace": "Заменит существующий файл {path}", |
| 1600 | "FleetDestOverridesProject": "В этом проекте уже есть профиль '{id}', и здесь приоритет у него; этот личный профиль действует в других проектах.", |
| 1601 | "FleetDestOverridesPersonal": "Имеет приоритет над вашим личным профилем '{id}' внутри этого проекта.", |
| 1602 | "FleetDestOverridesBuiltIn": "Заменяет роль {origin} '{id}' в составе.", |
| 1603 | "FleetSavesToChip": "Сохраняется в: {scope} · {path}", |
| 1604 | "FleetSavesToUndecided": "Сохраняется в: выберите на шаге 3 — Этот проект или Личный", |
| 1605 | "FleetActionSaveProject": "Сохранить в этот проект", |
| 1606 | "FleetActionSavePersonal": "Сохранить как личный профиль", |
| 1607 | "FleetActionReplaceProject": "Заменить в этом проекте", |
| 1608 | "FleetActionReplacePersonal": "Заменить личный профиль", |
| 1609 | "FleetActionConfirmReplace": "Нажмите Enter ещё раз, чтобы заменить {file}", |
| 1610 | "FleetActionChangeDestination": "Изменить место сохранения", |
| 1611 | "FleetActionBack": "Назад", |
| 1612 | "FleetReviewSavesTo": "Сохраняется в", |
| 1613 | "FleetModelRowBlockedNotice": "Нельзя выбрать: {reason}. Настройте в /provider или выберите другую строку.", |
| 1614 | "FleetDestProjectDisabledSave": "Профили проекта отключены в этом сеансе (--no-project-config); ничего не сохранено. Выберите «Личный» или перезапустите без этого флага.", |
| 1615 | "WorkflowStatusWaiting": "ожидание", |
| 1616 | "WorkflowStatusDegraded": "частично", |
| 1617 | "WorkflowRunFailedToast": "Запуск workflow завершился ошибкой", |
| 1618 | "WorkflowDebrief": "итоги: {done}/{total} завершено · {failed} ошибок · {cancelled} отменено · {elapsed}", |
| 1619 | "WorkflowDispatchFailureLine": "сбой запуска · {slot}: {message}", |
| 1620 | "WorkflowDispatchFailuresOmitted": "сбои запуска: не показано предыдущих — {count}", |
| 1621 | "WorkflowDispatchFallbackTask": "задача", |
| 1622 | "WorkflowTranscriptDetails": "транскрипт: полный JSON запуска доступен в деталях инструмента ({details})", |
| 1623 | "WorkflowReceiptRole": "роль {value}", |
| 1624 | "WorkflowReceiptReasoning": "рассуждения {value}", |
| 1625 | "WorkflowReceiptVia": "через {value}", |
| 1626 | "WorkflowReceiptTokens": "токены {value}", |
| 1627 | "WorkflowReceiptTools": "инструменты {value}", |
| 1628 | "WorkflowReceiptDuration": "длительность {value}", |
| 1629 | "WorkflowReceiptUnknown": "неизвестно", |
| 1630 | "WorkflowReceiptProviderReported": "по данным провайдера", |
| 1631 | "WorkflowReceiptEstimated": "оценка", |
| 1632 | "SidebarTasksLabel": "Задачи", |
| 1633 | "TaskOwnershipUnverified": "Владелец выполнения не подтверждён", |
| 1634 | "TaskInventoryUnavailable": "Хранилище задач недоступно; показано последнее известное состояние.", |
| 1635 | "SidebarTodoLabel": "Сделать", |
| 1636 | "WorkSurfaceTodoProgress": "{label} {completed}/{total} · осталось {remaining}", |
| 1637 | "SidebarStopControl": "стоп", |
| 1638 | "SidebarDestructiveArmed": "Разрушительное действие готово — Enter подтверждает, очистка черновика отменяет", |
| 1639 | "WorkSurfaceStopConfirmHint": "подтвердить остановку · Esc отменяет", |
| 1640 | "CoordinationWorkTitle": "Координационная работа", |
| 1641 | "CoordinationSummaryDecisions": "решений: {count}", |
| 1642 | "CoordinationSummaryContentions": "конфликтов: {count}", |
| 1643 | "CoordinationSummaryReconciled": "согласовано: {count}", |
| 1644 | "CoordinationSchema": "Схема {value}", |
| 1645 | "CoordinationSequence": "последовательность {value}", |
| 1646 | "CoordinationPerSectionLimit": "до {limit} на раздел", |
| 1647 | "CoordinationDecisionsHeading": "Решения", |
| 1648 | "CoordinationNone": "Нет", |
| 1649 | "CoordinationNoneValue": "нет", |
| 1650 | "CoordinationStatus": "статус {status}", |
| 1651 | "CoordinationOwner": "владелец {owner}", |
| 1652 | "CoordinationVersion": "версия {version}", |
| 1653 | "CoordinationWriteClaimsHeading": "Заявки на запись", |
| 1654 | "CoordinationIsolated": "изолировано", |
| 1655 | "CoordinationSharedWorkspace": "общая рабочая область", |
| 1656 | "CoordinationPaths": "пути {paths}", |
| 1657 | "CoordinationContracts": "контракты {contracts}", |
| 1658 | "CoordinationContentionsHeading": "Конфликты", |
| 1659 | "CoordinationClaimant": "заявитель {claimant}", |
| 1660 | "CoordinationDisposition": "результат {disposition}", |
| 1661 | "CoordinationNeutralReconciliationHeading": "Нейтральное согласование", |
| 1662 | "CoordinationCandidates": "кандидатов: {count}", |
| 1663 | "CoordinationRetry": "повтор {count}/{limit}", |
| 1664 | "CoordinationReviewer": "проверяющий {reviewer}", |
| 1665 | "CoordinationVerifier": "верификатор {verifier}", |
| 1666 | "CoordinationVerification": "верификация {verification}", |
| 1667 | "CoordinationContextProjectionsHeading": "Проекции контекста", |
| 1668 | "CoordinationContextDecisions": "решения {decisions}", |
| 1669 | "CoordinationBytes": "{count} байт", |
| 1670 | "CoordinationDeduplicated": "дедуплицировано: {count}", |
| 1671 | "CoordinationOmitted": "пропущено: {count}", |
| 1672 | "CoordinationActiveHotPathsHeading": "Активные горячие пути", |
| 1673 | "CoordinationActiveClaims": "активных заявок: {count}", |
| 1674 | "CoordinationMetricsNoteHeading": "Заметка о метриках", |
| 1675 | "CoordinationMetricsNoAuthoritativeSource": "рост и маршрут/стоимость остаются null, когда у журнала координации нет авторитетного источника", |
| 1676 | "CoordinationStatusProposed": "предложено", |
| 1677 | "CoordinationStatusAccepted": "принято", |
| 1678 | "CoordinationStatusSuperseded": "замещено", |
| 1679 | "ComposerSlashMenuHint": " enter:выполнить · tab:дополнить · ↑↓:выбор · esc:продолжить ввод ", |
| 1680 | "ApprovalRepoLawBadge": "ЗАКОН РЕПОЗИТОРИЯ", |
| 1681 | "ApprovalRepoLawTitle": "Конституция репозитория", |
| 1682 | "ApprovalRepoLawWarning": "Закон репозитория требует подтверждения в режимах с барьерами одобрения.", |
| 1683 | "ApprovalRepoLawRuleLabel": "Правило ", |
| 1684 | "FilePickerMatchSingular": "@ прикрепить · 1 совпадение", |
| 1685 | "FilePickerMatchesPlural": "@ прикрепить · совпадений: {count}", |
| 1686 | "FilePickerScanning": "Сканирование рабочей области…", |
| 1687 | "BehavioralTipPlanning": "Планирование? {key} переключает в режим Plan", |
| 1688 | "BehavioralTipBackgroundReceipt": "Подтверждения — в панели «Работа», {key} открывает инспектор", |
| 1689 | "BehavioralTipClearedInput": "Очищено · {chord} восстанавливает", |
| 1690 | "BehavioralTipMcpValidation": "{command} запускает серверы и показывает причину", |
| 1691 | "BehavioralTipRepeatedCommand": "{command} может закрепить это", |
| 1692 | "BehavioralTipDurableStateWritten": "Сохранено · {command} для просмотра", |
| 1693 | "BehavioralTipTodoWrite": "Совет: отслеживайте многоэтапную работу через {command}, чтобы прогресс оставался видимым", |
| 1694 | "SettingLockedDuringTurn": "{setting} заблокировано во время выполнения хода — сначала нажмите Esc для прерывания", |
| 1695 | "SettingSubjectMode": "Режим", |
| 1696 | "SettingSubjectThinking": "Thinking", |
| 1697 | "SettingSubjectModel": "Модель", |
| 1698 | "SettingSubjectModelAndThinking": "Модель и thinking", |
| 1699 | "SettingSubjectProvider": "Провайдер", |
| 1700 | "SettingSubjectPermissions": "Права", |
| 1701 | "ThinkingControlledByAutoRouting": "Thinking управляется автоматической маршрутизацией моделей; сначала выберите фиксированную модель.", |
| 1702 | "SavedAsStartupDefault": "сохранено как значение по умолчанию при запуске", |
| 1703 | "ModeAlreadyActiveSavedAsDefault": "Режим {mode} уже активен — сохранён как значение по умолчанию при запуске.", |
| 1704 | "StartupDefaultNotSaved": "{setting} не сохранено: {error}", |
| 1705 | "StartupDefaultSubjectMode": "режим запуска", |
| 1706 | "StartupDefaultSubjectThinking": "уровень thinking", |
| 1707 | "StartupDefaultSubjectModel": "модель", |
| 1708 | "StartupDefaultSubjectAll": "значения по умолчанию при запуске", |
| 1709 | "CmdCostReportSubtotal": "Стоимость сеанса:\n ─────────────────────────────\n Оценённый подытог: {cost}\n\n Один или несколько платных ходов не включены; см. покрытие ниже.", |
| 1710 | "CmdCostReportUnknown": "Стоимость сеанса:\n ─────────────────────────────\n Оценённый итог: неизвестно\n\n Ни один ход не имеет авторитетной цены в выбранной валюте.", |
| 1711 | "CmdCostUnknownValue": "неизвестно", |
| 1712 | "CmdCostEstimateOnly": "Это оценка, а не счёт: она вычисляется локально из объёма токенов, сообщённого провайдером, и опубликованных тарифов и может отличаться от вашего счёта.", |
| 1713 | "CmdCostCoverage": "Покрыто: оценено {priced} из {turns} платных ход(ов).", |
| 1714 | "CmdCostUnpricedTurns": "Исключено: {unpriced} платных ход(ов) без авторитетной цены ({reasons}); их расход отсутствует в итоге выше.", |
| 1715 | "CmdCostUnpricedClasses": "Неоценённые классы токенов в этом сеансе: {classes}. Ходы с ними закрываются с отказом, а не занижают отчёт.", |
| 1716 | "CmdCostCoverageUnknownLegacy": "Покрытие: неизвестно. Сеанс сохранён до записи по-ходового покрытия цен, поэтому установить, какая часть итога учтена, невозможно.", |
| 1717 | "CmdCostPricingProvenance": "Использованные источники цен: {sources}.", |
| 1718 | "CmdCostLivePricingDowngraded": "Актуальные цены провайдера для этого маршрута не удалось проверить ({defects}); использованы встроенные опубликованные тарифы.", |
| 1719 | "CmdCostLivePricingUnavailable": "Актуальные цены провайдера для этого маршрута не удалось проверить ({defects}), и пригодного встроенного тарифа нет; этот расход неизвестен.", |
| 1720 | "CmdCostRoutesHeader": "Проверенные маршруты (данные скрыты):", |
| 1721 | "CmdTokensCacheWriteTotal": "Токены записи в кэш (cache-creation) за сеанс: {write}. Тарифицируются выше входной ставки, если провайдер публикует надбавку за запись; по-ходовая разбивка — /cache.", |
| 1722 | "ModelPickerAutoNetworkActiveProviderHint": "за ход · только активный провайдер · запрос + недавний контекст → {provider} / {model}", |
| 1723 | "CmdLaneDescription": "Управление активными Lane: interrupt, restart, resume", |
| 1724 | "StepfunBillingRouteTitle": "Тарифный маршрут StepFun", |
| 1725 | "StepfunBillingRouteIntro": "StepFun выставляет счета за pay-as-you-go и подписки Step Plan на разных конечных точках. Выберите ту, к которой относится ваш ключ.", |
| 1726 | "StepfunBillingRoutePaygOption": "Pay-as-you-go (потокенная оплата)", |
| 1727 | "StepfunBillingRoutePlanOption": "Подписка Step Plan (лимит плана)", |
| 1728 | "StepfunPlanApiKeyHint": "Для подписок StepFun Step Plan используйте ключ, выданный для вашего Step Plan, а не ключ pay-as-you-go.", |
| 1729 | "StepfunPlanRouteHint": "Этот маршрут использует {route} и списывается из лимита вашего Step Plan.", |
| 1730 | "ConfigLabelSessionsRail": "Панель сеансов", |
| 1731 | "ConfigLabelSessionAutoResume": "Автовозобновление последнего сеанса", |
| 1732 | "SessionsRailTitle": "Сеансы", |
| 1733 | "SessionsRailEmpty": "В этом рабочем пространстве пока нет сеансов", |
| 1734 | "SessionsRailBrowseAll": "Все сеансы", |
| 1735 | "SessionsRailShowingCount": "{shown} из {total} — показать все", |
| 1736 | "SessionsRailUnavailable": "Сеансы недоступны: {error}", |
| 1737 | "SessionsActionArchive": "архивировать", |
| 1738 | "SessionsActionShowArchived": "архив", |
| 1739 | "SessionsArchived": "Сеанс {id} архивирован", |
| 1740 | "SessionsRestored": "Сеанс {id} восстановлен", |
| 1741 | "SessionsArchiveFailed": "Не удалось архивировать: {error}", |
| 1742 | "SessionsShowingArchived": "Показаны архивные сеансы", |
| 1743 | "SessionsHidingArchived": "Архивные сеансы скрыты", |
| 1744 | "SessionsArchivedCompact": "в архиве", |
| 1745 | "KbReasoningDetail": "Open reasoning detail for the selected or current turn", |
| 1746 | "KbTurnInspector": "Открыть инспектор хода", |
| 1747 | "CmdTurnInspectDescription": "Open the whole-turn inspector", |
| 1748 | "CmdAutomationDescription": "Управление постоянными запланированными автоматизациями — подкоманда list открывает менеджер автоматизаций", |
| 1749 | "AutomationUsage": "Использование: /automation [list|show <id>|print <id>|pause <id>|resume <id>|delete <id> [--confirm <token>]|run <id>]", |
| 1750 | "AutomationManagerUnavailable": "Менеджер автоматизаций недоступен в этом сеансе.", |
| 1751 | "AutomationListFailed": "Не удалось получить список автоматизаций: {error}", |
| 1752 | "AutomationActionFailed": "Не удалось {action} автоматизацию {id}: {error}", |
| 1753 | "AutomationEmpty": "Нет запланированных автоматизаций. Выберите «Новая автоматизация».", |
| 1754 | "AutomationListHeading": "Запланированные автоматизации", |
| 1755 | "AutomationScopeNote": "Автоматизации принадлежат вам, а не этому репозиторию — они следуют за вами во все репозитории.", |
| 1756 | "AutomationNoun": "Автоматизация", |
| 1757 | "AutomationStatusLabel": "состояние", |
| 1758 | "AutomationStatusActive": "активна", |
| 1759 | "AutomationStatusPaused": "приостановлена", |
| 1760 | "AutomationRunStatusQueued": "в очереди", |
| 1761 | "AutomationRunStatusRunning": "выполняется", |
| 1762 | "AutomationRunStatusCompleted": "завершена", |
| 1763 | "AutomationRunStatusFailed": "сбой", |
| 1764 | "AutomationRunStatusCanceled": "отменена", |
| 1765 | "AutomationActionInspect": "просмотреть", |
| 1766 | "AutomationActionPause": "приостановить", |
| 1767 | "AutomationActionResume": "возобновить", |
| 1768 | "AutomationActionDelete": "удалить", |
| 1769 | "AutomationActionRun": "запустить", |
| 1770 | "AutomationActionCancel": "отменить запуск", |
| 1771 | "AutomationActionPaused": "приостановлена", |
| 1772 | "AutomationActionResumed": "возобновлена", |
| 1773 | "AutomationNextLabel": "следующая", |
| 1774 | "AutomationNameLabel": "имя", |
| 1775 | "AutomationPromptLabel": "инструкция", |
| 1776 | "AutomationCwdLabel": "рабочий каталог", |
| 1777 | "AutomationModeLabel": "режим", |
| 1778 | "AutomationAllowShellLabel": "разрешить оболочку", |
| 1779 | "AutomationTrustModeLabel": "режим доверия", |
| 1780 | "AutomationAutoApproveLabel": "автоматическое одобрение", |
| 1781 | "AutomationRruleLabel": "правило повторения", |
| 1782 | "AutomationDeliveryLabel": "доставка", |
| 1783 | "AutomationLastLabel": "последняя", |
| 1784 | "AutomationRecentRunsLabel": "недавние запуски", |
| 1785 | "AutomationNoRuns": "нет записанных запусков", |
| 1786 | "AutomationRunsUnavailable": "запуски недоступны", |
| 1787 | "AutomationTaskLabel": "задача", |
| 1788 | "AutomationBandScheduled": "запланировано", |
| 1789 | "AutomationReceiptFired": "сработала", |
| 1790 | "AutomationReceiptStarted": "запущена в фоне", |
| 1791 | "AutomationReceiptCompleted": "завершена в фоне", |
| 1792 | "AutomationReceiptCoalesced": "объединена", |
| 1793 | "AutomationReceiptMissed": "пропущена", |
| 1794 | "AutomationReceiptExpired": "истекла", |
| 1795 | "AutomationReceiptDeleted": "удалена", |
| 1796 | "AutomationRunLabel": "запуск", |
| 1797 | "AutomationDeletedRunsDetail": "записанных запусков удалено: {run_count}", |
| 1798 | "AutomationDeletePreview": "Удаление ещё не подтверждено. Ничего не удалено.\nАвтоматизация: {id} ({name})\nЗаписанных запусков: {run_count}\nЧтобы удалить определение и историю запусков, выполните:\n{command}", |
| 1799 | "AutomationDeleteConfirmationStale": "Подтверждение удаления больше не соответствует автоматизации {id}; ничего не удалено. Проверьте текущее состояние с помощью {command}.", |
| 1800 | "WhaleStateResting": "Отдыхает", |
| 1801 | "WhaleStateThinking": "Думает", |
| 1802 | "WhaleStateWorking": "Работает", |
| 1803 | "WhaleStateWaiting": "Ждёт вас", |
| 1804 | "WhaleStateBlocked": "Заблокирован", |
| 1805 | "WhaleStateOffline": "Не в сети", |
| 1806 | "AgentStatusParked": "приостановлен", |
| 1807 | "AgentStatusParkedRecovery": "его никто не ждёт; resume_from чтобы продолжить, или cancel чтобы отбросить", |
| 1808 | "WhaleAnimalScout": "клюворыл", |
| 1809 | "WhaleAnimalPatch": "морская свинья", |
| 1810 | "WhaleAnimalHarbor": "горбатый кит", |
| 1811 | "WhaleAnimalEcho": "гринда", |
| 1812 | "WhaleAnimalKeel": "кашалот", |
| 1813 | "WhaleAnimalLantern": "косатка", |
| 1814 | "WhaleAnimalPlain": "кит", |
| 1815 | "WhaleJobScout": "исследование", |
| 1816 | "WhaleJobPatch": "программирование", |
| 1817 | "WhaleJobHarbor": "координация", |
| 1818 | "WhaleJobEcho": "коммуникации", |
| 1819 | "WhaleJobKeel": "эксплуатация", |
| 1820 | "WhaleJobLantern": "ревью", |
| 1821 | "WhaleJobPlain": "общая работа", |
| 1822 | "SessionMetricsTurn": "ход", |
| 1823 | "SessionMetricsTurns": "ходов", |
| 1824 | "SessionMetricsStep": "шаг", |
| 1825 | "SessionMetricsSteps": "шагов", |
| 1826 | "SessionMetricsLlm": "LLM", |
| 1827 | "SessionMetricsTools": "Инстр.", |
| 1828 | "SessionMetricsTtft": "TTFT ср.", |
| 1829 | "SessionMetricsTokensPerSecond": "ср. tok/s", |
| 1830 | "SessionMetricsCache": "Кэш", |
| 1831 | "SessionMetricsInput": "Ввод", |
| 1832 | "SessionMetricsStatusLine": "Метрики сессии: {metrics}", |
| 1833 | "StatusLabelRoute": "Маршрут", |
| 1834 | "StatusLabelDirectory": "Каталог", |
| 1835 | "StatusLabelProjectDocs": "Документы проекта", |
| 1836 | "StatusLabelMode": "Режим", |
| 1837 | "StatusLabelSafety": "Безопасность", |
| 1838 | "StatusLabelMcp": "MCP", |
| 1839 | "StatusLabelFleet": "Fleet", |
| 1840 | "StatusLabelContextWindow": "Окно контекста", |
| 1841 | "StatusLabelWindowSource": "Источник окна", |
| 1842 | "StatusLabelWindowOverride": "Настройка окна", |
| 1843 | "StatusLabelCatalog": "Каталог", |
| 1844 | "StatusLabelCloudFacts": "Облачные факты", |
| 1845 | "StatusLabelSession": "Сессия", |
| 1846 | "StatusLabelSessionTokens": "Токены сессии", |
| 1847 | "StatusLabelSessionCost": "Стоимость сессии", |
| 1848 | "StatusLabelToolOutputs": "Вывод инструментов", |
| 1849 | "StatusRouteSummary": "{provider} · {model} · рассуждения {reasoning}", |
| 1850 | "StatusProjectDocsNone": "нет документов проекта", |
| 1851 | "StatusPostureSummary": "{mode} · согласования {approval} · {shell} · {trust}", |
| 1852 | "StatusShellOn": "shell включена", |
| 1853 | "StatusShellOff": "shell выключена", |
| 1854 | "StatusTrustedWorkspace": "доверенная рабочая область", |
| 1855 | "StatusWorkspace": "рабочая область", |
| 1856 | "StatusApprovalAsk": "спрашивать", |
| 1857 | "StatusApprovalAuto": "автопроверка", |
| 1858 | "StatusApprovalFullAccess": "полный доступ", |
| 1859 | "StatusApprovalNever": "никогда", |
| 1860 | "StatusMcpConfigured": "настроено: {count}", |
| 1861 | "StatusFleetDrifted": "{fleet} · {count} сохранённых маршрутов нет в текущем каталоге: {ids}", |
| 1862 | "StatusContextUsage": "использовано {percent}% ({used} / {max} токенов)", |
| 1863 | "StatusContextSourceConfigured": "настроено", |
| 1864 | "StatusContextSourceConfiguredModel": "настроено (для модели)", |
| 1865 | "StatusContextSourceProviderReported": "сообщено провайдером", |
| 1866 | "StatusContextSourceKimiSafeFloor": "статический безопасный минимум Kimi Code", |
| 1867 | "StatusContextSourceCatalog": "каталог", |
| 1868 | "StatusContextSourceModelHint": "подсказка из имени модели (не проверено)", |
| 1869 | "StatusContextSourceFallback": "резервное значение (не проверено)", |
| 1870 | "StatusWindowOverrideProvider": "context_window в [providers.{table}] файла config.toml", |
| 1871 | "StatusWindowOverrideActiveProvider": "`context_window` в таблице активного провайдера файла config.toml", |
| 1872 | "StatusSessionNotSaved": "ещё не сохранена", |
| 1873 | "StatusSessionSummary": "{session} · ячеек: {cells} · сообщений API: {messages}", |
| 1874 | "StatusSessionTokensSummary": "вход {input} · выход {output} · всего {total} · {cache}", |
| 1875 | "StatusCacheNotReported": "кэш не указан", |
| 1876 | "StatusCacheSummary": "кэш: попаданий {hit} / промахов {miss}", |
| 1877 | "StatusToolRawPressure": "необработанных выводов сверх лимита: {count} (~{chars} символов), нагрузка на контекст растёт", |
| 1878 | "StatusToolCompactReceipts": "компактных квитанций: {count}", |
| 1879 | "StatusToolArtifacts": "артефактов: {count}, сохранено {bytes}", |
| 1880 | "StatusToolNone": "крупные выводы не отслеживаются", |
| 1881 | "StatusSafetyReadOnlyUnenforced": "на этой платформе нет песочницы ОС (запрошено только чтение, но не обеспечено), сеть отключена", |
| 1882 | "StatusSafetyReadOnly": "песочница только для чтения, сеть отключена", |
| 1883 | "StatusSafetyWorkspaceWriteUnenforcedNetworkOn": "на этой платформе нет песочницы ОС (workspace-write запрошен, но не обеспечен), сеть включена", |
| 1884 | "StatusSafetyWorkspaceWriteUnenforcedNetworkOff": "на этой платформе нет песочницы ОС (workspace-write запрошен, но не обеспечен), запрет сети также не обеспечен", |
| 1885 | "StatusSafetyWorkspaceWriteNetworkOn": "песочница workspace-write, сеть включена", |
| 1886 | "StatusSafetyWorkspaceWriteNetworkOff": "песочница workspace-write, сеть отключена", |
| 1887 | "StatusSafetyDisabled": "песочница отключена, сеть без ограничений", |
| 1888 | "StatusSafetyDisabledSetuidBlocked": "песочница отключена, сеть без ограничений; sudo/setuid заблокированы (no-new-privs)", |
| 1889 | "StatusSafetyDisabledSetuidAllowed": "песочница отключена, сеть без ограничений; sudo/setuid разрешены", |
| 1890 | "StatusSafetyExternal": "внешняя песочница, управление сетью делегировано хосту", |
| 1891 | "StatusPointers": "Токены по ходам: /tokens · Элементы строки состояния: /statusline", |
| 1892 | "AutoReviewReceiptGuardianAllowed": "Auto-Review разрешил '{tool}' (риск {risk}, модельный страж): {reason}", |
| 1893 | "AutoReviewReceiptGuardianDenied": "Auto-Review отклонил '{tool}' (риск {risk}, модельный страж): {reason}", |
| 1894 | "AutoReviewReceiptGuardianUnavailable": "Auto-Review не смог проверить '{tool}' ({reason}); отклонено, fail closed", |
| 1895 | "AutoReviewReceiptDeterministicBlocked": "Auto-Review заблокировал '{tool}' (детерминированная политика): {reason}", |
| 1896 | "AutoReviewReceiptHeld": "Auto-Review удержал '{tool}' без паузы; отклонено (нужен человек — переключитесь на Ask)", |
| 1897 | "FooterHintEscInterrupt": "Esc — прервать", |
| 1898 | "PostureHintEnterAgain": "{enter} ещё раз — отправить сейчас · {steer} направляет", |
| 1899 | "PermissionsPostureHeader": "Доступ сейчас: {posture}", |
| 1900 | "PermissionsPostureAsk": "Ask: вызовы tool, меняющие полномочия, стоимость, охват или результат, открывают запрос; доказанно безопасные вызовы только для чтения выполняются без него. Правила ask выше всегда принудительно показывают запрос.", |
| 1901 | "PermissionsPostureAuto": "Auto-Review: никогда не открывает запрос. Детерминированная политика разрешает доказанно безопасные вызовы и жёстко блокирует публикационную или разрушительную фоновую работу; вызовы, безопасность которых доказать нельзя, отправляются одноразовому модельному стражу, который разрешает или отклоняет с указанием причины (высокий или критический риск никогда не выполняется автоматически; неудачная проверка отклоняет по принципу fail closed). Удержания, требующие человека, отклоняются, а не скрываются. Каждое такое решение записывается заметкой в транскрипт и в журнал аудита.", |
| 1902 | "PermissionsPostureBypass": "Full Access: обычные вызовы tool выполняются без запросов. Необходимые удержания безопасности, правил репозитория и управляемой политики завершаются fail closed как жёсткие блокировки вместо запроса.", |
| 1903 | "PermissionsPostureNever": "never: выполняются только tool, считающиеся безопасными/только для чтения; всё остальное блокируется без запроса.", |
| 1904 | "PermissionsReceiptsNote": "Решения, принятые без запроса (вердикты стража Auto-Review, блокировки и удержания), отображаются заметками в транскрипте и в журнале аудита {audit_path}. Full Access выбирается осознанно через Shift+Tab или /config, никогда правилом.", |
| 1905 | "AgentFocusOpened": "Фокус на {agent}. Теперь ваши сообщения идут этому воркеру; Esc возвращает в основной разговор.", |
| 1906 | "AgentFocusClosed": "Снова в основном разговоре.", |
| 1907 | "AgentFocusBanner": "{agent} · {status}", |
| 1908 | "AgentFocusComposerChip": "→ {agent}", |
| 1909 | "AgentFocusPlaceholder": "Сообщение для {agent} · Esc — в основной разговор", |
| 1910 | "AgentFocusNoTranscript": "Для {agent} пока нет записи разговора. Сообщения появятся здесь, как только воркер начнёт ими обмениваться.", |
| 1911 | "AgentFocusOmitted": "Более ранние сообщения ({count}) не вошли в запись разговора в памяти.", |
| 1912 | "AgentFocusFollowUpDelivered": "В очереди для {agent}: он прочитает сообщение на следующем раунде.", |
| 1913 | "AgentFocusFollowUpQueued": "В очереди для {agent}", |
| 1914 | "AgentFocusFollowUpContinued": "{agent} уже завершился; продолжен в новом форке ({target}). Этот вид теперь следует за форком.", |
| 1915 | "AgentFocusFollowUpFailed": "Не удалось доставить {agent}: {reason}", |
| 1916 | "FooterHintForAgents": "агенты", |
| 1917 | "FooterHintToManage": "управление", |
| 1918 | "AgentRailQueuedCount": "{count} в очереди", |
| 1919 | "AgentFocusPosture": "{role} · {write} · {network} · {shell}", |
| 1920 | "AgentFocusPostureWrites": "пишет", |
| 1921 | "AgentFocusPostureReadOnly": "только чтение", |
| 1922 | "AgentFocusPostureNetwork": "сеть", |
| 1923 | "AgentFocusPostureNoNetwork": "без сети", |
| 1924 | "AgentFocusPostureShellFull": "shell", |
| 1925 | "AgentFocusPostureShellReadOnly": "shell только чтение", |
| 1926 | "AgentFocusPostureShellNone": "без shell", |
| 1927 | "GoalReceiptSet": "Цель задана: «{objective}» · /goal показывает прогресс · /goal pause или /goal clear останавливает", |
| 1928 | "GoalReceiptSetOperate": "◆ цель задана · Operate работает, пока она не будет проверена · /goal для правки", |
| 1929 | "GoalControlAccepted": "Команда цели сохранена и будет применена на следующей безопасной границе.", |
| 1930 | "GoalControlRuntimeUnavailable": "Команда цели сохранена, но среда выполнения недоступна. Она будет восстановлена после перезапуска.", |
| 1931 | "GoalStatusIdleHint": "сейчас не выполняется — отправьте сообщение или /goal resume, чтобы продолжить", |
| 1932 | "CmdAutoDescription": "Работать с Auto-Review — без цели и workflow", |
| 1933 | "AutoReceiptOn": "Auto-Review включён. /goal держит одну цель; /workflow запускает скрипт.", |
| 1934 | "AutoReceiptPlanNote": "Plan остаётся только для чтения, пока вы не перейдёте в Work или Operate.", |
| 1935 | "GoalContinuationWaiting": "Цель активна · следующий ход через {delay} · Esc, Ctrl+C или /goal pause останавливает ожидающее продолжение", |
| 1936 | "GoalContinuationReady": "Продолжение цели готово; команды в очереди выполнятся перед следующим ходом.", |
| 1937 | "GoalContinuationStopped": "Ожидающее продолжение цели остановлено; цель остаётся активной.", |
| 1938 | "McpCapabilitiesAdvertised": "Заявленные возможности: {capabilities}", |
| 1939 | "McpCapabilitiesLegacyFallback": "Заявленные возможности: не указаны; используется резервное устаревшее обнаружение", |
| 1940 | "McpCapabilitiesNotObserved": "Заявленные возможности: не определены, так как сервер не подключён", |
| 1941 | "PickerActionTestConnection": "проверить соединение", |
| 1942 | "ProviderCustomFormBaseUrl": "Базовый URL", |
| 1943 | "ProviderCustomFormModel": "Модель по умолчанию", |
| 1944 | "ProviderCustomFormHint": "OpenAI-совместимая конечная точка. Сохраняйте имя переменной окружения, не сырой ключ.", |
| 1945 | "ProviderConnectionChecked": "Соединение проверено (/models вернул 2xx). Доступность модели не проверена.", |
| 1946 | "ProviderConnectionCheckedPickModel": "Соединение проверено (/models вернул 2xx). Выберите модель по умолчанию; доступность модели не проверена.", |
| 1947 | "ProviderTestConnectionNeedKey": "Для {provider} не сохранён API-ключ. Введите ключ, затем нажмите T, чтобы проверить соединение.", |
| 1948 | "ProviderTestConnectionFailed": "Проверка соединения {provider} не удалась: {error}", |
| 1949 | "ProviderTestConnectionNoEndpoint": "У {provider} нет конечной точки /models; доступность не зондировалась.", |
| 1950 | "OperateBoardHeader": "Operate {id} [{status}] темп={pace} писателей={writers}", |
| 1951 | "OperateBoardBurnObserved": "расход наблюдается ${actual}/ч против цель ${target}/ч", |
| 1952 | "OperateBoardBurnNoCap": "расход Без лимита", |
| 1953 | "OperateBoardDirectionEmpty": "направление (пусто — блокировано в простое)", |
| 1954 | "OperateBoardDirectionLine": "направление {line}", |
| 1955 | "OperateBoardPlanMissing": "план лида (нет — воркеры не допущены)", |
| 1956 | "OperateBoardPlanHeader": "план лида id владелец старт длит. оценка$ зависит название", |
| 1957 | "OperateBoardGantt": "гант время →", |
| 1958 | "ConfigCategoryAppearance": "Оформление", |
| 1959 | "ConfigCategoryModelsProviders": "Модели и провайдеры", |
| 1960 | "ConfigCategoryFleet": "Fleet", |
| 1961 | "ConfigCategoryWork": "Работа", |
| 1962 | "ConfigCategoryToolsMcp": "Инструменты и MCP", |
| 1963 | "ConfigCategoryTrust": "Доверие", |
| 1964 | "ConfigCategoryMotion": "Анимация", |
| 1965 | "ConfigCategoryAdvanced": "Дополнительно", |
| 1966 | "ConfigFactCurrent": "текущее", |
| 1967 | "ConfigFactSaved": "сохранено", |
| 1968 | "ConfigFactStartup": "при запуске", |
| 1969 | "ConfigFactSource": "источник", |
| 1970 | "ConfigFactScope": "область", |
| 1971 | "ConfigFactApply": "применение", |
| 1972 | "ConfigFactKind": "тип", |
| 1973 | "ConfigFactAvailable": "доступно", |
| 1974 | "ConfigFactObserved": "наблюдается", |
| 1975 | "ConfigFactOpens": "открывает", |
| 1976 | "ConfigLaneUnobserved": "в этой сессии не наблюдалось", |
| 1977 | "ConfigSourceSession": "сессия", |
| 1978 | "ConfigSourceUserSettings": "settings.toml", |
| 1979 | "ConfigSourceConfig": "config.toml", |
| 1980 | "ConfigSourceManaged": "управляемая политика", |
| 1981 | "ConfigApplyEffectiveNow": "действует сейчас", |
| 1982 | "ConfigApplyOnSave": "применяется при сохранении", |
| 1983 | "ConfigApplyNextSession": "следующая сессия", |
| 1984 | "ConfigApplyRestart": "требуется перезапуск", |
| 1985 | "ConfigApplyReadOnly": "только чтение", |
| 1986 | "ConfigApplyReload": "сохранено · `/mcp reload` для запущенных серверов", |
| 1987 | "ConfigApplyUiNowEngineRestart": "UI сразу · инструменты движка после перезапуска", |
| 1988 | "ConfigKindToggle": "переключатель", |
| 1989 | "ConfigKindChoice": "выбор", |
| 1990 | "ConfigKindNumber": "число", |
| 1991 | "ConfigKindText": "текст", |
| 1992 | "ConfigKindAction": "действие", |
| 1993 | "ConfigKindReadOnly": "только чтение", |
| 1994 | "ConfigRowActionNote": "действие · не сохраняемая настройка", |
| 1995 | "ConfigRowDiagnosticNote": "наблюдаемая квитанция · здесь не редактируется", |
| 1996 | "ConfigNavHint": "←/→ или Tab — категория · ↑/↓ — настройка", |
| 1997 | "ConfigActivateAgain": "Enter или щёлкните ещё раз:", |
| 1998 | "ConfigSearchLabel": " Поиск: ", |
| 1999 | "ConfigEditChooseLabel": "Выбор:", |
| 2000 | "ConfigChoiceFooter": " ↑/↓ или щелчок — выбрать · Enter/Применить · Esc/Отмена · 1-9 — перейти ", |
| 2001 | "ConfigChoiceFooterCompact": " ↑/↓ или щелчок · Enter/Применить · Esc ", |
| 2002 | "ConfigEditorApply": "Применить", |
| 2003 | "ConfigEditorCancel": "Отмена", |
| 2004 | "ConfigLaneUnavailable": "недоступно: {error}", |
| 2005 | "ConfigSourceEnvironment": "переопределено окружением ({name})", |
| 2006 | "ConfigSourceTerminal": "переопределено терминалом ({name})", |
| 2007 | "ConfigDescriptionDefault": "Enter меняет значение · Esc закрывает. Метка показывает область.", |
| 2008 | "ConfigValueOn": "Вкл", |
| 2009 | "ConfigValueOff": "Выкл", |
| 2010 | "ConfigValueProviderDefault": "По умолчанию провайдера", |
| 2011 | "ConfigChoiceAsk": "Спрашивать", |
| 2012 | "ConfigChoiceAutoReview": "Автопроверка", |
| 2013 | "ConfigChoiceUseTuiDefault": "Использовать разрешение TUI по умолчанию", |
| 2014 | "ConfigChoiceFullAccess": "Полный доступ", |
| 2015 | "ConfigChoiceNever": "Никогда", |
| 2016 | "ConfigChoiceModeAct": "Действовать", |
| 2017 | "ConfigChoiceModePlan": "Планировать (только чтение)", |
| 2018 | "ConfigChoiceModeOperate": "Управлять", |
| 2019 | "ConfigChoicePlacementTop": "Сверху", |
| 2020 | "ConfigChoicePlacementBottom": "Нижняя панель", |
| 2021 | "ConfigChoicePlacementLeft": "Левая боковая панель", |
| 2022 | "ConfigChoicePlacementRight": "Правая боковая панель", |
| 2023 | "ConfigChoiceRailTasks": "Задачи", |
| 2024 | "ConfigChoiceRailAgents": "Агенты", |
| 2025 | "ConfigChoiceRailContext": "Контекст", |
| 2026 | "ConfigChoiceStatusCw": "Знак Codewhale", |
| 2027 | "ConfigChoiceStatusDots": "Анимированные точки", |
| 2028 | "ConfigChoiceDiffFull": "Полный diff", |
| 2029 | "ConfigChoiceDiffSummary": "Сводка", |
| 2030 | "ConfigChoiceDetailAsk": "Спрашивает перед инструментами, которые могут внести существенные изменения.", |
| 2031 | "ConfigChoiceDetailAutoReview": "Автоматически оценивает риск инструментов и спрашивает, когда решение за вами.", |
| 2032 | "ConfigChoiceDetailUseTuiDefault": "Снимает переопределение корневого config и использует сохранённый выбор разрешения TUI.", |
| 2033 | "ConfigChoiceDetailFullAccess": "Запускает инструменты без запросов на одобрение; правила рабочей области по-прежнему действуют.", |
| 2034 | "ConfigChoiceDetailNever": "Блокирует каждый инструмент, требующий одобрения.", |
| 2035 | "ConfigChoiceDetailModeAgent": "Начинает в готовности сотрудничать и использовать инструменты.", |
| 2036 | "ConfigChoiceDetailModePlan": "Начинает в пространстве планирования только для чтения.", |
| 2037 | "ConfigChoiceDetailModeOperate": "Operate превращает запрос в цель и ведёт её параллельно: фоновые исполнители для разделимых потоков, проверка перед остановкой.", |
| 2038 | "ConfigChoiceDetailPlacementTop": "Показывает задачи, список дел и исполнителей над стенограммой.", |
| 2039 | "ConfigChoiceDetailPlacementBottom": "Показывает задачи, список дел и исполнителей под полем ввода.", |
| 2040 | "ConfigChoiceDetailPlacementLeft": "Показывает задачи, список дел и исполнителей в левой боковой панели, когда терминал достаточно широк.", |
| 2041 | "ConfigChoiceDetailPlacementRight": "Показывает задачи, список дел и исполнителей в правой боковой панели, когда терминал достаточно широк.", |
| 2042 | "ConfigChoiceDetailPlacementOff": "Полностью скрывает панель.", |
| 2043 | "ConfigChoiceDetailRailTasks": "Панель показывает живой список задач / дел / исполнителей.", |
| 2044 | "ConfigChoiceDetailRailAgents": "Панель показывает субагентов и состояние распараллеливания.", |
| 2045 | "ConfigChoiceDetailRailContext": "Панель показывает контекст рабочей области, токенов и стоимости.", |
| 2046 | "ConfigChoiceDetailLowMotionOn": "Останавливает движение живого состояния, не меняя вывод модели.", |
| 2047 | "ConfigChoiceDetailLowMotionOff": "Разрешает движение, выбранное другими настройками оформления.", |
| 2048 | "ConfigChoiceDetailFancyOn": "Честно анимирует живое состояние инструментов, статуса и океана.", |
| 2049 | "ConfigChoiceDetailFancyOff": "Оставляет маркеры живого состояния и оформление океана неподвижными.", |
| 2050 | "ConfigChoiceDetailShowThinkingOn": "Показывает блоки рассуждений модели в стенограмме.", |
| 2051 | "ConfigChoiceDetailShowThinkingOff": "Скрывает рассуждения модели; ответы и инструменты остаются видны.", |
| 2052 | "ConfigChoiceDetailThinkingHighlightOn": "Заливает фон рассуждений модели.", |
| 2053 | "ConfigChoiceDetailThinkingHighlightOff": "Сохраняет пунктирную линию и курсив без заливки фона.", |
| 2054 | "ConfigHintModel": "модель живого маршрута этой сессии; Enter открывает /model", |
| 2055 | "ConfigHintFastModel": "используется маршрутизацией Auto и model_strength=faster агентов, когда у провайдера есть известная родственная модель", |
| 2056 | "ConfigHintProvider": "учётные данные, модель и адрес переключаются вместе", |
| 2057 | "ConfigHintApprovalMode": "только эта сессия: Спрашивать | Автопроверка | Полный доступ", |
| 2058 | "ConfigHintPermissionPosture": "по умолчанию для новых сессий: Спрашивать | Автопроверка | Полный доступ", |
| 2059 | "ConfigHintApprovalPolicy": "выбор полного доступа снимает сырое переопределение config", |
| 2060 | "ConfigHintManagedApprovalPolicy": "это значение задаёт проект, профиль, окружение, управляемый config или требование организации", |
| 2061 | "ConfigHintManagedAllowShell": "доступ к shell задаёт проект, профиль, окружение или управляемый config", |
| 2062 | "ConfigHintAllowShell": "вкл открывает инструменты shell в режиме агента; правила разрешений по-прежнему действуют", |
| 2063 | "ConfigHintComposerMultilineMode": "выкл: Enter отправляет, Shift+Enter добавляет строку; вкл: Enter добавляет строку, Shift+Enter отправляет", |
| 2064 | "ConfigHintBooleanValues": "on/off, true/false, yes/no, 1/0", |
| 2065 | "ConfigHintDensity": "compact | comfortable | spacious", |
| 2066 | "ConfigHintInlineDiffs": "full | summary | off; точное изменение остаётся в подробностях по Alt/Option+V", |
| 2067 | "ConfigHintToolCollapse": "compact | expanded | calm", |
| 2068 | "ConfigHintBackgroundColor": "#RRGGBB | default", |
| 2069 | "ConfigHintWorkSurfacePlacement": "боковым панелям нужны режим Ocean и не меньше 72 столбцов", |
| 2070 | "ConfigHintRailPanel": "какую панель показывать", |
| 2071 | "ConfigHintWorkSurfaceTopHeight": "5..=16 строк · также настраивается перетаскиванием разделителя", |
| 2072 | "ConfigHintWorkSurfaceSideWidth": "26..=80 столбцов · также настраивается перетаскиванием разделителя", |
| 2073 | "ConfigHintBaseUrl": "квитанция маршрута только для чтения для живого адреса · провайдер, учётные данные и адрес меняются вместе через /provider", |
| 2074 | "ConfigHintContextWindow": "максимальная длина контекста / размер контекста в токенах · задайте `[providers.<name>] context_window` в config.toml", |
| 2075 | "ConfigHintEffectiveContextWindow": "вычисленная максимальная длина контекста / размер контекста · определяет сжатие, давление и предварительную проверку", |
| 2076 | "ConfigHintCostCurrency": "usd | cny", |
| 2077 | "ConfigHintCalmMode": "приглушает оформление стенограммы и подробности инструментов; не зависит от живого движения", |
| 2078 | "ConfigHintLowMotion": "вкл переопределяет движение живого состояния; вывод модели не меняется", |
| 2079 | "ConfigHintFancyAnimations": "вкл честно анимирует живое состояние инструментов, статуса и океана", |
| 2080 | "ConfigHintShowThinking": "показывать или скрывать рассуждения модели в чате; списки задач остаются краткими", |
| 2081 | "ConfigHintThinkingDefaultExpanded": "раскрывать рассуждения модели по умолчанию; Space по-прежнему переключает каждый блок", |
| 2082 | "ConfigHintThinkingPreviewLines": "строки предпросмотра свёрнутой завершённой мысли (по умолчанию 2; 0=только заголовок; 10=старый вывод)", |
| 2083 | "ConfigHintHelpExpandGroups": "открывать справку/сочетания клавиш со всеми раскрытыми группами; по умолчанию длинный хвост свёрнут", |
| 2084 | "ConfigHintPinLastPrompt": "закреплять последний запрос пользователя вверху стенограммы, когда он уходит с экрана", |
| 2085 | "ConfigHintThinkingHighlight": "заливать фон рассуждений модели; при выкл пунктирная линия остаётся видна", |
| 2086 | "ConfigHintSynchronizedOutput": "auto | on | off; темп перерисовки терминала, а не скорость модели", |
| 2087 | "ConfigHintDefaultMode": "act (agent) | plan | operate", |
| 2088 | "ConfigHintMaxHistory": "целое число (0 допускается)", |
| 2089 | "ConfigHintAutoCompactThreshold": "10..=100 · порог сжатия: процент используемой длины контекста, при котором срабатывает автосжатие", |
| 2090 | "ConfigHintDefaultModel": "устаревший запасной вариант только для DeepSeek; другие провайдеры используют свою модель выше", |
| 2091 | "ConfigHintReasoningEffort": "default возвращает собственное значение модели по умолчанию; у моделей, которые всегда рассуждают, нет off", |
| 2092 | "ConfigHintMcpOpen": "открыть менеджер MCP · подключить / переподключить / повторно войти / диагностика", |
| 2093 | "ConfigHintMcpReconnect": "переподключить MCP · /mcp reload", |
| 2094 | "ConfigHintMcpDiagnose": "диагностика MCP · /mcp validate", |
| 2095 | "ConfigHintPluginsOpen": "открыть плагины · доверять, включать или диагностировать", |
| 2096 | "ConfigHintMcpConfigPath": "путь к mcp.json", |
| 2097 | "ConfigHintFleetMaxSpawnDepth": "0 запрещает дочерних агентов; 3 по умолчанию (та же ось, что у субагентов); не больше 8", |
| 2098 | "ConfigHintFeatureSubagents": "состояние флага функции только для чтения; /fleet setup — путь для пользователя", |
| 2099 | "ConfigHintFeatureWebSearch": "состояние флага функции только для чтения для инструментов веб-поиска", |
| 2100 | "ConfigHintFeatureApplyPatch": "состояние флага функции только для чтения для инструментов правки патчами", |
| 2101 | "ConfigHintFeatureMcp": "состояние флага функции только для чтения для инструментов MCP", |
| 2102 | "ConfigHintFeatureExecPolicy": "состояние флага функции только для чтения для инструментов политики выполнения", |
| 2103 | "ConfigHintFeatureVisionModel": "бета-флаг поддержки изображений для зрения/модели", |
| 2104 | "ConfigHintGoalCommand": "/goal задаёт цели, бюджеты и состояние рабочего контекста", |
| 2105 | "ConfigHintWorkflow": "/workflow выполняет сценарные операции с карточками запуска распараллеливания/слияния", |
| 2106 | "LaunchMenuNewWorktree": "Новый worktree", |
| 2107 | "LaunchMenuResume": "Продолжить сессию", |
| 2108 | "LaunchMenuQuit": "Выход", |
| 2109 | "LaunchNoticeClaude": "Обнаружен Claude Code. Выполните /import-claude, чтобы посмотреть, что можно перенести: MCP-серверы, безопасные настройки и разрешения. Ничего не применяется без вашего согласия.", |
| 2110 | "LaunchNewSession": "Новая сессия", |
| 2111 | "LaunchRecentHeading": "Недавние", |
| 2112 | "LaunchHelpLine": "/help — команды · {dock} — рабочая панель", |
| 2113 | "LaunchSeeAllSessions": "Показать все сессии…", |
| 2114 | "LaunchNoRecentSessions": "Пока нет недавних сессий — введите ниже, чтобы начать.", |
| 2115 | "LaunchResumeFailed": "Не удалось возобновить: {error}", |
| 2116 | "ReceiptSessionHooks": "хуков: {count}", |
| 2117 | "AutomationEditorNew": "Новая автоматизация", |
| 2118 | "AutomationEditorEdit": "Изменить автоматизацию", |
| 2119 | "AutomationEditorSchedule": "Расписание", |
| 2120 | "AutomationEditorDaily": "Ежедневно", |
| 2121 | "AutomationEditorWeekly": "Еженедельно", |
| 2122 | "AutomationEditorHourly": "Каждый час", |
| 2123 | "AutomationEditorOnce": "Один раз", |
| 2124 | "AutomationEditorCustom": "Другое", |
| 2125 | "AutomationEditorTime": "Время (HH:MM)", |
| 2126 | "AutomationEditorDate": "Дата (YYYY-MM-DD)", |
| 2127 | "AutomationEditorDays": "Дни", |
| 2128 | "AutomationEditorLocalTime": "Часовой пояс: местный ({zone})", |
| 2129 | "AutomationEditorProvider": "Выбор модели закрепляет провайдера. Текущая конфигурация: {provider}.", |
| 2130 | "AutomationEditorDefaultModel": "Модель по умолчанию", |
| 2131 | "AutomationEditorInheritedProvider": "настройки среды выполнения", |
| 2132 | "AutomationEditorEnabled": "Включено", |
| 2133 | "AutomationEditorControls": "Tab поля · Enter правка · ↑↓ настройка · Ctrl+A выделить всё", |
| 2134 | "AutomationEditorPromptControls": "Enter новая строка · Tab следующее поле · Ctrl+A выделить всё", |
| 2135 | "AutomationEditorSaveFailed": "Не удалось сохранить: {error}", |
| 2136 | "AutomationEditorBusy": "Хранилище автоматизаций занято. Повторите сохранение.", |
| 2137 | "AutomationEditorSaved": "Сохранено: {name}", |
| 2138 | "AutomationEditorPreviewUnavailable": "Следующий запуск неизвестен; текущее расписание сохранится", |
| 2139 | "AutomationEditorConflict": "Автоматизация изменилась. Отмените и откройте заново.", |
| 2140 | "AutomationEditorInvalidWorkspace": "Выберите существующий рабочий каталог.", |
| 2141 | "AutomationEditorModelControls": "Ввод для фильтра · ↑↓ перемещение · Enter выбор · Esc назад", |
| 2142 | "AutomationEditorPausedPreview": "Приостановлено · запуск не запланирован", |
| 2143 | "AutomationEditorInvalidSchedule": "Неверное расписание: {error}", |
| 2144 | "AutomationEditorMonday": "Пн", |
| 2145 | "AutomationEditorTuesday": "Вт", |
| 2146 | "AutomationEditorWednesday": "Ср", |
| 2147 | "AutomationEditorThursday": "Чт", |
| 2148 | "AutomationEditorFriday": "Пт", |
| 2149 | "AutomationEditorSaturday": "Сб", |
| 2150 | "AutomationEditorSunday": "Вс", |
| 2151 | "CostReasonNotMoney": "без оплаты за токены", |
| 2152 | "CostReasonBillingUnknown": "способ оплаты неизвестен", |
| 2153 | "CostReasonEndpointUnknown": "конечная точка не подтверждена", |
| 2154 | "CostReasonRateMissing": "тариф недоступен", |
| 2155 | "CostReasonLiveUnverified": "текущий тариф не проверен", |
| 2156 | "CostReasonRetiredAlias": "псевдоним модели выведен из использования", |
| 2157 | "CostReasonTierMissing": "ценовой уровень недоступен", |
| 2158 | "CostReasonRoutingDependent": "тариф фактического провайдера не установлен", |
| 2159 | "CostReasonCoverageMissing": "сохранённое покрытие неизвестно", |
| 2160 | "CostReasonTokenRateMissing": "тариф класса токенов недоступен", |
| 2161 | "CostReasonInvalidRate": "некорректный тариф", |
| 2162 | "CostReasonCurrencyMissing": "тариф в этой валюте недоступен", |
| 2163 | "CostReasonUsageConflict": "противоречивые счётчики токенов", |
| 2164 | "CostChipUnknown": "стоимость: неизвестна ({reasons})", |
| 2165 | "CostChipSubtotal": "подытог {amount} + неизвестно ({reasons})", |
| 2166 | "CostChipSavedSubtotal": "сохранённый подытог {amount} + неизвестно ({reasons})", |
| 2167 | "CostChipLocal": "стоимость: локально", |
| 2168 | "CostChipAllowance": "использование: {plan}", |
| 2169 | "CostChipAllowancePercent": "использование: {plan} · {percent}%", |
| 2170 | "McpLoginInProgress": "Вход OAuth на MCP-сервер '{server}' уже выполняется. {cancel_key} отменяет его.", |
| 2171 | "McpLoginStarting": "Запускается вход OAuth на MCP-сервер '{server}'. {cancel_key} отменяет его.", |
| 2172 | "McpLoginBrowser": "Авторизация '{server}' в браузере. {cancel_key} отменяет её. {url}", |
| 2173 | "McpLoginStored": "Данные OAuth для MCP-сервера '{server}' сохранены. Выполните {command} для повторного подключения.", |
| 2174 | "McpLoginFailed": "Не удалось войти через OAuth на MCP-сервер '{server}': {error}", |
| 2175 | "McpLoginCancelled": "Вход OAuth на MCP-сервер '{server}' отменён.", |
| 2176 | "McpLoginHandshakeTimeout": "Истекло время обнаружения или регистрации OAuth; повторите вход.", |
| 2177 | "McpLoginServerNotFound": "MCP-сервер '{server}' не найден.", |
| 2178 | "McpDiagnosisUnobserved": "В этом сеансе состояние подключения MCP-сервера '{server}' ещё не наблюдалось. Выполните {command} для проверки активного пула.", |
| 2179 | "McpDiagnosisSummary": "MCP-сервер '{server}' — последнее наблюдение: {state}; транспорт {transport}; инструментов: {tools}, ресурсов: {resources}, подсказок: {prompts}.", |
| 2180 | "McpDiagnosisLastError": "Последняя ошибка: {error}.", |
| 2181 | "McpDiagnosisNext": "Следующий шаг: {command}.", |
| 2182 | "McpStateDisabled": "отключён", |
| 2183 | "McpStateAuthorizationRequired": "требуется авторизация", |
| 2184 | "McpStateConnecting": "подключение", |
| 2185 | "McpStateFailed": "ошибка подключения", |
| 2186 | "McpStateDisconnected": "не подключён", |
| 2187 | "RuntimeStoreRecovered": "Разговор восстановлен в новом хранилище среды выполнения. Прежние задачи, разрешения и автоматизации не восстановлены.", |
| 2188 | "ResumeExactSessionHint": "Чтобы продолжить этот сеанс, выполните {command}", |
| 2189 | "ResumeSavedSessionHint": "Чтобы выбрать сохранённый сеанс, выполните {command}", |
| 2190 | "GoalProgressLabel": "Цель", |
| 2191 | "GoalProgressReceipt": "Сообщённый прогресс {percent}% {bar}", |
| 2192 | "GoalProgressNow": "L сейчас {note}", |
| 2193 | "GoalProgressNext": " далее {note}", |
| 2194 | "ConfigLabelContextualTips": "Контекстные подсказки", |
| 2195 | "ConfigHintContextualTips": "Редкие предложения команд после подходящих действий; отключите, чтобы скрыть подсказки.", |
| 2196 | "ContextualTipsNotSaved": "Настройка подсказок действует в этом сеансе, но сохранить её не удалось: {error}", |
| 2197 | "ConfigLabelNotificationQuiet": "Отключить уведомления", |
| 2198 | "ConfigLabelNotificationSound": "Звук уведомлений", |
| 2199 | "ConfigLabelNotificationCondition": "Когда уведомлять", |
| 2200 | "ConfigLabelNotificationMethod": "Способ доставки", |
| 2201 | "ConfigLabelNotificationThreshold": "Минимальная длительность хода (секунды)", |
| 2202 | "ConfigLabelNotificationSummary": "Включать сводку", |
| 2203 | "ConfigLabelNotificationSubagents": "Уведомления субагентов", |
| 2204 | "ConfigLabelNotificationTurnComplete": "Ход завершён", |
| 2205 | "ConfigLabelNotificationSubagentTerminal": "Субагент завершил работу", |
| 2206 | "ConfigLabelNotificationApprovalNeeded": "Требуется одобрение", |
| 2207 | "ConfigLabelNotificationInputNeeded": "Требуется ответ", |
| 2208 | "ConfigLabelNotificationElevationNeeded": "Требуются повышенные права", |
| 2209 | "ConfigLabelNotificationModelNotify": "Уведомление по запросу агента", |
| 2210 | "ConfigLabelNotificationCompletionSound": "Прежний звук завершения", |
| 2211 | "ConfigLabelNotificationSoundFile": "Свой звуковой файл", |
| 2212 | "ConfigLabelNotificationEventSoundEnabled": "Прежние звуки событий", |
| 2213 | "ConfigLabelNotificationEventSoundEvents": "Прежние категории звуков", |
| 2214 | "ConfigLabelNotificationEventSoundInterval": "Интервал повторения звука (миллисекунды)", |
| 2215 | "ConfigLabelNotificationEventSoundQuiet": "Отключить прежние звуки событий", |
| 2216 | "ConfigHintNotificationPolicy": "Применяется сразу. Отключение уведомлений и доставки, а также настройки внимания, длительности и категорий распространяются и на звук.", |
| 2217 | "ConfigHintNotificationSound": "Кит использует звук кита из комплекта приложения. Выкл отключает звук. Сохранить прежние звуки оставляет ранее выбранные настройки звука.", |
| 2218 | "ConfigHintNotificationLegacy": "Используется, когда для звука уведомлений выбрано «Сохранить прежние звуки».", |
| 2219 | "ConfigChoiceNotificationWhale": "Кит", |
| 2220 | "ConfigChoiceNotificationLegacy": "Сохранить прежние звуки", |
| 2221 | "ConfigChoiceNotificationAlways": "Всегда", |
| 2222 | "ConfigChoiceNotificationUnfocused": "В ваше отсутствие", |
| 2223 | "ConfigChoiceNotificationNever": "Никогда", |
| 2224 | "ConfigChoiceNotificationFile": "Свой файл", |
| 2225 | "ConfigChoiceNotificationBell": "Системный звонок", |
| 2226 | "NotificationApprovalNeeded": "Разрешите или отклоните '{tool}', чтобы продолжить", |
| 2227 | "NotificationInputNeeded": "Ответьте на вопрос в терминале, чтобы продолжить", |
| 2228 | "NotificationElevationNeeded": "Разрешите или отклоните расширенный доступ для '{tool}'", |
| 2229 | "NotificationDecisionWebHint": "Примите решение здесь или в веб-интерфейсе.", |
| 2230 | "NotificationTurnFailed": "Ход завершился с ошибкой", |
| 2231 | "NotificationProviderFallback": "После устранимой ошибки провайдера выполнено переключение на {provider} (резервный вариант {position}/{total}).", |
| 2232 | "ApprovalNeverPostureBlocked": "'{tool}' заблокирован: в этом сеансе запрещены инструменты, требующие одобрения.", |
| 2233 | "NotificationWebApproved": "Одобрено в веб-интерфейсе.", |
| 2234 | "NotificationWebDenied": "Отклонено в веб-интерфейсе.", |
| 2235 | "NotificationInputSubmitFailed": "Не удалось отправить ответ: {error}. Попробуйте ещё раз.", |
| 2236 | "PagerActionConfirm": "Подтвердить", |
| 2237 | "SelectionCopiedAsMarkdown": "Выделение скопировано как Markdown ({count})", |
| 2238 | "McpShowCachedWhileTurnRuns": "Идёт ход; показан последний известный снимок MCP. Запустите /mcp снова после завершения хода, чтобы обновить его вживую.", |
| 2239 | "McpShowUnavailableWhileTurnRuns": "Идёт ход, и снимок MCP ещё не наблюдался. Запустите /mcp снова после завершения хода.", |
| 2240 | "McpLivePoolRefreshDeferredWhileTurnRuns": "Идёт ход; обновление живого пула MCP отложено. Запустите /mcp reload после завершения хода.", |
| 2241 | "McpRetryDeferredWhileTurnRuns": "Идёт ход; повторите /mcp retry {server} после завершения хода." |
| 2242 | } |
| 2243 |