dsh-desktop-kit 2.1.2 → 2.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -11
- package/client.js +68 -1
- package/docs/COMPATIBILITY.md +7 -1
- package/docs/INSTALL.md +1 -1
- package/docs/TEST-0.2.2.md +47 -0
- package/docs/images/022-peak-guard.png +0 -0
- package/docs/images/022-skills-studio.png +0 -0
- package/docs/images/022-token-lab.png +0 -0
- package/docs/images/022-transfer.png +0 -0
- package/package.json +1 -1
- package/plugins/dsh-gkb-ru-ui/lib/client.js +68 -1
- package/plugins/dsh-gkb-ru-ui/package.json +2 -2
- package/plugins/dsh-skill-autopilot/index.js +21 -4
- package/plugins/dsh-skill-autopilot/package.json +1 -1
package/client.js
CHANGED
|
@@ -26,7 +26,7 @@ window.__ModuleLoader__.load({
|
|
|
26
26
|
const h = react.createElement;
|
|
27
27
|
|
|
28
28
|
/** Russian dictionaries per locale namespace. */
|
|
29
|
-
const RU = {"settings.agentPreset":{"builtInGroup":"Встроенный","customGroup":"Пользовательский","sectionIntro":"Выбирайте инструменты агента и то, как они работают. Используйте стандартный режим для повседневных задач или режим Creator, чтобы расширить возможности DSH.","seatHint":"Выберите предустановку агента для вашей новой задачи","headerHint":"Предварительная настройка агента, выбранная при запуске этой задачи","nav":"Настройки агента","setDefault":"Установить в качестве новой задачи по умолчанию","view":"Посмотреть конфигурацию","presetStandardName":"Стандартный режим","presetStandardDescription":"Работайте с кодом, файлами и информацией. Подходит для большинства задач, с поиском, редактированием, командами терминала и другими инструментами, доступными по мере необходимости.","presetPtcName":"Режим PTC","presetPtcDescription":"Включает все возможности стандартного режима. Лучше подходит для задач, которые вызывают инструменты в пакетном режиме, а затем фильтруют, организуют, дедуплицируют, подсчитывают или суммируют результаты.","presetMinimalName":"Минимальный режим","presetMinimalDescription":"Агент использует терминал и чтение изображений со сжатием контекста. Полезно для тестирования и сравнения его базовой производительности.","presetCordisName":"Режим автора","presetCordisDescription":"Настройте DSH посредством разговора. Позвольте агенту писать плагины, которые добавляют функции или пользовательский интерфейс, или комбинируйте инструменты и подсказки для создания собственного режима.","inUse":"Новая задача по умолчанию","noDescription":"Нет описания.","brokenBadge":"Не удалось загрузить","switchRefused":"Не удалось переключиться на {name}: {reason}","standardUnavailable":"Стандартный режим недоступен. Восстановите его или выберите другой доступный режим.","close":"Закрыть","creatorDraft":"Позвольте агенту помочь мне создать пресет","createPlugin":"Позвольте агенту создать плагин","createPluginDescription":"Войдите в режим Creator и создайте свой собственный плагин DSH.","createPluginChecking":"Проверка доступности режима Creator","createPluginUnavailable":"Временно недоступен. Откройте это меню еще раз, чтобы повторить попытку.","createPluginMissing":"Режим Creator не включен в эту конфигурацию.","modeExplanation":"Подробности режима","howToUse":"Как использовать","guideSections":"Разделы руководства","guideExampleTask":"Пример задачи","guideCopy":"Копировать","guideCopied":"Скопировано","guideFootnotes":"Сноски","guideStandardIntro":"Выбирайте стандартный режим при запуске новой задачи. Опишите, чего вы хотите добиться, укажите соответствующие файлы и объясните, как проверить результат.","guideStandardExplanation":"### How it works\n\nThe agent calls tools directly to read and edit files, search, and run terminal commands. It includes Skills, planning, goals, subagents, workflows, and context compaction.\n\n### When to choose it\n\nStart here for everyday coding, file work, and research. Standard mode can also write scripts and process files in batches. PTC changes how tool calls are organized; it is not required for batch tasks.","guideStandardUsage":"### Fix a bug\n\n> Find out why submitting the search form twice makes the results disappear. Fix it and run the relevant tests. Explain the cause and what changed.\n\nExpected output: a code change, the relevant test results, and an explanation of the cause.\n\n### Organize project notes\n\n> Read the Markdown notes in this project. Summarize the agreed decisions and open questions, with links to the source files.\n\nExpected output: a summary with references that you can check against the original notes.","guidePtcIntro":"Выбирайте режим PTC при запуске новой задачи. Укажите входные файлы, правила обработки и выходной формат. Агент пишет код.","guidePtcExplanation":"### How tools are called\n\nPTC means Programmatic Tool Calling. In this built-in preset, the agent uses run_code to write a TypeScript program that calls tools through a generated SDK. The program can use loops, conditions, error handling, and concurrent calls where appropriate.\n\n### What reaches the model\n\nTool results first reach the program, which can filter and combine them. The model receives what the program prints or returns; image results are attached separately. Nested tool calls are still recorded and remain subject to tool permissions.\n\n### Compared with Standard mode\n\nBoth modes can handle coding and batch tasks. Standard mode exposes individual tools directly; PTC organizes tool calls in code. The current PTC preset leaves the workflow tool disabled. Speed and token use depend on the task and how the program handles its results.","guidePtcUsage":"### Check a set of configuration files\n\n> Check all JSON files in configs/. List missing required fields and invalid values against schema.json. Save a CSV with one row per issue. Include unreadable files in the report and keep checking the rest. Leave the original files unchanged.\n\nExpected output: an issue summary and a CSV report. The program can repeat the same checks, handle individual failures, and collect the results.\n\n### Summarize error logs\n\n> Analyze the log files in logs/. Group errors by service and error type. Show the ten most frequent groups and one example from each. Save the full counts to a CSV.\n\nExpected output: the top error groups and a complete count table. Intermediate data can be aggregated in the program before the summary reaches the model.","guideMinimalIntro":"Выберите минимальный режим для новой задачи. Для сравнения сохраняйте постоянство модели, разрешений, входных данных и состояния начальной рабочей области во всех запусках.","guideMinimalExplanation":"### What is included\n\nOne persistent shell tool, read_image, and a fixed system prompt. Image reading requires an image-capable model. Older history is compacted automatically under context pressure; use /compact while the agent is idle to compact it manually. The built-in preset does not load Skills, planning, or the standard runtime context.\n\n### When to choose it\n\nUse it as a baseline for experiments and comparisons. It can still read files and execute scripts through shell commands, but offers fewer built-in ways to manage a long task. Fewer tools does not necessarily make it easier for a beginner.","guideMinimalUsage":"### Compare performance on a small bug fix\n\n> Run the tests for this project, find the cause of the failure, and make the smallest fix. Run the relevant tests again and report the result.\n\nRun the same task separately in Standard and Minimal modes from the same starting state. Compare task completion, tool calls, and the resulting changes. Minimal mode performs the work through terminal commands.","guideCordisIntro":"Выберите режим «Создатель» для новой задачи. Опишите желаемую возможность, где она должна появиться и как вы ее проверите.","guideCordisExplanation":"### What you can create\n\nCreator mode includes the standard task tools plus runtime inspection, persistent plugin management, and guidance for authoring Cordis plugins and agent presets. It can create a plugin that adds a capability or UI, or a preset that combines tools and prompts for a particular job.\n\n### Plugins and modes\n\nA plugin adds capabilities to DSH, such as a tool, a service connection, or a UI entry. A mode is an agent preset that selects tools and defines how the agent works in a task. A plugin can be included in a custom preset.\n\n### How the result takes effect\n\nAsk the agent to install and verify the result, not just generate source code. A plugin may load immediately or require a restart, depending on what it changes. A newly created preset is selected when starting a new task.","guideCordisUsage":"### Add a UI\n\n> Create a DSH plugin that adds a project notes entry to the sidebar. Let me browse the Markdown files in this workspace and preview a selected note. Install it and verify that the page opens.\n\nExpected output: an installed plugin with a working entry and preview page, plus any remaining activation steps.\n\n### Add a tool\n\n> Create a plugin with a tool that reads this project’s test report and summarizes the failed tests. Register it and verify it with a sample report.\n\nExpected output: a plugin with a callable tool and a verified sample call.\n\n### Create my own mode\n\n> Create a “Code review” mode based on Standard mode. Have it prioritize potential bugs and test gaps, cite file paths and lines, and ask before modifying files. Save it as a selectable preset.\n\nExpected output: a custom preset for new tasks. These review instructions guide the agent; permission settings determine which actions it can execute."},"approval":{"waiting":"Ожидание одобрения","detail.aria":"Детали утверждения","escalation":"Инструмент {toolName} запрашивает привилегированное выполнение","reject":"Отклонить","allowOnce":"Разрешить один раз"},"chat":{"message.stepProcess.thinking":"Анализ запроса","message.stepProcess.read":"Чтение файлов","message.stepProcess.readImage":"Чтение изображений","message.stepProcess.write":"Запись файлов","message.stepProcess.search":"Поиск кода","message.stepProcess.edit":"Редактирование файлов","message.stepProcess.commands":"Запуск команд","message.stepProcess.code":"Запуск кода","message.stepProcess.webSearch":"Поиск в Интернете","message.stepProcess.webFetch":"Посещение веб-страниц","message.stepProcess.subagents":"Координирующие субагенты","message.stepProcess.plan":"Обновление плана","message.stepProcess.questions":"Жду ваших действий","message.stepProcess.tools":"Вызов инструментов","message.stepProcess.prepare.read":"Подготовка к чтению файлов","message.stepProcess.prepare.readImage":"Подготовка к чтению изображений","message.stepProcess.prepare.write":"Подготовка к записи файлов","message.stepProcess.prepare.search":"Подготовка к поиску кода","message.stepProcess.prepare.edit":"Подготовка к редактированию файлов","message.stepProcess.prepare.commands":"Подготовка к выполнению команд","message.stepProcess.prepare.code":"Подготовка к запуску кода","message.stepProcess.prepare.webSearch":"Подготовка к поиску в Интернете","message.stepProcess.prepare.webFetch":"Подготовка к посещению веб-страниц","message.stepProcess.prepare.subagents":"Подготовка к координации субагентов","message.stepProcess.prepare.plan":"Подготовка к обновлению плана","message.stepProcess.prepare.questions":"Подготовка вопросов","message.stepProcess.prepare.tools":"Подготовка вызовов инструментов","message.stepProcess.done.thinking":"Анализ завершен","message.stepProcess.done.read":"Чтение файлов","message.stepProcess.done.readImage":"Чтение изображений","message.stepProcess.done.write":"Написал файлы","message.stepProcess.done.search":"Искомый код","message.stepProcess.done.edit":"Отредактированные файлы","message.stepProcess.done.commands":"Выполнение команд","message.stepProcess.done.code":"Выполненный код","message.stepProcess.done.webSearch":"Искал в Интернете","message.stepProcess.done.webFetch":"Посещенные веб-страницы","message.stepProcess.done.subagents":"Координированные субагенты","message.stepProcess.done.plan":"Обновлен план","message.stepProcess.done.questions":"Задаваемые вопросы","message.stepProcess.done.tools":"Вызываемые инструменты","message.stepProcess.joinTwo":"{first} и {second}","message.stepProcess.comma":", ","message.stepProcess.sharedPrefix":"","message.stepProcess.more":"{title} и т. д.","message.trigger.request":"Запрошено выполнение","message.trigger.goal":"Постоянная цель","message.trigger.agent":"Сообщение о задаче получено","message.trigger.team":"Сообщение команды получено","message.trigger.subagent":"Статус подзадачи обновлен","message.trigger.github":"Событие GitHub получено","message.trigger.webhook":"Получено внешнее событие","message.trigger.schedule":"Задача автоматизации","message.trigger.job":"Фоновая задача обновлена.","message.trigger.plugin":"Статус плагина обновлен","message.trigger.explanation":"Это уведомление вызвало такой ответ.","message.turnProcess.worked":"Завершено","message.turnProcess.took":"Завершено в ","message.turnProcess.failed":"Не удалось","view.chat":"Чат","image.open":"Посмотреть полное изображение","image.loading":"Загрузка изображения…","image.failed":"Предварительный просмотр изображения недоступен.","image.dialog":"Предварительный просмотр изображения","image.close":"Закрыть предварительный просмотр изображения","number.groupSeparator":",","duration.compactSeconds":"{seconds} сек.","duration.compactMinutes":"{minutes} м{seconds} с","duration.milliseconds":"{milliseconds} мс","stats.counts":"{turns} повороты {steps} шагов","stats.cacheHit":"Кэш поврежден {percent}%","stats.dialog.title":"Статистика сеансов","stats.dialog.usageTitle":"Использование токена","stats.dialog.llmTime":"время магистратуры","stats.dialog.toolTime":"Время работы инструмента","stats.dialog.ttft":"Среднее время до первого токена (TTFT)","stats.dialog.speed":"Токенов в секунду (TPS)","chat.loadingHistory":"Загрузка истории…","chat.loadError":"Не удалось загрузить историю: {message} ({code}).","chat.loadOlder":"Загрузить раньше","chat.toBottom":"Вернуться к низу","chat.deepDiving":"Глубокое погружение","chat.deepDivingFor":"Глубокое погружение на {duration} ···","chat.turnNavigation.label":"Включить навигацию","chat.turnNavigation.jump":"Перейти к повороту {turn}","chat.turnNavigation.jumpLoad":"Загрузите и прыгайте, чтобы повернуть {turn}","chat.turnNavigation.turn":"Поворот {turn}","settings.performance.title":"Производительность и использование","settings.performance.description":"Выберите, какой объем информации о производительности и использовании показывать","settings.performance.compact":"Компактный","settings.performance.detailed":"Подробный","settings.links.title":"Открыть ссылки на чат в","settings.links.description":"Выберите, где открывать веб-ссылки","settings.links.sidebar":"Боковая панель в приложении","settings.links.newTab":"Браузер по умолчанию","settings.transcript.title":"Детали работы","settings.transcript.description":"Выберите, насколько подробно следует отображать вызовы инструментов.","settings.collapse.title":"Когда сворачивать детали работы","settings.collapse.description":"Выберите, когда автоматически сворачивать сведения о работе","settings.collapse.completion":"По завершении","settings.collapse.nextInput":"В следующем сообщении","settings.transcript.compact":"Компактный","settings.transcript.standard":"Стандартный","settings.transcript.detailed":"Подробный","settings.transcript.verbose":"Многословный","fileOpen.title":"Не удалось открыть файл","fileOpen.unknown":"Не удалось открыть этот файл","message.extraBlock":"Дополнительный блок контента","message.systemPrompt":"Системная подсказка","message.systemPromptUpdate":"Обновление системного запроса","message.toolAdded":"Добавлен инструмент: {name}","message.toolRemoved":"Инструмент удален: {name}","message.toolsAdded":"Добавлено: {names}","message.toolsAddedCount":"{count} добавлено","message.toolsChanged":"{added} добавлено, {removed} удалено","message.toolsRemoved":"Удалено: {names}","message.toolsRemovedCount":"{count} удалено","message.toolsUpdated":"Инструменты обновлены","message.contextInjection":"Внедрение контекста","message.contextRecall":"Отзыв сеанса","message.referenceSummary":"Связанный сеанс · {labels}","message.referenceSeparator":", ","message.context.instructions.loaded":"загружен","message.context.instructions.added":"добавлено","message.context.instructions.updated":"обновлено","message.context.instructions.removed":"удалено","message.context.catalog.replaced":"Каталог замены","message.context.catalog.more":"… ещё {count}","message.context.snapshot.supersedes":"Заменяет предыдущие снимки","message.context.relay.from":"Из сеанса {session}","message.context.recall.counts":"{retained} сохранено · {omitted} опущено","message.context.recall.truncated":"усеченный","message.compaction":"Контекст сжат","message.compaction.running":"Сжатие контекста…","message.compaction.completed":"Сжатые элементы истории {items} (токены ~{tokens})","message.compaction.expand":"Посмотреть сводку по уплотнению","message.compaction.unavailable":"Сводка по уплотнению недоступна.","message.compaction.commandTitle":"компактный","message.think":"Подумайте","message.unknownSurface":"Неизвестное событие на поверхности: {type}","message.unknownBlock":"Неизвестный блок контента","message.turnProcess.toolCalls.one":"{count} вызов инструмента","message.turnProcess.toolCalls.other":"{count} вызовов инструментов","message.turnProcess.messages.one":"{count} сообщение","message.turnProcess.messages.other":"{count} сообщений","message.turnProcess.subagents.one":"{count} субагент","message.turnProcess.subagents.other":"{count} субагентов","message.turnProcess.thoughtForAWhile":"Подумал какое-то время","message.turnProcess.separator":" · ","message.stopped":"Остановлено","message.branch":"Перейти к новому разговору","message.branchUnavailable":"Доступно только в последнем сообщении о завершенном ходу.","message.retry.active":"Повторный запрос модели","message.retry.cancelled":"Повтор запроса модели отменен.","message.retry.started":"Повторный запрос модели","message.retry.scheduled":"Ожидание повторного запроса модели","message.retry.status":"{label} ({retry}/{maximum}) · {seconds} с","message.retry.delay":"Задержка повтора: ","message.retry.failure":"Причина неисправности: ","message.failure.auth":"Ключ API недействителен","message.taskStopped":"Задача остановлена","message.failure.accountSignedOut":"Остановлено, поскольку вы вышли из DeepSeek.","message.failure.interrupted":"Процесс DSH завершился до завершения этого хода (например, он был завершен, произошел сбой или истекло время ожидания при завершении работы), поэтому ход был закрыт при перезапуске DSH. Незавершенные вызовы инструментов имеют неизвестные результаты.","message.failure.accountSignInRequired":"Войдите в DeepSeek и убедитесь, что пункт назначения запроса поддерживает аутентификацию учетной записи.","message.failure.quota":"Квота запросов исчерпана.","message.turnError":"Этот поворот не удался","message.maxTokens":"Достигнут предел выходных токенов","message.maxTokens.hint":"Ответ был прерван; более ранний вывод сохраняется в разговоре. Отправьте «продолжить», чтобы модель возобновила работу.","message.tokensPerSecond":"{tps} ток/с","message.turnUsage.title":"Включите использование","message.turnUsage.consumed":"Использование {total}","message.turnUsage.model":"Поставщик/модель","message.turnUsage.cacheHit":"Попадание в кэш","message.turnUsage.input":"Некэшированный ввод","message.turnUsage.cacheRead":"Кэшированный ввод","message.turnUsage.cacheWrite":"Запись в кэш","message.turnUsage.output":"Выход","message.turnUsage.reasoning":" (рассуждение {tokens})","message.turnUsage.count":"{count} ток","duration.secondUnit":"с","duration.minuteUnit":"м ","duration.hourUnit":"ч ","command.running":"Бег…","command.failed":"Команда не выполнена","command.done":"Завершено","command.title":"Команда","row.running":"Бег","row.failed":"Не удалось","json.truncated":"… усечено, всего символов: {total}","clock.md":"{m}/{d}","clock.ymd":"{y}-{m}-{d}"},"command":{"section.add":"Добавить","section.commands":"Команды","label.goal":"Цель","label.plan":"План","label.feedback":"Обратная связь","label.compact":"Компактный","label.permission":"Разрешение","label.export":"Экспорт","description.goal":"Установите или просмотрите цель для долгосрочной задачи","description.plan":"Войти или выйти из режима плана","description.feedback":"Запишите отзыв об этом сеансе","description.compact":"Сжать старую историю разговоров","description.permission":"Переключение настроек разрешений (режим песочницы + политика утверждения)","description.export":"Загрузите этот журнал сеанса в виде ZIP-архива.","token.goal":"цель","token.plan":"план","token.feedback":"обратная связь","token.compact":"компактный","token.permission":"разрешение","token.export":"экспорт","search.placeholder":"Искать…","search.aria":"Параметры фильтра","status.loading":"Загрузка параметров…","status.applying":"Применение…","status.empty":"Нет вариантов","overlay.aria":"/{command} параметры","listbox.aria":"/{command} соответствует","notice.attachmentsUnsupported":"/{command} не принимает вложения; сначала удали их"},"conversation":{"shortcut.newline":"Новая линия","shortcut.complementary":"Используйте дополнительное действие «Очередь/Управление»","shortcut.slash":"Открыть командное меню","shortcut.mention":"Открыть справочное меню","hint.goal":"описать цель долгосрочной задачи","hint.goal.active":"цель активна — изменить/приостановить/возобновить/очистить","placeholder.default":"Отправьте сообщение или запустите задачу, /команды, @файлы или сеансы","placeholder.unavailable":"Сеанс недоступен","placeholder.parentOffline":"Родительская сессия в автономном режиме; отправка недоступна, но вы все равно можете остановить запуск","placeholder.hero":"Опишите, что вы хотите построить: /команды, @файлы или сеансы.","placeholder.workspace":"Выберите рабочее пространство для начала","placeholder.steerQueue":"Cmd/Ctrl+Enter управляет всеми сообщениями в очереди.","input.commands":"Добавляйте файлы или запускайте команды","input.file":"Файл","input.stop":"Прекратить генерировать","input.send":"Отправить сообщение","input.send.queue":"Сообщение в очереди","input.send.steer":"Управляйте сообщением","attachment.pending":"Ожидающие вложения","attachment.scrollLeft":"Прокрутить вложения влево","attachment.scrollRight":"Прокрутить вложения вправо","attachment.dropTitle":"Перетащите файлы или изображения сюда, чтобы добавить их.","attachment.dropDesc":"Ограничение на количество изображений: до {count} изображений, {size} каждое.","attachment.dropBlocked":"Файлы и изображения не могут быть добавлены прямо сейчас.","attachment.directoryDesktopOnly":"Папки можно добавлять только в настольном приложении; добавлять отдельные файлы в браузере","attachment.pathUnavailable":"Не удалось получить путь к папке; перетащите это снова","attachment.pathUnsupported":"Путь содержит символы, которые не может содержать ссылка; переименуй его и попробуй еще раз","image.pending":"Ожидающие изображения","image.openOriginal":"Посмотреть оригинал","image.openOriginalLabel":"{label}, нажмите, чтобы просмотреть оригинал","image.remove":"Удалить изображение {name}","image.original":"Исходное изображение","image.label":"Изображение","image.loadFailed":"Изображение не удалось загрузить; нажмите, чтобы повторить попытку","image.loading":"Загрузка изображения…","image.preview":"Предварительный просмотр исходного изображения","image.closePreview":"Закрыть предварительный просмотр исходного изображения","image.unsupportedType":"Поддерживаются только изображения PNG, JPG, WebP и GIF.","image.tooMany":"Сообщение может содержать до {count} изображений.","image.fileTooLarge":"Каждое изображение должно быть меньше {size}.","image.totalTooLarge":"Общий размер изображений превышает {size}; удалите некоторые и попробуйте еще раз","image.tooManyPixels":"Разрешение изображения слишком высокое; сожми его и попробуй еще раз","image.dimensionTooLarge":"Стороны изображения должны быть не более {size}px; уменьшите масштаб и попробуйте еще раз","image.modelUnsupported":"Текущая модель не поддерживает изображения; переключиться на модель, которая делает","image.sendFailed":"Не удалось отправить изображения ({reason}); добавьте их повторно и попробуйте еще раз","file.pending":"Ожидающие файлы","file.remove":"Удалить файл {name}","file.uploading":"Загрузка…","file.uploadFailed":"Загрузка не удалась; нажмите, чтобы повторить попытку","file.retry":"Повторите загрузку {name}","file.stillUploading":"Файлы все еще загружаются; отправить после того, как они закончат","file.sessionUnavailable":"Сессия недоступна; файлы не могут быть загружены","file.notStaged":"Загрузка файла не завершена; добавьте его еще раз и попробуйте еще раз","file.label":"Файл","context.aria":"{percent} использованного контекста","context.used":"используемого контекста","context.system":"Системная подсказка","context.tools":"Определения инструментов","context.messages":"Сообщения","settings.enter.title":"Отправлять поведение во время занятости","settings.enter.description":"Что делают кнопки «Ввод» и «Отправить» во время работы агента; Cmd/Ctrl+Enter использует другое поведение.","settings.enter.queue":"Очередь","settings.enter.steer":"Управлять","hero.headline":"В неизвестность","hero.preview":"Предварительный просмотр","hero.chooseWorkspace":"Выберите рабочее пространство","session.hierarchy":"Иерархия сеансов","session.moreViews":"Больше просмотров беседы","todo.title":"Дела","todo.progress.done":"{done} завершено","todo.progress.active":"{active} в процессе","todo.progress.pending":"{pending} ожидается","todo.status.completed":"Завершено","todo.status.inProgress":"В процессе","todo.status.pending":"Ожидается","todo.rowTitle":"Обновить список дел","tool.title.createGoal":"Создать цель","tool.title.getGoal":"Посмотреть цель","tool.title.updateGoal":"Обновить цель","tool.preparing.content":"{kilobytes}КБ","tool.title.createSchedule":"Создать напоминание","tool.title.listSchedules":"Список напоминаний","tool.title.deleteSchedule":"Удалить напоминание","tool.title.updateSchedule":"Обновить напоминание","detail.state":"Статус","detail.todo.completed":"Завершено","detail.todo.in_progress":"В процессе","detail.todo.pending":"Ожидается","detail.todo.empty":"Список дел пуст","todo.diff.initial":"Первоначальный список","todo.diff.compare":"Изменения по сравнению с предыдущим списком","todo.diff.unavailable":"Предыдущий список недоступен","todo.diff.noChanges":"Никаких изменений в списке","todo.diff.added":"{count} добавлено","todo.diff.updated":"{count} обновлено","todo.diff.removed":"{count} удалено","todo.diff.unchanged":"{count} без изменений","todo.diff.addedItem":"Добавлено","todo.diff.updatedItem":"Статус изменен","todo.diff.movedItem":"Переупорядочен","todo.diff.removedItem":"Удален","detail.goal.empty":"Нет цели","detail.goal.active":"Активный","detail.goal.disarmed":"Ожидание продолжения","detail.goal.paused":"Приостановлено","detail.goal.blocked":"Заблокировано","detail.goal.complete":"Завершено","detail.goal.rounds":"Раунды","detail.goal.reason":"Блокатор","detail.days":"{count} д","detail.hours":"{count} ч.","detail.minutes":"{count} мин.","detail.seconds":"{count} с","detail.schedule.once":"Однажды","detail.schedule.every":"Каждый {interval}","detail.schedule.when":"Запланировано на","detail.schedule.frequency":"Повторить","detail.schedule.scheduled":"Запланировано","detail.schedule.overdue":"Просрочено, ждём возобновления сеанса","detail.schedule.empty":"Нет напоминаний","detail.schedule.deleted":"Удалено","detail.schedule.count":"{count} напоминаний","detail.schedule.daily":"Каждый день в {time} ({zone})","detail.schedule.weekly":"Еженедельно в {days} в {time} ({zone})","detail.schedule.cron":"Cron {expression} ({zone})","detail.weekday.1":"Пн.","detail.weekday.2":"Вт","detail.weekday.3":"ср.","detail.weekday.4":"Чт","detail.weekday.5":"Пт","detail.weekday.6":"Суббота","detail.weekday.7":"Солнце","detail.weekday.join":", ","tool.title.inspectProviders":"Проверка поставщиков","tool.title.queryRuntime":"Время выполнения запроса","tool.title.inspectPlugins":"Проверьте плагины","tool.title.workflow":"Запустить рабочий процесс","tool.title.ralph":"Запустить цикл Ральфа","tool.title.readEvent":"Чтение события","tool.title.searchEvents":"Поиск событий","tool.title.traceEvent":"Отследить событие","tool.title.searchSessions":"Поиск сеансов","tool.title.traceSession":"Трассировка сеанса","tool.title.listModels":"Список моделей","tool.title.subagent":"Создать субагент","tool.title.listAgents":"Список субагентов","tool.title.sendMessage":"Отправить сообщение","tool.title.interruptAgent":"Агент прерываний","tool.title.listJobs":"Список фоновых заданий","tool.title.readJob":"Чтение результатов задания","tool.title.killJob":"Отменить фоновое задание","tool.title.openTerminal":"Открыть терминал","tool.title.readTerminal":"Чтение терминала","tool.title.listTerminals":"Список терминалов","tool.title.signalTerminal":"Сигнальный терминал","tool.title.closeTerminal":"Закрыть терминал","tool.title.lsp":"Символы кода запроса","tool.title.findDefinition":"Найти определение","tool.title.findReferences":"Найдите ссылки","tool.title.findImplementation":"Найти реализацию","tool.title.hoverSymbol":"Символ проверки","tool.title.spawnTeammate":"Создать товарища по команде","tool.title.createTeamTask":"Создать командную задачу","tool.title.getTeamTask":"Прочитать командное задание","tool.title.updateTeamTask":"Обновить групповую задачу","tool.title.listTeamTasks":"Перечислить командные задачи","tool.title.waitAgent":"Подождите субагента","detail.recordedResult":"Записанный результат","detail.empty":"Нет результатов","detail.none":"Нет","detail.yes":"Да","detail.no":"Нет","detail.moreInInspect":"Еще {count} элементов доступно в Inspect","detail.status.running":"Бег","detail.status.idle":"Простой","detail.status.ready":"Готово","detail.status.inactive":"Неактивный","detail.status.provisioning":"обеспечение","detail.status.failed":"Не удалось","detail.status.completed":"Завершено","detail.status.deleted":"Удалено","detail.status.killed":"Отменено","detail.status.accepted":"Принято","detail.status.queued":"В очереди","detail.status.exited":"Вышел","detail.field.id":"идентификатор","detail.field.revision":"Редакция","detail.field.platform":"Платформа","detail.field.provider":"Поставщик","detail.field.model":"Модель","detail.field.role":"Роль","detail.field.context":"Контекст","detail.field.owner":"Владелец","detail.field.ready":"Готово","detail.field.dependencies":"Зависимости","detail.field.writeScopes":"Запись областей","detail.field.warnings":"Предупреждения","detail.field.diagnostics":"Диагностика","detail.field.methods":"Методы","detail.field.inputSchema":"Входная схема","detail.field.outputSchema":"Выходная схема","detail.field.currentPackage":"Текущий пакет","detail.field.nextPackage":"Следующий пакет","detail.field.latestRun":"Последний запуск","detail.field.packages":"Пакеты","detail.field.registrations":"Регистрации","detail.field.props":"Реквизит","detail.field.data":"Данные","detail.field.source":"Источник","detail.field.content":"Содержание","detail.field.message":"Сообщение","detail.field.messageId":"Идентификатор сообщения","detail.field.root":"Корень","detail.field.pid":"Идентификатор процесса","detail.field.type":"Тип","detail.field.time":"Время","detail.field.seq":"Последовательность событий","detail.field.turn":"Поворот","detail.field.step":"Шаг","detail.field.callId":"Идентификатор вызова","detail.field.agents":"Агенты запущены","detail.field.result":"Результат","detail.field.parent":"Родитель","detail.field.depth":"Глубина","detail.field.exitCode":"Код выхода","detail.field.signal":"Сигнал","detail.field.previousStatus":"Предыдущий статус","detail.field.agent":"Идентификатор агента","detail.field.job":"Идентификатор вакансии","detail.field.task":"Задача","detail.field.processGroup":"Группа процессов","detail.field.availability":"Доступность","detail.field.bestMatch":"Лучший матч","detail.field.target":"Целевое событие","detail.field.surface":"Статус записи","detail.agents.count":"{count} агентов","detail.jobs.count":"{count} фоновых заданий","detail.terminals.count":"{count} терминалов","detail.tasks.count":"{count} командных задач","detail.tasks.nextPage":"Доступно больше задач; следующий курсор – {cursor}","detail.locations.count":"{count} местоположений","detail.location":"Строка {line}, столбец {column}","detail.receipt.delivered":"Сообщение доставлено","detail.receipt.interrupt":"Запрошено прерывание","detail.receipt.started":"Началось","detail.receipt.cancel":"Запрос на отмену","detail.receipt.alreadyFinished":"Уже закончено","detail.receipt.signal":"Сигнал доставлен","detail.receipt.closed":"Закрыто","detail.receipt.closing":"Закрытие","detail.wait.noProgress":"Нет активных субагентов","detail.wait.title":"Субагентская деятельность","detail.wait.timeout":"Время ожидания истекло","detail.wait.changed":"Обнаружено изменение","detail.agent.reply":"Ответ агента","detail.models.title":"Доступные модели","detail.output.lines":"Строки {begin}–{end} из {total}","detail.output.truncated":"Вывод усечен","detail.providers.count":"{count} проверяет поставщиков","detail.plugins.count":"{count} динамических плагинов","detail.workflow.script":"Сценарий рабочего процесса","detail.ralph.reportedComplete":"Работник сообщил о завершении","detail.ralph.reportedBlocker":"Работник сообщил о блокировщике","detail.ralph.limit":"Достигнут лимит раундов","detail.report.nextSteps":"Оставшаяся работа","detail.trace.replacedBy":"Заменено на","detail.trace.replacementChain":"Замена цепи","detail.trace.replaces":"Замененные события","detail.trace.sources":"Исходные события","detail.trace.derived":"Производные события","detail.trace.ancestors":"Сеансы предков","detail.trace.descendants":"Потомки сеансов","detail.matches.count":"{count} совпадений","detail.matches.capped":"Достигнут предел результатов; сузить поиск для большего","detail.event.neighbors":"Сопутствующие события","todo.completed":"{done}/{total} завершено","command.attachmentsUnsupported":"/{command} не принимает вложения; сначала удали их","ask.rowTitle":"Задать вопрос","ask.waiting":"ожидание","ask.pending":"продолжение; ответ еще доступен","ask.pendingDetail":"На эти нерешенные вопросы остается ответ композитора.","ask.reopen":"Ответ","ask.review":"Посмотреть ответы","ask.closed":"закрыто","ask.closedDetail":"Этот вопрос закрыт; его результат в разговоре ниже.","ask.cancelled":"отменен","ask.cancelledDetail":"Этот набор вопросов был отменен до того, как были отправлены ответы.","ask.interrupted":"прерванный","ask.interruptedDetail":"Этот набор вопросов был прерван до того, как были представлены ответы.","ask.answered":"{answered}/{total} ответило","ask.skipped":"Не ответил","bash.running":"Бег","bash.failed":"Не удалось","bash.stopped":"Остановлено","row.running":"Бег","row.preparing":"Подготовка вызова инструмента","row.failed":"Не удалось","row.stopped":"Остановлено","row.commandArguments":"Аргументы команды","row.input":"В","row.output":"ВНЕ","row.inspect":"Осмотреть","row.imageSize":"{width}x{height} пикселей, {bytes} байт","row.imageSizeDownscaled":"{width}x{height}px (уменьшено с {originalWidth}x{originalHeight}px), {bytes} байт","tool.title.search":"Поиск","tool.title.read":"Читать","tool.title.bash":"Баш","tool.title.write":"Написать","tool.title.edit":"Редактировать","tool.title.code":"Код","tool.title.generic":"Вызов инструмента","tool.title.inspect":"Запрос среды Cordis","tool.title.runCordis":"Запустите плагин Cordis","tool.title.stopCordis":"Остановить плагин Cordis","tool.title.removeCordis":"Удалить плагин Cordis","tool.title.pwsh":"Пшш","tool.title.readImage":"Читать изображение","tool.title.grep":"Греп","tool.title.glob":"Глоб","tool.title.webSearch":"Поиск","tool.title.webFetch":"Получить","tool.autoReviewRejected":"Отклонено автоматической проверкой","tool.autoReviewNotExecuted":"Инструмент не был выполнен. Причина: {reason}","tool.autoReviewReasonFallback":"Автоматическая проверка не санкционировала это действие","diff.collapseAria":"Свернуть разницу","diff.expandAria":"Разверните еще {count} строк различий","diff.expandRest":"… ещё {count} строк","read.window":"Показаны {shown} из {total} строк","read.collapseAria":"Свернуть содержимое","read.expandAria":"Развернуть еще {count} строк","read.expandRest":"… ещё {count} строк","search.paths":"{shown} пути","search.paths.truncated":"Показан {shown} из {total} путей","search.matches":"{shown} соответствует · {files} файлов","search.matches.truncated":"Показаны совпадения: {shown} из {total} · Файлы: {files}","search.noResults":"Нет результатов","search.collapseAria":"Свернуть результаты","search.expandAria":"Развернуть еще {count} строк результатов","search.expandRest":"… ещё {count} строк","web.noResults":"Результаты не найдены","web.sourcesTruncated":"Список источников сокращен","web.http":"HTTP","web.contentTruncated":"Содержание усечено","details.running":"Бег…","queue.count":"{n} сообщений в очереди","queue.sending":"Отправка…","queue.image":"Изображение сообщения в очереди","queue.file":"Файл в очереди {name}","queue.edit":"Изменить сообщение в очереди","queue.edit.unsupported":"Содержит нетекстовый контент; редактирование пока не поддерживается","queue.save":"Сохранить сообщение в очереди","queue.cancelEdit":"Отменить редактирование","queue.remove":"Удалить сообщение из очереди","queue.steer":"Управление сообщением в очереди","queue.steer.unavailable":"Управление доступно только во время работы агента.","error.sessionInUse":"Этот сеанс уже используется, возможно, другим работающим экземпляром DSH (например, веб-приложением dsh или настольным приложением). Закройте другие работающие экземпляры DSH и повторите попытку.","queue.editFailed":"Не удалось изменить: возможно, это сообщение уже начало отправляться.","queue.removeFailed":"Удаление не удалось: возможно, это сообщение уже начало отправляться.","queue.steerFailed":"Рулевое управление не удалось. Попробуйте еще раз.","terminal.signal":"сигнал {signal}","terminal.exitCode":"код выхода {code}","terminal.noExitCode":"нет кода выхода","terminal.commandLine":"Командная строка {n}","terminal.running":"Бег","terminal.failed":"Не удалось","terminal.done":"Готово","terminal.noOutput":"Нет вывода","terminal.collapseAria":"Свернуть вывод","terminal.expandAria":"Разверните оставшиеся {n} выходные строки","terminal.expandRest":"… ещё {n} строк","terminal.sendInput":"(отправить ввод)","terminal.session":"Терминал {sessionId}"},"cordis":{"row.defineTitle":"Зарегистрировать плагин Cordis","a11y.preparing":"Подготовка вызова инструмента Cordis","row.runTitle":"Запустите плагин Cordis","row.updateTitle":"Обновить плагин Cordis","row.stopTitle":"Остановить плагин Cordis","row.removeTitle":"Удалить плагин Cordis","purpose.missing":"(цель не указана)","status.idle":"Готово","status.awaitingApproval":"Ожидает одобрения","status.failed":"Запустить не удалось","status.clientPending":"Клиент готов к активации","status.running":"Бег","status.removed":"Удален","status.superseded":"Доступна новая версия","run.removed":"Этот пакет больше не существует","run.superseded":"Более новая карта запуска доступна ниже.","panel.hint":"Запускайте элементы управления в реальном времени на панели Cordis над настройками.","panel.plugins.aria":"Плагины Кордиса","panel.approvals.aria":"Допуски Кордис","panel.trigger":"Плагин Кордис","panel.runningCount":"{count} работает","panel.title":"Плагины Кордиса","panel.empty":"Плагины еще не определены","panel.loading":"Чтение…","panel.readFailed":"Не удалось прочитать список плагинов: {message}","panel.group.current":"Эта сессия","panel.group.others":"Другие сессии","panel.version":"Версия","panel.current":"Текущий: {packageId}","panel.next":"Далее: {packageId}","action.approve":"Разрешить","action.approveOnce":"Разрешить только эту версию","action.approvePlugin":"Разрешить будущие версии этого плагина","action.decline":"Снижение","action.run":"Беги","action.stop":"Стоп","action.remove":"Удалить","action.retry":"Повторить попытку","action.rollback":"Откат назад","action.inspect":"Осмотреть","render.failedAbdicated":"Не удалось выполнить рендеринг в {slot}; пользовательский интерфейс по умолчанию был восстановлен:","render.failedHeld":"Не удалось выполнить рендеринг в {slot}:","a11y.defining":"Определение плагина","a11y.failed":"Определение не выполнено","a11y.stopped":"Определение прервано","body.source":"Источник плагина","body.hostCode":"Хост","body.clientCode":"Клиент","body.output":"Результат","body.copy":"Копировать","body.copied":"Скопировано"},"deliverables":{"presented.nativeUnavailable":"У этого файла нет доступного пути к хосту. Предварительный просмотр на боковой панели.","presented.revealError":"Не удалось отобразить в файловом менеджере. Попробуйте еще раз.","presented.directoryError":"Не удалось открыть содержащую папку. Попробуйте еще раз.","presented.directoryOpening":"Открытие папки, содержащей…","presented.directoryOpened":"Запрошенное открытие, содержащее папку","presented.revealed":"Запрошенное отображение в файловом менеджере","presented.revealing":"Отображается в файловом менеджере…","presented.unavailable":"У этого хоста нет рабочего стола, на котором можно было бы открывать файлы или папки во внешних приложениях. Файлы по-прежнему можно просматривать на боковой панели.","presented.retry":"Повторить попытку","presented.hostError":"Не удалось прочитать информацию о рабочем столе хоста.","presented.preview":"Предварительный просмотр в боковой панели","presented.previewButton":"Откройте {name} на боковой панели","presented.previewCard":"Предварительный просмотр имени пользователя {name} на боковой панели","presented.all":"Все файлы: {count}","presented.expandAria":"Показать все доставленные файлы: {count}","presented.collapse":"Свернуть","presented.collapseAria":"Свернуть доставленные файлы","presented.opening":"Открытие…","presented.opened":"Открыть запрос","presented.error":"Не удалось открыть. Нажмите, чтобы повторить попытку.","presented.file":"Файл","row.title":"Представление файлов","row.running":"Доставка","row.preparing":"Подготовка результатов","row.ok":"Доставлено","row.error":"Доставка не удалась","row.stopped":"Прерванный","row.inspect":"Проверить звонок","changes.title":"Отредактировано {count} файлов","changes.singleTitle":"Отредактировано {name}","changes.added":"+{count}","changes.deleted":"-{count}","changes.binary":"двоичный","changes.openReview":"Просмотрите изменения этого хода на боковой панели.","changes.all":"Все файлы: {count}","changes.expandAria":"Показать все измененные файлы: {count}","changes.collapse":"Свернуть","changes.collapseAria":"Свернуть измененные файлы","changes.oversized":"слишком большой","changes.viewDiff":"Посмотреть изменения в {name}","review.title":"Обзор · поворот {turn}","review.selectFile":"Выберите файл для просмотра","review.split":"Переключиться на разделенный вид","review.unified":"Переключиться на единый вид","review.splitAria":"Разделенный вид","review.wrap":"Включить перенос строк","review.nowrap":"Отключить перенос строк","review.wrapAria":"Перенос строки","review.openFile":"Открыть весь файл на боковой панели","review.openFileAria":"Откройте {name} на боковой панели","diff.loading":"Чтение изменений…","diff.missing":"Содержимое изменений этого хода больше недоступно.","diff.error":"Не удалось прочитать изменения","diff.binary":"Бинарный файл; изменения не могут быть показаны","diff.oversized":"Файл слишком большой; изменения не могут быть показаны","diff.created":"Создано в этом ходу","diff.deleted":"Удален на этом ходу","diff.unchanged":"Обе стороны держат одни и те же линии","diff.coarse":"Время сравнения строк истекло; отображается как замена всего файла","diff.truncated":"Показаны первые строки: {count}"},"entryCustomization":{"install":"Просмотрите другие плагины","create":"Создайте свой плагин","createPrompt.sidebar":"Создайте плагин DSH с записью на левой боковой панели.","createPrompt.conversation":"Создайте плагин просмотра разговоров DSH.","createPrompt.rightbar":"Создайте плагин DSH с записью на правой боковой панели."},"goal":{"phase.active":"Текущая цель","phase.active.disarmed":"Неактивная цель","phase.paused":"Приостановленная цель","phase.blocked":"Заблокированная цель","objective.aria":"Цель Цель","commandInput.aria":"Ввод команды","action.save":"Сохранить цель","action.cancel":"Отменить редактирование","action.pause":"Приостановить цель","action.resume":"Возобновить цель","action.edit":"Изменить цель","action.clear":"Четкая цель"},"slash.menu":{"command":"Команды","skill":"Навыки","subagent":"Субагенты","loading":"Загрузка…","drill.aria":"Просмотреть папку","drill.hint":"Просмотреть папку","drill.key":"Вкладка","crumbs.aria":"Навигация по папкам","suggestions.aria":"Триггерные предложения"},"job":{"count.live.one":"{count} выполняется фоновое задание","count.live.other":"Выполняется {count} фоновых заданий","count.idle.one":"{count} фоновое задание","count.idle.other":"{count} фоновых заданий","list.aria":"Фоновые задания","section.live":"Бег","section.settledCount":"Завершено {count}","section.clear":"Очистить","row.expandAria":"Показать живые результаты {label}","row.collapseAria":"Скрыть прямую трансляцию {label}","kill.stop":"Остановить задачу {label}","kill.confirm":"Нажмите еще раз, чтобы подтвердить","kill.confirmAction":"Подтвердить остановку","kill.failed":"Остановить не удалось","status.running":"бег","status.stopping":"остановка","status.completed":"завершено","status.killed":"отменен","status.failed":"не удалось","duration.seconds":"{seconds} сек.","duration.minutes":"{minutes} м {seconds} с","duration.hours":"{hours}ч {minutes}м","duration.title.live":"Работает в течение {duration}","duration.title.done":"Прошло {duration}","output.gap":"… ранее объемы производства упали …","output.error":"поток вывода в реальном времени прерван: {error}","terminal.signal":"сигнал {signal}","terminal.exitCode":"выйти {code}","terminal.noExitCode":"нет кода выхода","terminal.commandLine":"Командная строка {n}","terminal.running":"бег","terminal.failed":"не удалось","terminal.done":"сделано","terminal.copy":"Копировать","terminal.copied":"Скопировано","terminal.noOutput":"(нет вывода)","terminal.collapse":"Свернуть","terminal.collapseAria":"Свернуть вывод","terminal.expand":"Показать еще {n} строк","terminal.expandAria":"Развернуть {n} свернутых строк вывода"},"feedback":{"action.like":"Хороший ответ","action.likeActive":"Удалить оценку","action.dislike":"Плохой ответ","action.dislikeActive":"Удалить оценку","dialog.title":"Отправить отзыв","dialog.categories":"Категория обратной связи","dialog.detail":"Подробности обратной связи","dialog.hint":"Добавьте детали, чтобы помочь нам стать лучше. Ваше сообщение будет включать текущий журнал разговоров.","category.task-result":"Результат задачи","category.instruction-following":"Понимание и следование инструкциям","category.product-interaction":"Особенности продукта и взаимодействие","category.service-stability":"Стабильность и скорость","category.resource-cost":"Использование ресурсов и стоимость","category.security-privacy-permission":"Безопасность, конфиденциальность и разрешения","category.other":"Другое","toast.recorded":"Спасибо за ваш отзыв","error.conflict":"Этот отзыв изменился в другом месте; отображается последнее состояние","error.load":"Не удалось загрузить отзыв.","error.generic":"Не удалось сохранить отзыв","error.noteTooLarge":"Описание слишком длинное; сократите его и отправьте снова"},"model":{"provider.account":"Аккаунт DeepSeek","command.label":"Модель","command.description":"Выберите модель для этого разговора","option.loadError":"Не удалось загрузить каталог: {message}","trigger.fallback":"Выберите модель","trigger.loading":"Загрузка моделей…","trigger.selectAria":"Выберите модель","trigger.aria":"Выберите модель, текущую {model}","trigger.ariaEffort":"Выберите модель, текущую {model}, усилие рассуждения {effort}","menu.aria":"Модель и рассуждения","menu.model":"Модель","menu.effort":"Усилие","effort.providerDefault":"По умолчанию","status.loading":"Обновление списка моделей…","error.action":"Не удалось выполнить операцию модели: {message}","error.sessionInUse":"Этот сеанс уже используется, возможно, другим работающим экземпляром DSH (например, веб-приложением dsh или настольным приложением). Закройте другие работающие экземпляры DSH и повторите попытку.","action.reload":"Перезагрузить","warning.groupLoad":"{name} не удалось загрузить: {message}","search.placeholder":"Поиск моделей…","search.clear":"Очистить поиск","search.empty":"Нет подходящих моделей.","empty.models":"Нет доступных моделей.","empty.efforts":"Эта модель не обеспечивает обоснования уровней усилий."},"open-in-app":{"open.title":"Открыть в {app}","path.appDefault":"{app} (по умолчанию)","path.appsError":"Не удалось загрузить приложения","shortcut.busy":"Открытие рабочей области","shortcut.unavailable":"Текущая рабочая область или локальное приложение недоступно.","open.tooltip":"Открыть локально","path.open":"Открыть","path.more":"Больше способов открыть","path.reveal":"Показать местоположение файла","path.openError":"Не удалось открыть. Попробуйте еще раз.","path.revealError":"Не удалось показать местоположение файла. Попробуйте еще раз.","app.finder":"Искатель","app.explorer":"Проводник файлов","app.filemanager":"Файлы","app.terminal":"Терминал","app.cursor":"Курсор","app.vscode":"VS-код","app.vscodeinsiders":"Инсайдеры кода VS","app.windsurf":"Виндсерфинг","app.zed":"Зед","app.sublimetext":"Возвышенный текст","app.xcode":"Xcode","app.androidstudio":"Android-студия","app.intellij":"IntelliJ ИДЕЯ","app.pycharm":"Пичарм","app.webstorm":"ВебШторм","app.phpstorm":"PhpStorm","app.goland":"GoLand","app.rider":"Райдер","app.rustrover":"РустРовер","app.fork":"Вилка","app.sourcetree":"Исходное дерево","app.github":"Рабочий стол GitHub","app.tower":"Башня","app.gitkraken":"GitKraken","app.smartgit":"СмартГит","app.sublimemerge":"Возвышенное слияние","app.ghostty":"Призрачный","app.warp":"Деформация","app.iterm":"iTerm2","app.kitty":"котенок","app.windowsterminal":"Терминал Windows","app.gitbash":"Гит Баш","app.gnometerminal":"Терминал GNOME","app.konsole":"Консоль"},"permission.access":{"mode":"Текущий режим доступа: {name}","close":"Закрыть","preset.readOnly":"Только чтение","preset.workspaceWrite":"Запись в рабочей области","preset.fullAccess":"Полный доступ","confirm.title":"Включить полный доступ?","confirm.description":"Полный доступ сокращает количество шагов подтверждения и позволяет агенту напрямую выполнять больше действий, включая конфиденциальные операции, изменения файлов или внешние команды. Используйте его только в том случае, если вы доверяете текущей задаче.","confirm.acknowledge":"Я понимаю риски и хочу продолжить","confirm.cancel":"Отмена","confirm.enable":"Включить полный доступ","auto.label":"Автоматический обзор","auto.badge":"Опыт","auto.description":"Запуск без изолированной программной среды после экспериментальной проверки одной и той же модели каждого вызова встроенного инструмента и внутреннего вызова PTC.","auto.confirm.title":"Включить автоматический просмотр (экспериментальная версия)?","auto.confirm.description":"Автоматический просмотр работает без песочницы. Перед каждым вызовом собственного инструмента и внутренним вызовом PTC та же модель, что и текущий агент, проверяет, разрешить ли это; вы одобряете или отклоняете каждый вызов, который он отклоняет. Эта функция является экспериментальной, может ошибочно разрешать или запрещать действия и использует дополнительные токены.","auto.confirm.acknowledge":"Я понимаю эти риски и хочу продолжить","auto.confirm.enable":"Включить автоматический просмотр"},"settings.permission":{"title":"Разрешение","description":"Выберите режим разрешений по умолчанию для новых сеансов","loading":"Загрузка","unavailable":"Недоступно","preset.readOnly":"Только чтение","preset.workspaceWrite":"Запись в рабочей области","preset.fullAccess":"Полный доступ","confirm.title":"Включить полный доступ?","confirm.description":"Полный доступ позволяет новым сеансам сократить количество шагов подтверждения и напрямую выполнять больше действий, включая конфиденциальные операции, изменение файлов или внешние команды. Используйте его только в том случае, если вы доверяете последующим задачам.","confirm.acknowledge":"Я понимаю риски и хочу продолжить","confirm.cancel":"Отмена","confirm.enable":"Включить полный доступ"},"plan":{"chip.label":"План","preview.title":"План","preview.document":"План · Уценка","preview.action":"Открыть","preview.open":"Открытая планировка в боковой панели","preview.full":"Посмотреть полный план","preview.openNamed":"Открытая планировка: {title}","preview.loading":"План загрузки…","preview.failed":"Не удалось загрузить план","preview.invalidAddress":"Неверный адрес плана","preview.historyUnavailable":"История сеансов недоступна","preview.notFound":"Этот план не найден","preview.unavailable":"Предварительный просмотр плана недоступен.","preview.expired":"Срок действия этой временной предварительной версии плана истек. Откройте его снова из карточки ожидающего рассмотрения.","chip.on.aria":"Режим планирования включен. Нажмите, чтобы выключить.","chip.on.title":"Режим планирования включен — нажмите, чтобы выключить (/plan off)","chip.exitFailed":"Не удалось выйти из режима планирования."},"pluginManager":{"panel":"Плагины","title":"Плагины","intro":"Установите, включите и настройте плагины","infoLabel":"О плагинах","infoDescription":"Настройте официальные плагины, а также установите или управляйте другими плагинами здесь. Посмотреть список встроенных плагинов и статус выполнения можно в разделе «Настройки» → «Встроенные плагины».","loading":"Чтение плагинов…","error":"Не удалось прочитать все плагины, возможно, из-за проблем с сетью.","unavailable":"Это развертывание выполняется без управляемого профиля, поэтому здесь нельзя устанавливать или переключать плагины.","retry":"Повторить попытку","refresh":"Обновить","refreshError":"Обновить не удалось. Пожалуйста, попробуйте еще раз.","empty":"Плагины пока не установлены.","addPlugin":"Добавить плагин","chooseAddMethod":"Выберите, как добавить плагин","installExisting":"Установите сторонний плагин","installExistingDescription":"Поддерживает пакеты npm, репозитории Git и локальные каталоги.","restartNotice":"Перезапустите DSH, чтобы применить изменения. {reason}","restartReasonNoHmr":"Этот профиль применяет изменения только при запуске.","restartReasonPackageMoved":"Установленный пакет теперь разрешается в другой каталог, или изменение заменяет пакет, предоставляемый установкой DSH. Удалите пакет перед установкой его из другого места.","restartReasonHostModule":"Изменение достигает модулей DSH, которые сами загружаются.","restartReasonUnmanagedPlugin":"Изменение достигает плагина, работающего за пределами списка плагинов.","restartReasonModuleComparison":"DSH не удалось сравнить загруженные плагины с их файлами.","overriddenNotice":"{name} было сохранено, но конфигурация с более высоким приоритетом переопределяет его, поэтому оно не действует.","bundlesTitle":"Установленные плагины","basicTitle":"Встроенные настройки плагина","extensionsTitle":"Экспериментальные плагины","moreTitle":"Экспериментальные плагины","moreAction":"Подробнее","tabsLabel":"Просмотры плагинов","installedTab":"Установлено","statusProblem":"Проблема","statusBeta":"Экспериментальный","reasonLabel":"Причина","metadataError":"Ошибка метаданных пакета: {error}","previewAlt":"Предварительный просмотр функции {name}","previewUnavailable":"Не удалось отобразить предварительный просмотр функции.","versionTag":"v{version}","partsLabel":"Компоненты","sourceTitle":"Источник","sourceSpec":"Источник кода","sourceBuiltIn":"Встроенный","sourceVersion":"Текущая версия","partsEmpty":"Этот пакет плагинов не содержит компонентов.","partsCountTotal":"Всего {count}","partsCountRunning":"{count} работает","partsCountOff":"{count} скидка","partOff":"Выкл.","partsCountFailed":"{count} не удалось","partsFilter":"Компоненты фильтра","partsFilterEmpty":"Ни один компонент не соответствует.","partToggle":"Включить компонент {name}","rowPhasePending":"Ожидание зависимостей","rowPhaseLoading":"Загрузка","rowPhaseActive":"Бег","rowPhaseFailed":"Проблема","rowPhaseUnloading":"Разгрузка","enableToggle":"Включить {name}","openDetail":"Посмотреть {name}","backToList":"Вернуться к плагинам","crumbRoot":"Плагины","backToPackage":"Вернуться к {name}","configureRow":"Настроить {name}","rowStateIdle":"Не работает","uninstall":"Удалить","uninstallLabel":"Удалить {name}","installTitle":"Добавить плагин","installDescription":"Введите имя пакета плагина, адрес репозитория GitHub или путь к локальному каталогу.","installSpecLabel":"Название или адрес пакета","installSpecPlaceholder":"например dsh-plugin-whale-pet","installGuideToggle":"Руководство по установке и примеры","installGuideHide":"Скрыть руководство","installGuideIdTitle":"Введите имя пакета npm плагина.","installGuideIdExample":"dsh-плагин-кит-питомец","installGuideIdHint":"Имя пакета плагина — это имя пакета npm (например, dsh-xxx или @author/plugin): часть после добавления плагина dsh или добавления pnpm в команде установки README плагина сообщества.","installGuideExampleLabel":"Пример: ","installGitTemplateHint":"Замените это фактическим адресом репозитория Git.","installPathTemplateHint":"Замените это фактическим путем к вашему локальному каталогу плагина.","installGuideFill":"Используйте пример","installGuideFillAria":"Используйте пример {example}","installGuideSafety":"Устанавливайте только те плагины, которым вы доверяете: они запускаются с вашими разрешениями и могут повредить DeepSeek Harness или привести к утечке ваших данных.","installUpgradeNotice":"Официальные плагины по требованию предлагают обновление, если их версия отличается от DSH. Чтобы обновить другие плагины, удалите и переустановите их.","registryToggle":"Реестр","registryLegend":"Реестр npm, из которого загружается плагин.","registryDefault":"Реестр по умолчанию","registryOfficial":"Официальный реестр npm","registryNpmmirror":"Зеркало материкового Китая","registryCustom":"Пользовательский адрес","registryCustomPlaceholder":"https://npm.example.com/","registryCustomHint":"Введите внутренний или частный адрес реестра npm, начинающийся с http:// или https://. Если требуется вход в систему, сохраните учетные данные в ~/.npmrc на этом компьютере.","registryCustomInvalid":"Введите адрес, начинающийся с http:// или https://.","registryListSeparator":", ","sentenceSeparator":" ","installRun":"Установить","installChecking":"Проверка…","installConfirmedTitle":"Установить плагин","installConfirmedRefused":"Этот плагин не может быть установлен","installProblemInvalid":"Это не имя или адрес пакета, который можно установить: {reason}","installProblemInstalled":"Этот плагин уже установлен. Чтобы обновить его, удалите его и установите снова.","installProblemShipped":"Этот плагин поставляется с DSH; обновление DSH обновляет его","installProblemNotFound":"Такой плагин не найден","installProblemNotPackage":"Путь не существует или не является допустимым пакетом плагина.","installProblemNotBundle":"В этом пакете не объявлен пакет, поэтому его нельзя установить как плагин: {reason}","installProblemNetwork":"Не удалось получить доступ к реестру плагинов; проверьте сеть и попробуйте еще раз","installProblemNetworkAll":"Не удалось получить доступ к реестру (пробовал: {registries}); проверьте настройки сети или прокси или измените реестр","installProblemUnknown":"Не удалось найти плагин: {reason}","installingTitle":"Установка плагина…","installedTitle":"Установлено","statusNotInstalled":"Не установлено","statusMissingFiles":"Пакет недоступен","statusUpdateAvailable":"Доступно обновление","sourceNotInstalled":"Не установлено","sourceTargetSpec":"Источник этого DSH","sourceTargetVersion":"Версия для этого DSH","update":"Обновить","updateLabel":"Обновить {name}","installFailedTitle":"Плагин не удалось установить","installGithubFailedTitle":"Не могу получить доступ к GitHub","installGithubTimeoutTitle":"Время ожидания соединения с GitHub истекло","installGithubFailedDescription":"Попробуйте другой источник установки.","installUseGithubMirror":"Используйте зеркало материкового Китая.","installTryAnotherWay":"Попробуйте другой способ","installPackageLabel":"Название пакета плагина","installEdit":"Редактировать","installEditAria":"Вернуться к редактированию","installCancelAndEdit":"Отменить установку и вернуться к редактированию","installApplyingCancellationError":"Отмена не подтвердилась. Установка применяется; дождитесь его результата. {reason}","installReconcile":"Проверьте статус установки","installUnknownTitle":"Результат установки недоступен","installUnknownDescription":"На хосте нет активной установки с этим идентификатором запроса. Прежде чем повторить попытку, проверьте список плагинов.","installResultUnconfirmed":"Результат установки не получен. Проверьте статус установки. {reason}","installAwaitingAcceptance":"Ожидание, пока хост примет установку. Отмена будет повторена автоматически после подтверждения.","installBackgroundUnknown":"Результат установки недоступен. Проверьте список плагинов.","installCancel":"Отменить установку","installCloseCancels":"Отменить установку и закрыть","installViewTask":"Посмотреть установку","installUnconfirmedTitle":"Статус установки не подтвержден","installBackgroundDone":"Установка завершена. Посмотреть подробности установки.","installBackgroundFailed":"Установка не удалась. Посмотреть подробности установки.","installBackgroundUnconfirmed":"Статус установки не подтвержден. Подробности смотрите в установке.","installBackgroundApplying":"Установка применяется и не может быть отменена. Просмотр хода установки.","installStarting":"Подготовка к установке…","installCancelling":"Остановка установки…","installApplying":"Применяется конфигурация, пожалуйста, подождите…","installCancelledShort":"Отменено","installCancelled":"Установка отменена; плагин не включен и скачанные файлы могут остаться","installCancelUnconfirmed":"Установка не подтверждена, остановлена. Повторите попытку отмены или дождитесь результата установки. {reason}","installEnableNow":"Включить сейчас","installDetailsShow":"Показать детали установки","installDetailsHide":"Скрыть сведения об установке","installVersion":"Версия {version}","installSubjectPath":"Локальный каталог","installSubjectGit":"Git-репозиторий","installSubjectTarball":"Тарбол","installLocation":"Устанавливается в {dir}","installRetry":"Повторить попытку","installChangeRegistry":"Изменить реестр","installAttempt":"{previous} не удалось обработать пакет; повторная попытка через {registry} (реестр {index} из {total})","installAttemptBadge":"Попытка {index} · {registry}","installFailureNetwork":"Сетевое подключение не удалось","installFailureNetworkAll":"Не удалось получить доступ к реестру (пробовано: {registries}). Проверьте настройки сети или прокси-сервера или измените реестр и повторите попытку.","installFailureNetworkHost":"{host} не удалось связаться. Адрес GitHub или ссылка .tgz не извлекаются через реестр: этот компьютер должен получить доступ к ним напрямую или через прокси. Если плагин также опубликован в npm, вместо этого введите имя его пакета.","installFailureNotFound":"Такой плагин не найден","installFailureNoMatchingVersion":"Ни одна версия не соответствует запросу","installFailureDiskFull":"Диск заполнен; установка остановлена","installFailurePermission":"Нет разрешения на запись; плагин не может быть установлен","installFailureBuildBlocked":"Для продолжения установки сценариям установки зависимости требуется ваше разрешение.","installFailureBuildBlockedManual":"pnpm блокировал сценарии установки; разрешите их в разделеallowBuilds в pnpm-workspace.yaml и повторите попытку.","installFailureIntegrity":"Загруженный пакет не прошел проверку целостности.","installFailureTimeout":"Время установки истекло","installFailurePnpmMissing":"pnpm не найден, поэтому ничего установить невозможно","installFailureGeneric":"Во время установки что-то пошло не так; детали говорят о чем","terminalCommandLine":"Командная строка {n}","terminalRunning":"Бег","terminalFailed":"Не удалось","terminalDone":"Готово","terminalCopy":"Копировать","terminalCopied":"Скопировано","terminalNoOutput":"Нет вывода","terminalCollapseAria":"Свернуть вывод","terminalCollapse":"Свернуть","terminalExpandAria":"Разверните оставшиеся {n} выходные строки","terminalExpand":"… ещё {n} строк","terminalExitCode":"код выхода {code}","terminalSignal":"сигнал {signal}","terminalNoExitCode":"нет кода выхода","installDoneNothing":"Установка завершена без новых зависимостей.","installDoneRestart":"Установлен; перезапустите DSH, чтобы загрузить его. {reason}","installDoneApproved":"Скрипты установки разрешены для {names}","installDoneOtherVersion":"В соответствии с политикой безопасности цепочки поставок pnpm (minimumReleaseAge) версии, опубликованные позже требуемого возраста, не устанавливаются автоматически, поэтому в этой установке использовалась {installed} вместо последней версии {version}. Недавно опубликованная версия не завершила этот период ожидания и может содержать необнаруженный вредоносный код или дефекты. Если вам нужна {version}, удалите текущую версию, а затем установите {exact}, чтобы запросить эту версию.","installApprovalTitle":"Для установки скриптов требуется разрешение","installApprovalDescription":"Эти пакеты содержат сценарии установки, которые pnpm не запускал.","installApprovalConsequence":"После разрешения сценарии запускаются здесь с вашими разрешениями, а разрешение сохраняется в этом профиле.","installApprovalCaution":"Разрешите только те пакеты, которым вы доверяете.","installApproveAndRetry":"Разрешите эти сценарии и повторите попытку.","installClose":"Готово","close":"Закрыть","cancel":"Отмена","confirmUninstallTitle":"Удалить \"{name}\"?","confirmUninstallDescription":"То, что он предоставляет, исчезает после его удаления.","confirmUninstall":"Удалить","failedEnable":"Не удалось включить: {reason}","failedDisable":"Не удалось отключить: {reason}","failedUninstall":"Не удалось удалить: {reason}","failedRowEnable":"Не удалось включить компонент: {reason}","failedRowDisable":"Не удалось отключить компонент: {reason}","reasonManagementRequired":"Управление плагинами нуждается в этом; его нельзя отключить или удалить.","reasonUnaddressable":"Патч профиля не может решить эту проблему однозначно.","reasonUnknownPlugin":"Нет такого плагина.","reasonInvalidSpec":"Введите действительное имя или адрес пакета.","reasonAlreadyInstalled":"Этот пакет уже установлен; удалите его перед установкой другой версии.","reasonAmbiguousInstall":"Какой пакет был установлен, невозможно определить по изменению зависимостей.","reasonNotBundle":"В этом пакете не объявлен пакет, поэтому им нельзя управлять как плагином.","reasonNotRemovable":"Этот пакет не принадлежит профилю, или он нужен управлению плагинами.","reasonStopProfile":"Этот профиль работает без HMR; остановите его и удалите пакет с помощью плагина dsh.","reasonBundleInUse":"Другая конфигурация по-прежнему использует компоненты этого пакета; сначала выключите их.","reasonStaleApproval":"Ожидаемые утверждения сценария изменились; установите еще раз, чтобы обновить их.","reasonIncompatibleVersion":"{plugin} несовместим с DSH {runtime} (требуется {requirements}); его запуск может привести к сбоям или потере данных.","reasonIncompatibleVersionUnnamed":"Этот плагин несовместим с текущей версией DSH; его запуск может привести к сбоям или потере данных.","reasonIncompatibleInstall":"Установите версию плагина, совместимую с этим DSH.","reasonIncompatibleInstalled":"Удалите его и установите версию, совместимую с этим DSH.","reasonOperationError":"Хост сообщил об ошибке."},"pluginMarket":{"title":"Откройте для себя","refresh":"Обновить","loading":"Чтение индекса","retry":"Повторить попытку","close":"Закрыть","cancel":"Отмена","emptyTitle":"Рынка плагинов пока нет","emptyDescription":"Добавьте индекс рынка плагинов, чтобы просматривать и устанавливать здесь плагины.","addFirstSource":"Добавить источник индекса","sourcesFailed":"Не удалось прочитать исходники индекса.","manageSources":"Управление источниками индексов…","marketMenu":"Переключить рынок плагинов, в настоящее время {market}","sourcesTitle":"Источники индекса","sourcesDescription":"Рынок плагинов публикуется как URL-адрес одного индексного файла. Discover просматривает перечисленные здесь индексы.","sourcesLabel":"Добавлены источники индекса","sourceUrl":"URL-адрес индекса","sourcePlaceholder":"https://example.com/index.json","addSource":"Добавить","removeSource":"Удалить","removeSourceNamed":"Удалить {url}","sourcesTrust":"Индексы поступают от третьих лиц. Добавляйте только источники, которым вы доверяете: их плагины запускаются с вашими разрешениями после установки.","sourceInvalid":"Используйте адрес http или https без имени пользователя, пароля или фрагмента #.","sourceDuplicate":"Этот источник индекса уже добавлен.","sourceUnavailable":"Источники индекса здесь сохранить нельзя.","sourceFailed":"Не удалось сохранить источники индекса.","readFailed":"Не удалось прочитать этот индекс.","readInvalid":"Этот индекс имеет недопустимый формат.","readChanged":"Этот индекс менялся при загрузке.","search":"Поиск плагинов","filter":"Этикетки","filterCount":"Ярлыки · {count}","sortBy":"Сортировать: {sort}","sortRelevance":"Лучший матч","sortDefault":"Порядок по умолчанию","sortPublished":"Дата публикации","switchToAscending":"Сортировать по возрастанию","switchToDescending":"Сортировать по убыванию","categoriesLabel":"Категории","allCategories":"Все","emptyIndex":"В этом индексе нет плагинов.","noMatches":"Никакие плагины не подходят.","showMore":"Показать больше","entryMeta":"{version} · {date}","entryMetaAuthor":"{version} · {author} · {date}","openEntry":"Посмотреть {name}","install":"Установить","installTitle":"Установить {name}","installVersionTitle":"Установить {name} {version}","openInstalled":"Посмотреть {name} в списке установленных","statusInstalled":"Установлено","statusUpdate":"Доступно обновление","statusProvided":"Предоставлено DSH","incompatible":"Эта версия несовместима с работающим DSH {runtime}; для этого требуется DSH {range}.","noCompatibleVersion":"Ни одна версия не совместима с DSH {runtime}.","exempted":"Эта версия несовместима с работающим DSH, но вы установили для нее исключение совместимости.","backToList":"Откройте для себя","factSource":"Источник","factPackage":"Пакет","factRegistry":"Реестр","factRepository":"Репозиторий","factCommit":"Зафиксировать","factDirectory":"Каталог","factPublished":"Опубликовано","factAuthor":"Автор","factHomepage":"Домашняя страница","factSourceCode":"Исходный код","factCategory":"Категория","factLabels":"Этикетки","factMarket":"Рынок плагинов","versionsTitle":"Версии","versionsLabel":"Версии {name}","versionDefault":"Рекомендуется","versionInstalled":"Установлено","versionIncompatible":"Несовместимый","versionExempted":"освобожден","versionPrerelease":"Пререлиз","confirmTitle":"Установить \"{name}\"?","installTrust":"Плагины запускаются на этом компьютере с вашего разрешения. Убедитесь, что вы доверяете источнику этого сообщения."},"reference":{"section.files":"Файлы и папки","section.subagents":"Субагенты","section.sessions":"Сессии","candidate.noCwd":"(без КДВ)","crumb.root":"Рабочая область","fileOpen.title":"Не удалось открыть файл","fileOpen.failed":"Не удалось открыть «{path}». Попробуйте еще раз или закройте это сообщение.","fileOpen.close":"Закрыть","fileOpen.retry":"Повторить попытку","time.now":"сейчас","time.minutes":"{n}мин","time.hours":"{n} ч","time.days":"{n}д","time.months":"{n} мес.","time.years":"{n}й"},"schedule.catalog":{"trigger.label":"Напоминания","list.loading":"Загрузка напоминаний…","list.error":"Не удалось загрузить напоминания.","list.retry":"Повторить попытку","delete.action":"Удалить","delete.pending":"Удаление…","delete.label":"Удалить напоминание: {title}","list.open":"Открыть сведения о напоминании: {title}","trigger.one":"{count} напоминание","trigger.other":"{count} напоминаний","list.aria":"Активные напоминания","list.nextRun":"Следующий запуск","frequency.once":"Однажды","frequency.every":"Каждое {value} {unit}","mark.aria":"{count} запланированных задач","hover.more":"另有 {count} 个任务","time.locale":"ru","time.utcPrefix":"UTC","frequency.daily":"Ежедневно в {time} ({timeZone})","frequency.dailyLocal":"Ежедневно в {time}","frequency.weekly":"Еженедельно по {weekdays} в {time} ({timeZone})","frequency.weeklyLocal":"Еженедельно по {weekdays} в {time}","frequency.cron":"Cron {expression} ({timeZone})","frequency.cronLocal":"Крон {expression}","frequency.cronRule":"{rule} ({timeZone})","cron.list.join":", ","cron.part.join":" ","cron.weekday.name":"{weekday}","cron.weekday.range":"{from}–{to}","cron.months":" через {months}","cron.day.every":"Каждый день{months}","cron.day.weekdays":"{weekdays}{months}","cron.day.monthDays":"День {days} каждого месяца {months}","cron.day.both":"День {days} каждого месяца или {weekdays}{months}","cron.day.bothStarred":"День {days} каждого месяца и {weekdays}{months}","cron.hours.range":"{from}–{to}","cron.hours.list":"{hours}","cron.time.everyMinute":"Каждую минуту","cron.time.everyMinutes":"Каждые {step} минут","cron.time.joinedEveryMinute":"каждую минуту","cron.time.joinedEveryMinutes":"каждые {step} минут","cron.time.everyHour":"Каждый час","cron.time.joinedEveryHour":"каждый час","cron.time.everyNHours":"Каждые {count} часов","cron.time.joinedEveryNHours":"каждые {count} часов","cron.time.hourlyAt":"Каждый час в минуту {minutes}","cron.time.joinedHourlyAt":"каждый час в минуту {minutes}","cron.time.hoursEveryMinute":"каждую минуту в течение часов {hours}","cron.time.hoursEveryMinutes":"каждые {step} минут в течение часов {hours}","cron.time.at":"в {times}","cron.time.hoursAt":"в минуту {minutes} часов {hours}","frequency.weekday.join":", ","frequency.weekday.1":"Пн.","frequency.weekday.2":"Вт","frequency.weekday.3":"ср.","frequency.weekday.4":"Чт","frequency.weekday.5":"Пт","frequency.weekday.6":"Суббота","frequency.weekday.7":"Солнце","unit.day.one":"день","unit.day.other":"дни","unit.hour.one":"час","unit.hour.other":"часы","unit.minute.one":"минута","unit.minute.other":"минуты","unit.second.one":"второй","unit.second.other":"секунды","relative.now":"Срок оплаты сейчас","relative.future":"в {value} {unit}","relative.overdue":"{value} {unit} просрочено"},"schedule.manager":{"panel":"Задачи автоматизации","title":"Задачи автоматизации","new.action":"Новый","list.label":"Каталог задач","list.nextPrefix":"Следующее запланированное время: ","list.loading":"Загрузка задач…","list.error":"Не удалось загрузить задачи.","list.retry":"Повторить попытку","list.empty":"Заданий пока нет. Здесь отображаются задачи, созданные в ваших сеансах.","list.emptyInactive":"Нет неактивных задач автоматизации","list.noMatches":"Нет подходящих задач","search.label":"Поиск задач","search.placeholder":"Задачи автоматизации поиска","search.clear":"Очистить поиск","empty.action":"Новая задача автоматизации","statusFilter.label":"Статус задачи","statusFilter.all":"Все","status.active":"Включено","status.inactive":"Неактивный","detail.label":"Подробности задачи","detail.close":"Закрыть детали","detail.more":"Действия задачи автоматизации","detail.nextRun":"Следующий запуск","detail.tabs":"Просмотр сведений о задаче","detail.rule":"Правила","detail.records":"Рекорды","delivery.empty":"Нет записи о доставке","delivery.loading":"Загрузка записей о доставке…","delivery.error":"Не удалось загрузить записи о доставке.","delivery.notFound":"Эта задача больше не доступна.","delivery.cursorError":"Записи обновлены.","delivery.retry":"Повторить попытку","delivery.refresh":"Обновить","delivery.loadMore":"Загрузить больше","delivery.expand":"Развернуть","delivery.collapse":"Свернуть","delivery.pruned":"Записи о предыдущих поставках удалены.","delivery.retention":"Правила хранения","delivery.retentionBounds":"Для каждой задачи сохраняется до {records} записей о доставке за последние {days} дней.","delivery.retentionExplanation":"При сохранении новой записи более старые записи, выходящие за эти пределы, автоматически удаляются. Очистка записей не останавливает выполнение задачи.","detail.name":"Название задачи автоматизации","detail.instruction":"Инструкция по задаче автоматизации","detail.status":"Статус","detail.next":"Следующее запланированное время","detail.frequency":"Частота","detail.id":"Идентификатор задачи","detail.session":"Связанный сеанс","detail.openSession":"Связанный сеанс: открыть исходный сеанс.","detail.openSessionTitle":"Связанный сеанс {title}: открыть исходный сеанс.","detail.sessionLoading":"Загрузка исходной информации о сеансе.","detail.sessionArchived":"Исходный сеанс архивируется.","detail.sessionUnavailable":"Исходный сеанс недоступен.","detail.missing":"Задача недоступна. Возможно, оно было удалено.","delivery.label":"Сохраненная запись о доставке","frequency.once":"Однажды","frequency.every":"Каждое {value} {unit}","timing.date":"Дата","timing.time":"Время","timing.hour":"Час","timing.minute":"минута","timing.second":"Второй","timing.prevMonth":"Предыдущий месяц","timing.nextMonth":"В следующем месяце","timing.zone":"Часовой пояс","timing.zoneSearch":"Поиск по смещению UTC, идентификатору IANA или городу.","timing.zoneNoResults":"Нет подходящих часовых поясов","timing.interval":"Повторяйте каждые","timing.intervalIncrease":"Увеличить интервал","timing.intervalDecrease":"Уменьшить интервал","timing.unit.hour":"часы","timing.unit.minute":"минуты","timing.unit.second":"секунды","timing.intervalHint.hour":"Минимум 1 час. Интервал отсчитывается с момента создания задачи или последнего изменения правила и не зависит от часовых поясов.","timing.intervalHint.minute":"Минимум 1 минута. Интервал отсчитывается с момента создания задачи или последнего изменения правила и не зависит от часовых поясов.","timing.intervalHint.second":"Минимум 60 секунд. Интервал отсчитывается с момента создания задачи или последнего изменения правила и не зависит от часовых поясов.","timing.zoneNoStored":"Одноразовая задача сохраняет только целевой момент, а не часовой пояс. Дата и время интерпретируются в выбранном часовом поясе.","timing.inactive":"Неактивные задачи доступны только для чтения. Их время не может быть отредактировано.","timing.conflict":"Эта задача изменилась во время редактирования. Ваш черновик сохранен. Отмените и снова откройте после обновления, чтобы изменить последнее правило.","timing.notFound":"Эта задача больше не доступна. Ваш черновик сохраняется; отмените, чтобы закрыть редактор.","timing.subagentSession":"Этот сеанс принадлежит субагенту, который никогда не получает напоминания.","timing.invalid":"Введите действительные дату и время или проверьте поля времени.","timing.invalidZone":"Введите действительный часовой пояс IANA, например Азия/Шанхай.","timing.notFuture":"Выберите дату и время в будущем.","timing.invalidInterval":"Введите интервал не менее 1 минуты.","timing.invalidInterval.hour":"Введите интервал не менее 1 часа.","timing.invalidInterval.minute":"Введите интервал не менее 1 минуты.","timing.invalidInterval.second":"Введите интервал не менее 60 секунд.","timing.error":"Не удалось подтвердить обновление времени. Ваш черновик сохранен. Проверьте задачу, прежде чем повторить попытку.","rule.title":"Время выполнения","rule.repeat":"Повторить","rule.weekday":"Будний день","rule.weekdayOption":"Будний день {weekday}","rule.unsaved":"Несохраненные изменения","rule.save":"Сохранить изменения","rule.saving":"Сохранение…","rule.cancel":"Отмена","rule.invalidTitle":"Введите имя задачи длиной не более 120 символов.","rule.invalidPrompt":"Введите инструкцию задачи.","rule.once":"Однажды","rule.everyMinutes":"Каждые N минут","rule.everyHours":"Каждые N часов","rule.everySeconds":"Каждые N секунд","rule.daily":"Каждый день","rule.weekdays":"С понедельника по пятницу","rule.weekly":"Еженедельно","rule.cron":"Пользовательский","rule.cronLabel":"Выражение Cron","rule.cronInvalid":"Введите выражение cron из пяти полей, например 0 9 * * 1-5.","cronForm.frequency":"Частота","cronForm.monthly":"Ежемесячно","cronForm.weekly":"Еженедельно","cronForm.daily":"Каждый день","cronForm.dates":"По датам","cronForm.dateOption":"День {day}","cronForm.atMinute":"В минуту","cronForm.minuteIncrease":"Увеличить минуту","cronForm.minuteDecrease":"Уменьшить минуту","rule.zone.system":"(система)","rule.error.conflict":"Эта задача изменилась до сохранения обновления. В строке отображается сохраненное правило; Попробуйте еще раз.","rule.error.notFound":"Эта задача больше не доступна.","rule.error.unknown":"Не удалось подтвердить обновление правил. В строке отображается сохраненное правило.","delete.action":"Удалить задачу","delete.title":"Удалить эту задачу?","delete.description":"Это останавливает запуск задачи и удаляет ее вместе с сохраненными записями о доставке. Исходный сеанс и его сообщения остаются; сообщения в очереди не изымаются.","delete.confirm":"Подтвердить удаление","delete.cancel":"Отмена","delete.close":"Закрыть подтверждение удаления","delete.pending":"Удаление…","toast.deleted":"Задача удалена.","toast.deleteFailed":"Не удалось удалить задачу.","card.open":"Открыть","card.openLabel":"Открыть сведения о задаче: {title}","card.deleted":"Удалено","tool.invoked":"Вызвано {name}","time.locale":"ru","time.utcPrefix":"UTC","frequency.daily":"Ежедневно в {time} ({timeZone})","frequency.dailyLocal":"Ежедневно в {time}","frequency.weekly":"Еженедельно по {weekdays} в {time} ({timeZone})","frequency.weeklyLocal":"Еженедельно по {weekdays} в {time}","frequency.cron":"Cron {expression} ({timeZone})","frequency.cronLocal":"Крон {expression}","frequency.cronRule":"{rule} ({timeZone})","cron.list.join":", ","cron.part.join":" ","cron.weekday.name":"{weekday}","cron.weekday.range":"{from}–{to}","cron.months":" через {months}","cron.day.every":"Каждый день{months}","cron.day.weekdays":"{weekdays}{months}","cron.day.monthDays":"День {days} каждого месяца {months}","cron.day.both":"День {days} каждого месяца или {weekdays}{months}","cron.day.bothStarred":"День {days} каждого месяца и {weekdays}{months}","cron.hours.range":"{from}–{to}","cron.hours.list":"{hours}","cron.time.everyMinute":"Каждую минуту","cron.time.everyMinutes":"Каждые {step} минут","cron.time.joinedEveryMinute":"каждую минуту","cron.time.joinedEveryMinutes":"каждые {step} минут","cron.time.everyHour":"Каждый час","cron.time.joinedEveryHour":"каждый час","cron.time.everyNHours":"Каждые {count} часов","cron.time.joinedEveryNHours":"каждые {count} часов","cron.time.hourlyAt":"Каждый час в минуту {minutes}","cron.time.joinedHourlyAt":"каждый час в минуту {minutes}","cron.time.hoursEveryMinute":"каждую минуту в течение часов {hours}","cron.time.hoursEveryMinutes":"каждые {step} минут в течение часов {hours}","cron.time.at":"в {times}","cron.time.hoursAt":"в минуту {minutes} часов {hours}","frequency.weekday.join":", ","frequency.weekday.1":"Пн.","frequency.weekday.2":"Вт","frequency.weekday.3":"ср.","frequency.weekday.4":"Чт","frequency.weekday.5":"Пт","frequency.weekday.6":"Суббота","frequency.weekday.7":"Солнце","unit.day.one":"день","unit.day.other":"дни","unit.hour.one":"час","unit.hour.other":"часы","unit.minute.one":"минута","unit.minute.other":"минуты","unit.second.one":"второй","unit.second.other":"секунды","relative.now":"Срок оплаты сейчас","relative.future":"в {value} {unit}","relative.overdue":"{value} {unit} просрочено"},"settings.account":{"modelSignInRequired":"Модель недоступна. Пожалуйста, войдите в систему и повторите попытку.","sessionExpired":"Вы вышли из своей учетной записи, пожалуйста, войдите снова.","onboardingArtworkLocale":"ru","onboardingWelcome":"Добро пожаловать в","onboardingBrand":"Ремень DeepSeek","onboardingIntroduction":"DeepSeek Harness работает в локальной папке и использует инструменты для чтения и записи файлов на вашем компьютере. Он может помочь вам исследовать и систематизировать информацию, создавать документы и таблицы, писать код, устранять неполадки и многое другое.","onboardingStart":"Начать","onboardingCredit":"Добавить кредиты","onboardingCreditDescription":"DeepSeek Harness взимает кредиты на основе токенов, используемых моделями и инструментами. Добавляйте кредиты заранее, чтобы ваши задачи выполнялись без перебоев. Ваш баланс используется только пока агент работает над задачей.","onboardingTopUp":"Добавить кредиты","onboardingLater":"Далее","onboardingFundedTopUp":"Добавить кредиты","onboardingPurposePrefix":"Чего бы ты хотел?","onboardingPurposeSuffix":"помочь?","onboardingPurposeDescription":"Мы адаптируем интерфейс и инструменты под ваш стиль работы.","onboardingOffice":"Офис и творческая работа","onboardingOfficeDescription":"Редактируйте документы, систематизируйте данные, создавайте презентации и многое другое.","onboardingDevelopment":"Кодирование и разработка","onboardingDevelopmentDescription":"Редактируйте код, устраняйте проблемы, запускайте команды, управляйте файлами проекта и многое другое.","onboardingContinue":"Продолжить","onboardingProcess":"Насколько подробно вы хотели бы увидеть?","onboardingProcessDescription":"Это меняет только то, как отображается прогресс, а не то, что может сделать DeepSeek Harness.","onboardingCompact":"Только результаты","onboardingCompactDescription":"Смотрите только результаты в понятном и простом интерфейсе","onboardingStandard":"Ключевые детали","onboardingStandardDescription":"Сосредоточьтесь на результатах, показывая только самые важные шаги и действия.","onboardingDetailed":"Полная информация","onboardingDetailedDescription":"Ознакомьтесь с полным процессом для упрощения отладки и устранения неполадок.","onboardingEnter":"Открыть приложение","onboardingBack":"Назад","onboardingSkip":"Пропустить","onboardingSkipTitle":"Пропустить настройку?","onboardingSkipDescription":"Вы можете изменить способ отображения прогресса, производительности и использования или включить инструменты программирования в любое время в «Настройки» → «Основные».","onboardingKeepSetting":"Продолжить настройку","onboardingNoCreditTitle":"Пропустить добавление кредитов?","onboardingNoCreditDescription":"DeepSeek Harness не может начинать новые задания без кредитов. Вы можете добавить их позже в «Настройки» → «Аккаунт».","onboardingUnderstood":"понял","onboardingGoTopUp":"Добавить кредиты","onboardingSaveFailed":"Не удалось сохранить настройки. Попробуйте еще раз.","onboardingRetry":"Повторить попытку","onboardingLoading":"Загрузка настроек…","close":"Закрыть","addApiKey":"Добавить ключ API","retry":"Войдите снова","loginTitle":"Начать","loginDescription":"Войдите в свою учетную запись DeepSeek или добавьте ключ API, чтобы начать. Ваши проекты и файлы хранятся локально.","browserTitle":"Ожидание входа в систему","browserPrompt":"Страница не открылась автоматически? ","copyLink":"Скопировать ссылку для входа","copiedLink":"Ссылка скопирована","copyFailed":"Не удалось скопировать","browserDescription":", затем откройте его в браузере, чтобы завершить вход.","timeoutTitle":"Время входа в систему истекло","timeoutDescription":"Войдите еще раз, чтобы продолжить.","failureTitle":"Не удалось войти в систему","platformFailed":"Не удалось завершить операцию. Попробуйте еще раз.","platformRetry":"Повторить попытку","loading":"Загрузка…","backToHarness":"Вернуться к ремням DeepSeek","settings":"Настройки","contactUs":"Обратная связь","menu":"Меню аккаунта","nav":"Аккаунт","signedIn":"Выполнен вход в DeepSeek","signedOut":"Не авторизован","signIn":"Войти","signOut":"Выйти","signOutUnknownDescription":"Не удалось проверить запущенные задачи. Выход из системы может прервать выполнение задач с использованием этой учетной записи. Выйти сейчас?","signOutDescription":"Выход из системы не приведет к удалению данных. Вы можете снова войти в эту учетную запись.","signOutRunningDescription":"Задачи в настоящее время выполняются. Выход из системы прервет их. Выйти сейчас?","cancel":"Отмена","open":"Открыть браузер","initializing":"Начинаем вход…","waiting":"Продолжить в браузере","completing":"Завершение входа…","expired":"Срок действия входа истек. Попробуйте еще раз.","failed":"Не удалось завершить операцию. Попробуйте еще раз.","noResponse":"Что-то пошло не так. Пожалуйста, проверьте сетевое соединение и повторите попытку.","settingsSignedOutTitle":"Вы не вошли в систему DeepSeek Harness.","settingsSignedOutDescription":"Войдите в DeepSeek Harness, чтобы получить специальный ключ API.","signInDescription":"Используйте свою учетную запись DeepSeek, чтобы начать.","profileUnavailable":"Детали аккаунта пока недоступны.","balance":"Пополненный баланс","bonusBalance":"Предоставленный баланс","balanceUnavailable":"Посмотреть на платформе","balanceSignedOut":"Войдите, чтобы просмотреть","accountInfo":"Дополнительная информация об аккаунте","more":"Подробнее","usage":"Посмотреть использование","topUp":"Пополнить","quotaTitle":"Нет доступного баланса","quotaDescription":"DeepSeek Harness не может начать новую задачу с этой учетной записью, если на ней нет доступного баланса. Хотите пополнить счет? Вы также можете пополнить счет позже в «Настройки» → «Аккаунт».","quotaTopUp":"Пополнить","bonusNoticeTitle":"Бонус начислен"},"settings.agentLoop":{"title":"Цикл агента","description":"Управляйте тем, как агент распределяет вызовы инструментов.","maxParallel":"Параллельные вызовы инструментов","maxParallelHint":"Верхняя граница параллельных безопасных вызовов, выполняемых одновременно в течение одного шага.","overridden":"Переопределено","reset":"Сбросить настройки по умолчанию","readOnly":"В этом развертывании параметры сохраняются только для чтения.","unavailable":"Этот плагин не загружен, поэтому его невозможно настроить прямо сейчас.","save":"Сохранить","saving":"Сохранение…","saveFailed":"Развертывание не приняло эти значения; их оставили вам на исправление.","invalidNumber":"Введите число или оставьте поле пустым, чтобы использовать значение по умолчанию."},"settings":{"trigger":"Настройки","shortcut.open":"Открыть настройки","desktop.update.available":"Обновить","desktop.update.checking":"Проверка обновлений…","desktop.update.progress":"{percent} %","desktop.update.verifying":"Проверка файлов обновлений…","desktop.update.installing":"Подготовка к перезапуску…","desktop.update.ready":"Установить и перезапустить","desktop.update.retry":"Повторить обновление","desktop.update.versionDetail":"{label}: {version}","desktop.update.downloadDetail":"Downloading update: {percent}%\nTarget version: {version}","desktop.update.checkFailed":"Не удалось проверить наличие обновлений. Пожалуйста, повторите попытку позже.","desktop.update.downloadFailed":"Не удалось загрузить обновление. Пожалуйста, попробуйте еще раз.","desktop.update.installFailed":"Не удалось установить обновление. Пожалуйста, повторите попытку позже.","desktop.update.checkNetworkFailed":"Не удалось проверить наличие обновлений. Проверьте подключение и повторите попытку.","desktop.update.downloadNetworkFailed":"Не удалось загрузить обновление. Проверьте подключение и повторите попытку.","desktop.update.installNetworkFailed":"Не удалось установить обновление. Проверьте подключение и повторите попытку.","desktop.update.stopFailed":"Не удалось безопасно остановить выполнение задач. Обновление не установлено. Пожалуйста, повторите попытку позже.","desktop.update.tasksChanged":"Начались новые задачи. Подтвердите еще раз, чтобы остановить выполнение задач и выполнить обновление.","desktop.update.tasksUnavailable":"Статус задачи недоступен. Попробуйте обновить еще раз, когда рабочая область будет готова.","title":"Настройки","close":"Закрыть","openDocument":"Открыть файл конфигурации","openDocument.error":"Не удалось открыть файл конфигурации","general.nav":"Общий","general.currentVersion":"Текущая версия: {version}","developerTools.title":"Показать представление кодирования","developerTools.error":"Не удалось сохранить. Пожалуйста, попробуйте еще раз.","developerTools.description":"Показывает траекторию, различия в коде и все настройки агента.","connection.error":"Отключено","connection.connecting":"Повторное подключение","connection.connected":"Подключено","connection.reconnect":"Соединение отключено, подключитесь снова сейчас","connection.restart":"Повторное подключение, повторное подключение сейчас","hostRelease.title":"Версия сервиса изменена","hostRelease.description":"Версия сервиса изменилась. На этой странице приостановлены текущие обновления; перезагрузите, чтобы загрузить новую версию.","hostRelease.service":"Сервис","hostRelease.page":"Страница","hostRelease.unknown":"Неизвестно","hostRelease.reload":"Перезагрузите, чтобы загрузить новую версию","hostRelease.later":"Не сейчас"},"settings.models":{"nav":"Модели","deepSeekAccount":"Аккаунт DeepSeek","title":"Модели","intro":"Введите ключи API, чтобы использовать модели от следующих поставщиков.","edit":"Редактировать","editProvider":"Изменить {provider}","remove":"Удалить","removeProvider":"Удалить {provider}","deleteTitle":"Удалить {provider}?","deleteDescription":"При удалении {provider} удаляется его конфигурация. Любые учетные данные, которые он использует, управляются где-то еще и будут сохранены.","deleteDescriptionWithCredential":"При удалении {provider} удаляется его конфигурация и сохраненный ключ API.","deleteConfirm":"Удалить {provider}","deleting":"Удаление {provider}…","add":"Добавить поставщика моделей","addMode":"Как добавить","addCatalog":"Сторонний поставщик моделей","addCustom":"API пользовательской модели","addCatalogHint":"Выберите OpenAI, Anthropic, Kimi или другого провайдера из встроенного каталога и введите его API-ключ.","addCustomHint":"Подключите реле, автономный сервер или любую другую конечную точку, совместимую с OpenAI или Anthropic, по ее базовому URL-адресу, протоколу и модели.","addCatalogExhausted":"Каждый поставщик каталога уже настроен.","addCustomUnavailable":"Ни один протокол API не доступен для объявления.","provider":"Поставщик","close":"Закрыть","cancel":"Отмена","apply":"Применить","applying":"Применение…","savedProvider":"Сохранен {provider}.","credentialConfigured":"Ключ API настроен","credentialMissing":"Ключ API отсутствует","accountSignedIn":"Вошёл в систему","readOnly":"В этом развертывании документ настроек доступен только для чтения.","loadFailed":"Не удалось загрузить каталог поставщика","conflict":"Кто-то другой изменил эти настройки, пока эта карточка была открыта. Закройте его и откройте снова, чтобы редактировать текущие значения.","retry":"Повторить попытку","keyInput":"API-ключ","keyReveal":"Показать секрет","keyHide":"Скрыть секрет","keyPlaceholder":"Введите свой ключ API","keyPlaceholderFallback":"Оставьте пустым, чтобы использовать env в качестве аутентификации ({hint})","keyPlaceholderSaved":"Оставьте поле пустым, чтобы использовать сохраненные учетные данные.","keyFallbackMissing":"Переменная Env не обнаружена. Введите ключ API или настройте {hint} в своей среде.","keyFallbackDetected":"Обнаружена переменная Env. ({hint})","keyFallbackDetectedHidden":"Обнаружена переменная Env.","keyFallbackUnchecked":"Статус экологической сертификации не подтвержден.","keyHelp":"Сохраненные учетные данные используются в первую очередь. Здесь показаны резервные варианты среды в следующем порядке: {env}. Источниками являются среда запуска, $cwd/.env, затем $DSH_HOME/.env.","authHelp":"Детали аутентификации","customized":"Индивидуальные настройки","baseUrl":"Базовый URL","baseUrlDefault":"Нет конечной точки по умолчанию","baseUrlEnvironment":"Конфигурация конечной точки поставщика: {env}","baseUrlConfigured":"Конечная точка, настроенная поставщиком","baseUrlPlaceholder":"{url}","deepSeekBaseUrl":"https://api.deepseek.com/anthropic (по умолчанию используется DEEPSEEK_BASE_URL)","deepSeekEndpointHint":"Используйте конечную точку API, совместимую с антропными сообщениями.","models":"Модели","modelsInherited":"Использование настроек адаптера по умолчанию","modelsCustomized":"Индивидуальный каталог моделей","resetModels":"Восстановить настройки по умолчанию","model":"Модель","modelId":"Идентификатор модели","modelName":"Отображаемое имя","modelNamePlaceholder":"Использует идентификатор модели, когда он пуст","contextWindow":"Контекстное окно","contextWindowPlaceholder":"Использует поставщика по умолчанию","maxTokens":"Максимальное количество выходных токенов","maxTokensPlaceholder":"Использует поставщика по умолчанию","modelAdvanced":"Варианты модели","modelInputTypes":"Типы ввода","modelInputText":"Текст","modelInputImage":"Изображение","modelReasoning":"Уровни рассуждения","modelReasoningLevel":"Уровень","modelReasoningValue":"Значение API","modelReasoningHelp":"Об уровнях рассуждения","modelReasoningHelpText":"Значение API отправляется в поле Reasoning-effort запроса, например, в поле Reasoning_effort OpenAI. По умолчанию используется имя уровня; если в документации API поставщика модели указано другое значение, следуйте ему. Off отключает рассуждения и не требует значения; значение, уже записанное в конфигурации, сохраняется и отправляется.","modelReasoningNeedsLevel":"Добавьте хотя бы один уровень помимо «Выкл.» или отключите уровни рассуждения.","modelReasoningValueRequired":"Каждому уровню, кроме «Выкл.», требуется значение API, и ни одно значение не может быть пустым.","modelReasoningAdd":"Добавить уровень","modelReasoningRemove":"Удалить уровень","modelReasoningOffValuePlaceholder":"Отключает рассуждения","addModel":"Добавить модель","removeModel":"Удалить модель","modelsEmpty":"В селекторе не будут показаны модели. Неуказанные идентификаторы по-прежнему можно отправлять напрямую.","keyBlank":"Введите ключ API или оставьте поле пустым, чтобы сохранить сохраненный.","keyBlankNew":"Введите ключ API или оставьте поле пустым, если этот провайдер выполняет аутентификацию другим способом.","keyIllegalCharacters":"Этот ключ API имеет недопустимый формат. Пожалуйста, проверьте это.","modelIdRequired":"Требуется идентификатор модели.","modelIdDuplicate":"Идентификатор модели должен быть уникальным.","modelNameInvalid":"Отображаемое имя не может быть пустым.","modelContextInvalid":"Контекстное окно должно иметь положительное значение, например 131072, 256 КБ или 1 М.","modelMaxTokensInvalid":"Максимальное количество выходных токенов должно иметь положительное значение, например 8192, 64 КБ или 1 М.","advancedHint":"Остальные поля находятся в файле cordis.patch.yml; отредактируйте этот раздел напрямую.","modelCapacityInvalid":"Емкость должна быть числом, возможно с суффиксом K или M.","modelDuplicate":"Каждый идентификатор модели может появиться один раз.","fetchModels":"Получить доступные модели","fetching":"Спросил у провайдера...","fetchNeedsBaseUrl":"Сначала введите базовый URL-адрес, а затем извлеките его.","fetchEmpty":"Поставщик не указал моделей. Добавьте их вручную.","fetchTitle":"Выберите модели для добавления","fetchDescription":"Это модели, доступные у этого поставщика. Выберите те, которые хотите добавить.","fetchSearch":"Поиск моделей","fetchNoMatches":"Нет подходящих моделей.","fetchSelectAll":"Выбрать все","fetchDeselectAll":"Отменить выбор всех","fetchAdopt":"Добавить выбранное","customTag":"Пользовательский","customRoute":"Идентификатор поставщика","customRouteHint":"Идентификатор в нижнем регистре, начинающийся с буквы, который уникально называет этого поставщика в запросах и в качестве его учетного имени.","customRouteInvalid":"Начните со строчной буквы; затем строчные буквы, цифры и тире.","customRouteTaken":"Поставщик уже использует этот идентификатор.","customDisplayName":"Отображаемое имя","customApi":"API-протокол","customApiUnset":"Не выбрано","protocolOpenAiCompletions":"Завершения чата OpenAI","protocolOpenAiResponses":"Ответы OpenAI","protocolAnthropicMessages":"Антропные сообщения","customNeedsBaseUrl":"Пользовательскому поставщику нужен базовый URL-адрес.","customBaseUrlInvalid":"Введите действительный URL-адрес HTTP или HTTPS.","customNeedsModels":"Пользовательскому поставщику нужна хотя бы одна модель.","customBaseUrlPlaceholder":"https://gateway.example/v1","customAnthropicBaseUrlPlaceholder":"https://шлюз.пример","settingsPathUnresolvable":"неразрешимый путь настроек","create":"Создать поставщика","creating":"Создание…","welcomeTitle":"Уведомление о предварительном просмотре","welcomeBody":"DeepSeek Harness 0.2 is still in preview, and many areas need continued improvement and refinement. We welcome feedback and suggestions from all developers and users. The new desktop app now targets a broad range of users, while developer-related advanced features can be enabled in the settings. DeepSeek Harness’s product features and plugin APIs are expected to continue rapid iteration and evolution, and will gradually stabilize over time.\n\nWe look forward to exploring the limits of intelligence together with users and developers around the world, building on open-source, reusable, and composable infrastructure. We welcome everyone to bring their ideas to life with DeepSeek Harness and participate in the community to enrich the plugin ecosystem.","welcomeContinue":"Продолжить","welcomeError":"Не удалось сохранить подтверждение. Пожалуйста, попробуйте еще раз.","onboardingTitle":"Добавьте ключ API, чтобы начать","onboardingDescription":"Настройте официального провайдера DeepSeek, чтобы начать сборку.","onboardingLater":"Настроить позже","onboardingSave":"Сохранить и продолжить","onboardingSaving":"Сохранение…","keyRequired":"Введите ключ API, чтобы продолжить."},"settings.pluginInventory":{"tab":"Список плагинов","loading":"Чтение плагинов…","clientSyncing":"Синхронизация плагинов на этой странице…","clientSyncFailed":"Некоторые плагины не смогли синхронизироваться на этой странице. Включение хоста не изменилось.","clientSyncRetry":"Повторить эту страницу","error":"Плагины временно недоступны.","metadataError":"Ошибка метаданных пакета: {error}","retry":"Повторить попытку","search":"Поиск плагинов","empty":"Нет доступных плагинов.","emptySearch":"Нет подходящих плагинов.","presetTitle":"Плагины сеансов","presetSubtitle":"Составляется за сеанс с помощью предустановок агента","switcherLabel":"Выберите предустановку агента для проверки","presetOptionDefault":"{name} (по умолчанию)","presetOptionBroken":"{name} (не удалось загрузить)","globalTitle":"Глобальные плагины","globalSubtitle":"Совместно используется системой и каждым сеансом","presetProvidedDetail":"Отключено глобально; предустановки агента предусматривают это за сеанс","enabledIn":"Включено в","matchesInOtherPresets":"Еще {count} совпадений в других пресетах: ","enabledTag":"Включено","disabledTag":"Отключено","conditionalTag":"Условный","presetEnabledTag":"Через пресеты","failedTag":"Не удалось","moduleLabel":"Модуль","fromPreset":"От","condition":"Отключено, когда","configuration":"Конфигурация","runtime":"Статус","unobserved":"Не работает","pending":"Ожидание зависимостей","loadingPhase":"Загрузка","active":"Бег","failed":"Не удалось запустить","unloading":"Разгрузка"},"settings.plugins":{"nav":"Встроенные плагины","title":"Встроенные плагины","intro":"Проверьте плагины, поставляемые в этом развертывании.","tabs":"Просмотры плагинов","empty":"Это развертывание не предоставляет никаких представлений плагинов."},"settings.sessionLog":{"title":"Загрузить журнал сеансов при использовании официального API модели.","description":"Помогите улучшить модели и продукты DeepSeek.","saved":"Предпочтение сохранено.","failed":"Не удалось сохранить предпочтения."},"settings.shell":{"title":"Ракушка","description":"Ограничьте продолжительность выполнения каждой команды и объем вывода.","timeoutMs":"Таймаут команды (мс)","timeoutMsHint":"Как долго может выполняться одна команда до ее завершения.","maxOutputBytes":"Ограничение вывода на поток (байты)","maxOutputBytesHint":"Вывод, выходящий за пределы этого, сохраняется во временный файл, а не теряется.","overridden":"Переопределено","reset":"Сбросить настройки по умолчанию","readOnly":"В этом развертывании параметры сохраняются только для чтения.","unavailable":"Этот плагин не загружен, поэтому его невозможно настроить прямо сейчас.","save":"Сохранить","saving":"Сохранение…","saveFailed":"Развертывание не приняло эти значения; их оставили вам на исправление.","invalidNumber":"Введите число или оставьте поле пустым, чтобы использовать значение по умолчанию."},"settings.subagent":{"overridden":"Переопределено","reset":"Сбросить настройки по умолчанию","readOnly":"В этом развертывании параметры сохраняются только для чтения.","unavailable":"Этот плагин не загружен, поэтому его невозможно настроить прямо сейчас.","save":"Сохранить","saving":"Сохранение…","saveFailed":"Развертывание не приняло эти значения; их оставили вам на исправление.","subagentTitle":"Субагент","subagentDescription":"Установите глубину рекурсии субагента, количество и модели.","subagentLimitsTitle":"Пределы","subagentMaxDepth":"Максимальная глубина рекурсии","subagentDepthHelpLabel":"О максимальной глубине рекурсии","subagentDepthHelp":"Ограничивает количество уровней субагентов, которые может создать агент.","subagentDepthZero":"Отключить субагенты","subagentDepthOne":"Только главный агент может создавать субагентов.","subagentDepthOverride":"Если инструмент определяет собственную максимальную глубину рекурсии, этот параметр имеет приоритет.","subagentMaxActive":"Предел параллелизма субагентов","subagentCapacityHelpLabel":"О пределе параллелизма субагентов","subagentCapacityHelp":"Общее количество действующих субагентов под одним и тем же основным агентом на всех уровнях рекурсии. Главный Агент исключен. Новые запросы на запуск отклоняются при достижении лимита.","subagentDepthInvalid":"Введите целое число от 0 или более.","subagentCapacityInvalid":"Введите целое число от 1 или более.","subagentModelSelectionTitle":"Выбор модели","subagentModelSelectionToggle":"Разрешить агентам выбирать модели для субагентов","subagentModelSelectionChoose":"Если этот параметр включен, агенты могут выбирать поставщика, модель и усилия по обоснованию для каждого субагента из авторизованных моделей, указанных ниже. Применяется только к новым сеансам.","subagentModelSelectionAllowed":"Модели агенты могут выбирать","subagentModelSelectionLoading":"Загрузка моделей…","subagentModelSelectionLoadFailed":"Не удалось загрузить модели.","subagentModelSelectionRetry":"Повторить попытку","subagentModelSelectionPartial":"Некоторые поставщики моделей не удалось загрузить; сохраненные варианты остаются съемными.","subagentModelSelectionUnavailable":"В настоящее время недоступен","subagentModelSelectionUnavailableGroup":"Сохранено, но сейчас недоступно","subagentModelSelectionEmpty":"Ни один поставщик моделей в настоящее время не рекламирует модель.","subagentModelSelectionRequired":"Прежде чем сохранить, выберите хотя бы одну модель.","subagentModelSelectionConflict":"Настройки изменены в другом месте. Отмените черновик и повторите попытку.","subagentModelSelectionOff":"Субагенты используют настроенные значения по умолчанию или наследуют модель родительского агента. Сохраненные варианты моделей сохраняются."},"settings.webSearch":{"title":"Веб-поиск","description":"Настройте поисковую систему DeepSeek.","useSearchApi":"Используйте новый API веб-поиска","useSearchApiHint":"По умолчанию отключено: поиск осуществляется через сообщения DeepSeek. Информацию о функциях и ценах нового API веб-поиска см. ","searchGuide":"Руководство по поиску и получению","searchGuideUrl":"https://api-docs.deepseek.com/guides/search","apiKey":"API-ключ","apiKeyHint":"Хранится вне файла настроек. Оставьте пустым, чтобы сохранить текущий ключ.","apiKeySet":"Ключ настроен.","apiKeyUnset":"Ключ не настроен; только разговоры, использующие модель учетной записи DeepSeek, могут осуществлять поиск через конечную точку по умолчанию.","baseUrl":"Базовый URL-адрес API сообщений","baseUrlHint":"Добавьте префикс API, например https://api.deepseek.com/anthropic/v1. Поставщик добавляет /messages. Оставьте пустым, чтобы восстановить значение по умолчанию.","searchApiBaseUrl":"Поиск/извлечение базового URL-адреса API","searchApiBaseUrlHint":"Включите префикс API, например https://api.deepseek.com/v1/tools. Поставщик добавляет /search или /fetch. Оставьте пустым, чтобы восстановить значение по умолчанию.","maxUses":"Максимальное количество запросов на запрос","maxUsesHint":"Сколько поисков вспомогательная модель может выполнить в рамках одного запроса сообщений. Применяется только к API сообщений.","count":"Результаты по поиску","countHint":"Результаты, возвращаемые по запросу: целое число от 1 до 50, по умолчанию 10. Это контролирует количество результатов, а не поисковые вызовы. web_search хранит не больше источников, чем его собственный лимит результатов.","overridden":"Переопределено","reset":"Сбросить настройки по умолчанию","readOnly":"В этом развертывании параметры сохраняются только для чтения.","unavailable":"Этот плагин не загружен, поэтому его невозможно настроить прямо сейчас.","save":"Сохранить","saving":"Сохранение…","saveFailed":"Развертывание не приняло эти значения; их оставили вам на исправление.","invalidNumber":"Введите число или оставьте поле пустым, чтобы использовать значение по умолчанию.","invalidCount":"Введите целое число от 1 до 50 или оставьте поле пустым, чтобы использовать значение по умолчанию."},"shortcuts":{"edit-label":"Изменить ярлык для {command}","record":"Нажмите ярлык","record-help":"Отпустите клавиши для сохранения. Tab перемещается между действиями; Esc отменяет.","web-help":"Комбинации браузера: Mod+/, Mod+Shift+, Mod+Shift+.. Mod — это команда на Mac, а в других местах — Ctrl.","unsupported-key":"Этот ключ не поддерживается.","reserved":"Эта комбинация зарезервирована для системных действий или действий по редактированию текста.","modifier-required":"Включите в комбинацию Command, Ctrl или Alt.","too-many-keys":"Удерживайте не более двух немодифицирующих клавиш. Отпустите клавиши, чтобы повторить попытку.","macos-web-help":"Используйте Command+/, Command+,, Command+обратная косая черта, Control+обратная кавычка, Command+Option+клавиша или Command+Shift+клавиша. Также поддерживаются комбинации с тремя или четырьмя различными модификаторами. Ярлыки браузера или системы могут не доходить до страницы.","windows-web-help":"Используйте Ctrl+/, Ctrl+, Ctrl+Alt+клавиша или Ctrl+Shift+клавиша. Также поддерживаются комбинации с тремя или четырьмя различными модификаторами. Ярлыки браузера или системы могут не доходить до страницы.","unsupported-browser":"Этот браузер пока не поддерживает эту комбинацию.","conflict":"Уже используется «{commands}»","saved":"Модифицированный","clear":"Удалить","retry-save":"Повторить попытку сохранения","reset":"Восстановить настройки по умолчанию","reset-all":"Восстановить все настройки по умолчанию","modified-count":"{count} настроено","reset-title":"Восстановить все ярлыки по умолчанию?","reset-description":"Восстановите ярлыки по умолчанию для этой платформы. Все измененные или удаленные ярлыки будут восстановлены. Другие платформы не затронуты.","cancel":"Отмена","reset-saved":"Ярлыки по умолчанию восстановлены.","close-confirmation":"Закрыть подтверждение","reset-failed":"Не удалось восстановить настройки по умолчанию. Ваши ярлыки не изменились. Пожалуйста, повторите попытку.","review":"Я рассмотрел последнюю конфигурацию","stale":"Конфигурация ярлыка или доступные команды изменены. Перед сохранением просмотрите последние привязки.","write-failed":"Не удалось сохранить. Ваши предыдущие ярлыки и текущий черновик сохраняются. Пожалуйста, повторите попытку.","not-ready":"Ярлыки не готовы. Пожалуйста, попробуйте еще раз.","read":"Не удалось прочитать {location}. Проверьте права доступа, затем {reload}.","invalid":"Конфигурация ярлыка в {location} повреждена. Создайте резервную копию и исправьте эту конфигурацию, затем {reload}.","future":"Конфигурация ярлыка в {location} создана в более новой версии. Обновите Harness и повторите попытку.","web-document":"запись localStorage этого сайта dsh.keybindings.v1","desktop-document":"userData/keybindings.json","web-reload":"перезагрузить страницу","desktop-reload":"перезапустить Harness","using-defaults":"Привязки по умолчанию активны.","using-accepted":"Последние успешно прочитанные привязки остаются активными.","native-failed":"Не удалось защитить запись клавиш рабочего стола. Выйдите из записи и повторите попытку.","global-hint":"Открыто из любого места","clear-search":"Очистить поиск","title":"Сочетания клавиш","open":"Открытие сочетаний клавиш","settings":"Сочетания клавиш","view":"Редактировать ярлыки","description":"Просмотр и редактирование доступных ярлыков и действий ввода","search":"Поиск ярлыков","close":"Закрыть сочетания клавиш","application":"Приложение","input":"Ввод сообщения","menus":"Меню и диалоги","approval":"Область утверждения","unbound":"Нет ярлыка","empty":"Нет подходящих ярлыков","move":"Переместить выбор меню","select":"Выберите пункт меню","dismiss":"Закрыть меню или верхний диалог"},"sidebar":{"session.new":"Новая сессия","session.new.label":"Новая сессия","toggle.open":"Открыть боковую панель","toggle.collapse":"Свернуть боковую панель","panels.label":"Глобальные панели","panels.more":"Подробнее"},"sidebarBrowser":{"type.label":"Браузер","guide.title":"Браузер","guide.description":"Просмотр веб-страниц","shortcut.noSession":"Сначала откройте сеанс","address.placeholder":"Введите HTTP(S)-адрес","address.changed":"URL-адрес изменен","back":"Назад","forward":"Вперед","reload":"Перезагрузить","go":"Иди","external":"Открыть в системном браузере","sandbox.disable":"Отключить ограничения песочницы","sandbox.enable":"Восстановить ограничения песочницы","sandbox.warning":"Ограничения песочницы отключены; страница может перемещаться по приложению верхнего уровня и использовать загрузки, модальные диалоговые окна и блокировки ввода.","start":"Введите адрес HTTP(S), чтобы начать просмотр.","loading":"Открытие…","restore.previous":"Ранее открыто","restore.action":"Восстановить страницу","error.empty":"Введите адрес.","error.invalid":"Этот адрес недействителен или слишком длинный.","error.protocol":"Поддерживаются только адреса HTTP и HTTPS; используйте предварительный просмотр документа для локальных файлов.","error.credentials":"Адреса не могут содержать имя пользователя или пароль.","error.application-origin":"Встроенный браузер не может открыть само приложение DSH.","load.failed":"Страница не может загрузиться; перезагрузите или откройте его в системном браузере.","load.failed.detail":"Не удалось загрузить страницу ({code}): {description}","address.unknown":"Страница перемещалась; этот оператор связи не может прочитать свой новый URL-адрес."},"documentMarkdown":{"viewer.label":"Уценка","code.copy":"Копировать","code.copied":"Скопировано","footnotes":"Сноски"},"documentHtml":{"title":"HTML","frame":"Предварительный просмотр HTML-документа","loading":"Оформление документа...","failed":"Этот HTML-документ не удалось просмотреть."},"sidebarImage":{"title":"Изображение","preview":"Предварительный просмотр изображения: {name}","loading":"Оформление документа...","failed":"Это изображение не может быть отображено.","unsupported":"Для предварительного просмотра изображения требуется полное содержимое файла.","zoomControls":"Элементы управления масштабированием","zoomMenu":"Выберите масштаб","zoomOut":"Уменьшить масштаб","zoomIn":"Увеличить масштаб","zoomFitWidth":"Подходит по ширине","zoomValue":"{percent} %"},"sidebarPdf":{"title":"PDF","pageImage":"PDF-страница {page}","loading":"Оформление документа...","rendering":"Отображение страницы…","failed":"Невозможно отобразить PDF: {message}","password":"Для этого PDF-файла требуется пароль; предварительный просмотр, защищенный паролем, не поддерживается.","workerFailed":"Процесс рендеринга PDF не может быть продолжен. Пожалуйста, повторите попытку.","unsupported":"Для предварительного просмотра PDF требуется полное содержимое файла.","retry":"Повторить попытку","zoomControls":"Элементы управления масштабированием","zoomMenu":"Выберите масштаб","zoomOut":"Уменьшить масштаб","zoomIn":"Увеличить масштаб","zoomFitWidth":"Подходит по ширине","zoomValue":"{percent} %"},"sidebarCodePreview":{"title":"электронная таблица","language":"ru","loading":"Оформление документа...","invalid":"Эту таблицу невозможно открыть. Проверьте его формат, содержимое или защиту паролем.","tooLarge":"Размер этой книги превышает ограничение на размер предварительного просмотра.","timeout":"Время открытия этой книги истекло. Попробуйте файл меньшего размера.","encoding":"Эту текстовую кодировку невозможно прочитать. Сохраните файл как UTF-8 или UTF-16 со спецификацией и повторите попытку.","formulaWarning":"В этой рабочей тетради есть формулы. Отображаемые результаты могут отсутствовать или быть неточными.","unsupportedNotice":"Эта предварительная версия не поддерживает {features} в этой книге. Откройте его в системном приложении, чтобы оценить все возможности.","charts":"графики","images":"изображения","shapes":"формы","conditionalFormatting":"условное форматирование","featureSeparator":", ","retry":"Повторить попытку","copy":"Копировать","copied":"Скопировано"},"sidebarOffice":{"title":"Офисный документ","loading":"Оформление документа...","retry":"Повторить попытку","viewMissingFonts":"Отсутствуют шрифты: {count}. Нажмите, чтобы просмотреть.","missingFontsTitle":"Отсутствуют шрифты","missingFontsDescription":"Эти шрифты недоступны для этой предварительной версии. Текст и оформление могут отличаться от исходного документа.","missingFontsCount":"Шрифты: {count}","closeDetails":"Закрыть сведения о шрифте","unavailable":"Предварительные версии Office недоступны. Включите службу предварительного просмотра документов на компьютере, на котором работает DeepSeek Harness.","invalid":"Этот файл Office нельзя просмотреть. Возможно, он поврежден, защищен паролем или имеет неправильное расширение.","tooLarge":"Размер файла Office или преобразованного PDF-файла превышает ограничение на размер предварительного просмотра. Уменьшите размер файла или настройте конфигурацию предварительного просмотра.","failed":"Преобразование Office не привело к созданию пригодного для использования PDF-файла. Проверьте файл и повторите попытку.","timeout":"Время преобразования Office истекло. Попробуйте еще раз.","busy":"Предварительная версия Office занята. Повторите попытку через некоторое время.","changed":"Файл изменился во время чтения. Снова откройте предварительный просмотр."},"sidebarExcel":{"title":"электронная таблица","language":"ru","loading":"Оформление документа...","invalid":"Эту таблицу невозможно открыть. Проверьте его формат, содержимое или защиту паролем.","tooLarge":"Размер этой книги превышает ограничение на размер предварительного просмотра.","timeout":"Время открытия этой книги истекло. Попробуйте файл меньшего размера.","encoding":"Эту текстовую кодировку невозможно прочитать. Сохраните файл как UTF-8 или UTF-16 со спецификацией и повторите попытку.","formulaWarning":"В этой рабочей тетради есть формулы. Отображаемые результаты могут отсутствовать или быть неточными.","unsupportedNotice":"Эта предварительная версия не поддерживает {features} в этой книге. Откройте его в системном приложении, чтобы оценить все возможности.","charts":"графики","images":"изображения","shapes":"формы","conditionalFormatting":"условное форматирование","featureSeparator":", ","retry":"Повторить попытку"},"sidebarDocumentPreview":{"loading":"Оформление документа...","loadMore":"Загрузить больше","changed":"Файл изменился, показывая предыдущее содержимое.","reloadNow":"Перезагрузить","reload":"Прочтите файл еще раз","autoRefresh":"Автоматическое обновление","autoRefresh.enable":"Включить автоматическое обновление","autoRefresh.disable":"Отключить автоматическое обновление","wrap.enable":"Включить перенос строк","wrap.disable":"Отключить перенос строк","wrap.aria":"Перенос строки","openWith":"Открыть с помощью","viewer.text":"Обычный текст","resourceUnavailable":"Служба файловых ресурсов недоступна.","rendererUnavailable":"Предварительный просмотр {name} недоступен.","unsupportedFile":"Предварительный просмотр для этого типа файлов пока недоступен.","error.notFound":"Файл не найден. Возможно, оно было перемещено или удалено.","error.tooLarge":"Эта страница превышает лимит {limit} и не может быть прочитана.","error.notText":"Предварительный просмотр для этого типа файлов пока недоступен.","error.notRegularFile":"Не обычный файл, отображать нечего.","error.unavailable":"Не удалось прочитать: {message}","retry":"Повторить попытку"},"sidebarFiles":{"shortcut.noSession":"Сначала выберите сеанс","type.label":"Файлы","guide.title":"Файлы рабочей области","guide.description":"Просмотр файлов в рабочей области этого сеанса","loading":"Чтение…","empty":"Пустой каталог","truncated":"Слишком много записей, показаны только некоторые из них.","noWorkspace":"В этом сеансе нет каталога рабочей области.","reload":"Перезагрузить","autoRefresh":"Автоматическое обновление","autoRefresh.enable":"Включить автоматическое обновление","autoRefresh.disable":"Отключить автоматическое обновление","entry.other":"Это не файл и не каталог, поэтому его нельзя открыть.","error.notFound":"Этот каталог исчез. Возможно, оно было перемещено или удалено.","error.outsideWorkspace":"Этот каталог находится за пределами рабочей области, поэтому боковая панель его не читает.","error.notDirectory":"Это не каталог.","error.unavailable":"Не удалось прочитать: {message}"},"sidebarRight":{"command.close":"Закрыть текущую страницу или окно","command.refresh":"Обновить текущую страницу","command.noRefresh":"Эту страницу невозможно обновить","command.toggle":"Переключить правую боковую панель","command.fullscreen":"Переключить панель в полноэкранный режим","command.noSession":"Сначала выберите сеанс","command.noFocus":"Сначала сфокусируйтесь на правой боковой панели","command.stale":"Страница изменилась; сосредоточься еще раз","command.collapsed":"Сначала разверните правую боковую панель","command.float":"Это действие недоступно на плавающей панели.","command.empty":"Сначала откройте страницу","command.budget":"Две панели — это предел","command.width":"Недостаточно ширины для разделения, расширьте боковую панель","chrome.expand":"Открыть боковую панель","chrome.expandAria":"Открыть правую боковую панель","chrome.collapse":"Свернуть боковую панель","chrome.collapseAria":"Свернуть правую боковую панель","chrome.toFullscreen":"Полноэкранный режим","chrome.exitFullscreen":"Выйти из полноэкранного режима","dock.emptyPane":"Пустая панель","dock.splitPane":"Сплит","dock.splitPaneDisabled":"Две панели — это предел","dock.splitPaneNarrow":"Недостаточно ширины для разделения, расширьте боковую панель","dock.closeTab":"Закрыть","dock.addTab":"Новая вкладка","dock.dockFloat":"Отправить обратно на боковую панель","dock.closeFloat":"Закрыть","dock.drop.center":"Переместитесь сюда","dock.drop.left":"Добавить левый сплит","dock.drop.right":"Добавить правое разделение","dock.drop.top":"Добавить верхнее разделение","dock.drop.bottom":"Добавить нижний разрез","tab.guide.title":"Старт","tab.guide.more":"Дополнительные инструменты","tab.unavailable":"Ничто здесь пока не может просматривать такой контент."},"sidebarTerminal":{"shortcut.noSession":"Сначала выберите сеанс","recoveryFailed":"Восстановление терминала не удалось: {message}","retryRecovery":"Повторить попытку восстановления терминала","shell":"Выбрать оболочку","shellLoading":"Загрузка снарядов…","shellEmpty":"Нет доступных ракушек","description":"Запуск команд в рабочей области сеанса","title":"Терминал","new":"Новый терминал","loading":"Чтение среды терминала…","creating":"Начало…","connecting":"Подключение…","disconnected":"Отключено.","reconnect":"Восстановить соединение","readonly":"Это представление доступно только для чтения.","control":"Возьмите под свой контроль","closed":"Терминал закрыт.","exited":"Процесс завершен ({code})","failed":"Ошибка терминала: {message}","rename":"Имя терминала","unavailable":"Недоступно","retry":"Повторить попытку","cleanupFailed":"Терминал «{title}» не удалось завершить: {message}","missingTerminal":"Этого терминала больше не существует. Откройте новый терминал.","inputFull":"Входной буфер заполнен. Подключитесь и повторите попытку.","attachmentEnded":"Терминальное соединение завершилось. Подключитесь повторно, чтобы продолжить.","invalidOutput":"Не удалось получить экран терминала. Повторно подключитесь, чтобы восстановить его.","terminalLimit":"Достигнут лимит терминала. Закройте неиспользуемые терминалы и повторите попытку. Вышедшие терминалы также учитываются в лимите."},"skill":{"row.title":"Навык","row.running":"Навык загрузки","row.preparing":"Подготовка к загрузке навыка","row.failed":"Не удалось загрузить навык","row.stopped":"Загрузка навыков остановлена","row.instructions":"Инструкции","row.inspect":"Осмотреть","menu.userOnly":"только для пользователей"},"subagent":{"duration.seconds":"{seconds} сек.","duration.minutes":"{minutes} м {seconds} с","duration.hours":"{hours}ч {minutes}м {seconds} с","duration.days":"{days}д","duration.daysHours":"{days}д {hours}ч","duration.months":"~{months}мес.","duration.monthsDays":"~{months}мес {days}д","duration.years":"~{years}г","duration.yearsMonths":"~{years}г {months}мес.","duration.exactDays":"{days}д {hours}ч {minutes}м {seconds} с","duration.exactTitle":"Общая продолжительность активности: {duration}","tokens.thousand":"{value}К","tokens.million":"{value}М","tokens.total":"{value} ток","loading.label":"Загрузка субагентов…","load.error":"Невозможно загрузить субагенты","catalog.migrationRequired":"Требуется миграция","retry":"Повторить попытку","mode.external":"Внешняя задача","mode.oneShot":"одноразовый","mode.continuable":"продолжаемый","mode.unknown":"неизвестный режим","readonly.unknown.body":"Прочтите дочерний сеанс, чтобы определить, можно ли его продолжить.","activity.running":"бег","activity.completed":"завершено","activity.inactive":"не работает","branch.collapse":"Свернуть потомков {label}","branch.expand":"Развернуть потомков {label}","count.total.one":"{count} субагент","count.total.other":"{count} субагентов","count.running.one":"{count} субагент работает","count.running.other":"{count} работающих субагентов","switcher.aria":"Сменить субагента: {title}","tree.aria":"Сеансы субагента","open.sidebar":"Открыть в боковой панели","open.sidebar.aria":"Откройте {label} на боковой панели.","sidebar.chat":"Чат","readonly.oneShot.title":"Разовая запись субагента","readonly.title":"Этот субагент пока доступен только для чтения.","readonly.oneShot.body":"Одноразовые задачи не допускают последующих действий; просмотреть полную запись выполнения можно здесь.","readonly.body":"Родительский сеанс находится в автономном режиме; откройте его повторно, чтобы продолжить отправку сообщений."},"settings.theme":{"appearance.title":"Внешний вид","appearance.light":"Свет","appearance.dark":"Темный","appearance.system":"Система","fontSize.text.title":"Размер шрифта","fontSize.text.description":"Влияет только на содержание разговора","fontSize.text.increase":"Увеличить размер шрифта","fontSize.text.decrease":"Уменьшить размер шрифта","fontSize.code.title":"Размер шрифта кода","fontSize.code.description":"Используется для блоков кода, встроенного кода и выходных данных инструмента.","fontSize.code.increase":"Увеличить размер шрифта кода","fontSize.code.decrease":"Уменьшить размер шрифта кода","fontSize.terminal.title":"Размер шрифта терминала","fontSize.terminal.description":"Используется для терминала боковой панели","fontSize.terminal.increase":"Увеличьте размер шрифта терминала","fontSize.terminal.decrease":"Уменьшить размер шрифта терминала","fontSize.unit":"пикселей","fontFamily.text.title":"Текстовый шрифт","fontFamily.text.description":"Используется для интерфейса и текста разговора. Разделяйте шрифты запятыми; оставьте пустым по умолчанию","fontFamily.code.title":"Шрифт кода","fontFamily.code.description":"Используется для блоков кода, встроенного кода и выходных данных инструмента. Разделяйте шрифты запятыми; оставьте пустым по умолчанию","fontFamily.terminal.title":"Шрифт терминала","fontFamily.terminal.description":"Используется для терминала боковой панели. Разделяйте шрифты запятыми; оставьте пустым по умолчанию","fontFamily.placeholder":"По умолчанию","fontSize.more":"Дополнительные настройки шрифта"},"trajectory":{"view.trajectory":"Траектория","toolbar.aria":"Панель инструментов траектории","toolbar.duration":"Продолжительность","toolbar.useActualDuration":"Использовать фактическую продолжительность","toolbar.useEqualWidth":"Используйте операции равной ширины","toolbar.actualTime":"Фактическое время","toolbar.turns":"Повороты","toolbar.expandTurns":"Развернуть повороты","toolbar.collapseTurns":"Свернуть повороты","toolbar.calls":"Звонки","toolbar.expandCalls":"Развернуть звонки","toolbar.collapseCalls":"Свернуть звонки","toolbar.search":"Траектория поиска","toolbar.searchPlaceholder":"Поиск","kind.system":"СИСТЕМА","kind.user":"ПОЛЬЗОВАТЕЛЬ","kind.context":"КОНТЕКСТ","kind.compacted":"УПЛОТНЕННЫЙ","kind.message":"Сообщение","kind.assistant":"ПОМОЩНИК","kind.tool":"ИНСТРУМЕНТ","kind.subtool":"ПОДИНСТРУМ","kind.sub":"Саб","column.input":"Ввод","column.output":"Выход","column.think":"Подумайте","column.time":"Время","column.model":"Модель","column.tools":"Инструменты","turn.label":"Поворот {turn}","section.betweenTurns":"Между поворотами","group.message":"Сообщение","group.step":"Шаг {step}","group.compaction":"Уплотнение {seq}","status.failed":"Не удалось","status.pending":"Ожидается","status.completed":"Завершено","timing.notAvailable":"Недоступно","timing.notRecorded":"Не записано","timing.stepStartUnavailable":"Начало шага недоступно","timing.firstTokenUnavailable":"Первый токен недоступен","timing.usageUnavailable":"Использование недоступно","timing.outputTokensUnavailable":"Выходные токены недоступны.","timing.durationTooShort":"Продолжительность слишком коротка","timing.showLocalTime":"Показать местное время","timing.showUnixTimestamp":"Показать временную метку Unix","timing.started":"Началось","timing.totalDuration":"Общая продолжительность","timing.ttft":"ТТФТ","timing.generation":"Поколение","timing.throughput":"Пропускная способность","timing.duration":"Продолжительность","timing.source":"Источник синхронизации","timing.sessionTimestamps":"Временные метки сеанса","timing.sessionTimestampsRunning":"Временные метки сеанса (работает)","timing.request":"Запрос времени","unit.milliseconds":"{value} мс","unit.seconds":"{value} с","unit.tokens":"{value} ток","unit.tokensPerSecond":"{value} ток/с","usage.tokens":"Токены","usage.reasoning":"Рассуждение","usage.content":"Содержание","usage.notReported":"Об использовании не сообщается","usage.input":"Ввод","usage.cached":"Кэшированный","usage.cacheCreated":"Кэш создан","usage.other":"Другое","usage.output":"Выход","usage.thisRequest":"Этот запрос","usage.sessionCumulative":"Совокупный сеанс","options.notRecorded":"Опции не записаны","options.json":"Варианты запроса JSON","source.unknown":"Неизвестно","source.user":"Пользователь","source.plugin":"Плагин","source.pluginNamed":"Плагин · {plugin}","source.goal":"Цель","source.goalRound":"Цель · Раунд {round}","source.notRecorded":"Источник не записан","source.messageJson":"Источник сообщения JSON","tab.summary":"Резюме","tab.rawOutput":"Необработанный вывод","tab.preview":"Предварительный просмотр","tab.raw":"сырой","tab.source":"Источник","tab.payload":"Полезная нагрузка","tab.result":"Результат","tab.schema":"Схема","tab.timing":"Тайминг","tab.diff":"Разница","tab.systemPrompt":"Системная подсказка","tab.tools":"Инструменты","tab.options":"Опции","tab.usage":"Использование","record.toolCallOnly":"(только вызов инструмента)","record.noContent":"Нет контента","record.noPayload":"Полезная нагрузка не захвачена","record.noResult":"Результат не зафиксирован","record.noOutput":"Нет вывода","record.schemaUnavailable":"Схема недоступна","record.parameters":"Параметры","record.resultJson":"Результат JSON","record.json":"JSON","record.parametersJson":"параметры JSON","record.namedParametersJson":"{name} параметры JSON","record.payloadJson":"Полезная нагрузка JSON","record.outputJson":"Результат JSON","record.thinking":"мышление","record.wrapLines":"Перенос линий","code.source":"Код","code.output":"Выход","code.copySource":"Скопировать код","code.copyOutput":"Копировать вывод","code.originalJson":"Исходный JSON","code.running":"Бег…","record.systemPromptMissing":"В этом запросе нет системного запроса","record.toolsMissing":"В этом запросе нет инструментов","record.systemPrompt":"Системная подсказка","record.tools":"Инструменты","block.openSummary":"Открыть сводку вызовов инструмента Block #{index}","block.openSummaryTitle":"Открыть сводку вызовов инструментов","block.label":"Блок № {index} {type}","history.loadingTrajectory":"Загрузка траектории…","history.loadingEarlier":"Загрузка более ранней истории…","history.loadingEarlierAria":"Загрузка более ранней истории…","history.loadEarlier":"Загрузить предыдущую историю","history.clickToLoadEarlier":"Нажмите, чтобы загрузить предыдущую историю","request.label":"Запрос № {request}","request.labelCompaction":"Запрос № {request} · Уплотнение","request.compaction":"Уплотнение · {section}","request.compactionPurpose":"Уплотнение","request.retryProgress":"{retry} из {maximum}","request.collapsedSummary":"Свернутое резюме {kind}, {summary}","request.collapsedTurn":"повернуть","request.collapsedAssistant":"помощник","request.rowAria":"{request}{kind}, {content}","request.rowPrefix":"Запрос {request}, ","request.rowAriaCompaction":"Запрос {request}, уплотнение","request.noContent":"нет содержания","summary.toolCalls.one":"{count} вызов инструмента","summary.toolCalls.other":"{count} вызовов инструментов","summary.steps.one":"{count} шаг","summary.steps.other":"{count} шагов","details.event":"Подробности мероприятия","details.resize":"Изменить размер сведений о мероприятии","details.resizeTitle":"Перетащите, чтобы изменить размер. Дважды щелкните для сброса.","details.close":"Закрыть детали","details.status":"Статус","details.purpose":"Цель","details.provider":"Поставщик","details.model":"Модель","details.toolCalls":"Вызовы инструментов","details.subtoolCalls":"Вызовы подинструментов","details.error":"Ошибка","details.lastAttemptError":"Ошибка последней попытки","details.failure.auth":"Ключ API недействителен","details.retry":"Повторить попытку","details.retryDelay":"Задержка повтора","details.result":"Результат","details.compacted":"Уплотненный","details.assistantMessage":"Сообщение помощника","details.source":"Источник","details.hierarchy":"Иерархия","details.toolCall":"Вызов инструмента","timeline.aria":"Хронология траектории","timeline.overviewAria":"Обзор временной шкалы; перетащите горизонтально, чтобы сфокусировать события","timeline.noTimingData":"Нет данных о времени","timeline.total":"Всего {duration}","timeline.started":"Началось {time}","timeline.ttftDecoding":"TTFT {ttft} · Декодирование {decoding}","layout.compacting":"Сжатие контекста…","layout.compactionFailed":"Сжатие не удалось","layout.compacted":"Контекст сжат","layout.toolCallOnly":"Только вызов инструмента","attachment.list":"Вложения","attachment.imageName":"Изображение {index}","layout.imageCount":"Изображения ×{count}","layout.fileAttachments":"Файлы ×{count}","layout.initialSystemPrompt":"Начальная системная подсказка","layout.systemPromptUpdated":"Системная подсказка обновлена","layout.toolsUpdated":"Инструменты обновлены","layout.toolAdded":"Добавлен инструмент: {name}","layout.toolRemoved":"Инструмент удален: {name}","layout.toolUpdateNotice":"Инструменты обновлены","layout.toolsAdded":"Добавлено: {names}","layout.toolsAddedCount":"{count} добавлено","layout.toolsChanged":"{added} добавлено, {removed} удалено","layout.toolsRemoved":"Удалено: {names}","layout.toolsRemovedCount":"{count} удалено","layout.systemPromptAndToolsUpdated":"Системная подсказка и инструменты обновлены","layout.compactionInterrupted":"Уплотнение было прервано до завершения."},"question":{"error.incomplete":"Пожалуйста, сначала ответьте на этот вопрос.","error.unanswered":"Пожалуйста, выберите вариант или введите собственный ответ.","error.unavailable":"Невозможно отправить прямо сейчас; попробуйте еще раз через минуту.","error.resubmit":"Ответ не пришел до продолжения работы; отправьте его еще раз.","status.sent":"Ответ отправлен; панель не могла закрыться.","wait.takeTime":"Найдите время","wait.countdown":"Продолжение через {seconds} сек.","wait.paused":"Приостановлено · осталось {seconds}","wait.held":"Жду, пока ты ответишь","wait.continued":"Работа продолжается — вы еще можете ответить","review.status":"Ответил","review.skipped":"Этот вопрос был пропущен.","reply.label":"Ответ на ранее отложенные вопросы","reply.open":"Подробности открытого вопроса","reply.close":"Закрыть детали вопроса","reply.answerLabel":"Ответ: ","reply.skipped":"Пропущено","nav.prev":"Предыдущий вопрос","nav.next":"Следующий вопрос","nav.minimize":"Свернуть карточку с вопросом","nav.maximize":"Развернуть карточку с вопросом","nav.cancel":"Отклонить все вопросы","nav.close":"Закрыть панель — открыть ее снова из вызова инструмента","option.recommended":"Рекомендуется","custom.placeholder":"Введите ответ","action.skip":"Пропустить","action.next":"Далее","plan.header":"Обзор плана","plan.approve":"Утвердить","plan.decline":"Отказаться","plan.discuss":"Запросить изменения"},"workflowRun":{"run.title":"{name}","run.members.one":"{count} участник","run.members.other":"{count} участников","run.empty":"Ни один из участников не стартовал","phase.unassigned":"Нефазированный","phase.empty":"Пустое имя фазы","statusCount.running":"Выполняется {count}","statusCount.completed":"Завершено {count}","statusCount.failed":"Не удалось {count}","statusCount.cancelled":"Отменено {count}","statusCount.interrupted":"Прервано {count}","member.empty":"Пустое имя участника","member.open":"Открыть {name}","status.running":"Бег","status.completed":"Завершено","status.failed":"Не удалось","status.cancelled":"Отменено","status.interrupted":"Прерванный"},"workspace":{"defaultWorkspace.failed":"Невозможно создать рабочую область по умолчанию. Используйте «Выбрать рабочее пространство», чтобы выбрать папку.","draft.workspaceRequired":"Сначала выберите рабочее место.","draft.initializationFailed":"Не удалось заполнить черновик. Пожалуйста, повторите попытку в ближайшее время.","group.ungrouped":"Без проекта","session.new":"Новая сессия","session.untitled":"Без названия","shortcut.noSession":"Сначала выберите сеанс","shortcut.noPicker":"Выбор каталога недоступен.","shortcut.directoryBusy":"Выбор или добавление рабочего пространства","shortcut.noCompletedTurn":"В этой сессии нет завершенных ходов","shortcut.forkFailed":"Не удалось разветвить сеанс. Попробуйте еще раз.","section.workspaces":"Рабочие пространства","section.sessions":"Сессии","viewOptions.label":"Посмотреть варианты","groupBy.label":"Группировать по","groupBy.workspace":"Рабочее пространство","groupBy.workspaceTree":"Дерево рабочей области","groupBy.flat":"В одном списке","orderBy.label":"Заказать по","orderBy.manual":"Руководство","orderBy.updated":"Последнее обновление","filterBy.label":"Фильтровать сеансы","viewOptions.hideArchived":"Скрыть в архиве","viewOptions.showArchived":"Все разговоры (показать в архиве)","viewOptions.onlyArchived":"Только в архиве","sessions.expand":"Показать еще сеансов: {n}","sessions.collapse":"Показать меньше","empty.none":"Сеансов пока нет","empty.noneArchived":"Архивированных сессий пока нет","empty.viewOthers":"Посмотреть другие сессии","empty.noMatches":"Нет совпадений","workspace.add":"Добавить рабочую область","search.sessions.aria":"Поиск сеансов","search.placeholder":"Поиск названий сеансов","search.clear":"Очистить поиск","search.results.aria":"Результаты поиска","search.pending":"Поиск истории сеансов…","search.noMatches":"Нет подходящих сеансов","search.hasMore":"Показаны первые {n} результатов. Сузьте область поиска.","menu.addWorkspace":"Добавить рабочее пространство…","picker.loading":"Загрузка рабочих областей…","conflict.named":"Рабочая область с именем «{name}» уже существует.","folderError.title":"Не удалось открыть папку","folderError.retry":"Выбрать еще раз","rename":"Переименовать","rename.workspace.title":"Переименовать рабочую область","rename.session.title":"Переименовать сеанс","field.workspaceName":"Имя рабочей области","field.sessionName":"Имя сеанса","delete.workspace":"Удалить рабочую область","delete.desc":"Это удалит «{name}» из списка рабочей области. Журналы папок и сеансов будут сохранены. Его сеансы появятся в разделе «Разгруппировано».","delete.pending":"Удаление рабочей области…","menu.fork":"Форк-сессия","menu.archiveSession":"Архив сеанса","menu.unarchiveSession":"Разархивировать сеанс","menu.pinSession":"Закрепить сеанс","menu.unpinSession":"Открепить сеанс","menu.sessionId":"Копировать идентификатор сеанса","toast.sessionIdCopied":"Идентификатор сеанса скопирован.","toast.sessionIdCopyFailed":"Копировать не удалось. Попробуйте еще раз.","row.archived":"В архиве","row.pinned":"Закреплено","toast.archivedNotOpenable":"Архивированные сеансы невозможно открыть. Разархивируйте его для просмотра.","toast.archived":"Сессия заархивирована. Вы можете ","toast.stoppedAndArchived":"Сеанс остановлен и заархивирован. Вы можете ","archive.confirm.title":"Остановить и заархивировать этот сеанс?","archive.confirm.desc":"Над проектом «{title}» все еще ведется работа. Архивирование останавливает его первым; восстановить сессию можно позже из фильтра «Все разговоры (показать в архиве)» в боковой панели, при этом остановленная работа не возобновится сама по себе.","archive.confirm.activity":"Работа, которая будет остановлена","archive.confirm.turn":"Поворот в процессе","archive.confirm.subagents.one":"{n} работающий субагент: {names}","archive.confirm.subagents.other":"{n} работающих субагентов: {names}","archive.confirm.jobs.one":"{n} фоновое задание: {names}","archive.confirm.jobs.other":"{n} фоновых заданий: {names}","archive.confirm.schedules.one":"{n} запланированное напоминание: {names}","archive.confirm.schedules.other":"{n} запланированных напоминаний: {names}","archive.confirm.other.one":"{n} другой элемент работы ({kind})","archive.confirm.other.other":"{n} другие элементы работы ({kind})","archive.confirm.listSeparator":", ","archive.confirm.action":"Остановить и заархивировать","archive.confirm.pending":"Остановка и архивирование…","toast.archivedUndo":"отменить","toast.archivedOr":" или ","toast.archivedFilter":"фильтровать архивированные сеансы","toast.pinFailed":"Закрепить не удалось. Повторите попытку позже.","toast.unpinFailed":"Открепить не удалось. Повторите попытку позже.","toast.createFailed":"Не удалось создать новый сеанс: {message}","toast.forkRequiresOpen":"Откройте исходный сеанс, чтобы завершить миграцию, прежде чем создавать ветку.","toast.openForkSource":"Открыть исходный сеанс","sessions.count.one":"{n} сеанс","sessions.count.other":"{n} сеансов","actions.workspace.aria":"Действия в рабочей области для {name}","actions.session.aria":"Действия сеанса для {name}","actions.archive":"Архив","actions.unarchive":"Разархивировать","actions.pin":"Пин-код","actions.unpin":"Открепить","actions.newSession":"Новая сессия","actions.newSession.aria":"Новый сеанс в {name}","status.running":"Бег","status.subagentsRunning.one":"{n} субагент работает","status.subagentsRunning.other":"{n} работающих субагентов","status.idle":"Простой","status.waitingApproval":"Ожидание одобрения","status.planReview":"План ожидает рассмотрения","status.waitingAnswer":"Ожидание ответа","status.compact.approval":"Одобрение","status.compact.planReview":"Обзор плана","status.compact.answer":"Ответ","status.completed":"Завершено","hover.created":"Создано {time}","hover.copied":"Скопировано","date.ymd":"{y}-{m}-{d}","time.now":"сейчас","time.minutes":"{n}мин","time.hours":"{n} ч","time.days":"{n}д","time.months":"{n} мес.","time.years":"{n}й","time.ago":"{t} назад"},"agent-team":{"trigger":"Команда агентов","loading":"Загрузка команды…","unavailable":"Команда недоступна","failure":"Недействительная сохраненная запись команды: {message}.","empty":"Общие задачи пока отсутствуют. Создайте их посредством разговора.","roster":"Члены","tasks":"Общие задачи","model":"Модель","open":"Открыть беседу участников","current":"Текущий чат","owner":"Владелец","unowned":"Невладеющий","blockedBy":"Заблокировано","writeScopes":"Запись областей","ready":"Готово","blocked":"Заблокировано зависимостями","task.expand":"Показать больше","task.collapse":"Показать меньше","memberStatus.running":"Бег","memberStatus.inactive":"Неактивный","memberStatus.provisioning":"обеспечение","memberStatus.failed":"Не удалось","status.pending":"Ожидается","status.in_progress":"В процессе","status.completed":"Завершено"},"cotTranslation":{"provider":"Услуги перевода","google":"Гугл","bing":"Бинг","deepseekAccount":"DeepSeek Flash — Аккаунт (платный)","deepseekOfficial":"DeepSeek Flash — Официальный API (платный)","providerUnavailableOption":"{provider} — недоступен","providerUnavailable":"Этот провайдер недоступен. Настройте свою учетную запись DeepSeek или официального поставщика API или выберите доступную услугу.","paidNotice":"Каждый некэшированный фрагмент отправляет отдельный платный запрос DeepSeek Flash через выбранную учетную запись или учетные данные официального API. При повторном открытии рассуждений повторно используются сохраненные результаты; изменение провайдера, языка, исходного текста или настроек запроса может привести к отправке нового платного запроса.","anonymousNotice":"Bing и Google не требуют входа в систему для перевода или ключа API. Их анонимные конечные точки могут отклонять или ограничивать запросы.","targetLanguage":"Целевой язык","targetLanguageHint":"автоматически следует языку пользовательского интерфейса; коды языков, такие как zh, en и ja, также работают.","privacy":"Развернутое обоснование отправляется в выбранную службу. Он может содержать личный код или детали разговора.","translation":"Посмотреть перевод","original":"Посмотреть оригинал","retry":"Повторить попытку","failed":"Перевод не удался. Показываю оригинал.","translating":"Перевод рассуждений","invalidProvider":"Выберите услугу перевода.","invalidLanguage":"Введите auto или код языка, например zh, en или ja.","overridden":"Переопределено","reset":"Сбросить настройки по умолчанию","unavailable":"Настройки перевода недоступны.","readOnly":"В этом развертывании параметры сохраняются только для чтения.","saveFailed":"Развертывание не приняло эти значения; их оставили вам на исправление.","save":"Сохранить","saving":"Сохранение…","copy":"Копировать","copied":"Скопировано","codeTitle":"Кодовый блок","wrap":"Перенос линий","unwrap":"Развернуть линии","footnotes":"Сноски"},"voice-input":{"dictate":"Диктовать","setupPrompt.title":"Настройте голосовой ввод перед записью","setupPrompt.body":"Голосовой ввод включен. Первое использование требует загрузки и подготовки моделей локального распознавания. Откройте сведения о плагине, чтобы просмотреть оценки дискового пространства, памяти и времени перед началом установки.","setupPrompt.later":"Позже","setupPrompt.open":"Перейти к настройке","setupPrompt.trigger":"Открыть настройку голосового ввода","setupPrompt.details":"Открыть настройки голосового плагина","setupPrompt.unavailableTitle":"Распознавание речи не готово","setupPrompt.unavailableBody":"Откройте сведения о голосовом плагине, чтобы проверить статус распознавания, ход подготовки или наличие ошибок.","setup.local":"Локальные модели будут загружены на машину, на которой работает DSH. Никакой Python или компилятор не требуется.","setup.disk":"Дисковое пространство","setup.diskValue":"Разрешить около {gb} ГБ для моделей, среды выполнения и кэша загрузки.","setup.memory":"Память","setup.memoryValue":"Около {gb} ГБ с загруженной моделью; признание может использовать больше","setup.time":"Первая настройка","setup.timeValue":"Разрешить примерно {min}–{max} минут, в зависимости от сети и компьютера.","setup.estimateNote":"Это оценки; медленные сети могут занять больше времени. Загрузки используются повторно; Неработающие модели освобождают память по умолчанию.","step.check":"Проверьте местные ресурсы","step.model":"Подготовьте модель распознавания","step.vad":"Подготовьте модель обнаружения голоса","step.verify":"Проверка файлов модели","step.load":"Загрузите {name}","stepStatus.pending":"Не запущено","stepStatus.running":"В процессе","stepStatus.complete":"Завершено","stepStatus.failed":"Не удалось","stepStatus.cancelled":"Отменено","short.downloading":"Загрузка","short.failed":"Установка не удалась","retryRecording":"Записать еще раз","preparationSteps":"Этапы подготовки","prepare":"Скачайте и подготовьте","retryPrepare":"Повторить подготовку","cancelPrepare":"Отменить подготовку","downloadProgress":"Прогресс загрузки","downloadBytes":"Загрузка: {completed} / {total} МБ, {percent}%","downloadUnknown":"Скачано {completed} МБ","elapsed":"Ожидание {seconds} секунд","preparationFailed":"Подготовка не удалась: {message}","download.network":"Невозможно загрузить {resource}: не удалось подключиться к службе загрузки.","download.dns":"Невозможно загрузить {resource}: не удалось определить адрес загрузки.","download.timeout":"Время загрузки {resource} истекло.","download.certificate":"Невозможно загрузить {resource}: проверка сертификата не удалась.","download.http":"Невозможно загрузить {resource}: служба загрузки вернула HTTP {status}.","download.integrity":"Загрузка {resource} не завершена или не прошла проверку.","download.storage":"Невозможно сохранить {resource}: недостаточно места на диске или разрешения на запись.","download.unknown":"Не удалось подготовить {resource}.","downloadAdvice.network":"Убедитесь, что машина, на которой работает DSH, может получить доступ к источнику загрузки и службам загрузки его модели. При необходимости настройте прокси-сервер на этом компьютере, а затем повторите попытку.","downloadAdvice.dns":"Проверьте настройки DNS и прокси-сервера на компьютере, на котором работает DSH. Убедитесь, что он может разрешить домен источника загрузки, затем повторите попытку.","downloadAdvice.timeout":"Проверьте сетевое или прокси-соединение на компьютере, на котором работает DSH, затем повторите попытку позже. Проверенные загруженные файлы сохраняются.","downloadAdvice.certificate":"Проверьте системные часы, доверенные сертификаты и настройки прокси-сервера на компьютере, на котором работает DSH, затем повторите попытку.","downloadAdvice.http":"Убедитесь, что адрес загрузки доступен и прокси-сервер может связаться со службой загрузки, или повторите попытку позже.","downloadAdvice.integrity":"Повторите загрузку. Остальные заполненные и проверенные файлы сохраняются.","downloadAdvice.storage":"Проверьте доступное дисковое пространство и разрешение на запись для каталога модели на компьютере, на котором работает DSH, затем повторите попытку.","downloadAdvice.unknown":"Проверьте сеть, дисковое пространство и права доступа к каталогу модели на компьютере, на котором работает DSH, затем повторите попытку.","downloadSource":"Источник загрузки: {source}","sourceChoice":"Источник загрузки модели","sourceAuto":"Автоматический (рекомендуется)","sourceHuggingFace":"Обнимающее лицо","sourceMirror":"ВЧ-Зеркало (Китайское зеркало)","sourceAutoHelp":"Отдайте предпочтение первому ответившему источнику и попробуйте другой, если загрузка не удалась.","sourceManualHelp":"Скачивайте только из выбранного источника. Проверенные загруженные файлы используются повторно.","downloadCode":"Код ошибки: {code}","reconnecting":"Подключение к распознаванию речи…","preparation.unprepared":"При первом использовании загружаются модели локального распознавания.","preparation.checking":"Проверка местных ресурсов…","preparation.loading":"Загрузка {name}…","preparation.waking":"Пробуждение локального распознавания речи…","preparation.ready":"Локальное распознавание речи готово.","preparation.standby":"Подготовлены местные ресурсы. Запись будит распознаватель.","preparation.cancelled":"Подготовка отменена. Завершенные загрузки сохраняются.","preparation.cancelling":"Отмена подготовки…","cloudReady":"Облачное распознавание речи готово.","discard":"Удалить расшифровку","transcribingShort":"Расшифровка…","wakingShort":"Пробуждение…","provider":"Служба распознавания","language":"Язык распознавания","inputDevice":"Устройство ввода","systemMicrophone":"Система по умолчанию","systemMicrophoneNamed":"Системное значение по умолчанию ({name})","unnamedSelectedMicrophone":"Микрофон","unnamedMicrophone":"Микрофон {number}","inputLevel":"Входной уровень микрофона","deviceUnavailable":"Недоступно","deviceMissing":"Микрофон недоступен. Выберите другое устройство ввода.","auto":"Обнаруживать автоматически","zh":"китайский","en":"английский","yue":"Кантонский диалект","ja":"японский","ko":"корейский","start":"Начать запись","stop":"Остановись и перепиши","cancel":"Отмена","insert":"Вставить текст","loading":"Загрузка служб распознавания…","requesting":"Разрешите доступ к микрофону, чтобы продолжить…","recording":"Запись…","interrupted":"Запись была прервана. Пожалуйста, попробуйте еще раз.","local":"Звук распознается на машине, на которой работает DSH. Если модели необходимо загрузить, этот компьютер должен иметь доступ к выбранному источнику и его файловым службам. При необходимости настройте прокси-сервер на этом компьютере.","cloud":"Аудио будет отправлено в выбранный облачный сервис.","empty":"Речь не распознается","cancelled":"Голосовой ввод отменен.","conflict":"Ваш черновик изменился. Транскрипт сохраняется и может быть вставлен под текущий курсор.","failed":"Не удалось распознать речь: {message}","unavailable":"Этот браузер не может записывать звук. Используйте браузер с поддержкой микрофона.","permission":"Доступ к микрофону отключен. Разрешите это в настройках браузера и системы.","tooLarge":"Запись превышает лимит обслуживания. Попробуйте более короткую запись."},"session-inspector":{"tab.title":"Журнал сеанса","tab.description":"Анализируйте необработанные журналы и сгруппированные сообщения чата для текущего сеанса на боковой панели.","view.presentation":"Презентация","view.sessionLog":"Необработанный журнал","view.chatNode":"Группа чата","picker.pick":"Выберите элемент в представлении чата","picker.cancel":"Отменить выбор (Esc)","picker.instructions":"Наведите указатель мыши на главный чат, чтобы просмотреть его, затем нажмите, чтобы выбрать. Esc отменяет.","picker.noMatch":"В этой таблице нет соответствующей записи. Выберите другой элемент или нажмите Esc для отмены.","picker.noChat":"Прежде чем выбирать, откройте этот сеанс в главном чате.","table.id":"Индекс","table.type":"Тип","filter.title":"Типы фильтров","filter.input":"Введите ключевое слово","filter.placeholder":"Введите фрагмент, например. дельта","filter.help":"Содержит совпадение (*ключевое слово*). Enter подтверждает; Esc отменяет.","filter.candidates":"Введите предложения","filter.loading":"Поиск предложений…","filter.failed":"Не удалось загрузить предлагаемые типы.","filter.noCandidates":"Никаких предложений. Вы все еще можете применить это ключевое слово.","filter.clear":"Очистить","filter.cancel":"Отмена","filter.apply":"Применить фильтр","filter.context":"Родительский контекст соответствующей записи","table.location":"Т/С","table.time":"Время (UTC)","table.data":"Данные","table.older":"Загрузить раньше","table.loading":"Загрузка…","table.latest":"Следите за последними","table.empty":"Нет записей","table.raw":"Необработанные данные","table.rawError":"Эту запись не удалось сериализовать. Выберите другую запись, чтобы продолжить.","table.resizeDetails":"Изменение размера панели необработанных данных","table.close":"Закрыть","table.expand":"Развернуть детей","table.collapse":"Свернуть детей","table.removed":"Этот рекорд был удален или погашен. Выберите текущую запись.","object.node":"Узел","object.nodeData":"Данные узла","object.group":"Группа","object.groupData":"Групповые данные","object.turn":"Поворот","object.turnData":"Повернуть данные","object.step":"Шаг","object.stepData":"Данные шага","object.accessor":"[Получатель/Сеттер, не оценивается]","object.empty":"Пустой","object.absent":"[Пустой слот]","object.properties":"Другие объекты недвижимости","object.more":"Показать больше","object.navigation":"Навигация по необработанным данным"},"session-log-download":{"header.more":"Дополнительные действия","menu.download":"Скачать журнал сеанса","menu.feedback":"Обратная связь","dialog.preparingTitle":"Экспорт сеанса","dialog.preparingDescription":"Подготовка ZIP-файла, содержащего этот сеанс, его подсеансы и вложения.","dialog.successTitle":"Загрузка сеанса началась","dialog.successDescription":"Браузер загружает ZIP-файл сеанса.","dialog.errorTitle":"Экспорт сеанса не удался","dialog.close":"Закрыть","dialog.commandFailed":"Не удалось начать экспорт сеанса."},"deepseek-model-label-1017":{"badge.label":"1017"},"shortcuts.layout":{"toggle":"Переключить левую боковую панель"},"secretMask":{"secret.reveal":"Показать секрет","secret.hide":"Скрыть секрет"}};
|
|
29
|
+
const RU = {"settings.agentPreset":{"builtInGroup":"Встроенный","customGroup":"Пользовательский","sectionIntro":"Выбирайте инструменты агента и то, как они работают. Используйте стандартный режим для повседневных задач или режим Creator, чтобы расширить возможности DSH.","seatHint":"Выберите предустановку агента для вашей новой задачи","headerHint":"Предварительная настройка агента, выбранная при запуске этой задачи","nav":"Настройки агента","setDefault":"Установить в качестве новой задачи по умолчанию","view":"Посмотреть конфигурацию","presetStandardName":"Стандартный режим","presetStandardDescription":"Работайте с кодом, файлами и информацией. Подходит для большинства задач, с поиском, редактированием, командами терминала и другими инструментами, доступными по мере необходимости.","presetPtcName":"Режим PTC","presetPtcDescription":"Включает все возможности стандартного режима. Лучше подходит для задач, которые вызывают инструменты в пакетном режиме, а затем фильтруют, организуют, дедуплицируют, подсчитывают или суммируют результаты.","presetMinimalName":"Минимальный режим","presetMinimalDescription":"Агент использует терминал и чтение изображений со сжатием контекста. Полезно для тестирования и сравнения его базовой производительности.","presetCordisName":"Режим автора","presetCordisDescription":"Настройте DSH посредством разговора. Позвольте агенту писать плагины, которые добавляют функции или пользовательский интерфейс, или комбинируйте инструменты и подсказки для создания собственного режима.","inUse":"Новая задача по умолчанию","noDescription":"Нет описания.","brokenBadge":"Не удалось загрузить","switchRefused":"Не удалось переключиться на {name}: {reason}","standardUnavailable":"Стандартный режим недоступен. Восстановите его или выберите другой доступный режим.","close":"Закрыть","creatorDraft":"Позвольте агенту помочь мне создать пресет","createPlugin":"Позвольте агенту создать плагин","createPluginDescription":"Войдите в режим Creator и создайте свой собственный плагин DSH.","createPluginChecking":"Проверка доступности режима Creator","createPluginUnavailable":"Временно недоступен. Откройте это меню еще раз, чтобы повторить попытку.","createPluginMissing":"Режим Creator не включен в эту конфигурацию.","modeExplanation":"Подробности режима","howToUse":"Как использовать","guideSections":"Разделы руководства","guideExampleTask":"Пример задачи","guideCopy":"Копировать","guideCopied":"Скопировано","guideFootnotes":"Сноски","guideStandardIntro":"Выбирайте стандартный режим при запуске новой задачи. Опишите, чего вы хотите добиться, укажите соответствующие файлы и объясните, как проверить результат.","guideStandardExplanation":"### How it works\n\nThe agent calls tools directly to read and edit files, search, and run terminal commands. It includes Skills, planning, goals, subagents, workflows, and context compaction.\n\n### When to choose it\n\nStart here for everyday coding, file work, and research. Standard mode can also write scripts and process files in batches. PTC changes how tool calls are organized; it is not required for batch tasks.","guideStandardUsage":"### Fix a bug\n\n> Find out why submitting the search form twice makes the results disappear. Fix it and run the relevant tests. Explain the cause and what changed.\n\nExpected output: a code change, the relevant test results, and an explanation of the cause.\n\n### Organize project notes\n\n> Read the Markdown notes in this project. Summarize the agreed decisions and open questions, with links to the source files.\n\nExpected output: a summary with references that you can check against the original notes.","guidePtcIntro":"Выбирайте режим PTC при запуске новой задачи. Укажите входные файлы, правила обработки и выходной формат. Агент пишет код.","guidePtcExplanation":"### How tools are called\n\nPTC means Programmatic Tool Calling. In this built-in preset, the agent uses run_code to write a TypeScript program that calls tools through a generated SDK. The program can use loops, conditions, error handling, and concurrent calls where appropriate.\n\n### What reaches the model\n\nTool results first reach the program, which can filter and combine them. The model receives what the program prints or returns; image results are attached separately. Nested tool calls are still recorded and remain subject to tool permissions.\n\n### Compared with Standard mode\n\nBoth modes can handle coding and batch tasks. Standard mode exposes individual tools directly; PTC organizes tool calls in code. The current PTC preset leaves the workflow tool disabled. Speed and token use depend on the task and how the program handles its results.","guidePtcUsage":"### Check a set of configuration files\n\n> Check all JSON files in configs/. List missing required fields and invalid values against schema.json. Save a CSV with one row per issue. Include unreadable files in the report and keep checking the rest. Leave the original files unchanged.\n\nExpected output: an issue summary and a CSV report. The program can repeat the same checks, handle individual failures, and collect the results.\n\n### Summarize error logs\n\n> Analyze the log files in logs/. Group errors by service and error type. Show the ten most frequent groups and one example from each. Save the full counts to a CSV.\n\nExpected output: the top error groups and a complete count table. Intermediate data can be aggregated in the program before the summary reaches the model.","guideMinimalIntro":"Выберите минимальный режим для новой задачи. Для сравнения сохраняйте постоянство модели, разрешений, входных данных и состояния начальной рабочей области во всех запусках.","guideMinimalExplanation":"### What is included\n\nOne persistent shell tool, read_image, and a fixed system prompt. Image reading requires an image-capable model. Older history is compacted automatically under context pressure; use /compact while the agent is idle to compact it manually. The built-in preset does not load Skills, planning, or the standard runtime context.\n\n### When to choose it\n\nUse it as a baseline for experiments and comparisons. It can still read files and execute scripts through shell commands, but offers fewer built-in ways to manage a long task. Fewer tools does not necessarily make it easier for a beginner.","guideMinimalUsage":"### Compare performance on a small bug fix\n\n> Run the tests for this project, find the cause of the failure, and make the smallest fix. Run the relevant tests again and report the result.\n\nRun the same task separately in Standard and Minimal modes from the same starting state. Compare task completion, tool calls, and the resulting changes. Minimal mode performs the work through terminal commands.","guideCordisIntro":"Выберите режим «Создатель» для новой задачи. Опишите желаемую возможность, где она должна появиться и как вы ее проверите.","guideCordisExplanation":"### What you can create\n\nCreator mode includes the standard task tools plus runtime inspection, persistent plugin management, and guidance for authoring Cordis plugins and agent presets. It can create a plugin that adds a capability or UI, or a preset that combines tools and prompts for a particular job.\n\n### Plugins and modes\n\nA plugin adds capabilities to DSH, such as a tool, a service connection, or a UI entry. A mode is an agent preset that selects tools and defines how the agent works in a task. A plugin can be included in a custom preset.\n\n### How the result takes effect\n\nAsk the agent to install and verify the result, not just generate source code. A plugin may load immediately or require a restart, depending on what it changes. A newly created preset is selected when starting a new task.","guideCordisUsage":"### Add a UI\n\n> Create a DSH plugin that adds a project notes entry to the sidebar. Let me browse the Markdown files in this workspace and preview a selected note. Install it and verify that the page opens.\n\nExpected output: an installed plugin with a working entry and preview page, plus any remaining activation steps.\n\n### Add a tool\n\n> Create a plugin with a tool that reads this project’s test report and summarizes the failed tests. Register it and verify it with a sample report.\n\nExpected output: a plugin with a callable tool and a verified sample call.\n\n### Create my own mode\n\n> Create a “Code review” mode based on Standard mode. Have it prioritize potential bugs and test gaps, cite file paths and lines, and ask before modifying files. Save it as a selectable preset.\n\nExpected output: a custom preset for new tasks. These review instructions guide the agent; permission settings determine which actions it can execute."},"approval":{"waiting":"Ожидание одобрения","detail.aria":"Детали утверждения","escalation":"Инструмент {toolName} запрашивает привилегированное выполнение","reject":"Отклонить","allowOnce":"Разрешить один раз"},"chat":{"message.stepProcess.thinking":"Анализ запроса","message.stepProcess.read":"Чтение файлов","message.stepProcess.readImage":"Чтение изображений","message.stepProcess.write":"Запись файлов","message.stepProcess.search":"Поиск кода","message.stepProcess.edit":"Редактирование файлов","message.stepProcess.commands":"Запуск команд","message.stepProcess.code":"Запуск кода","message.stepProcess.webSearch":"Поиск в Интернете","message.stepProcess.webFetch":"Посещение веб-страниц","message.stepProcess.subagents":"Координирующие субагенты","message.stepProcess.plan":"Обновление плана","message.stepProcess.questions":"Жду ваших действий","message.stepProcess.tools":"Вызов инструментов","message.stepProcess.prepare.read":"Подготовка к чтению файлов","message.stepProcess.prepare.readImage":"Подготовка к чтению изображений","message.stepProcess.prepare.write":"Подготовка к записи файлов","message.stepProcess.prepare.search":"Подготовка к поиску кода","message.stepProcess.prepare.edit":"Подготовка к редактированию файлов","message.stepProcess.prepare.commands":"Подготовка к выполнению команд","message.stepProcess.prepare.code":"Подготовка к запуску кода","message.stepProcess.prepare.webSearch":"Подготовка к поиску в Интернете","message.stepProcess.prepare.webFetch":"Подготовка к посещению веб-страниц","message.stepProcess.prepare.subagents":"Подготовка к координации субагентов","message.stepProcess.prepare.plan":"Подготовка к обновлению плана","message.stepProcess.prepare.questions":"Подготовка вопросов","message.stepProcess.prepare.tools":"Подготовка вызовов инструментов","message.stepProcess.done.thinking":"Анализ завершён","message.stepProcess.done.read":"Чтение файлов","message.stepProcess.done.readImage":"Чтение изображений","message.stepProcess.done.write":"Написал файлы","message.stepProcess.done.search":"Поиск по коду","message.stepProcess.done.edit":"Отредактированные файлы","message.stepProcess.done.commands":"Выполнение команд","message.stepProcess.done.code":"Выполненный код","message.stepProcess.done.webSearch":"Искал в Интернете","message.stepProcess.done.webFetch":"Посещенные веб-страницы","message.stepProcess.done.subagents":"Координированные субагенты","message.stepProcess.done.plan":"Обновлен план","message.stepProcess.done.questions":"Задаваемые вопросы","message.stepProcess.done.tools":"Вызываемые инструменты","message.stepProcess.joinTwo":"{first} и {second}","message.stepProcess.comma":", ","message.stepProcess.sharedPrefix":"","message.stepProcess.more":"{title} и т. д.","message.trigger.request":"Запрошено выполнение","message.trigger.goal":"Постоянная цель","message.trigger.agent":"Сообщение о задаче получено","message.trigger.team":"Сообщение команды получено","message.trigger.subagent":"Статус подзадачи обновлен","message.trigger.github":"Событие GitHub получено","message.trigger.webhook":"Получено внешнее событие","message.trigger.schedule":"Задача автоматизации","message.trigger.job":"Фоновая задача обновлена.","message.trigger.plugin":"Статус плагина обновлен","message.trigger.explanation":"Это уведомление вызвало такой ответ.","message.turnProcess.worked":"Завершено","message.turnProcess.took":"Завершено в ","message.turnProcess.failed":"Не удалось","view.chat":"Чат","image.open":"Посмотреть полное изображение","image.loading":"Загрузка изображения…","image.failed":"Предварительный просмотр изображения недоступен.","image.dialog":"Предварительный просмотр изображения","image.close":"Закрыть предварительный просмотр изображения","number.groupSeparator":",","duration.compactSeconds":"{seconds} сек.","duration.compactMinutes":"{minutes} м{seconds} с","duration.milliseconds":"{milliseconds} мс","stats.counts":"{turns} ходов · {steps} шагов","stats.cacheHit":"Кэш попаданий {percent}%","stats.dialog.title":"Статистика сессии","stats.dialog.usageTitle":"Использование токенов","stats.dialog.llmTime":"Время модели","stats.dialog.toolTime":"Время работы инструмента","stats.dialog.ttft":"Среднее время до первого токена (TTFT)","stats.dialog.speed":"Токенов в секунду (TPS)","chat.loadingHistory":"Загрузка истории…","chat.loadError":"Не удалось загрузить историю: {message} ({code}).","chat.loadOlder":"Загрузить раньше","chat.toBottom":"Вернуться к низу","chat.deepDiving":"Глубокое погружение","chat.deepDivingFor":"Глубокое погружение на {duration} ···","chat.turnNavigation.label":"Включить навигацию","chat.turnNavigation.jump":"Перейти к повороту {turn}","chat.turnNavigation.jumpLoad":"Загрузите и прыгайте, чтобы повернуть {turn}","chat.turnNavigation.turn":"Поворот {turn}","settings.performance.title":"Производительность и использование","settings.performance.description":"Выберите, какой объем информации о производительности и использовании показывать","settings.performance.compact":"Компактный","settings.performance.detailed":"Подробный","settings.links.title":"Открыть ссылки на чат в","settings.links.description":"Выберите, где открывать веб-ссылки","settings.links.sidebar":"Боковая панель в приложении","settings.links.newTab":"Браузер по умолчанию","settings.transcript.title":"Детали работы","settings.transcript.description":"Выберите, насколько подробно следует отображать вызовы инструментов.","settings.collapse.title":"Когда сворачивать детали работы","settings.collapse.description":"Выберите, когда автоматически сворачивать сведения о работе","settings.collapse.completion":"По завершении","settings.collapse.nextInput":"В следующем сообщении","settings.transcript.compact":"Компактный","settings.transcript.standard":"Стандартный","settings.transcript.detailed":"Подробный","settings.transcript.verbose":"Многословный","fileOpen.title":"Не удалось открыть файл","fileOpen.unknown":"Не удалось открыть этот файл","message.extraBlock":"Дополнительный блок контента","message.systemPrompt":"Системная подсказка","message.systemPromptUpdate":"Обновление системного запроса","message.toolAdded":"Добавлен инструмент: {name}","message.toolRemoved":"Инструмент удален: {name}","message.toolsAdded":"Добавлено: {names}","message.toolsAddedCount":"{count} добавлено","message.toolsChanged":"{added} добавлено, {removed} удалено","message.toolsRemoved":"Удалено: {names}","message.toolsRemovedCount":"{count} удалено","message.toolsUpdated":"Инструменты обновлены","message.contextInjection":"Внедрение контекста","message.contextRecall":"Отзыв сеанса","message.referenceSummary":"Связанный сеанс · {labels}","message.referenceSeparator":", ","message.context.instructions.loaded":"загружен","message.context.instructions.added":"добавлено","message.context.instructions.updated":"обновлено","message.context.instructions.removed":"удалено","message.context.catalog.replaced":"Каталог замены","message.context.catalog.more":"… ещё {count}","message.context.snapshot.supersedes":"Заменяет предыдущие снимки","message.context.relay.from":"Из сеанса {session}","message.context.recall.counts":"{retained} сохранено · {omitted} опущено","message.context.recall.truncated":"усеченный","message.compaction":"Контекст сжат","message.compaction.running":"Сжатие контекста…","message.compaction.completed":"Сжатые элементы истории {items} (токены ~{tokens})","message.compaction.expand":"Посмотреть сводку по уплотнению","message.compaction.unavailable":"Сводка по уплотнению недоступна.","message.compaction.commandTitle":"компактный","message.think":"Подумайте","message.unknownSurface":"Неизвестное событие на поверхности: {type}","message.unknownBlock":"Неизвестный блок контента","message.turnProcess.toolCalls.one":"{count} вызов инструмента","message.turnProcess.toolCalls.other":"{count} вызовов инструментов","message.turnProcess.messages.one":"{count} сообщение","message.turnProcess.messages.other":"{count} сообщений","message.turnProcess.subagents.one":"{count} субагент","message.turnProcess.subagents.other":"{count} субагентов","message.turnProcess.thoughtForAWhile":"Подумал какое-то время","message.turnProcess.separator":" · ","message.stopped":"Остановлено","message.branch":"Перейти к новому разговору","message.branchUnavailable":"Доступно только в последнем сообщении о завершенном ходу.","message.retry.active":"Повтор запроса к модели","message.retry.cancelled":"Повтор запроса к модели отменён.","message.retry.started":"Повтор запроса к модели","message.retry.scheduled":"Ожидание повтора запроса к модели","message.retry.status":"{label} ({retry}/{maximum}) · {seconds} с","message.retry.delay":"Пауза перед повтором: ","message.retry.failure":"Причина ошибки: ","message.failure.auth":"Ключ API недействителен","message.taskStopped":"Задача остановлена","message.failure.accountSignedOut":"Остановлено, поскольку вы вышли из DeepSeek.","message.failure.interrupted":"Процесс DSH завершился до завершения этого хода (например, он был завершен, произошел сбой или истекло время ожидания при завершении работы), поэтому ход был закрыт при перезапуске DSH. Незавершенные вызовы инструментов имеют неизвестные результаты.","message.failure.accountSignInRequired":"Войдите в DeepSeek и убедитесь, что пункт назначения запроса поддерживает аутентификацию учетной записи.","message.failure.quota":"Квота запросов исчерпана.","message.turnError":"Не удалось выполнить ход","message.maxTokens":"Достигнут предел выходных токенов","message.maxTokens.hint":"Ответ был прерван; более ранний вывод сохраняется в разговоре. Отправьте «продолжить», чтобы модель возобновила работу.","message.tokensPerSecond":"{tps} ток/с","message.turnUsage.title":"Включите использование","message.turnUsage.consumed":"Использование {total}","message.turnUsage.model":"Поставщик/модель","message.turnUsage.cacheHit":"Попадание в кэш","message.turnUsage.input":"Некэшированный ввод","message.turnUsage.cacheRead":"Кэшированный ввод","message.turnUsage.cacheWrite":"Запись в кэш","message.turnUsage.output":"Выход","message.turnUsage.reasoning":" (рассуждение {tokens})","message.turnUsage.count":"{count} ток","duration.secondUnit":"с","duration.minuteUnit":"м ","duration.hourUnit":"ч ","command.running":"Бег…","command.failed":"Команда не выполнена","command.done":"Завершено","command.title":"Команда","row.running":"Бег","row.failed":"Не удалось","json.truncated":"… усечено, всего символов: {total}","clock.md":"{m}/{d}","clock.ymd":"{y}-{m}-{d}"},"command":{"section.add":"Добавить","section.commands":"Команды","label.goal":"Цель","label.plan":"План","label.feedback":"Обратная связь","label.compact":"Компактный","label.permission":"Разрешение","label.export":"Экспорт","description.goal":"Установите или просмотрите цель для долгосрочной задачи","description.plan":"Войти или выйти из режима плана","description.feedback":"Запишите отзыв об этом сеансе","description.compact":"Сжать старую историю разговоров","description.permission":"Переключение настроек разрешений (режим песочницы + политика утверждения)","description.export":"Загрузите этот журнал сеанса в виде ZIP-архива.","token.goal":"цель","token.plan":"план","token.feedback":"обратная связь","token.compact":"компактный","token.permission":"разрешение","token.export":"экспорт","search.placeholder":"Искать…","search.aria":"Параметры фильтра","status.loading":"Загрузка параметров…","status.applying":"Применение…","status.empty":"Нет вариантов","overlay.aria":"/{command} параметры","listbox.aria":"/{command} соответствует","notice.attachmentsUnsupported":"/{command} не принимает вложения; сначала удали их"},"conversation":{"shortcut.newline":"Новая линия","shortcut.complementary":"Используйте дополнительное действие «Очередь/Управление»","shortcut.slash":"Открыть командное меню","shortcut.mention":"Открыть справочное меню","hint.goal":"описать цель долгосрочной задачи","hint.goal.active":"цель активна — изменить/приостановить/возобновить/очистить","placeholder.default":"Отправьте сообщение или запустите задачу, /команды, @файлы или сеансы","placeholder.unavailable":"Сеанс недоступен","placeholder.parentOffline":"Родительская сессия в автономном режиме; отправка недоступна, но вы все равно можете остановить запуск","placeholder.hero":"Опишите, что вы хотите построить: /команды, @файлы или сеансы.","placeholder.workspace":"Выберите рабочее пространство для начала","placeholder.steerQueue":"Cmd/Ctrl+Enter управляет всеми сообщениями в очереди.","input.commands":"Добавляйте файлы или запускайте команды","input.file":"Файл","input.stop":"Прекратить генерировать","input.send":"Отправить сообщение","input.send.queue":"Сообщение в очереди","input.send.steer":"Управляйте сообщением","attachment.pending":"Ожидающие вложения","attachment.scrollLeft":"Прокрутить вложения влево","attachment.scrollRight":"Прокрутить вложения вправо","attachment.dropTitle":"Перетащите файлы или изображения сюда, чтобы добавить их.","attachment.dropDesc":"Ограничение на количество изображений: до {count} изображений, {size} каждое.","attachment.dropBlocked":"Файлы и изображения не могут быть добавлены прямо сейчас.","attachment.directoryDesktopOnly":"Папки можно добавлять только в настольном приложении; добавлять отдельные файлы в браузере","attachment.pathUnavailable":"Не удалось получить путь к папке; перетащите это снова","attachment.pathUnsupported":"Путь содержит символы, которые не может содержать ссылка; переименуй его и попробуй еще раз","image.pending":"Ожидающие изображения","image.openOriginal":"Посмотреть оригинал","image.openOriginalLabel":"{label}, нажмите, чтобы просмотреть оригинал","image.remove":"Удалить изображение {name}","image.original":"Исходное изображение","image.label":"Изображение","image.loadFailed":"Изображение не удалось загрузить; нажмите, чтобы повторить попытку","image.loading":"Загрузка изображения…","image.preview":"Предварительный просмотр исходного изображения","image.closePreview":"Закрыть предварительный просмотр исходного изображения","image.unsupportedType":"Поддерживаются только изображения PNG, JPG, WebP и GIF.","image.tooMany":"Сообщение может содержать до {count} изображений.","image.fileTooLarge":"Каждое изображение должно быть меньше {size}.","image.totalTooLarge":"Общий размер изображений превышает {size}; удалите некоторые и попробуйте еще раз","image.tooManyPixels":"Разрешение изображения слишком высокое; сожми его и попробуй еще раз","image.dimensionTooLarge":"Стороны изображения должны быть не более {size}px; уменьшите масштаб и попробуйте еще раз","image.modelUnsupported":"Текущая модель не поддерживает изображения; переключиться на модель, которая делает","image.sendFailed":"Не удалось отправить изображения ({reason}); добавьте их повторно и попробуйте еще раз","file.pending":"Ожидающие файлы","file.remove":"Удалить файл {name}","file.uploading":"Загрузка…","file.uploadFailed":"Загрузка не удалась; нажмите, чтобы повторить попытку","file.retry":"Повторите загрузку {name}","file.stillUploading":"Файлы все еще загружаются; отправить после того, как они закончат","file.sessionUnavailable":"Сессия недоступна; файлы не могут быть загружены","file.notStaged":"Загрузка файла не завершена; добавьте его еще раз и попробуйте еще раз","file.label":"Файл","context.aria":"{percent} использованного контекста","context.used":"используемого контекста","context.system":"Системная подсказка","context.tools":"Определения инструментов","context.messages":"Сообщения","settings.enter.title":"Отправлять поведение во время занятости","settings.enter.description":"Что делают кнопки «Ввод» и «Отправить» во время работы агента; Cmd/Ctrl+Enter использует другое поведение.","settings.enter.queue":"Очередь","settings.enter.steer":"Управлять","hero.headline":"В неизвестность","hero.preview":"Предварительный просмотр","hero.chooseWorkspace":"Выберите рабочее пространство","session.hierarchy":"Иерархия сеансов","session.moreViews":"Больше просмотров беседы","todo.title":"Дела","todo.progress.done":"{done} завершено","todo.progress.active":"{active} в процессе","todo.progress.pending":"{pending} ожидается","todo.status.completed":"Завершено","todo.status.inProgress":"В процессе","todo.status.pending":"Ожидается","todo.rowTitle":"Обновить список дел","tool.title.createGoal":"Создать цель","tool.title.getGoal":"Посмотреть цель","tool.title.updateGoal":"Обновить цель","tool.preparing.content":"{kilobytes}КБ","tool.title.createSchedule":"Создать напоминание","tool.title.listSchedules":"Список напоминаний","tool.title.deleteSchedule":"Удалить напоминание","tool.title.updateSchedule":"Обновить напоминание","detail.state":"Статус","detail.todo.completed":"Завершено","detail.todo.in_progress":"В процессе","detail.todo.pending":"Ожидается","detail.todo.empty":"Список дел пуст","todo.diff.initial":"Первоначальный список","todo.diff.compare":"Изменения по сравнению с предыдущим списком","todo.diff.unavailable":"Предыдущий список недоступен","todo.diff.noChanges":"Никаких изменений в списке","todo.diff.added":"{count} добавлено","todo.diff.updated":"{count} обновлено","todo.diff.removed":"{count} удалено","todo.diff.unchanged":"{count} без изменений","todo.diff.addedItem":"Добавлено","todo.diff.updatedItem":"Статус изменен","todo.diff.movedItem":"Переупорядочен","todo.diff.removedItem":"Удален","detail.goal.empty":"Нет цели","detail.goal.active":"Активный","detail.goal.disarmed":"Ожидание продолжения","detail.goal.paused":"Приостановлено","detail.goal.blocked":"Заблокировано","detail.goal.complete":"Завершено","detail.goal.rounds":"Раунды","detail.goal.reason":"Блокатор","detail.days":"{count} д","detail.hours":"{count} ч.","detail.minutes":"{count} мин.","detail.seconds":"{count} с","detail.schedule.once":"Однократно","detail.schedule.every":"Каждый {interval}","detail.schedule.when":"Запланировано на","detail.schedule.frequency":"Повторить","detail.schedule.scheduled":"Запланировано","detail.schedule.overdue":"Просрочено, ждём возобновления сеанса","detail.schedule.empty":"Нет напоминаний","detail.schedule.deleted":"Удалено","detail.schedule.count":"{count} напоминаний","detail.schedule.daily":"Каждый день в {time} ({zone})","detail.schedule.weekly":"Еженедельно в {days} в {time} ({zone})","detail.schedule.cron":"Cron {expression} ({zone})","detail.weekday.1":"Пн.","detail.weekday.2":"Вт","detail.weekday.3":"ср.","detail.weekday.4":"Чт","detail.weekday.5":"Пт","detail.weekday.6":"Суббота","detail.weekday.7":"Солнце","detail.weekday.join":", ","tool.title.inspectProviders":"Проверка поставщиков","tool.title.queryRuntime":"Время выполнения запроса","tool.title.inspectPlugins":"Проверьте плагины","tool.title.workflow":"Запустить рабочий процесс","tool.title.ralph":"Запустить цикл Ральфа","tool.title.readEvent":"Чтение события","tool.title.searchEvents":"Поиск событий","tool.title.traceEvent":"Отследить событие","tool.title.searchSessions":"Поиск сеансов","tool.title.traceSession":"Трассировка сеанса","tool.title.listModels":"Список моделей","tool.title.subagent":"Создать субагент","tool.title.listAgents":"Список субагентов","tool.title.sendMessage":"Отправить сообщение","tool.title.interruptAgent":"Агент прерываний","tool.title.listJobs":"Список фоновых заданий","tool.title.readJob":"Чтение результатов задания","tool.title.killJob":"Отменить фоновое задание","tool.title.openTerminal":"Открыть терминал","tool.title.readTerminal":"Чтение терминала","tool.title.listTerminals":"Список терминалов","tool.title.signalTerminal":"Сигнальный терминал","tool.title.closeTerminal":"Закрыть терминал","tool.title.lsp":"Символы кода запроса","tool.title.findDefinition":"Найти определение","tool.title.findReferences":"Найдите ссылки","tool.title.findImplementation":"Найти реализацию","tool.title.hoverSymbol":"Символ проверки","tool.title.spawnTeammate":"Создать товарища по команде","tool.title.createTeamTask":"Создать командную задачу","tool.title.getTeamTask":"Прочитать командное задание","tool.title.updateTeamTask":"Обновить групповую задачу","tool.title.listTeamTasks":"Перечислить командные задачи","tool.title.waitAgent":"Подождите субагента","detail.recordedResult":"Записанный результат","detail.empty":"Нет результатов","detail.none":"Нет","detail.yes":"Да","detail.no":"Нет","detail.moreInInspect":"Еще {count} элементов доступно в Inspect","detail.status.running":"Бег","detail.status.idle":"Простой","detail.status.ready":"Готово","detail.status.inactive":"Неактивный","detail.status.provisioning":"обеспечение","detail.status.failed":"Не удалось","detail.status.completed":"Завершено","detail.status.deleted":"Удалено","detail.status.killed":"Отменено","detail.status.accepted":"Принято","detail.status.queued":"В очереди","detail.status.exited":"Завершён","detail.field.id":"идентификатор","detail.field.revision":"Редакция","detail.field.platform":"Платформа","detail.field.provider":"Поставщик","detail.field.model":"Модель","detail.field.role":"Роль","detail.field.context":"Контекст","detail.field.owner":"Владелец","detail.field.ready":"Готово","detail.field.dependencies":"Зависимости","detail.field.writeScopes":"Запись областей","detail.field.warnings":"Предупреждения","detail.field.diagnostics":"Диагностика","detail.field.methods":"Методы","detail.field.inputSchema":"Входная схема","detail.field.outputSchema":"Выходная схема","detail.field.currentPackage":"Текущий пакет","detail.field.nextPackage":"Следующий пакет","detail.field.latestRun":"Последний запуск","detail.field.packages":"Пакеты","detail.field.registrations":"Регистрации","detail.field.props":"Реквизит","detail.field.data":"Данные","detail.field.source":"Источник","detail.field.content":"Содержание","detail.field.message":"Сообщение","detail.field.messageId":"Идентификатор сообщения","detail.field.root":"Корень","detail.field.pid":"Идентификатор процесса","detail.field.type":"Тип","detail.field.time":"Время","detail.field.seq":"Последовательность событий","detail.field.turn":"Поворот","detail.field.step":"Шаг","detail.field.callId":"Идентификатор вызова","detail.field.agents":"Агенты запущены","detail.field.result":"Результат","detail.field.parent":"Родитель","detail.field.depth":"Глубина","detail.field.exitCode":"Код выхода","detail.field.signal":"Сигнал","detail.field.previousStatus":"Предыдущий статус","detail.field.agent":"Идентификатор агента","detail.field.job":"Идентификатор вакансии","detail.field.task":"Задача","detail.field.processGroup":"Группа процессов","detail.field.availability":"Доступность","detail.field.bestMatch":"Лучший матч","detail.field.target":"Целевое событие","detail.field.surface":"Статус записи","detail.agents.count":"{count} агентов","detail.jobs.count":"{count} фоновых заданий","detail.terminals.count":"{count} терминалов","detail.tasks.count":"{count} командных задач","detail.tasks.nextPage":"Доступно больше задач; следующий курсор – {cursor}","detail.locations.count":"{count} местоположений","detail.location":"Строка {line}, столбец {column}","detail.receipt.delivered":"Сообщение доставлено","detail.receipt.interrupt":"Запрошено прерывание","detail.receipt.started":"Началось","detail.receipt.cancel":"Запрос на отмену","detail.receipt.alreadyFinished":"Уже закончено","detail.receipt.signal":"Сигнал доставлен","detail.receipt.closed":"Закрыто","detail.receipt.closing":"Закрытие","detail.wait.noProgress":"Нет активных субагентов","detail.wait.title":"Субагентская деятельность","detail.wait.timeout":"Время ожидания истекло","detail.wait.changed":"Обнаружено изменение","detail.agent.reply":"Ответ агента","detail.models.title":"Доступные модели","detail.output.lines":"Строки {begin}–{end} из {total}","detail.output.truncated":"Вывод усечен","detail.providers.count":"{count} проверяет поставщиков","detail.plugins.count":"{count} динамических плагинов","detail.workflow.script":"Сценарий рабочего процесса","detail.ralph.reportedComplete":"Работник сообщил о завершении","detail.ralph.reportedBlocker":"Работник сообщил о блокировщике","detail.ralph.limit":"Достигнут лимит раундов","detail.report.nextSteps":"Оставшаяся работа","detail.trace.replacedBy":"Заменено на","detail.trace.replacementChain":"Замена цепи","detail.trace.replaces":"Замененные события","detail.trace.sources":"Исходные события","detail.trace.derived":"Производные события","detail.trace.ancestors":"Сеансы предков","detail.trace.descendants":"Потомки сеансов","detail.matches.count":"{count} совпадений","detail.matches.capped":"Достигнут предел результатов; сузить поиск для большего","detail.event.neighbors":"Сопутствующие события","todo.completed":"{done}/{total} завершено","command.attachmentsUnsupported":"/{command} не принимает вложения; сначала удали их","ask.rowTitle":"Задать вопрос","ask.waiting":"ожидание","ask.pending":"продолжение; ответ еще доступен","ask.pendingDetail":"На эти нерешенные вопросы остается ответ композитора.","ask.reopen":"Ответ","ask.review":"Посмотреть ответы","ask.closed":"закрыто","ask.closedDetail":"Этот вопрос закрыт; его результат в разговоре ниже.","ask.cancelled":"отменен","ask.cancelledDetail":"Этот набор вопросов был отменен до того, как были отправлены ответы.","ask.interrupted":"прерванный","ask.interruptedDetail":"Этот набор вопросов был прерван до того, как были представлены ответы.","ask.answered":"{answered}/{total} ответило","ask.skipped":"Не ответил","bash.running":"Бег","bash.failed":"Не удалось","bash.stopped":"Остановлено","row.running":"Бег","row.preparing":"Подготовка вызова инструмента","row.failed":"Не удалось","row.stopped":"Остановлено","row.commandArguments":"Аргументы команды","row.input":"В","row.output":"ВНЕ","row.inspect":"Осмотреть","row.imageSize":"{width}x{height} пикселей, {bytes} байт","row.imageSizeDownscaled":"{width}x{height}px (уменьшено с {originalWidth}x{originalHeight}px), {bytes} байт","tool.title.search":"Поиск","tool.title.read":"Читать","tool.title.bash":"Баш","tool.title.write":"Написать","tool.title.edit":"Редактировать","tool.title.code":"Код","tool.title.generic":"Вызов инструмента","tool.title.inspect":"Запрос среды Cordis","tool.title.runCordis":"Запустите плагин Cordis","tool.title.stopCordis":"Остановить плагин Cordis","tool.title.removeCordis":"Удалить плагин Cordis","tool.title.pwsh":"Пшш","tool.title.readImage":"Читать изображение","tool.title.grep":"Греп","tool.title.glob":"Глоб","tool.title.webSearch":"Поиск","tool.title.webFetch":"Получить","tool.autoReviewRejected":"Отклонено автоматической проверкой","tool.autoReviewNotExecuted":"Инструмент не был выполнен. Причина: {reason}","tool.autoReviewReasonFallback":"Автоматическая проверка не санкционировала это действие","diff.collapseAria":"Свернуть разницу","diff.expandAria":"Разверните еще {count} строк различий","diff.expandRest":"… ещё {count} строк","read.window":"Показаны {shown} из {total} строк","read.collapseAria":"Свернуть содержимое","read.expandAria":"Развернуть еще {count} строк","read.expandRest":"… ещё {count} строк","search.paths":"{shown} пути","search.paths.truncated":"Показан {shown} из {total} путей","search.matches":"{shown} соответствует · {files} файлов","search.matches.truncated":"Показаны совпадения: {shown} из {total} · Файлы: {files}","search.noResults":"Нет результатов","search.collapseAria":"Свернуть результаты","search.expandAria":"Развернуть еще {count} строк результатов","search.expandRest":"… ещё {count} строк","web.noResults":"Результаты не найдены","web.sourcesTruncated":"Список источников сокращен","web.http":"HTTP","web.contentTruncated":"Содержание усечено","details.running":"Выполняется…","queue.count":"В очереди: {n}","queue.sending":"Отправка…","queue.image":"Изображение сообщения в очереди","queue.file":"Файл в очереди {name}","queue.edit":"Изменить сообщение в очереди","queue.edit.unsupported":"Содержит нетекстовый контент; редактирование пока не поддерживается","queue.save":"Сохранить сообщение в очереди","queue.cancelEdit":"Отменить редактирование","queue.remove":"Удалить сообщение из очереди","queue.steer":"Управление сообщением в очереди","queue.steer.unavailable":"Управление доступно только во время работы агента.","error.sessionInUse":"Этот сеанс уже используется, возможно, другим работающим экземпляром DSH (например, веб-приложением dsh или настольным приложением). Закройте другие работающие экземпляры DSH и повторите попытку.","queue.editFailed":"Не удалось изменить: возможно, это сообщение уже начало отправляться.","queue.removeFailed":"Удаление не удалось: возможно, это сообщение уже начало отправляться.","queue.steerFailed":"Рулевое управление не удалось. Попробуйте еще раз.","terminal.signal":"сигнал {signal}","terminal.exitCode":"код выхода {code}","terminal.noExitCode":"нет кода выхода","terminal.commandLine":"Командная строка {n}","terminal.running":"Бег","terminal.failed":"Не удалось","terminal.done":"Готово","terminal.noOutput":"Нет вывода","terminal.collapseAria":"Свернуть вывод","terminal.expandAria":"Разверните оставшиеся {n} выходные строки","terminal.expandRest":"… ещё {n} строк","terminal.sendInput":"(отправить ввод)","terminal.session":"Терминал {sessionId}"},"cordis":{"row.defineTitle":"Зарегистрировать плагин Cordis","a11y.preparing":"Подготовка вызова инструмента Cordis","row.runTitle":"Запустите плагин Cordis","row.updateTitle":"Обновить плагин Cordis","row.stopTitle":"Остановить плагин Cordis","row.removeTitle":"Удалить плагин Cordis","purpose.missing":"(цель не указана)","status.idle":"Готово","status.awaitingApproval":"Ожидает одобрения","status.failed":"Запустить не удалось","status.clientPending":"Клиент готов к активации","status.running":"Бег","status.removed":"Удален","status.superseded":"Доступна новая версия","run.removed":"Этот пакет больше не существует","run.superseded":"Более новая карта запуска доступна ниже.","panel.hint":"Запускайте элементы управления в реальном времени на панели Cordis над настройками.","panel.plugins.aria":"Плагины Кордиса","panel.approvals.aria":"Допуски Кордис","panel.trigger":"Плагин Кордис","panel.runningCount":"{count} работает","panel.title":"Плагины Кордиса","panel.empty":"Плагины еще не определены","panel.loading":"Чтение…","panel.readFailed":"Не удалось прочитать список плагинов: {message}","panel.group.current":"Эта сессия","panel.group.others":"Другие сессии","panel.version":"Версия","panel.current":"Текущий: {packageId}","panel.next":"Далее: {packageId}","action.approve":"Разрешить","action.approveOnce":"Разрешить только эту версию","action.approvePlugin":"Разрешить будущие версии этого плагина","action.decline":"Отклонить","action.run":"Запустить","action.stop":"Стоп","action.remove":"Удалить","action.retry":"Повторить попытку","action.rollback":"Откат назад","action.inspect":"Проверить","render.failedAbdicated":"Не удалось выполнить рендеринг в {slot}; пользовательский интерфейс по умолчанию был восстановлен:","render.failedHeld":"Не удалось выполнить рендеринг в {slot}:","a11y.defining":"Определение плагина","a11y.failed":"Определение не выполнено","a11y.stopped":"Определение прервано","body.source":"Источник плагина","body.hostCode":"Хост","body.clientCode":"Клиент","body.output":"Результат","body.copy":"Копировать","body.copied":"Скопировано"},"deliverables":{"presented.nativeUnavailable":"У этого файла нет доступного пути к хосту. Предварительный просмотр на боковой панели.","presented.revealError":"Не удалось отобразить в файловом менеджере. Попробуйте еще раз.","presented.directoryError":"Не удалось открыть содержащую папку. Попробуйте еще раз.","presented.directoryOpening":"Открытие папки, содержащей…","presented.directoryOpened":"Запрошенное открытие, содержащее папку","presented.revealed":"Запрошенное отображение в файловом менеджере","presented.revealing":"Отображается в файловом менеджере…","presented.unavailable":"У этого хоста нет рабочего стола, на котором можно было бы открывать файлы или папки во внешних приложениях. Файлы по-прежнему можно просматривать на боковой панели.","presented.retry":"Повторить попытку","presented.hostError":"Не удалось прочитать информацию о рабочем столе хоста.","presented.preview":"Предварительный просмотр в боковой панели","presented.previewButton":"Откройте {name} на боковой панели","presented.previewCard":"Предварительный просмотр имени пользователя {name} на боковой панели","presented.all":"Все файлы: {count}","presented.expandAria":"Показать все доставленные файлы: {count}","presented.collapse":"Свернуть","presented.collapseAria":"Свернуть доставленные файлы","presented.opening":"Открытие…","presented.opened":"Открыть запрос","presented.error":"Не удалось открыть. Нажмите, чтобы повторить попытку.","presented.file":"Файл","row.title":"Представление файлов","row.running":"Доставка","row.preparing":"Подготовка результатов","row.ok":"Доставлено","row.error":"Доставка не удалась","row.stopped":"Прерванный","row.inspect":"Проверить звонок","changes.title":"Отредактировано {count} файлов","changes.singleTitle":"Отредактировано {name}","changes.added":"+{count}","changes.deleted":"-{count}","changes.binary":"двоичный","changes.openReview":"Просмотрите изменения этого хода на боковой панели.","changes.all":"Все файлы: {count}","changes.expandAria":"Показать все измененные файлы: {count}","changes.collapse":"Свернуть","changes.collapseAria":"Свернуть измененные файлы","changes.oversized":"слишком большой","changes.viewDiff":"Посмотреть изменения в {name}","review.title":"Обзор · поворот {turn}","review.selectFile":"Выберите файл для просмотра","review.split":"Переключиться на разделенный вид","review.unified":"Переключиться на единый вид","review.splitAria":"Разделенный вид","review.wrap":"Включить перенос строк","review.nowrap":"Отключить перенос строк","review.wrapAria":"Перенос строки","review.openFile":"Открыть весь файл на боковой панели","review.openFileAria":"Откройте {name} на боковой панели","diff.loading":"Чтение изменений…","diff.missing":"Содержимое изменений этого хода больше недоступно.","diff.error":"Не удалось прочитать изменения","diff.binary":"Бинарный файл; изменения не могут быть показаны","diff.oversized":"Файл слишком большой; изменения не могут быть показаны","diff.created":"Создано в этом ходу","diff.deleted":"Удален на этом ходу","diff.unchanged":"Обе стороны держат одни и те же линии","diff.coarse":"Время сравнения строк истекло; отображается как замена всего файла","diff.truncated":"Показаны первые строки: {count}"},"entryCustomization":{"install":"Просмотрите другие плагины","create":"Создайте свой плагин","createPrompt.sidebar":"Создайте плагин DSH с записью на левой боковой панели.","createPrompt.conversation":"Создайте плагин просмотра разговоров DSH.","createPrompt.rightbar":"Создайте плагин DSH с записью на правой боковой панели."},"goal":{"phase.active":"Текущая цель","phase.active.disarmed":"Неактивная цель","phase.paused":"Приостановленная цель","phase.blocked":"Заблокированная цель","objective.aria":"Цель Цель","commandInput.aria":"Ввод команды","action.save":"Сохранить цель","action.cancel":"Отменить редактирование","action.pause":"Приостановить цель","action.resume":"Возобновить цель","action.edit":"Изменить цель","action.clear":"Четкая цель"},"slash.menu":{"command":"Команды","skill":"Навыки","subagent":"Субагенты","loading":"Загрузка…","drill.aria":"Просмотреть папку","drill.hint":"Просмотреть папку","drill.key":"Вкладка","crumbs.aria":"Навигация по папкам","suggestions.aria":"Триггерные предложения"},"job":{"count.live.one":"{count} выполняется фоновое задание","count.live.other":"Выполняется {count} фоновых заданий","count.idle.one":"{count} фоновое задание","count.idle.other":"{count} фоновых заданий","list.aria":"Фоновые задания","section.live":"Бег","section.settledCount":"Завершено {count}","section.clear":"Очистить","row.expandAria":"Показать живые результаты {label}","row.collapseAria":"Скрыть прямую трансляцию {label}","kill.stop":"Остановить задачу {label}","kill.confirm":"Нажмите еще раз, чтобы подтвердить","kill.confirmAction":"Подтвердить остановку","kill.failed":"Остановить не удалось","status.running":"бег","status.stopping":"остановка","status.completed":"завершено","status.killed":"отменен","status.failed":"не удалось","duration.seconds":"{seconds} сек.","duration.minutes":"{minutes} м {seconds} с","duration.hours":"{hours}ч {minutes}м","duration.title.live":"Работает в течение {duration}","duration.title.done":"Прошло {duration}","output.gap":"… ранее объемы производства упали …","output.error":"поток вывода в реальном времени прерван: {error}","terminal.signal":"сигнал {signal}","terminal.exitCode":"выйти {code}","terminal.noExitCode":"нет кода выхода","terminal.commandLine":"Командная строка {n}","terminal.running":"бег","terminal.failed":"не удалось","terminal.done":"сделано","terminal.copy":"Копировать","terminal.copied":"Скопировано","terminal.noOutput":"(нет вывода)","terminal.collapse":"Свернуть","terminal.collapseAria":"Свернуть вывод","terminal.expand":"Показать еще {n} строк","terminal.expandAria":"Развернуть {n} свернутых строк вывода"},"feedback":{"action.like":"Хороший ответ","action.likeActive":"Удалить оценку","action.dislike":"Плохой ответ","action.dislikeActive":"Удалить оценку","dialog.title":"Отправить отзыв","dialog.categories":"Категория обратной связи","dialog.detail":"Подробности обратной связи","dialog.hint":"Добавьте детали, чтобы помочь нам стать лучше. Ваше сообщение будет включать текущий журнал разговоров.","category.task-result":"Результат задачи","category.instruction-following":"Понимание и следование инструкциям","category.product-interaction":"Особенности продукта и взаимодействие","category.service-stability":"Стабильность и скорость","category.resource-cost":"Использование ресурсов и стоимость","category.security-privacy-permission":"Безопасность, конфиденциальность и разрешения","category.other":"Другое","toast.recorded":"Спасибо за ваш отзыв","error.conflict":"Этот отзыв изменился в другом месте; отображается последнее состояние","error.load":"Не удалось загрузить отзыв.","error.generic":"Не удалось сохранить отзыв","error.noteTooLarge":"Описание слишком длинное; сократите его и отправьте снова"},"model":{"provider.account":"Аккаунт DeepSeek","command.label":"Модель","command.description":"Выберите модель для этого разговора","option.loadError":"Не удалось загрузить каталог: {message}","trigger.fallback":"Выберите модель","trigger.loading":"Загрузка моделей…","trigger.selectAria":"Выберите модель","trigger.aria":"Выберите модель, текущую {model}","trigger.ariaEffort":"Выберите модель, текущую {model}, усилие рассуждения {effort}","menu.aria":"Модель и рассуждения","menu.model":"Модель","menu.effort":"Усилие","effort.providerDefault":"По умолчанию","status.loading":"Обновление списка моделей…","error.action":"Не удалось выполнить операцию модели: {message}","error.sessionInUse":"Этот сеанс уже используется, возможно, другим работающим экземпляром DSH (например, веб-приложением dsh или настольным приложением). Закройте другие работающие экземпляры DSH и повторите попытку.","action.reload":"Перезагрузить","warning.groupLoad":"{name} не удалось загрузить: {message}","search.placeholder":"Поиск моделей…","search.clear":"Очистить поиск","search.empty":"Нет подходящих моделей.","empty.models":"Нет доступных моделей.","empty.efforts":"Эта модель не обеспечивает обоснования уровней усилий."},"open-in-app":{"open.title":"Открыть в {app}","path.appDefault":"{app} (по умолчанию)","path.appsError":"Не удалось загрузить приложения","shortcut.busy":"Открытие рабочей области","shortcut.unavailable":"Текущая рабочая область или локальное приложение недоступно.","open.tooltip":"Открыть локально","path.open":"Открыть","path.more":"Больше способов открыть","path.reveal":"Показать местоположение файла","path.openError":"Не удалось открыть. Попробуйте еще раз.","path.revealError":"Не удалось показать местоположение файла. Попробуйте еще раз.","app.finder":"Искатель","app.explorer":"Проводник файлов","app.filemanager":"Файлы","app.terminal":"Терминал","app.cursor":"Курсор","app.vscode":"VS-код","app.vscodeinsiders":"Инсайдеры кода VS","app.windsurf":"Виндсерфинг","app.zed":"Зед","app.sublimetext":"Возвышенный текст","app.xcode":"Xcode","app.androidstudio":"Android-студия","app.intellij":"IntelliJ ИДЕЯ","app.pycharm":"Пичарм","app.webstorm":"ВебШторм","app.phpstorm":"PhpStorm","app.goland":"GoLand","app.rider":"Райдер","app.rustrover":"РустРовер","app.fork":"Вилка","app.sourcetree":"Исходное дерево","app.github":"Рабочий стол GitHub","app.tower":"Башня","app.gitkraken":"GitKraken","app.smartgit":"СмартГит","app.sublimemerge":"Возвышенное слияние","app.ghostty":"Призрачный","app.warp":"Деформация","app.iterm":"iTerm2","app.kitty":"котенок","app.windowsterminal":"Терминал Windows","app.gitbash":"Гит Баш","app.gnometerminal":"Терминал GNOME","app.konsole":"Консоль"},"permission.access":{"mode":"Текущий режим доступа: {name}","close":"Закрыть","preset.readOnly":"Только чтение","preset.workspaceWrite":"Запись в рабочей области","preset.fullAccess":"Полный доступ","confirm.title":"Включить полный доступ?","confirm.description":"Полный доступ сокращает количество шагов подтверждения и позволяет агенту напрямую выполнять больше действий, включая конфиденциальные операции, изменения файлов или внешние команды. Используйте его только в том случае, если вы доверяете текущей задаче.","confirm.acknowledge":"Я понимаю риски и хочу продолжить","confirm.cancel":"Отмена","confirm.enable":"Включить полный доступ","auto.label":"Автоматический обзор","auto.badge":"Опыт","auto.description":"Запуск без изолированной программной среды после экспериментальной проверки одной и той же модели каждого вызова встроенного инструмента и внутреннего вызова PTC.","auto.confirm.title":"Включить автоматический просмотр (экспериментальная версия)?","auto.confirm.description":"Автоматический просмотр работает без песочницы. Перед каждым вызовом собственного инструмента и внутренним вызовом PTC та же модель, что и текущий агент, проверяет, разрешить ли это; вы одобряете или отклоняете каждый вызов, который он отклоняет. Эта функция является экспериментальной, может ошибочно разрешать или запрещать действия и использует дополнительные токены.","auto.confirm.acknowledge":"Я понимаю эти риски и хочу продолжить","auto.confirm.enable":"Включить автоматический просмотр"},"settings.permission":{"title":"Разрешение","description":"Выберите режим разрешений по умолчанию для новых сеансов","loading":"Загрузка","unavailable":"Недоступно","preset.readOnly":"Только чтение","preset.workspaceWrite":"Запись в рабочей области","preset.fullAccess":"Полный доступ","confirm.title":"Включить полный доступ?","confirm.description":"Полный доступ позволяет новым сеансам сократить количество шагов подтверждения и напрямую выполнять больше действий, включая конфиденциальные операции, изменение файлов или внешние команды. Используйте его только в том случае, если вы доверяете последующим задачам.","confirm.acknowledge":"Я понимаю риски и хочу продолжить","confirm.cancel":"Отмена","confirm.enable":"Включить полный доступ"},"plan":{"chip.label":"План","preview.title":"План","preview.document":"План · Уценка","preview.action":"Открыть","preview.open":"Открытая планировка в боковой панели","preview.full":"Посмотреть полный план","preview.openNamed":"Открытая планировка: {title}","preview.loading":"План загрузки…","preview.failed":"Не удалось загрузить план","preview.invalidAddress":"Неверный адрес плана","preview.historyUnavailable":"История сеансов недоступна","preview.notFound":"Этот план не найден","preview.unavailable":"Предварительный просмотр плана недоступен.","preview.expired":"Срок действия этой временной предварительной версии плана истек. Откройте его снова из карточки ожидающего рассмотрения.","chip.on.aria":"Режим планирования включен. Нажмите, чтобы выключить.","chip.on.title":"Режим планирования включен — нажмите, чтобы выключить (/plan off)","chip.exitFailed":"Не удалось выйти из режима планирования."},"pluginManager":{"panel":"Плагины","title":"Плагины","intro":"Установите, включите и настройте плагины","infoLabel":"О плагинах","infoDescription":"Настройте официальные плагины, а также установите или управляйте другими плагинами здесь. Посмотреть список встроенных плагинов и статус выполнения можно в разделе «Настройки» → «Встроенные плагины».","loading":"Чтение плагинов…","error":"Не удалось прочитать все плагины, возможно, из-за проблем с сетью.","unavailable":"Это развертывание выполняется без управляемого профиля, поэтому здесь нельзя устанавливать или переключать плагины.","retry":"Повторить попытку","refresh":"Обновить","refreshError":"Обновить не удалось. Пожалуйста, попробуйте еще раз.","empty":"Плагины пока не установлены.","addPlugin":"Добавить плагин","chooseAddMethod":"Выберите, как добавить плагин","installExisting":"Установите сторонний плагин","installExistingDescription":"Поддерживает пакеты npm, репозитории Git и локальные каталоги.","restartNotice":"Перезапустите DSH, чтобы применить изменения. {reason}","restartReasonNoHmr":"Этот профиль применяет изменения только при запуске.","restartReasonPackageMoved":"Установленный пакет теперь разрешается в другой каталог, или изменение заменяет пакет, предоставляемый установкой DSH. Удалите пакет перед установкой его из другого места.","restartReasonHostModule":"Изменение достигает модулей DSH, которые сами загружаются.","restartReasonUnmanagedPlugin":"Изменение достигает плагина, работающего за пределами списка плагинов.","restartReasonModuleComparison":"DSH не удалось сравнить загруженные плагины с их файлами.","overriddenNotice":"{name} было сохранено, но конфигурация с более высоким приоритетом переопределяет его, поэтому оно не действует.","bundlesTitle":"Установленные плагины","basicTitle":"Встроенные настройки плагина","extensionsTitle":"Экспериментальные плагины","moreTitle":"Экспериментальные плагины","moreAction":"Подробнее","tabsLabel":"Просмотры плагинов","installedTab":"Установлено","statusProblem":"Проблема","statusBeta":"Экспериментальный","reasonLabel":"Причина","metadataError":"Ошибка метаданных пакета: {error}","previewAlt":"Предварительный просмотр функции {name}","previewUnavailable":"Не удалось отобразить предварительный просмотр функции.","versionTag":"v{version}","partsLabel":"Компоненты","sourceTitle":"Источник","sourceSpec":"Источник кода","sourceBuiltIn":"Встроенный","sourceVersion":"Текущая версия","partsEmpty":"Этот пакет плагинов не содержит компонентов.","partsCountTotal":"Всего {count}","partsCountRunning":"{count} работает","partsCountOff":"{count} скидка","partOff":"Выкл.","partsCountFailed":"{count} не удалось","partsFilter":"Компоненты фильтра","partsFilterEmpty":"Ни один компонент не соответствует.","partToggle":"Включить компонент {name}","rowPhasePending":"Ожидание зависимостей","rowPhaseLoading":"Загрузка","rowPhaseActive":"Бег","rowPhaseFailed":"Проблема","rowPhaseUnloading":"Разгрузка","enableToggle":"Включить {name}","openDetail":"Посмотреть {name}","backToList":"Вернуться к плагинам","crumbRoot":"Плагины","backToPackage":"Вернуться к {name}","configureRow":"Настроить {name}","rowStateIdle":"Не работает","uninstall":"Удалить","uninstallLabel":"Удалить {name}","installTitle":"Добавить плагин","installDescription":"Введите имя пакета плагина, адрес репозитория GitHub или путь к локальному каталогу.","installSpecLabel":"Название или адрес пакета","installSpecPlaceholder":"например dsh-plugin-whale-pet","installGuideToggle":"Руководство по установке и примеры","installGuideHide":"Скрыть руководство","installGuideIdTitle":"Введите имя пакета npm плагина.","installGuideIdExample":"dsh-плагин-кит-питомец","installGuideIdHint":"Имя пакета плагина — это имя пакета npm (например, dsh-xxx или @author/plugin): часть после добавления плагина dsh или добавления pnpm в команде установки README плагина сообщества.","installGuideExampleLabel":"Пример: ","installGitTemplateHint":"Замените это фактическим адресом репозитория Git.","installPathTemplateHint":"Замените это фактическим путем к вашему локальному каталогу плагина.","installGuideFill":"Используйте пример","installGuideFillAria":"Используйте пример {example}","installGuideSafety":"Устанавливайте только те плагины, которым вы доверяете: они запускаются с вашими разрешениями и могут повредить DeepSeek Harness или привести к утечке ваших данных.","installUpgradeNotice":"Официальные плагины по требованию предлагают обновление, если их версия отличается от DSH. Чтобы обновить другие плагины, удалите и переустановите их.","registryToggle":"Реестр","registryLegend":"Реестр npm, из которого загружается плагин.","registryDefault":"Реестр по умолчанию","registryOfficial":"Официальный реестр npm","registryNpmmirror":"Зеркало материкового Китая","registryCustom":"Пользовательский адрес","registryCustomPlaceholder":"https://npm.example.com/","registryCustomHint":"Введите внутренний или частный адрес реестра npm, начинающийся с http:// или https://. Если требуется вход в систему, сохраните учетные данные в ~/.npmrc на этом компьютере.","registryCustomInvalid":"Введите адрес, начинающийся с http:// или https://.","registryListSeparator":", ","sentenceSeparator":" ","installRun":"Установить","installChecking":"Проверка…","installConfirmedTitle":"Установить плагин","installConfirmedRefused":"Этот плагин не может быть установлен","installProblemInvalid":"Это не имя или адрес пакета, который можно установить: {reason}","installProblemInstalled":"Этот плагин уже установлен. Чтобы обновить его, удалите его и установите снова.","installProblemShipped":"Этот плагин поставляется с DSH; обновление DSH обновляет его","installProblemNotFound":"Такой плагин не найден","installProblemNotPackage":"Путь не существует или не является допустимым пакетом плагина.","installProblemNotBundle":"В этом пакете не объявлен пакет, поэтому его нельзя установить как плагин: {reason}","installProblemNetwork":"Не удалось получить доступ к реестру плагинов; проверьте сеть и попробуйте еще раз","installProblemNetworkAll":"Не удалось получить доступ к реестру (пробовал: {registries}); проверьте настройки сети или прокси или измените реестр","installProblemUnknown":"Не удалось найти плагин: {reason}","installingTitle":"Установка плагина…","installedTitle":"Установлено","statusNotInstalled":"Не установлено","statusMissingFiles":"Пакет недоступен","statusUpdateAvailable":"Доступно обновление","sourceNotInstalled":"Не установлено","sourceTargetSpec":"Источник этого DSH","sourceTargetVersion":"Версия для этого DSH","update":"Обновить","updateLabel":"Обновить {name}","installFailedTitle":"Плагин не удалось установить","installGithubFailedTitle":"Не могу получить доступ к GitHub","installGithubTimeoutTitle":"Время ожидания соединения с GitHub истекло","installGithubFailedDescription":"Попробуйте другой источник установки.","installUseGithubMirror":"Используйте зеркало материкового Китая.","installTryAnotherWay":"Попробуйте другой способ","installPackageLabel":"Название пакета плагина","installEdit":"Редактировать","installEditAria":"Вернуться к редактированию","installCancelAndEdit":"Отменить установку и вернуться к редактированию","installApplyingCancellationError":"Отмена не подтвердилась. Установка применяется; дождитесь его результата. {reason}","installReconcile":"Проверьте статус установки","installUnknownTitle":"Результат установки недоступен","installUnknownDescription":"На хосте нет активной установки с этим идентификатором запроса. Прежде чем повторить попытку, проверьте список плагинов.","installResultUnconfirmed":"Результат установки не получен. Проверьте статус установки. {reason}","installAwaitingAcceptance":"Ожидание, пока хост примет установку. Отмена будет повторена автоматически после подтверждения.","installBackgroundUnknown":"Результат установки недоступен. Проверьте список плагинов.","installCancel":"Отменить установку","installCloseCancels":"Отменить установку и закрыть","installViewTask":"Посмотреть установку","installUnconfirmedTitle":"Статус установки не подтвержден","installBackgroundDone":"Установка завершена. Посмотреть подробности установки.","installBackgroundFailed":"Установка не удалась. Посмотреть подробности установки.","installBackgroundUnconfirmed":"Статус установки не подтвержден. Подробности смотрите в установке.","installBackgroundApplying":"Установка применяется и не может быть отменена. Просмотр хода установки.","installStarting":"Подготовка к установке…","installCancelling":"Остановка установки…","installApplying":"Применяется конфигурация, пожалуйста, подождите…","installCancelledShort":"Отменено","installCancelled":"Установка отменена; плагин не включен и скачанные файлы могут остаться","installCancelUnconfirmed":"Установка не подтверждена, остановлена. Повторите попытку отмены или дождитесь результата установки. {reason}","installEnableNow":"Включить сейчас","installDetailsShow":"Показать детали установки","installDetailsHide":"Скрыть сведения об установке","installVersion":"Версия {version}","installSubjectPath":"Локальный каталог","installSubjectGit":"Git-репозиторий","installSubjectTarball":"Тарбол","installLocation":"Устанавливается в {dir}","installRetry":"Повторить попытку","installChangeRegistry":"Изменить реестр","installAttempt":"{previous} не удалось обработать пакет; повторная попытка через {registry} (реестр {index} из {total})","installAttemptBadge":"Попытка {index} · {registry}","installFailureNetwork":"Сетевое подключение не удалось","installFailureNetworkAll":"Не удалось получить доступ к реестру (пробовано: {registries}). Проверьте настройки сети или прокси-сервера или измените реестр и повторите попытку.","installFailureNetworkHost":"{host} не удалось связаться. Адрес GitHub или ссылка .tgz не извлекаются через реестр: этот компьютер должен получить доступ к ним напрямую или через прокси. Если плагин также опубликован в npm, вместо этого введите имя его пакета.","installFailureNotFound":"Такой плагин не найден","installFailureNoMatchingVersion":"Ни одна версия не соответствует запросу","installFailureDiskFull":"Диск заполнен; установка остановлена","installFailurePermission":"Нет разрешения на запись; плагин не может быть установлен","installFailureBuildBlocked":"Для продолжения установки сценариям установки зависимости требуется ваше разрешение.","installFailureBuildBlockedManual":"pnpm блокировал сценарии установки; разрешите их в разделеallowBuilds в pnpm-workspace.yaml и повторите попытку.","installFailureIntegrity":"Загруженный пакет не прошел проверку целостности.","installFailureTimeout":"Время установки истекло","installFailurePnpmMissing":"pnpm не найден, поэтому ничего установить невозможно","installFailureGeneric":"Во время установки что-то пошло не так; детали говорят о чем","terminalCommandLine":"Командная строка {n}","terminalRunning":"Бег","terminalFailed":"Не удалось","terminalDone":"Готово","terminalCopy":"Копировать","terminalCopied":"Скопировано","terminalNoOutput":"Нет вывода","terminalCollapseAria":"Свернуть вывод","terminalCollapse":"Свернуть","terminalExpandAria":"Разверните оставшиеся {n} выходные строки","terminalExpand":"… ещё {n} строк","terminalExitCode":"код выхода {code}","terminalSignal":"сигнал {signal}","terminalNoExitCode":"нет кода выхода","installDoneNothing":"Установка завершена без новых зависимостей.","installDoneRestart":"Установлен; перезапустите DSH, чтобы загрузить его. {reason}","installDoneApproved":"Скрипты установки разрешены для {names}","installDoneOtherVersion":"В соответствии с политикой безопасности цепочки поставок pnpm (minimumReleaseAge) версии, опубликованные позже требуемого возраста, не устанавливаются автоматически, поэтому в этой установке использовалась {installed} вместо последней версии {version}. Недавно опубликованная версия не завершила этот период ожидания и может содержать необнаруженный вредоносный код или дефекты. Если вам нужна {version}, удалите текущую версию, а затем установите {exact}, чтобы запросить эту версию.","installApprovalTitle":"Для установки скриптов требуется разрешение","installApprovalDescription":"Эти пакеты содержат сценарии установки, которые pnpm не запускал.","installApprovalConsequence":"После разрешения сценарии запускаются здесь с вашими разрешениями, а разрешение сохраняется в этом профиле.","installApprovalCaution":"Разрешите только те пакеты, которым вы доверяете.","installApproveAndRetry":"Разрешите эти сценарии и повторите попытку.","installClose":"Готово","close":"Закрыть","cancel":"Отмена","confirmUninstallTitle":"Удалить \"{name}\"?","confirmUninstallDescription":"То, что он предоставляет, исчезает после его удаления.","confirmUninstall":"Удалить","failedEnable":"Не удалось включить: {reason}","failedDisable":"Не удалось отключить: {reason}","failedUninstall":"Не удалось удалить: {reason}","failedRowEnable":"Не удалось включить компонент: {reason}","failedRowDisable":"Не удалось отключить компонент: {reason}","reasonManagementRequired":"Управление плагинами нуждается в этом; его нельзя отключить или удалить.","reasonUnaddressable":"Патч профиля не может решить эту проблему однозначно.","reasonUnknownPlugin":"Нет такого плагина.","reasonInvalidSpec":"Введите действительное имя или адрес пакета.","reasonAlreadyInstalled":"Этот пакет уже установлен; удалите его перед установкой другой версии.","reasonAmbiguousInstall":"Какой пакет был установлен, невозможно определить по изменению зависимостей.","reasonNotBundle":"В этом пакете не объявлен пакет, поэтому им нельзя управлять как плагином.","reasonNotRemovable":"Этот пакет не принадлежит профилю, или он нужен управлению плагинами.","reasonStopProfile":"Этот профиль работает без HMR; остановите его и удалите пакет с помощью плагина dsh.","reasonBundleInUse":"Другая конфигурация по-прежнему использует компоненты этого пакета; сначала выключите их.","reasonStaleApproval":"Ожидаемые утверждения сценария изменились; установите еще раз, чтобы обновить их.","reasonIncompatibleVersion":"{plugin} несовместим с DSH {runtime} (требуется {requirements}); его запуск может привести к сбоям или потере данных.","reasonIncompatibleVersionUnnamed":"Этот плагин несовместим с текущей версией DSH; его запуск может привести к сбоям или потере данных.","reasonIncompatibleInstall":"Установите версию плагина, совместимую с этим DSH.","reasonIncompatibleInstalled":"Удалите его и установите версию, совместимую с этим DSH.","reasonOperationError":"Хост сообщил об ошибке."},"pluginMarket":{"title":"Откройте для себя","refresh":"Обновить","loading":"Чтение индекса","retry":"Повторить попытку","close":"Закрыть","cancel":"Отмена","emptyTitle":"Рынка плагинов пока нет","emptyDescription":"Добавьте индекс рынка плагинов, чтобы просматривать и устанавливать здесь плагины.","addFirstSource":"Добавить источник индекса","sourcesFailed":"Не удалось прочитать исходники индекса.","manageSources":"Управление источниками индексов…","marketMenu":"Переключить рынок плагинов, в настоящее время {market}","sourcesTitle":"Источники индекса","sourcesDescription":"Рынок плагинов публикуется как URL-адрес одного индексного файла. Discover просматривает перечисленные здесь индексы.","sourcesLabel":"Добавлены источники индекса","sourceUrl":"URL-адрес индекса","sourcePlaceholder":"https://example.com/index.json","addSource":"Добавить","removeSource":"Удалить","removeSourceNamed":"Удалить {url}","sourcesTrust":"Индексы поступают от третьих лиц. Добавляйте только источники, которым вы доверяете: их плагины запускаются с вашими разрешениями после установки.","sourceInvalid":"Используйте адрес http или https без имени пользователя, пароля или фрагмента #.","sourceDuplicate":"Этот источник индекса уже добавлен.","sourceUnavailable":"Источники индекса здесь сохранить нельзя.","sourceFailed":"Не удалось сохранить источники индекса.","readFailed":"Не удалось прочитать этот индекс.","readInvalid":"Этот индекс имеет недопустимый формат.","readChanged":"Этот индекс менялся при загрузке.","search":"Поиск плагинов","filter":"Этикетки","filterCount":"Ярлыки · {count}","sortBy":"Сортировать: {sort}","sortRelevance":"Лучший матч","sortDefault":"Порядок по умолчанию","sortPublished":"Дата публикации","switchToAscending":"Сортировать по возрастанию","switchToDescending":"Сортировать по убыванию","categoriesLabel":"Категории","allCategories":"Все","emptyIndex":"В этом индексе нет плагинов.","noMatches":"Никакие плагины не подходят.","showMore":"Показать больше","entryMeta":"{version} · {date}","entryMetaAuthor":"{version} · {author} · {date}","openEntry":"Посмотреть {name}","install":"Установить","installTitle":"Установить {name}","installVersionTitle":"Установить {name} {version}","openInstalled":"Посмотреть {name} в списке установленных","statusInstalled":"Установлено","statusUpdate":"Доступно обновление","statusProvided":"Предоставлено DSH","incompatible":"Эта версия несовместима с работающим DSH {runtime}; для этого требуется DSH {range}.","noCompatibleVersion":"Ни одна версия не совместима с DSH {runtime}.","exempted":"Эта версия несовместима с работающим DSH, но вы установили для нее исключение совместимости.","backToList":"Откройте для себя","factSource":"Источник","factPackage":"Пакет","factRegistry":"Реестр","factRepository":"Репозиторий","factCommit":"Зафиксировать","factDirectory":"Каталог","factPublished":"Опубликовано","factAuthor":"Автор","factHomepage":"Домашняя страница","factSourceCode":"Исходный код","factCategory":"Категория","factLabels":"Этикетки","factMarket":"Рынок плагинов","versionsTitle":"Версии","versionsLabel":"Версии {name}","versionDefault":"Рекомендуется","versionInstalled":"Установлено","versionIncompatible":"Несовместимый","versionExempted":"освобожден","versionPrerelease":"Пререлиз","confirmTitle":"Установить \"{name}\"?","installTrust":"Плагины запускаются на этом компьютере с вашего разрешения. Убедитесь, что вы доверяете источнику этого сообщения."},"reference":{"section.files":"Файлы и папки","section.subagents":"Субагенты","section.sessions":"Сессии","candidate.noCwd":"(без КДВ)","crumb.root":"Рабочая область","fileOpen.title":"Не удалось открыть файл","fileOpen.failed":"Не удалось открыть «{path}». Попробуйте еще раз или закройте это сообщение.","fileOpen.close":"Закрыть","fileOpen.retry":"Повторить попытку","time.now":"сейчас","time.minutes":"{n}мин","time.hours":"{n} ч","time.days":"{n}д","time.months":"{n} мес.","time.years":"{n}й"},"schedule.catalog":{"trigger.label":"Напоминания","list.loading":"Загрузка напоминаний…","list.error":"Не удалось загрузить напоминания.","list.retry":"Повторить попытку","delete.action":"Удалить","delete.pending":"Удаление…","delete.label":"Удалить напоминание: {title}","list.open":"Открыть сведения о напоминании: {title}","trigger.one":"{count} напоминание","trigger.other":"{count} напоминаний","list.aria":"Активные напоминания","list.nextRun":"Следующий запуск","frequency.once":"Однажды","frequency.every":"Каждое {value} {unit}","mark.aria":"{count} запланированных задач","hover.more":"另有 {count} 个任务","time.locale":"ru","time.utcPrefix":"UTC","frequency.daily":"Ежедневно в {time} ({timeZone})","frequency.dailyLocal":"Ежедневно в {time}","frequency.weekly":"Еженедельно по {weekdays} в {time} ({timeZone})","frequency.weeklyLocal":"Еженедельно по {weekdays} в {time}","frequency.cron":"Cron {expression} ({timeZone})","frequency.cronLocal":"Крон {expression}","frequency.cronRule":"{rule} ({timeZone})","cron.list.join":", ","cron.part.join":" ","cron.weekday.name":"{weekday}","cron.weekday.range":"{from}–{to}","cron.months":" через {months}","cron.day.every":"Каждый день{months}","cron.day.weekdays":"{weekdays}{months}","cron.day.monthDays":"День {days} каждого месяца {months}","cron.day.both":"День {days} каждого месяца или {weekdays}{months}","cron.day.bothStarred":"День {days} каждого месяца и {weekdays}{months}","cron.hours.range":"{from}–{to}","cron.hours.list":"{hours}","cron.time.everyMinute":"Каждую минуту","cron.time.everyMinutes":"Каждые {step} минут","cron.time.joinedEveryMinute":"каждую минуту","cron.time.joinedEveryMinutes":"каждые {step} минут","cron.time.everyHour":"Каждый час","cron.time.joinedEveryHour":"каждый час","cron.time.everyNHours":"Каждые {count} часов","cron.time.joinedEveryNHours":"каждые {count} часов","cron.time.hourlyAt":"Каждый час в минуту {minutes}","cron.time.joinedHourlyAt":"каждый час в минуту {minutes}","cron.time.hoursEveryMinute":"каждую минуту в течение часов {hours}","cron.time.hoursEveryMinutes":"каждые {step} минут в течение часов {hours}","cron.time.at":"в {times}","cron.time.hoursAt":"в минуту {minutes} часов {hours}","frequency.weekday.join":", ","frequency.weekday.1":"Пн.","frequency.weekday.2":"Вт","frequency.weekday.3":"ср.","frequency.weekday.4":"Чт","frequency.weekday.5":"Пт","frequency.weekday.6":"Суббота","frequency.weekday.7":"Солнце","unit.day.one":"день","unit.day.other":"дни","unit.hour.one":"час","unit.hour.other":"часы","unit.minute.one":"минута","unit.minute.other":"минуты","unit.second.one":"второй","unit.second.other":"секунды","relative.now":"Срок оплаты сейчас","relative.future":"в {value} {unit}","relative.overdue":"{value} {unit} просрочено"},"schedule.manager":{"panel":"Задачи автоматизации","title":"Задачи автоматизации","new.action":"Новый","list.label":"Каталог задач","list.nextPrefix":"Следующее запланированное время: ","list.loading":"Загрузка задач…","list.error":"Не удалось загрузить задачи.","list.retry":"Повторить попытку","list.empty":"Заданий пока нет. Здесь отображаются задачи, созданные в ваших сеансах.","list.emptyInactive":"Нет неактивных задач автоматизации","list.noMatches":"Нет подходящих задач","search.label":"Поиск задач","search.placeholder":"Задачи автоматизации поиска","search.clear":"Очистить поиск","empty.action":"Новая задача автоматизации","statusFilter.label":"Статус задачи","statusFilter.all":"Все","status.active":"Включено","status.inactive":"Неактивный","detail.label":"Подробности задачи","detail.close":"Закрыть детали","detail.more":"Действия задачи автоматизации","detail.nextRun":"Следующий запуск","detail.tabs":"Просмотр сведений о задаче","detail.rule":"Правила","detail.records":"Рекорды","delivery.empty":"Нет записи о доставке","delivery.loading":"Загрузка записей о доставке…","delivery.error":"Не удалось загрузить записи о доставке.","delivery.notFound":"Эта задача больше не доступна.","delivery.cursorError":"Записи обновлены.","delivery.retry":"Повторить попытку","delivery.refresh":"Обновить","delivery.loadMore":"Загрузить больше","delivery.expand":"Развернуть","delivery.collapse":"Свернуть","delivery.pruned":"Записи о предыдущих поставках удалены.","delivery.retention":"Правила хранения","delivery.retentionBounds":"Для каждой задачи сохраняется до {records} записей о доставке за последние {days} дней.","delivery.retentionExplanation":"При сохранении новой записи более старые записи, выходящие за эти пределы, автоматически удаляются. Очистка записей не останавливает выполнение задачи.","detail.name":"Название задачи автоматизации","detail.instruction":"Инструкция по задаче автоматизации","detail.status":"Статус","detail.next":"Следующее запланированное время","detail.frequency":"Частота","detail.id":"Идентификатор задачи","detail.session":"Связанный сеанс","detail.openSession":"Связанный сеанс: открыть исходный сеанс.","detail.openSessionTitle":"Связанный сеанс {title}: открыть исходный сеанс.","detail.sessionLoading":"Загрузка исходной информации о сеансе.","detail.sessionArchived":"Исходный сеанс архивируется.","detail.sessionUnavailable":"Исходный сеанс недоступен.","detail.missing":"Задача недоступна. Возможно, оно было удалено.","delivery.label":"Сохраненная запись о доставке","frequency.once":"Однажды","frequency.every":"Каждое {value} {unit}","timing.date":"Дата","timing.time":"Время","timing.hour":"Час","timing.minute":"минута","timing.second":"Второй","timing.prevMonth":"Предыдущий месяц","timing.nextMonth":"В следующем месяце","timing.zone":"Часовой пояс","timing.zoneSearch":"Поиск по смещению UTC, идентификатору IANA или городу.","timing.zoneNoResults":"Нет подходящих часовых поясов","timing.interval":"Повторяйте каждые","timing.intervalIncrease":"Увеличить интервал","timing.intervalDecrease":"Уменьшить интервал","timing.unit.hour":"часы","timing.unit.minute":"минуты","timing.unit.second":"секунды","timing.intervalHint.hour":"Минимум 1 час. Интервал отсчитывается с момента создания задачи или последнего изменения правила и не зависит от часовых поясов.","timing.intervalHint.minute":"Минимум 1 минута. Интервал отсчитывается с момента создания задачи или последнего изменения правила и не зависит от часовых поясов.","timing.intervalHint.second":"Минимум 60 секунд. Интервал отсчитывается с момента создания задачи или последнего изменения правила и не зависит от часовых поясов.","timing.zoneNoStored":"Одноразовая задача сохраняет только целевой момент, а не часовой пояс. Дата и время интерпретируются в выбранном часовом поясе.","timing.inactive":"Неактивные задачи доступны только для чтения. Их время не может быть отредактировано.","timing.conflict":"Эта задача изменилась во время редактирования. Ваш черновик сохранен. Отмените и снова откройте после обновления, чтобы изменить последнее правило.","timing.notFound":"Эта задача больше не доступна. Ваш черновик сохраняется; отмените, чтобы закрыть редактор.","timing.subagentSession":"Этот сеанс принадлежит субагенту, который никогда не получает напоминания.","timing.invalid":"Введите действительные дату и время или проверьте поля времени.","timing.invalidZone":"Введите действительный часовой пояс IANA, например Азия/Шанхай.","timing.notFuture":"Выберите дату и время в будущем.","timing.invalidInterval":"Введите интервал не менее 1 минуты.","timing.invalidInterval.hour":"Введите интервал не менее 1 часа.","timing.invalidInterval.minute":"Введите интервал не менее 1 минуты.","timing.invalidInterval.second":"Введите интервал не менее 60 секунд.","timing.error":"Не удалось подтвердить обновление времени. Ваш черновик сохранен. Проверьте задачу, прежде чем повторить попытку.","rule.title":"Время выполнения","rule.repeat":"Повторить","rule.weekday":"Будний день","rule.weekdayOption":"Будний день {weekday}","rule.unsaved":"Несохраненные изменения","rule.save":"Сохранить изменения","rule.saving":"Сохранение…","rule.cancel":"Отмена","rule.invalidTitle":"Введите имя задачи длиной не более 120 символов.","rule.invalidPrompt":"Введите инструкцию задачи.","rule.once":"Однажды","rule.everyMinutes":"Каждые N минут","rule.everyHours":"Каждые N часов","rule.everySeconds":"Каждые N секунд","rule.daily":"Каждый день","rule.weekdays":"С понедельника по пятницу","rule.weekly":"Еженедельно","rule.cron":"Пользовательский","rule.cronLabel":"Выражение Cron","rule.cronInvalid":"Введите выражение cron из пяти полей, например 0 9 * * 1-5.","cronForm.frequency":"Частота","cronForm.monthly":"Ежемесячно","cronForm.weekly":"Еженедельно","cronForm.daily":"Каждый день","cronForm.dates":"По датам","cronForm.dateOption":"День {day}","cronForm.atMinute":"В минуту","cronForm.minuteIncrease":"Увеличить минуту","cronForm.minuteDecrease":"Уменьшить минуту","rule.zone.system":"(система)","rule.error.conflict":"Эта задача изменилась до сохранения обновления. В строке отображается сохраненное правило; Попробуйте еще раз.","rule.error.notFound":"Эта задача больше не доступна.","rule.error.unknown":"Не удалось подтвердить обновление правил. В строке отображается сохраненное правило.","delete.action":"Удалить задачу","delete.title":"Удалить эту задачу?","delete.description":"Это останавливает запуск задачи и удаляет ее вместе с сохраненными записями о доставке. Исходный сеанс и его сообщения остаются; сообщения в очереди не изымаются.","delete.confirm":"Подтвердить удаление","delete.cancel":"Отмена","delete.close":"Закрыть подтверждение удаления","delete.pending":"Удаление…","toast.deleted":"Задача удалена.","toast.deleteFailed":"Не удалось удалить задачу.","card.open":"Открыть","card.openLabel":"Открыть сведения о задаче: {title}","card.deleted":"Удалено","tool.invoked":"Вызвано {name}","time.locale":"ru","time.utcPrefix":"UTC","frequency.daily":"Ежедневно в {time} ({timeZone})","frequency.dailyLocal":"Ежедневно в {time}","frequency.weekly":"Еженедельно по {weekdays} в {time} ({timeZone})","frequency.weeklyLocal":"Еженедельно по {weekdays} в {time}","frequency.cron":"Cron {expression} ({timeZone})","frequency.cronLocal":"Крон {expression}","frequency.cronRule":"{rule} ({timeZone})","cron.list.join":", ","cron.part.join":" ","cron.weekday.name":"{weekday}","cron.weekday.range":"{from}–{to}","cron.months":" через {months}","cron.day.every":"Каждый день{months}","cron.day.weekdays":"{weekdays}{months}","cron.day.monthDays":"День {days} каждого месяца {months}","cron.day.both":"День {days} каждого месяца или {weekdays}{months}","cron.day.bothStarred":"День {days} каждого месяца и {weekdays}{months}","cron.hours.range":"{from}–{to}","cron.hours.list":"{hours}","cron.time.everyMinute":"Каждую минуту","cron.time.everyMinutes":"Каждые {step} минут","cron.time.joinedEveryMinute":"каждую минуту","cron.time.joinedEveryMinutes":"каждые {step} минут","cron.time.everyHour":"Каждый час","cron.time.joinedEveryHour":"каждый час","cron.time.everyNHours":"Каждые {count} часов","cron.time.joinedEveryNHours":"каждые {count} часов","cron.time.hourlyAt":"Каждый час в минуту {minutes}","cron.time.joinedHourlyAt":"каждый час в минуту {minutes}","cron.time.hoursEveryMinute":"каждую минуту в течение часов {hours}","cron.time.hoursEveryMinutes":"каждые {step} минут в течение часов {hours}","cron.time.at":"в {times}","cron.time.hoursAt":"в минуту {minutes} часов {hours}","frequency.weekday.join":", ","frequency.weekday.1":"Пн.","frequency.weekday.2":"Вт","frequency.weekday.3":"ср.","frequency.weekday.4":"Чт","frequency.weekday.5":"Пт","frequency.weekday.6":"Суббота","frequency.weekday.7":"Солнце","unit.day.one":"день","unit.day.other":"дни","unit.hour.one":"час","unit.hour.other":"часы","unit.minute.one":"минута","unit.minute.other":"минуты","unit.second.one":"второй","unit.second.other":"секунды","relative.now":"Срок оплаты сейчас","relative.future":"в {value} {unit}","relative.overdue":"{value} {unit} просрочено"},"settings.account":{"modelSignInRequired":"Модель недоступна. Пожалуйста, войдите в систему и повторите попытку.","sessionExpired":"Вы вышли из своей учетной записи, пожалуйста, войдите снова.","onboardingArtworkLocale":"ru","onboardingWelcome":"Добро пожаловать в","onboardingBrand":"Ремень DeepSeek","onboardingIntroduction":"DeepSeek Harness работает в локальной папке и использует инструменты для чтения и записи файлов на вашем компьютере. Он может помочь вам исследовать и систематизировать информацию, создавать документы и таблицы, писать код, устранять неполадки и многое другое.","onboardingStart":"Начать","onboardingCredit":"Добавить кредиты","onboardingCreditDescription":"DeepSeek Harness взимает кредиты на основе токенов, используемых моделями и инструментами. Добавляйте кредиты заранее, чтобы ваши задачи выполнялись без перебоев. Ваш баланс используется только пока агент работает над задачей.","onboardingTopUp":"Добавить кредиты","onboardingLater":"Далее","onboardingFundedTopUp":"Добавить кредиты","onboardingPurposePrefix":"Чего бы ты хотел?","onboardingPurposeSuffix":"помочь?","onboardingPurposeDescription":"Мы адаптируем интерфейс и инструменты под ваш стиль работы.","onboardingOffice":"Офис и творческая работа","onboardingOfficeDescription":"Редактируйте документы, систематизируйте данные, создавайте презентации и многое другое.","onboardingDevelopment":"Кодирование и разработка","onboardingDevelopmentDescription":"Редактируйте код, устраняйте проблемы, запускайте команды, управляйте файлами проекта и многое другое.","onboardingContinue":"Продолжить","onboardingProcess":"Насколько подробно вы хотели бы увидеть?","onboardingProcessDescription":"Это меняет только то, как отображается прогресс, а не то, что может сделать DeepSeek Harness.","onboardingCompact":"Только результаты","onboardingCompactDescription":"Смотрите только результаты в понятном и простом интерфейсе","onboardingStandard":"Ключевые детали","onboardingStandardDescription":"Сосредоточьтесь на результатах, показывая только самые важные шаги и действия.","onboardingDetailed":"Полная информация","onboardingDetailedDescription":"Ознакомьтесь с полным процессом для упрощения отладки и устранения неполадок.","onboardingEnter":"Открыть приложение","onboardingBack":"Назад","onboardingSkip":"Пропустить","onboardingSkipTitle":"Пропустить настройку?","onboardingSkipDescription":"Вы можете изменить способ отображения прогресса, производительности и использования или включить инструменты программирования в любое время в «Настройки» → «Основные».","onboardingKeepSetting":"Продолжить настройку","onboardingNoCreditTitle":"Пропустить добавление кредитов?","onboardingNoCreditDescription":"DeepSeek Harness не может начинать новые задания без кредитов. Вы можете добавить их позже в «Настройки» → «Аккаунт».","onboardingUnderstood":"понял","onboardingGoTopUp":"Добавить кредиты","onboardingSaveFailed":"Не удалось сохранить настройки. Попробуйте еще раз.","onboardingRetry":"Повторить попытку","onboardingLoading":"Загрузка настроек…","close":"Закрыть","addApiKey":"Добавить ключ API","retry":"Войдите снова","loginTitle":"Начать","loginDescription":"Войдите в свою учетную запись DeepSeek или добавьте ключ API, чтобы начать. Ваши проекты и файлы хранятся локально.","browserTitle":"Ожидание входа в систему","browserPrompt":"Страница не открылась автоматически? ","copyLink":"Скопировать ссылку для входа","copiedLink":"Ссылка скопирована","copyFailed":"Не удалось скопировать","browserDescription":", затем откройте его в браузере, чтобы завершить вход.","timeoutTitle":"Время входа в систему истекло","timeoutDescription":"Войдите еще раз, чтобы продолжить.","failureTitle":"Не удалось войти в систему","platformFailed":"Не удалось завершить операцию. Попробуйте еще раз.","platformRetry":"Повторить попытку","loading":"Загрузка…","backToHarness":"Вернуться к ремням DeepSeek","settings":"Настройки","contactUs":"Обратная связь","menu":"Меню аккаунта","nav":"Аккаунт","signedIn":"Выполнен вход в DeepSeek","signedOut":"Не авторизован","signIn":"Войти","signOut":"Выйти","signOutUnknownDescription":"Не удалось проверить запущенные задачи. Выход из системы может прервать выполнение задач с использованием этой учетной записи. Выйти сейчас?","signOutDescription":"Выход из системы не приведет к удалению данных. Вы можете снова войти в эту учетную запись.","signOutRunningDescription":"Задачи в настоящее время выполняются. Выход из системы прервет их. Выйти сейчас?","cancel":"Отмена","open":"Открыть браузер","initializing":"Начинаем вход…","waiting":"Продолжить в браузере","completing":"Завершение входа…","expired":"Срок действия входа истек. Попробуйте еще раз.","failed":"Не удалось завершить операцию. Попробуйте еще раз.","noResponse":"Что-то пошло не так. Пожалуйста, проверьте сетевое соединение и повторите попытку.","settingsSignedOutTitle":"Вы не вошли в систему DeepSeek Harness.","settingsSignedOutDescription":"Войдите в DeepSeek Harness, чтобы получить специальный ключ API.","signInDescription":"Используйте свою учетную запись DeepSeek, чтобы начать.","profileUnavailable":"Детали аккаунта пока недоступны.","balance":"Пополненный баланс","bonusBalance":"Предоставленный баланс","balanceUnavailable":"Посмотреть на платформе","balanceSignedOut":"Войдите, чтобы просмотреть","accountInfo":"Дополнительная информация об аккаунте","more":"Подробнее","usage":"Посмотреть использование","topUp":"Пополнить","quotaTitle":"Нет доступного баланса","quotaDescription":"DeepSeek Harness не может начать новую задачу с этой учетной записью, если на ней нет доступного баланса. Хотите пополнить счет? Вы также можете пополнить счет позже в «Настройки» → «Аккаунт».","quotaTopUp":"Пополнить","bonusNoticeTitle":"Бонус начислен"},"settings.agentLoop":{"title":"Цикл агента","description":"Управляйте тем, как агент распределяет вызовы инструментов.","maxParallel":"Параллельные вызовы инструментов","maxParallelHint":"Верхняя граница параллельных безопасных вызовов, выполняемых одновременно в течение одного шага.","overridden":"Переопределено","reset":"Сбросить настройки по умолчанию","readOnly":"В этом развертывании параметры сохраняются только для чтения.","unavailable":"Этот плагин не загружен, поэтому его невозможно настроить прямо сейчас.","save":"Сохранить","saving":"Сохранение…","saveFailed":"Развертывание не приняло эти значения; их оставили вам на исправление.","invalidNumber":"Введите число или оставьте поле пустым, чтобы использовать значение по умолчанию."},"settings":{"trigger":"Настройки","shortcut.open":"Открыть настройки","desktop.update.available":"Обновить","desktop.update.checking":"Проверка обновлений…","desktop.update.progress":"{percent} %","desktop.update.verifying":"Проверка файлов обновлений…","desktop.update.installing":"Подготовка к перезапуску…","desktop.update.ready":"Установить и перезапустить","desktop.update.retry":"Повторить обновление","desktop.update.versionDetail":"{label}: {version}","desktop.update.downloadDetail":"Downloading update: {percent}%\nTarget version: {version}","desktop.update.checkFailed":"Не удалось проверить наличие обновлений. Пожалуйста, повторите попытку позже.","desktop.update.downloadFailed":"Не удалось загрузить обновление. Пожалуйста, попробуйте еще раз.","desktop.update.installFailed":"Не удалось установить обновление. Пожалуйста, повторите попытку позже.","desktop.update.checkNetworkFailed":"Не удалось проверить наличие обновлений. Проверьте подключение и повторите попытку.","desktop.update.downloadNetworkFailed":"Не удалось загрузить обновление. Проверьте подключение и повторите попытку.","desktop.update.installNetworkFailed":"Не удалось установить обновление. Проверьте подключение и повторите попытку.","desktop.update.stopFailed":"Не удалось безопасно остановить выполнение задач. Обновление не установлено. Пожалуйста, повторите попытку позже.","desktop.update.tasksChanged":"Начались новые задачи. Подтвердите еще раз, чтобы остановить выполнение задач и выполнить обновление.","desktop.update.tasksUnavailable":"Статус задачи недоступен. Попробуйте обновить еще раз, когда рабочая область будет готова.","title":"Настройки","close":"Закрыть","openDocument":"Открыть файл конфигурации","openDocument.error":"Не удалось открыть файл конфигурации","general.nav":"Общий","general.currentVersion":"Текущая версия: {version}","developerTools.title":"Показать представление кодирования","developerTools.error":"Не удалось сохранить. Пожалуйста, попробуйте еще раз.","developerTools.description":"Показывает траекторию, различия в коде и все настройки агента.","connection.error":"Отключено","connection.connecting":"Повторное подключение","connection.connected":"Подключено","connection.reconnect":"Соединение отключено, подключитесь снова сейчас","connection.restart":"Повторное подключение, повторное подключение сейчас","hostRelease.title":"Версия сервиса изменена","hostRelease.description":"Версия сервиса изменилась. На этой странице приостановлены текущие обновления; перезагрузите, чтобы загрузить новую версию.","hostRelease.service":"Сервис","hostRelease.page":"Страница","hostRelease.unknown":"Неизвестно","hostRelease.reload":"Перезагрузите, чтобы загрузить новую версию","hostRelease.later":"Не сейчас"},"settings.models":{"nav":"Модели","deepSeekAccount":"Аккаунт DeepSeek","title":"Модели","intro":"Введите ключи API, чтобы использовать модели от следующих поставщиков.","edit":"Редактировать","editProvider":"Изменить {provider}","remove":"Удалить","removeProvider":"Удалить {provider}","deleteTitle":"Удалить {provider}?","deleteDescription":"При удалении {provider} удаляется его конфигурация. Любые учетные данные, которые он использует, управляются где-то еще и будут сохранены.","deleteDescriptionWithCredential":"При удалении {provider} удаляется его конфигурация и сохраненный ключ API.","deleteConfirm":"Удалить {provider}","deleting":"Удаление {provider}…","add":"Добавить поставщика моделей","addMode":"Как добавить","addCatalog":"Сторонний поставщик моделей","addCustom":"API пользовательской модели","addCatalogHint":"Выберите OpenAI, Anthropic, Kimi или другого провайдера из встроенного каталога и введите его API-ключ.","addCustomHint":"Подключите реле, автономный сервер или любую другую конечную точку, совместимую с OpenAI или Anthropic, по ее базовому URL-адресу, протоколу и модели.","addCatalogExhausted":"Каждый поставщик каталога уже настроен.","addCustomUnavailable":"Ни один протокол API не доступен для объявления.","provider":"Поставщик","close":"Закрыть","cancel":"Отмена","apply":"Применить","applying":"Применение…","savedProvider":"Сохранен {provider}.","credentialConfigured":"Ключ API настроен","credentialMissing":"Ключ API отсутствует","accountSignedIn":"Вошёл в систему","readOnly":"В этом развертывании документ настроек доступен только для чтения.","loadFailed":"Не удалось загрузить каталог поставщика","conflict":"Кто-то другой изменил эти настройки, пока эта карточка была открыта. Закройте его и откройте снова, чтобы редактировать текущие значения.","retry":"Повторить попытку","keyInput":"API-ключ","keyReveal":"Показать секрет","keyHide":"Скрыть секрет","keyPlaceholder":"Введите свой ключ API","keyPlaceholderFallback":"Оставьте пустым, чтобы использовать env в качестве аутентификации ({hint})","keyPlaceholderSaved":"Оставьте поле пустым, чтобы использовать сохраненные учетные данные.","keyFallbackMissing":"Переменная Env не обнаружена. Введите ключ API или настройте {hint} в своей среде.","keyFallbackDetected":"Обнаружена переменная Env. ({hint})","keyFallbackDetectedHidden":"Обнаружена переменная Env.","keyFallbackUnchecked":"Статус экологической сертификации не подтвержден.","keyHelp":"Сохраненные учетные данные используются в первую очередь. Здесь показаны резервные варианты среды в следующем порядке: {env}. Источниками являются среда запуска, $cwd/.env, затем $DSH_HOME/.env.","authHelp":"Детали аутентификации","customized":"Индивидуальные настройки","baseUrl":"Базовый URL","baseUrlDefault":"Нет конечной точки по умолчанию","baseUrlEnvironment":"Конфигурация конечной точки поставщика: {env}","baseUrlConfigured":"Конечная точка, настроенная поставщиком","baseUrlPlaceholder":"{url}","deepSeekBaseUrl":"https://api.deepseek.com/anthropic (по умолчанию используется DEEPSEEK_BASE_URL)","deepSeekEndpointHint":"Используйте конечную точку API, совместимую с антропными сообщениями.","models":"Модели","modelsInherited":"Использование настроек адаптера по умолчанию","modelsCustomized":"Индивидуальный каталог моделей","resetModels":"Восстановить настройки по умолчанию","model":"Модель","modelId":"Идентификатор модели","modelName":"Отображаемое имя","modelNamePlaceholder":"Использует идентификатор модели, когда он пуст","contextWindow":"Контекстное окно","contextWindowPlaceholder":"Использует поставщика по умолчанию","maxTokens":"Максимальное количество выходных токенов","maxTokensPlaceholder":"Использует поставщика по умолчанию","modelAdvanced":"Варианты модели","modelInputTypes":"Типы ввода","modelInputText":"Текст","modelInputImage":"Изображение","modelReasoning":"Уровни рассуждения","modelReasoningLevel":"Уровень","modelReasoningValue":"Значение API","modelReasoningHelp":"Об уровнях рассуждения","modelReasoningHelpText":"Значение API отправляется в поле Reasoning-effort запроса, например, в поле Reasoning_effort OpenAI. По умолчанию используется имя уровня; если в документации API поставщика модели указано другое значение, следуйте ему. Off отключает рассуждения и не требует значения; значение, уже записанное в конфигурации, сохраняется и отправляется.","modelReasoningNeedsLevel":"Добавьте хотя бы один уровень помимо «Выкл.» или отключите уровни рассуждения.","modelReasoningValueRequired":"Каждому уровню, кроме «Выкл.», требуется значение API, и ни одно значение не может быть пустым.","modelReasoningAdd":"Добавить уровень","modelReasoningRemove":"Удалить уровень","modelReasoningOffValuePlaceholder":"Отключает рассуждения","addModel":"Добавить модель","removeModel":"Удалить модель","modelsEmpty":"В селекторе не будут показаны модели. Неуказанные идентификаторы по-прежнему можно отправлять напрямую.","keyBlank":"Введите ключ API или оставьте поле пустым, чтобы сохранить сохраненный.","keyBlankNew":"Введите ключ API или оставьте поле пустым, если этот провайдер выполняет аутентификацию другим способом.","keyIllegalCharacters":"Этот ключ API имеет недопустимый формат. Пожалуйста, проверьте это.","modelIdRequired":"Требуется идентификатор модели.","modelIdDuplicate":"Идентификатор модели должен быть уникальным.","modelNameInvalid":"Отображаемое имя не может быть пустым.","modelContextInvalid":"Контекстное окно должно иметь положительное значение, например 131072, 256 КБ или 1 М.","modelMaxTokensInvalid":"Максимальное количество выходных токенов должно иметь положительное значение, например 8192, 64 КБ или 1 М.","advancedHint":"Остальные поля находятся в файле cordis.patch.yml; отредактируйте этот раздел напрямую.","modelCapacityInvalid":"Емкость должна быть числом, возможно с суффиксом K или M.","modelDuplicate":"Каждый идентификатор модели может появиться один раз.","fetchModels":"Получить доступные модели","fetching":"Спросил у провайдера...","fetchNeedsBaseUrl":"Сначала введите базовый URL-адрес, а затем извлеките его.","fetchEmpty":"Поставщик не указал моделей. Добавьте их вручную.","fetchTitle":"Выберите модели для добавления","fetchDescription":"Это модели, доступные у этого поставщика. Выберите те, которые хотите добавить.","fetchSearch":"Поиск моделей","fetchNoMatches":"Нет подходящих моделей.","fetchSelectAll":"Выбрать все","fetchDeselectAll":"Отменить выбор всех","fetchAdopt":"Добавить выбранное","customTag":"Пользовательский","customRoute":"Идентификатор поставщика","customRouteHint":"Идентификатор в нижнем регистре, начинающийся с буквы, который уникально называет этого поставщика в запросах и в качестве его учетного имени.","customRouteInvalid":"Начните со строчной буквы; затем строчные буквы, цифры и тире.","customRouteTaken":"Поставщик уже использует этот идентификатор.","customDisplayName":"Отображаемое имя","customApi":"API-протокол","customApiUnset":"Не выбрано","protocolOpenAiCompletions":"Завершения чата OpenAI","protocolOpenAiResponses":"Ответы OpenAI","protocolAnthropicMessages":"Антропные сообщения","customNeedsBaseUrl":"Пользовательскому поставщику нужен базовый URL-адрес.","customBaseUrlInvalid":"Введите действительный URL-адрес HTTP или HTTPS.","customNeedsModels":"Пользовательскому поставщику нужна хотя бы одна модель.","customBaseUrlPlaceholder":"https://gateway.example/v1","customAnthropicBaseUrlPlaceholder":"https://шлюз.пример","settingsPathUnresolvable":"неразрешимый путь настроек","create":"Создать поставщика","creating":"Создание…","welcomeTitle":"Уведомление о предварительном просмотре","welcomeBody":"DeepSeek Harness 0.2 is still in preview, and many areas need continued improvement and refinement. We welcome feedback and suggestions from all developers and users. The new desktop app now targets a broad range of users, while developer-related advanced features can be enabled in the settings. DeepSeek Harness’s product features and plugin APIs are expected to continue rapid iteration and evolution, and will gradually stabilize over time.\n\nWe look forward to exploring the limits of intelligence together with users and developers around the world, building on open-source, reusable, and composable infrastructure. We welcome everyone to bring their ideas to life with DeepSeek Harness and participate in the community to enrich the plugin ecosystem.","welcomeContinue":"Продолжить","welcomeError":"Не удалось сохранить подтверждение. Пожалуйста, попробуйте еще раз.","onboardingTitle":"Добавьте ключ API, чтобы начать","onboardingDescription":"Настройте официального провайдера DeepSeek, чтобы начать сборку.","onboardingLater":"Настроить позже","onboardingSave":"Сохранить и продолжить","onboardingSaving":"Сохранение…","keyRequired":"Введите ключ API, чтобы продолжить."},"settings.pluginInventory":{"tab":"Список плагинов","loading":"Чтение плагинов…","clientSyncing":"Синхронизация плагинов на этой странице…","clientSyncFailed":"Некоторые плагины не смогли синхронизироваться на этой странице. Включение хоста не изменилось.","clientSyncRetry":"Повторить эту страницу","error":"Плагины временно недоступны.","metadataError":"Ошибка метаданных пакета: {error}","retry":"Повторить попытку","search":"Поиск плагинов","empty":"Нет доступных плагинов.","emptySearch":"Нет подходящих плагинов.","presetTitle":"Плагины сеансов","presetSubtitle":"Составляется за сеанс с помощью предустановок агента","switcherLabel":"Выберите предустановку агента для проверки","presetOptionDefault":"{name} (по умолчанию)","presetOptionBroken":"{name} (не удалось загрузить)","globalTitle":"Глобальные плагины","globalSubtitle":"Совместно используется системой и каждым сеансом","presetProvidedDetail":"Отключено глобально; предустановки агента предусматривают это за сеанс","enabledIn":"Включено в","matchesInOtherPresets":"Еще {count} совпадений в других пресетах: ","enabledTag":"Включено","disabledTag":"Отключено","conditionalTag":"Условный","presetEnabledTag":"Через пресеты","failedTag":"Не удалось","moduleLabel":"Модуль","fromPreset":"От","condition":"Отключено, когда","configuration":"Конфигурация","runtime":"Статус","unobserved":"Не работает","pending":"Ожидание зависимостей","loadingPhase":"Загрузка","active":"Бег","failed":"Не удалось запустить","unloading":"Разгрузка"},"settings.plugins":{"nav":"Встроенные плагины","title":"Встроенные плагины","intro":"Проверьте плагины, поставляемые в этом развертывании.","tabs":"Просмотры плагинов","empty":"Это развертывание не предоставляет никаких представлений плагинов."},"settings.sessionLog":{"title":"Загрузить журнал сеансов при использовании официального API модели.","description":"Помогите улучшить модели и продукты DeepSeek.","saved":"Предпочтение сохранено.","failed":"Не удалось сохранить предпочтения."},"settings.shell":{"title":"Ракушка","description":"Ограничьте продолжительность выполнения каждой команды и объем вывода.","timeoutMs":"Таймаут команды (мс)","timeoutMsHint":"Как долго может выполняться одна команда до ее завершения.","maxOutputBytes":"Ограничение вывода на поток (байты)","maxOutputBytesHint":"Вывод, выходящий за пределы этого, сохраняется во временный файл, а не теряется.","overridden":"Переопределено","reset":"Сбросить настройки по умолчанию","readOnly":"В этом развертывании параметры сохраняются только для чтения.","unavailable":"Этот плагин не загружен, поэтому его невозможно настроить прямо сейчас.","save":"Сохранить","saving":"Сохранение…","saveFailed":"Развертывание не приняло эти значения; их оставили вам на исправление.","invalidNumber":"Введите число или оставьте поле пустым, чтобы использовать значение по умолчанию."},"settings.subagent":{"overridden":"Переопределено","reset":"Сбросить настройки по умолчанию","readOnly":"В этом развертывании параметры сохраняются только для чтения.","unavailable":"Этот плагин не загружен, поэтому его невозможно настроить прямо сейчас.","save":"Сохранить","saving":"Сохранение…","saveFailed":"Развертывание не приняло эти значения; их оставили вам на исправление.","subagentTitle":"Субагент","subagentDescription":"Установите глубину рекурсии субагента, количество и модели.","subagentLimitsTitle":"Пределы","subagentMaxDepth":"Максимальная глубина рекурсии","subagentDepthHelpLabel":"О максимальной глубине рекурсии","subagentDepthHelp":"Ограничивает количество уровней субагентов, которые может создать агент.","subagentDepthZero":"Отключить субагенты","subagentDepthOne":"Только главный агент может создавать субагентов.","subagentDepthOverride":"Если инструмент определяет собственную максимальную глубину рекурсии, этот параметр имеет приоритет.","subagentMaxActive":"Предел параллелизма субагентов","subagentCapacityHelpLabel":"О пределе параллелизма субагентов","subagentCapacityHelp":"Общее количество действующих субагентов под одним и тем же основным агентом на всех уровнях рекурсии. Главный Агент исключен. Новые запросы на запуск отклоняются при достижении лимита.","subagentDepthInvalid":"Введите целое число от 0 или более.","subagentCapacityInvalid":"Введите целое число от 1 или более.","subagentModelSelectionTitle":"Выбор модели","subagentModelSelectionToggle":"Разрешить агентам выбирать модели для субагентов","subagentModelSelectionChoose":"Если этот параметр включен, агенты могут выбирать поставщика, модель и усилия по обоснованию для каждого субагента из авторизованных моделей, указанных ниже. Применяется только к новым сеансам.","subagentModelSelectionAllowed":"Модели агенты могут выбирать","subagentModelSelectionLoading":"Загрузка моделей…","subagentModelSelectionLoadFailed":"Не удалось загрузить модели.","subagentModelSelectionRetry":"Повторить попытку","subagentModelSelectionPartial":"Некоторые поставщики моделей не удалось загрузить; сохраненные варианты остаются съемными.","subagentModelSelectionUnavailable":"В настоящее время недоступен","subagentModelSelectionUnavailableGroup":"Сохранено, но сейчас недоступно","subagentModelSelectionEmpty":"Ни один поставщик моделей в настоящее время не рекламирует модель.","subagentModelSelectionRequired":"Прежде чем сохранить, выберите хотя бы одну модель.","subagentModelSelectionConflict":"Настройки изменены в другом месте. Отмените черновик и повторите попытку.","subagentModelSelectionOff":"Субагенты используют настроенные значения по умолчанию или наследуют модель родительского агента. Сохраненные варианты моделей сохраняются."},"settings.webSearch":{"title":"Веб-поиск","description":"Настройте поисковую систему DeepSeek.","useSearchApi":"Используйте новый API веб-поиска","useSearchApiHint":"По умолчанию отключено: поиск осуществляется через сообщения DeepSeek. Информацию о функциях и ценах нового API веб-поиска см. ","searchGuide":"Руководство по поиску и получению","searchGuideUrl":"https://api-docs.deepseek.com/guides/search","apiKey":"API-ключ","apiKeyHint":"Хранится вне файла настроек. Оставьте пустым, чтобы сохранить текущий ключ.","apiKeySet":"Ключ настроен.","apiKeyUnset":"Ключ не настроен; только разговоры, использующие модель учетной записи DeepSeek, могут осуществлять поиск через конечную точку по умолчанию.","baseUrl":"Базовый URL-адрес API сообщений","baseUrlHint":"Добавьте префикс API, например https://api.deepseek.com/anthropic/v1. Поставщик добавляет /messages. Оставьте пустым, чтобы восстановить значение по умолчанию.","searchApiBaseUrl":"Поиск/извлечение базового URL-адреса API","searchApiBaseUrlHint":"Включите префикс API, например https://api.deepseek.com/v1/tools. Поставщик добавляет /search или /fetch. Оставьте пустым, чтобы восстановить значение по умолчанию.","maxUses":"Максимальное количество запросов на запрос","maxUsesHint":"Сколько поисков вспомогательная модель может выполнить в рамках одного запроса сообщений. Применяется только к API сообщений.","count":"Результаты по поиску","countHint":"Результаты, возвращаемые по запросу: целое число от 1 до 50, по умолчанию 10. Это контролирует количество результатов, а не поисковые вызовы. web_search хранит не больше источников, чем его собственный лимит результатов.","overridden":"Переопределено","reset":"Сбросить настройки по умолчанию","readOnly":"В этом развертывании параметры сохраняются только для чтения.","unavailable":"Этот плагин не загружен, поэтому его невозможно настроить прямо сейчас.","save":"Сохранить","saving":"Сохранение…","saveFailed":"Развертывание не приняло эти значения; их оставили вам на исправление.","invalidNumber":"Введите число или оставьте поле пустым, чтобы использовать значение по умолчанию.","invalidCount":"Введите целое число от 1 до 50 или оставьте поле пустым, чтобы использовать значение по умолчанию."},"shortcuts":{"edit-label":"Изменить ярлык для {command}","record":"Нажмите ярлык","record-help":"Отпустите клавиши для сохранения. Tab перемещается между действиями; Esc отменяет.","web-help":"Комбинации браузера: Mod+/, Mod+Shift+, Mod+Shift+.. Mod — это команда на Mac, а в других местах — Ctrl.","unsupported-key":"Этот ключ не поддерживается.","reserved":"Эта комбинация зарезервирована для системных действий или действий по редактированию текста.","modifier-required":"Включите в комбинацию Command, Ctrl или Alt.","too-many-keys":"Удерживайте не более двух немодифицирующих клавиш. Отпустите клавиши, чтобы повторить попытку.","macos-web-help":"Используйте Command+/, Command+,, Command+обратная косая черта, Control+обратная кавычка, Command+Option+клавиша или Command+Shift+клавиша. Также поддерживаются комбинации с тремя или четырьмя различными модификаторами. Ярлыки браузера или системы могут не доходить до страницы.","windows-web-help":"Используйте Ctrl+/, Ctrl+, Ctrl+Alt+клавиша или Ctrl+Shift+клавиша. Также поддерживаются комбинации с тремя или четырьмя различными модификаторами. Ярлыки браузера или системы могут не доходить до страницы.","unsupported-browser":"Этот браузер пока не поддерживает эту комбинацию.","conflict":"Уже используется «{commands}»","saved":"Модифицированный","clear":"Удалить","retry-save":"Повторить попытку сохранения","reset":"Восстановить настройки по умолчанию","reset-all":"Восстановить все настройки по умолчанию","modified-count":"{count} настроено","reset-title":"Восстановить все ярлыки по умолчанию?","reset-description":"Восстановите ярлыки по умолчанию для этой платформы. Все измененные или удаленные ярлыки будут восстановлены. Другие платформы не затронуты.","cancel":"Отмена","reset-saved":"Ярлыки по умолчанию восстановлены.","close-confirmation":"Закрыть подтверждение","reset-failed":"Не удалось восстановить настройки по умолчанию. Ваши ярлыки не изменились. Пожалуйста, повторите попытку.","review":"Я рассмотрел последнюю конфигурацию","stale":"Конфигурация ярлыка или доступные команды изменены. Перед сохранением просмотрите последние привязки.","write-failed":"Не удалось сохранить. Ваши предыдущие ярлыки и текущий черновик сохраняются. Пожалуйста, повторите попытку.","not-ready":"Ярлыки не готовы. Пожалуйста, попробуйте еще раз.","read":"Не удалось прочитать {location}. Проверьте права доступа, затем {reload}.","invalid":"Конфигурация ярлыка в {location} повреждена. Создайте резервную копию и исправьте эту конфигурацию, затем {reload}.","future":"Конфигурация ярлыка в {location} создана в более новой версии. Обновите Harness и повторите попытку.","web-document":"запись localStorage этого сайта dsh.keybindings.v1","desktop-document":"userData/keybindings.json","web-reload":"перезагрузить страницу","desktop-reload":"перезапустить Harness","using-defaults":"Привязки по умолчанию активны.","using-accepted":"Последние успешно прочитанные привязки остаются активными.","native-failed":"Не удалось защитить запись клавиш рабочего стола. Выйдите из записи и повторите попытку.","global-hint":"Открыто из любого места","clear-search":"Очистить поиск","title":"Сочетания клавиш","open":"Открытие сочетаний клавиш","settings":"Сочетания клавиш","view":"Редактировать ярлыки","description":"Просмотр и редактирование доступных ярлыков и действий ввода","search":"Поиск ярлыков","close":"Закрыть сочетания клавиш","application":"Приложение","input":"Ввод сообщения","menus":"Меню и диалоги","approval":"Область утверждения","unbound":"Нет ярлыка","empty":"Нет подходящих ярлыков","move":"Переместить выбор меню","select":"Выберите пункт меню","dismiss":"Закрыть меню или верхний диалог"},"sidebar":{"session.new":"Новая сессия","session.new.label":"Новая сессия","toggle.open":"Открыть боковую панель","toggle.collapse":"Свернуть боковую панель","panels.label":"Глобальные панели","panels.more":"Подробнее"},"sidebarBrowser":{"type.label":"Браузер","guide.title":"Браузер","guide.description":"Просмотр веб-страниц","shortcut.noSession":"Сначала откройте сеанс","address.placeholder":"Введите HTTP(S)-адрес","address.changed":"URL-адрес изменен","back":"Назад","forward":"Вперед","reload":"Перезагрузить","go":"Иди","external":"Открыть в системном браузере","sandbox.disable":"Отключить ограничения песочницы","sandbox.enable":"Восстановить ограничения песочницы","sandbox.warning":"Ограничения песочницы отключены; страница может перемещаться по приложению верхнего уровня и использовать загрузки, модальные диалоговые окна и блокировки ввода.","start":"Введите адрес HTTP(S), чтобы начать просмотр.","loading":"Открытие…","restore.previous":"Ранее открыто","restore.action":"Восстановить страницу","error.empty":"Введите адрес.","error.invalid":"Этот адрес недействителен или слишком длинный.","error.protocol":"Поддерживаются только адреса HTTP и HTTPS; используйте предварительный просмотр документа для локальных файлов.","error.credentials":"Адреса не могут содержать имя пользователя или пароль.","error.application-origin":"Встроенный браузер не может открыть само приложение DSH.","load.failed":"Страница не может загрузиться; перезагрузите или откройте его в системном браузере.","load.failed.detail":"Не удалось загрузить страницу ({code}): {description}","address.unknown":"Страница перемещалась; этот оператор связи не может прочитать свой новый URL-адрес."},"documentMarkdown":{"viewer.label":"Уценка","code.copy":"Копировать","code.copied":"Скопировано","footnotes":"Сноски"},"documentHtml":{"title":"HTML","frame":"Предварительный просмотр HTML-документа","loading":"Оформление документа...","failed":"Этот HTML-документ не удалось просмотреть."},"sidebarImage":{"title":"Изображение","preview":"Предварительный просмотр изображения: {name}","loading":"Оформление документа...","failed":"Это изображение не может быть отображено.","unsupported":"Для предварительного просмотра изображения требуется полное содержимое файла.","zoomControls":"Элементы управления масштабированием","zoomMenu":"Выберите масштаб","zoomOut":"Уменьшить масштаб","zoomIn":"Увеличить масштаб","zoomFitWidth":"Подходит по ширине","zoomValue":"{percent} %"},"sidebarPdf":{"title":"PDF","pageImage":"PDF-страница {page}","loading":"Оформление документа...","rendering":"Отображение страницы…","failed":"Невозможно отобразить PDF: {message}","password":"Для этого PDF-файла требуется пароль; предварительный просмотр, защищенный паролем, не поддерживается.","workerFailed":"Процесс рендеринга PDF не может быть продолжен. Пожалуйста, повторите попытку.","unsupported":"Для предварительного просмотра PDF требуется полное содержимое файла.","retry":"Повторить попытку","zoomControls":"Элементы управления масштабированием","zoomMenu":"Выберите масштаб","zoomOut":"Уменьшить масштаб","zoomIn":"Увеличить масштаб","zoomFitWidth":"Подходит по ширине","zoomValue":"{percent} %"},"sidebarCodePreview":{"title":"электронная таблица","language":"ru","loading":"Оформление документа...","invalid":"Эту таблицу невозможно открыть. Проверьте его формат, содержимое или защиту паролем.","tooLarge":"Размер этой книги превышает ограничение на размер предварительного просмотра.","timeout":"Время открытия этой книги истекло. Попробуйте файл меньшего размера.","encoding":"Эту текстовую кодировку невозможно прочитать. Сохраните файл как UTF-8 или UTF-16 со спецификацией и повторите попытку.","formulaWarning":"В этой рабочей тетради есть формулы. Отображаемые результаты могут отсутствовать или быть неточными.","unsupportedNotice":"Эта предварительная версия не поддерживает {features} в этой книге. Откройте его в системном приложении, чтобы оценить все возможности.","charts":"графики","images":"изображения","shapes":"формы","conditionalFormatting":"условное форматирование","featureSeparator":", ","retry":"Повторить попытку","copy":"Копировать","copied":"Скопировано"},"sidebarOffice":{"title":"Офисный документ","loading":"Оформление документа...","retry":"Повторить попытку","viewMissingFonts":"Отсутствуют шрифты: {count}. Нажмите, чтобы просмотреть.","missingFontsTitle":"Отсутствуют шрифты","missingFontsDescription":"Эти шрифты недоступны для этой предварительной версии. Текст и оформление могут отличаться от исходного документа.","missingFontsCount":"Шрифты: {count}","closeDetails":"Закрыть сведения о шрифте","unavailable":"Предварительные версии Office недоступны. Включите службу предварительного просмотра документов на компьютере, на котором работает DeepSeek Harness.","invalid":"Этот файл Office нельзя просмотреть. Возможно, он поврежден, защищен паролем или имеет неправильное расширение.","tooLarge":"Размер файла Office или преобразованного PDF-файла превышает ограничение на размер предварительного просмотра. Уменьшите размер файла или настройте конфигурацию предварительного просмотра.","failed":"Преобразование Office не привело к созданию пригодного для использования PDF-файла. Проверьте файл и повторите попытку.","timeout":"Время преобразования Office истекло. Попробуйте еще раз.","busy":"Предварительная версия Office занята. Повторите попытку через некоторое время.","changed":"Файл изменился во время чтения. Снова откройте предварительный просмотр."},"sidebarExcel":{"title":"электронная таблица","language":"ru","loading":"Оформление документа...","invalid":"Эту таблицу невозможно открыть. Проверьте его формат, содержимое или защиту паролем.","tooLarge":"Размер этой книги превышает ограничение на размер предварительного просмотра.","timeout":"Время открытия этой книги истекло. Попробуйте файл меньшего размера.","encoding":"Эту текстовую кодировку невозможно прочитать. Сохраните файл как UTF-8 или UTF-16 со спецификацией и повторите попытку.","formulaWarning":"В этой рабочей тетради есть формулы. Отображаемые результаты могут отсутствовать или быть неточными.","unsupportedNotice":"Эта предварительная версия не поддерживает {features} в этой книге. Откройте его в системном приложении, чтобы оценить все возможности.","charts":"графики","images":"изображения","shapes":"формы","conditionalFormatting":"условное форматирование","featureSeparator":", ","retry":"Повторить попытку"},"sidebarDocumentPreview":{"loading":"Оформление документа...","loadMore":"Загрузить больше","changed":"Файл изменился, показывая предыдущее содержимое.","reloadNow":"Перезагрузить","reload":"Прочтите файл еще раз","autoRefresh":"Автоматическое обновление","autoRefresh.enable":"Включить автоматическое обновление","autoRefresh.disable":"Отключить автоматическое обновление","wrap.enable":"Включить перенос строк","wrap.disable":"Отключить перенос строк","wrap.aria":"Перенос строки","openWith":"Открыть с помощью","viewer.text":"Обычный текст","resourceUnavailable":"Служба файловых ресурсов недоступна.","rendererUnavailable":"Предварительный просмотр {name} недоступен.","unsupportedFile":"Предварительный просмотр для этого типа файлов пока недоступен.","error.notFound":"Файл не найден. Возможно, оно было перемещено или удалено.","error.tooLarge":"Эта страница превышает лимит {limit} и не может быть прочитана.","error.notText":"Предварительный просмотр для этого типа файлов пока недоступен.","error.notRegularFile":"Не обычный файл, отображать нечего.","error.unavailable":"Не удалось прочитать: {message}","retry":"Повторить попытку"},"sidebarFiles":{"shortcut.noSession":"Сначала выберите сеанс","type.label":"Файлы","guide.title":"Файлы рабочей области","guide.description":"Просмотр файлов в рабочей области этого сеанса","loading":"Чтение…","empty":"Пустой каталог","truncated":"Слишком много записей, показаны только некоторые из них.","noWorkspace":"В этом сеансе нет каталога рабочей области.","reload":"Перезагрузить","autoRefresh":"Автоматическое обновление","autoRefresh.enable":"Включить автоматическое обновление","autoRefresh.disable":"Отключить автоматическое обновление","entry.other":"Это не файл и не каталог, поэтому его нельзя открыть.","error.notFound":"Этот каталог исчез. Возможно, оно было перемещено или удалено.","error.outsideWorkspace":"Этот каталог находится за пределами рабочей области, поэтому боковая панель его не читает.","error.notDirectory":"Это не каталог.","error.unavailable":"Не удалось прочитать: {message}"},"sidebarRight":{"command.close":"Закрыть текущую страницу или окно","command.refresh":"Обновить текущую страницу","command.noRefresh":"Эту страницу невозможно обновить","command.toggle":"Переключить правую боковую панель","command.fullscreen":"Переключить панель в полноэкранный режим","command.noSession":"Сначала выберите сеанс","command.noFocus":"Сначала сфокусируйтесь на правой боковой панели","command.stale":"Страница изменилась; сосредоточься еще раз","command.collapsed":"Сначала разверните правую боковую панель","command.float":"Это действие недоступно на плавающей панели.","command.empty":"Сначала откройте страницу","command.budget":"Две панели — это предел","command.width":"Недостаточно ширины для разделения, расширьте боковую панель","chrome.expand":"Открыть боковую панель","chrome.expandAria":"Открыть правую боковую панель","chrome.collapse":"Свернуть боковую панель","chrome.collapseAria":"Свернуть правую боковую панель","chrome.toFullscreen":"Полноэкранный режим","chrome.exitFullscreen":"Выйти из полноэкранного режима","dock.emptyPane":"Пустая панель","dock.splitPane":"Сплит","dock.splitPaneDisabled":"Две панели — это предел","dock.splitPaneNarrow":"Недостаточно ширины для разделения, расширьте боковую панель","dock.closeTab":"Закрыть","dock.addTab":"Новая вкладка","dock.dockFloat":"Отправить обратно на боковую панель","dock.closeFloat":"Закрыть","dock.drop.center":"Переместитесь сюда","dock.drop.left":"Добавить левый сплит","dock.drop.right":"Добавить правое разделение","dock.drop.top":"Добавить верхнее разделение","dock.drop.bottom":"Добавить нижний разрез","tab.guide.title":"Старт","tab.guide.more":"Дополнительные инструменты","tab.unavailable":"Ничто здесь пока не может просматривать такой контент."},"sidebarTerminal":{"shortcut.noSession":"Сначала выберите сеанс","recoveryFailed":"Восстановление терминала не удалось: {message}","retryRecovery":"Повторить попытку восстановления терминала","shell":"Выбрать оболочку","shellLoading":"Загрузка снарядов…","shellEmpty":"Нет доступных ракушек","description":"Запуск команд в рабочей области сеанса","title":"Терминал","new":"Новый терминал","loading":"Чтение среды терминала…","creating":"Начало…","connecting":"Подключение…","disconnected":"Отключено.","reconnect":"Восстановить соединение","readonly":"Это представление доступно только для чтения.","control":"Возьмите под свой контроль","closed":"Терминал закрыт.","exited":"Процесс завершен ({code})","failed":"Ошибка терминала: {message}","rename":"Имя терминала","unavailable":"Недоступно","retry":"Повторить попытку","cleanupFailed":"Терминал «{title}» не удалось завершить: {message}","missingTerminal":"Этого терминала больше не существует. Откройте новый терминал.","inputFull":"Входной буфер заполнен. Подключитесь и повторите попытку.","attachmentEnded":"Терминальное соединение завершилось. Подключитесь повторно, чтобы продолжить.","invalidOutput":"Не удалось получить экран терминала. Повторно подключитесь, чтобы восстановить его.","terminalLimit":"Достигнут лимит терминала. Закройте неиспользуемые терминалы и повторите попытку. Вышедшие терминалы также учитываются в лимите."},"skill":{"row.title":"Навык","row.running":"Навык загрузки","row.preparing":"Подготовка к загрузке навыка","row.failed":"Не удалось загрузить навык","row.stopped":"Загрузка навыков остановлена","row.instructions":"Инструкции","row.inspect":"Осмотреть","menu.userOnly":"только для пользователей"},"subagent":{"duration.seconds":"{seconds} сек.","duration.minutes":"{minutes} м {seconds} с","duration.hours":"{hours}ч {minutes}м {seconds} с","duration.days":"{days}д","duration.daysHours":"{days}д {hours}ч","duration.months":"~{months}мес.","duration.monthsDays":"~{months}мес {days}д","duration.years":"~{years}г","duration.yearsMonths":"~{years}г {months}мес.","duration.exactDays":"{days}д {hours}ч {minutes}м {seconds} с","duration.exactTitle":"Общая продолжительность активности: {duration}","tokens.thousand":"{value}К","tokens.million":"{value}М","tokens.total":"{value} ток","loading.label":"Загрузка субагентов…","load.error":"Невозможно загрузить субагенты","catalog.migrationRequired":"Требуется миграция","retry":"Повторить попытку","mode.external":"Внешняя задача","mode.oneShot":"одноразовый","mode.continuable":"продолжаемый","mode.unknown":"неизвестный режим","readonly.unknown.body":"Прочтите дочерний сеанс, чтобы определить, можно ли его продолжить.","activity.running":"бег","activity.completed":"завершено","activity.inactive":"не работает","branch.collapse":"Свернуть потомков {label}","branch.expand":"Развернуть потомков {label}","count.total.one":"{count} субагент","count.total.other":"{count} субагентов","count.running.one":"{count} субагент работает","count.running.other":"{count} работающих субагентов","switcher.aria":"Сменить субагента: {title}","tree.aria":"Сеансы субагента","open.sidebar":"Открыть в боковой панели","open.sidebar.aria":"Откройте {label} на боковой панели.","sidebar.chat":"Чат","readonly.oneShot.title":"Разовая запись субагента","readonly.title":"Этот субагент пока доступен только для чтения.","readonly.oneShot.body":"Одноразовые задачи не допускают последующих действий; просмотреть полную запись выполнения можно здесь.","readonly.body":"Родительский сеанс находится в автономном режиме; откройте его повторно, чтобы продолжить отправку сообщений."},"settings.theme":{"appearance.title":"Внешний вид","appearance.light":"Свет","appearance.dark":"Темный","appearance.system":"Система","fontSize.text.title":"Размер шрифта","fontSize.text.description":"Влияет только на содержание разговора","fontSize.text.increase":"Увеличить размер шрифта","fontSize.text.decrease":"Уменьшить размер шрифта","fontSize.code.title":"Размер шрифта кода","fontSize.code.description":"Используется для блоков кода, встроенного кода и выходных данных инструмента.","fontSize.code.increase":"Увеличить размер шрифта кода","fontSize.code.decrease":"Уменьшить размер шрифта кода","fontSize.terminal.title":"Размер шрифта терминала","fontSize.terminal.description":"Используется для терминала боковой панели","fontSize.terminal.increase":"Увеличьте размер шрифта терминала","fontSize.terminal.decrease":"Уменьшить размер шрифта терминала","fontSize.unit":"пикселей","fontFamily.text.title":"Текстовый шрифт","fontFamily.text.description":"Используется для интерфейса и текста разговора. Разделяйте шрифты запятыми; оставьте пустым по умолчанию","fontFamily.code.title":"Шрифт кода","fontFamily.code.description":"Используется для блоков кода, встроенного кода и выходных данных инструмента. Разделяйте шрифты запятыми; оставьте пустым по умолчанию","fontFamily.terminal.title":"Шрифт терминала","fontFamily.terminal.description":"Используется для терминала боковой панели. Разделяйте шрифты запятыми; оставьте пустым по умолчанию","fontFamily.placeholder":"По умолчанию","fontSize.more":"Дополнительные настройки шрифта"},"trajectory":{"view.trajectory":"Траектория","toolbar.aria":"Панель инструментов траектории","toolbar.duration":"Продолжительность","toolbar.useActualDuration":"Использовать фактическую продолжительность","toolbar.useEqualWidth":"Используйте операции равной ширины","toolbar.actualTime":"Фактическое время","toolbar.turns":"Повороты","toolbar.expandTurns":"Развернуть повороты","toolbar.collapseTurns":"Свернуть повороты","toolbar.calls":"Звонки","toolbar.expandCalls":"Развернуть звонки","toolbar.collapseCalls":"Свернуть звонки","toolbar.search":"Траектория поиска","toolbar.searchPlaceholder":"Поиск","kind.system":"СИСТЕМА","kind.user":"ПОЛЬЗОВАТЕЛЬ","kind.context":"КОНТЕКСТ","kind.compacted":"УПЛОТНЕННЫЙ","kind.message":"Сообщение","kind.assistant":"ПОМОЩНИК","kind.tool":"ИНСТРУМЕНТ","kind.subtool":"ПОДИНСТРУМ","kind.sub":"Саб","column.input":"Ввод","column.output":"Выход","column.think":"Подумайте","column.time":"Время","column.model":"Модель","column.tools":"Инструменты","turn.label":"Поворот {turn}","section.betweenTurns":"Между поворотами","group.message":"Сообщение","group.step":"Шаг {step}","group.compaction":"Уплотнение {seq}","status.failed":"Не удалось","status.pending":"Ожидается","status.completed":"Завершено","timing.notAvailable":"Недоступно","timing.notRecorded":"Не записано","timing.stepStartUnavailable":"Начало шага недоступно","timing.firstTokenUnavailable":"Первый токен недоступен","timing.usageUnavailable":"Использование недоступно","timing.outputTokensUnavailable":"Выходные токены недоступны.","timing.durationTooShort":"Продолжительность слишком коротка","timing.showLocalTime":"Показать местное время","timing.showUnixTimestamp":"Показать временную метку Unix","timing.started":"Началось","timing.totalDuration":"Общая продолжительность","timing.ttft":"ТТФТ","timing.generation":"Поколение","timing.throughput":"Пропускная способность","timing.duration":"Продолжительность","timing.source":"Источник синхронизации","timing.sessionTimestamps":"Временные метки сеанса","timing.sessionTimestampsRunning":"Временные метки сеанса (работает)","timing.request":"Запрос времени","unit.milliseconds":"{value} мс","unit.seconds":"{value} с","unit.tokens":"{value} ток","unit.tokensPerSecond":"{value} ток/с","usage.tokens":"Токены","usage.reasoning":"Рассуждение","usage.content":"Содержание","usage.notReported":"Об использовании не сообщается","usage.input":"Ввод","usage.cached":"Кэшированный","usage.cacheCreated":"Кэш создан","usage.other":"Другое","usage.output":"Выход","usage.thisRequest":"Этот запрос","usage.sessionCumulative":"Совокупный сеанс","options.notRecorded":"Опции не записаны","options.json":"Варианты запроса JSON","source.unknown":"Неизвестно","source.user":"Пользователь","source.plugin":"Плагин","source.pluginNamed":"Плагин · {plugin}","source.goal":"Цель","source.goalRound":"Цель · Раунд {round}","source.notRecorded":"Источник не записан","source.messageJson":"Источник сообщения JSON","tab.summary":"Резюме","tab.rawOutput":"Необработанный вывод","tab.preview":"Предварительный просмотр","tab.raw":"сырой","tab.source":"Источник","tab.payload":"Полезная нагрузка","tab.result":"Результат","tab.schema":"Схема","tab.timing":"Тайминг","tab.diff":"Разница","tab.systemPrompt":"Системная подсказка","tab.tools":"Инструменты","tab.options":"Опции","tab.usage":"Использование","record.toolCallOnly":"(только вызов инструмента)","record.noContent":"Нет контента","record.noPayload":"Полезная нагрузка не захвачена","record.noResult":"Результат не зафиксирован","record.noOutput":"Нет вывода","record.schemaUnavailable":"Схема недоступна","record.parameters":"Параметры","record.resultJson":"Результат JSON","record.json":"JSON","record.parametersJson":"параметры JSON","record.namedParametersJson":"{name} параметры JSON","record.payloadJson":"Полезная нагрузка JSON","record.outputJson":"Результат JSON","record.thinking":"мышление","record.wrapLines":"Перенос линий","code.source":"Код","code.output":"Выход","code.copySource":"Скопировать код","code.copyOutput":"Копировать вывод","code.originalJson":"Исходный JSON","code.running":"Бег…","record.systemPromptMissing":"В этом запросе нет системного запроса","record.toolsMissing":"В этом запросе нет инструментов","record.systemPrompt":"Системная подсказка","record.tools":"Инструменты","block.openSummary":"Открыть сводку вызовов инструмента Block #{index}","block.openSummaryTitle":"Открыть сводку вызовов инструментов","block.label":"Блок № {index} {type}","history.loadingTrajectory":"Загрузка траектории…","history.loadingEarlier":"Загрузка более ранней истории…","history.loadingEarlierAria":"Загрузка более ранней истории…","history.loadEarlier":"Загрузить предыдущую историю","history.clickToLoadEarlier":"Нажмите, чтобы загрузить предыдущую историю","request.label":"Запрос № {request}","request.labelCompaction":"Запрос № {request} · Уплотнение","request.compaction":"Уплотнение · {section}","request.compactionPurpose":"Уплотнение","request.retryProgress":"{retry} из {maximum}","request.collapsedSummary":"Свернутое резюме {kind}, {summary}","request.collapsedTurn":"повернуть","request.collapsedAssistant":"помощник","request.rowAria":"{request}{kind}, {content}","request.rowPrefix":"Запрос {request}, ","request.rowAriaCompaction":"Запрос {request}, уплотнение","request.noContent":"нет содержания","summary.toolCalls.one":"{count} вызов инструмента","summary.toolCalls.other":"{count} вызовов инструментов","summary.steps.one":"{count} шаг","summary.steps.other":"{count} шагов","details.event":"Подробности мероприятия","details.resize":"Изменить размер сведений о мероприятии","details.resizeTitle":"Перетащите, чтобы изменить размер. Дважды щелкните для сброса.","details.close":"Закрыть детали","details.status":"Статус","details.purpose":"Цель","details.provider":"Поставщик","details.model":"Модель","details.toolCalls":"Вызовы инструментов","details.subtoolCalls":"Вызовы подинструментов","details.error":"Ошибка","details.lastAttemptError":"Ошибка последней попытки","details.failure.auth":"Ключ API недействителен","details.retry":"Повторить попытку","details.retryDelay":"Задержка повтора","details.result":"Результат","details.compacted":"Уплотненный","details.assistantMessage":"Сообщение помощника","details.source":"Источник","details.hierarchy":"Иерархия","details.toolCall":"Вызов инструмента","timeline.aria":"Хронология траектории","timeline.overviewAria":"Обзор временной шкалы; перетащите горизонтально, чтобы сфокусировать события","timeline.noTimingData":"Нет данных о времени","timeline.total":"Всего {duration}","timeline.started":"Началось {time}","timeline.ttftDecoding":"TTFT {ttft} · Декодирование {decoding}","layout.compacting":"Сжатие контекста…","layout.compactionFailed":"Сжатие не удалось","layout.compacted":"Контекст сжат","layout.toolCallOnly":"Только вызов инструмента","attachment.list":"Вложения","attachment.imageName":"Изображение {index}","layout.imageCount":"Изображения ×{count}","layout.fileAttachments":"Файлы ×{count}","layout.initialSystemPrompt":"Начальная системная подсказка","layout.systemPromptUpdated":"Системная подсказка обновлена","layout.toolsUpdated":"Инструменты обновлены","layout.toolAdded":"Добавлен инструмент: {name}","layout.toolRemoved":"Инструмент удален: {name}","layout.toolUpdateNotice":"Инструменты обновлены","layout.toolsAdded":"Добавлено: {names}","layout.toolsAddedCount":"{count} добавлено","layout.toolsChanged":"{added} добавлено, {removed} удалено","layout.toolsRemoved":"Удалено: {names}","layout.toolsRemovedCount":"{count} удалено","layout.systemPromptAndToolsUpdated":"Системная подсказка и инструменты обновлены","layout.compactionInterrupted":"Уплотнение было прервано до завершения."},"question":{"error.incomplete":"Пожалуйста, сначала ответьте на этот вопрос.","error.unanswered":"Пожалуйста, выберите вариант или введите собственный ответ.","error.unavailable":"Невозможно отправить прямо сейчас; попробуйте еще раз через минуту.","error.resubmit":"Ответ не пришел до продолжения работы; отправьте его еще раз.","status.sent":"Ответ отправлен; панель не могла закрыться.","wait.takeTime":"Найдите время","wait.countdown":"Продолжение через {seconds} сек.","wait.paused":"Приостановлено · осталось {seconds}","wait.held":"Жду, пока ты ответишь","wait.continued":"Работа продолжается — вы еще можете ответить","review.status":"Ответил","review.skipped":"Этот вопрос был пропущен.","reply.label":"Ответ на ранее отложенные вопросы","reply.open":"Подробности открытого вопроса","reply.close":"Закрыть детали вопроса","reply.answerLabel":"Ответ: ","reply.skipped":"Пропущено","nav.prev":"Предыдущий вопрос","nav.next":"Следующий вопрос","nav.minimize":"Свернуть карточку с вопросом","nav.maximize":"Развернуть карточку с вопросом","nav.cancel":"Отклонить все вопросы","nav.close":"Закрыть панель — открыть ее снова из вызова инструмента","option.recommended":"Рекомендуется","custom.placeholder":"Введите ответ","action.skip":"Пропустить","action.next":"Далее","plan.header":"Обзор плана","plan.approve":"Утвердить","plan.decline":"Отказаться","plan.discuss":"Запросить изменения"},"workflowRun":{"run.title":"{name}","run.members.one":"{count} участник","run.members.other":"{count} участников","run.empty":"Ни один из участников не стартовал","phase.unassigned":"Нефазированный","phase.empty":"Пустое имя фазы","statusCount.running":"Выполняется {count}","statusCount.completed":"Завершено {count}","statusCount.failed":"Не удалось {count}","statusCount.cancelled":"Отменено {count}","statusCount.interrupted":"Прервано {count}","member.empty":"Пустое имя участника","member.open":"Открыть {name}","status.running":"Бег","status.completed":"Завершено","status.failed":"Не удалось","status.cancelled":"Отменено","status.interrupted":"Прерванный"},"workspace":{"defaultWorkspace.failed":"Невозможно создать рабочую область по умолчанию. Используйте «Выбрать рабочее пространство», чтобы выбрать папку.","draft.workspaceRequired":"Сначала выберите рабочее место.","draft.initializationFailed":"Не удалось заполнить черновик. Пожалуйста, повторите попытку в ближайшее время.","group.ungrouped":"Без проекта","session.new":"Новая сессия","session.untitled":"Без названия","shortcut.noSession":"Сначала выберите сеанс","shortcut.noPicker":"Выбор каталога недоступен.","shortcut.directoryBusy":"Выбор или добавление рабочего пространства","shortcut.noCompletedTurn":"В этой сессии нет завершенных ходов","shortcut.forkFailed":"Не удалось разветвить сеанс. Попробуйте еще раз.","section.workspaces":"Рабочие пространства","section.sessions":"Сессии","viewOptions.label":"Посмотреть варианты","groupBy.label":"Группировать по","groupBy.workspace":"Рабочее пространство","groupBy.workspaceTree":"Дерево рабочей области","groupBy.flat":"В одном списке","orderBy.label":"Заказать по","orderBy.manual":"Руководство","orderBy.updated":"Последнее обновление","filterBy.label":"Фильтровать сеансы","viewOptions.hideArchived":"Скрыть в архиве","viewOptions.showArchived":"Все разговоры (показать в архиве)","viewOptions.onlyArchived":"Только в архиве","sessions.expand":"Показать еще сеансов: {n}","sessions.collapse":"Показать меньше","empty.none":"Сеансов пока нет","empty.noneArchived":"Архивированных сессий пока нет","empty.viewOthers":"Посмотреть другие сессии","empty.noMatches":"Нет совпадений","workspace.add":"Добавить рабочую область","search.sessions.aria":"Поиск сеансов","search.placeholder":"Поиск названий сеансов","search.clear":"Очистить поиск","search.results.aria":"Результаты поиска","search.pending":"Поиск истории сеансов…","search.noMatches":"Нет подходящих сеансов","search.hasMore":"Показаны первые {n} результатов. Сузьте область поиска.","menu.addWorkspace":"Добавить рабочее пространство…","picker.loading":"Загрузка рабочих областей…","conflict.named":"Рабочая область с именем «{name}» уже существует.","folderError.title":"Не удалось открыть папку","folderError.retry":"Выбрать еще раз","rename":"Переименовать","rename.workspace.title":"Переименовать рабочую область","rename.session.title":"Переименовать сеанс","field.workspaceName":"Имя рабочей области","field.sessionName":"Имя сеанса","delete.workspace":"Удалить рабочую область","delete.desc":"Это удалит «{name}» из списка рабочей области. Журналы папок и сеансов будут сохранены. Его сеансы появятся в разделе «Разгруппировано».","delete.pending":"Удаление рабочей области…","menu.fork":"Форк-сессия","menu.archiveSession":"Архив сеанса","menu.unarchiveSession":"Разархивировать сеанс","menu.pinSession":"Закрепить сеанс","menu.unpinSession":"Открепить сеанс","menu.sessionId":"Копировать идентификатор сеанса","toast.sessionIdCopied":"Идентификатор сеанса скопирован.","toast.sessionIdCopyFailed":"Копировать не удалось. Попробуйте еще раз.","row.archived":"В архиве","row.pinned":"Закреплено","toast.archivedNotOpenable":"Архивированные сеансы невозможно открыть. Разархивируйте его для просмотра.","toast.archived":"Сессия заархивирована. Вы можете ","toast.stoppedAndArchived":"Сеанс остановлен и заархивирован. Вы можете ","archive.confirm.title":"Остановить и заархивировать этот сеанс?","archive.confirm.desc":"Над проектом «{title}» все еще ведется работа. Архивирование останавливает его первым; восстановить сессию можно позже из фильтра «Все разговоры (показать в архиве)» в боковой панели, при этом остановленная работа не возобновится сама по себе.","archive.confirm.activity":"Работа, которая будет остановлена","archive.confirm.turn":"Поворот в процессе","archive.confirm.subagents.one":"{n} работающий субагент: {names}","archive.confirm.subagents.other":"{n} работающих субагентов: {names}","archive.confirm.jobs.one":"{n} фоновое задание: {names}","archive.confirm.jobs.other":"{n} фоновых заданий: {names}","archive.confirm.schedules.one":"{n} запланированное напоминание: {names}","archive.confirm.schedules.other":"{n} запланированных напоминаний: {names}","archive.confirm.other.one":"{n} другой элемент работы ({kind})","archive.confirm.other.other":"{n} другие элементы работы ({kind})","archive.confirm.listSeparator":", ","archive.confirm.action":"Остановить и заархивировать","archive.confirm.pending":"Остановка и архивирование…","toast.archivedUndo":"отменить","toast.archivedOr":" или ","toast.archivedFilter":"фильтровать архивированные сеансы","toast.pinFailed":"Закрепить не удалось. Повторите попытку позже.","toast.unpinFailed":"Открепить не удалось. Повторите попытку позже.","toast.createFailed":"Не удалось создать новый сеанс: {message}","toast.forkRequiresOpen":"Откройте исходный сеанс, чтобы завершить миграцию, прежде чем создавать ветку.","toast.openForkSource":"Открыть исходный сеанс","sessions.count.one":"{n} сеанс","sessions.count.other":"{n} сеансов","actions.workspace.aria":"Действия в рабочей области для {name}","actions.session.aria":"Действия сеанса для {name}","actions.archive":"Архив","actions.unarchive":"Разархивировать","actions.pin":"Пин-код","actions.unpin":"Открепить","actions.newSession":"Новая сессия","actions.newSession.aria":"Новый сеанс в {name}","status.running":"Бег","status.subagentsRunning.one":"{n} субагент работает","status.subagentsRunning.other":"{n} работающих субагентов","status.idle":"Простой","status.waitingApproval":"Ожидание одобрения","status.planReview":"План ожидает рассмотрения","status.waitingAnswer":"Ожидание ответа","status.compact.approval":"Одобрение","status.compact.planReview":"Обзор плана","status.compact.answer":"Ответ","status.completed":"Завершено","hover.created":"Создано {time}","hover.copied":"Скопировано","date.ymd":"{y}-{m}-{d}","time.now":"сейчас","time.minutes":"{n}мин","time.hours":"{n} ч","time.days":"{n}д","time.months":"{n} мес.","time.years":"{n}й","time.ago":"{t} назад"},"agent-team":{"trigger":"Команда агентов","loading":"Загрузка команды…","unavailable":"Команда недоступна","failure":"Недействительная сохраненная запись команды: {message}.","empty":"Общие задачи пока отсутствуют. Создайте их посредством разговора.","roster":"Члены","tasks":"Общие задачи","model":"Модель","open":"Открыть беседу участников","current":"Текущий чат","owner":"Владелец","unowned":"Невладеющий","blockedBy":"Заблокировано","writeScopes":"Запись областей","ready":"Готово","blocked":"Заблокировано зависимостями","task.expand":"Показать больше","task.collapse":"Показать меньше","memberStatus.running":"Бег","memberStatus.inactive":"Неактивный","memberStatus.provisioning":"обеспечение","memberStatus.failed":"Не удалось","status.pending":"Ожидается","status.in_progress":"В процессе","status.completed":"Завершено"},"cotTranslation":{"provider":"Услуги перевода","google":"Гугл","bing":"Бинг","deepseekAccount":"DeepSeek Flash — Аккаунт (платный)","deepseekOfficial":"DeepSeek Flash — Официальный API (платный)","providerUnavailableOption":"{provider} — недоступен","providerUnavailable":"Этот провайдер недоступен. Настройте свою учетную запись DeepSeek или официального поставщика API или выберите доступную услугу.","paidNotice":"Каждый некэшированный фрагмент отправляет отдельный платный запрос DeepSeek Flash через выбранную учетную запись или учетные данные официального API. При повторном открытии рассуждений повторно используются сохраненные результаты; изменение провайдера, языка, исходного текста или настроек запроса может привести к отправке нового платного запроса.","anonymousNotice":"Bing и Google не требуют входа в систему для перевода или ключа API. Их анонимные конечные точки могут отклонять или ограничивать запросы.","targetLanguage":"Целевой язык","targetLanguageHint":"автоматически следует языку пользовательского интерфейса; коды языков, такие как zh, en и ja, также работают.","privacy":"Развернутое обоснование отправляется в выбранную службу. Он может содержать личный код или детали разговора.","translation":"Посмотреть перевод","original":"Посмотреть оригинал","retry":"Повторить попытку","failed":"Перевод не удался. Показываю оригинал.","translating":"Перевод рассуждений","invalidProvider":"Выберите услугу перевода.","invalidLanguage":"Введите auto или код языка, например zh, en или ja.","overridden":"Переопределено","reset":"Сбросить настройки по умолчанию","unavailable":"Настройки перевода недоступны.","readOnly":"В этом развертывании параметры сохраняются только для чтения.","saveFailed":"Развертывание не приняло эти значения; их оставили вам на исправление.","save":"Сохранить","saving":"Сохранение…","copy":"Копировать","copied":"Скопировано","codeTitle":"Кодовый блок","wrap":"Перенос линий","unwrap":"Развернуть линии","footnotes":"Сноски"},"voice-input":{"dictate":"Диктовать","setupPrompt.title":"Настройте голосовой ввод перед записью","setupPrompt.body":"Голосовой ввод включен. Первое использование требует загрузки и подготовки моделей локального распознавания. Откройте сведения о плагине, чтобы просмотреть оценки дискового пространства, памяти и времени перед началом установки.","setupPrompt.later":"Позже","setupPrompt.open":"Перейти к настройке","setupPrompt.trigger":"Открыть настройку голосового ввода","setupPrompt.details":"Открыть настройки голосового плагина","setupPrompt.unavailableTitle":"Распознавание речи не готово","setupPrompt.unavailableBody":"Откройте сведения о голосовом плагине, чтобы проверить статус распознавания, ход подготовки или наличие ошибок.","setup.local":"Локальные модели будут загружены на машину, на которой работает DSH. Никакой Python или компилятор не требуется.","setup.disk":"Дисковое пространство","setup.diskValue":"Разрешить около {gb} ГБ для моделей, среды выполнения и кэша загрузки.","setup.memory":"Память","setup.memoryValue":"Около {gb} ГБ с загруженной моделью; признание может использовать больше","setup.time":"Первая настройка","setup.timeValue":"Разрешить примерно {min}–{max} минут, в зависимости от сети и компьютера.","setup.estimateNote":"Это оценки; медленные сети могут занять больше времени. Загрузки используются повторно; Неработающие модели освобождают память по умолчанию.","step.check":"Проверьте местные ресурсы","step.model":"Подготовьте модель распознавания","step.vad":"Подготовьте модель обнаружения голоса","step.verify":"Проверка файлов модели","step.load":"Загрузите {name}","stepStatus.pending":"Не запущено","stepStatus.running":"В процессе","stepStatus.complete":"Завершено","stepStatus.failed":"Не удалось","stepStatus.cancelled":"Отменено","short.downloading":"Загрузка","short.failed":"Установка не удалась","retryRecording":"Записать еще раз","preparationSteps":"Этапы подготовки","prepare":"Скачайте и подготовьте","retryPrepare":"Повторить подготовку","cancelPrepare":"Отменить подготовку","downloadProgress":"Прогресс загрузки","downloadBytes":"Загрузка: {completed} / {total} МБ, {percent}%","downloadUnknown":"Скачано {completed} МБ","elapsed":"Ожидание {seconds} секунд","preparationFailed":"Подготовка не удалась: {message}","download.network":"Невозможно загрузить {resource}: не удалось подключиться к службе загрузки.","download.dns":"Невозможно загрузить {resource}: не удалось определить адрес загрузки.","download.timeout":"Время загрузки {resource} истекло.","download.certificate":"Невозможно загрузить {resource}: проверка сертификата не удалась.","download.http":"Невозможно загрузить {resource}: служба загрузки вернула HTTP {status}.","download.integrity":"Загрузка {resource} не завершена или не прошла проверку.","download.storage":"Невозможно сохранить {resource}: недостаточно места на диске или разрешения на запись.","download.unknown":"Не удалось подготовить {resource}.","downloadAdvice.network":"Убедитесь, что машина, на которой работает DSH, может получить доступ к источнику загрузки и службам загрузки его модели. При необходимости настройте прокси-сервер на этом компьютере, а затем повторите попытку.","downloadAdvice.dns":"Проверьте настройки DNS и прокси-сервера на компьютере, на котором работает DSH. Убедитесь, что он может разрешить домен источника загрузки, затем повторите попытку.","downloadAdvice.timeout":"Проверьте сетевое или прокси-соединение на компьютере, на котором работает DSH, затем повторите попытку позже. Проверенные загруженные файлы сохраняются.","downloadAdvice.certificate":"Проверьте системные часы, доверенные сертификаты и настройки прокси-сервера на компьютере, на котором работает DSH, затем повторите попытку.","downloadAdvice.http":"Убедитесь, что адрес загрузки доступен и прокси-сервер может связаться со службой загрузки, или повторите попытку позже.","downloadAdvice.integrity":"Повторите загрузку. Остальные заполненные и проверенные файлы сохраняются.","downloadAdvice.storage":"Проверьте доступное дисковое пространство и разрешение на запись для каталога модели на компьютере, на котором работает DSH, затем повторите попытку.","downloadAdvice.unknown":"Проверьте сеть, дисковое пространство и права доступа к каталогу модели на компьютере, на котором работает DSH, затем повторите попытку.","downloadSource":"Источник загрузки: {source}","sourceChoice":"Источник загрузки модели","sourceAuto":"Автоматический (рекомендуется)","sourceHuggingFace":"Обнимающее лицо","sourceMirror":"ВЧ-Зеркало (Китайское зеркало)","sourceAutoHelp":"Отдайте предпочтение первому ответившему источнику и попробуйте другой, если загрузка не удалась.","sourceManualHelp":"Скачивайте только из выбранного источника. Проверенные загруженные файлы используются повторно.","downloadCode":"Код ошибки: {code}","reconnecting":"Подключение к распознаванию речи…","preparation.unprepared":"При первом использовании загружаются модели локального распознавания.","preparation.checking":"Проверка местных ресурсов…","preparation.loading":"Загрузка {name}…","preparation.waking":"Пробуждение локального распознавания речи…","preparation.ready":"Локальное распознавание речи готово.","preparation.standby":"Подготовлены местные ресурсы. Запись будит распознаватель.","preparation.cancelled":"Подготовка отменена. Завершенные загрузки сохраняются.","preparation.cancelling":"Отмена подготовки…","cloudReady":"Облачное распознавание речи готово.","discard":"Удалить расшифровку","transcribingShort":"Расшифровка…","wakingShort":"Пробуждение…","provider":"Служба распознавания","language":"Язык распознавания","inputDevice":"Устройство ввода","systemMicrophone":"Система по умолчанию","systemMicrophoneNamed":"Системное значение по умолчанию ({name})","unnamedSelectedMicrophone":"Микрофон","unnamedMicrophone":"Микрофон {number}","inputLevel":"Входной уровень микрофона","deviceUnavailable":"Недоступно","deviceMissing":"Микрофон недоступен. Выберите другое устройство ввода.","auto":"Обнаруживать автоматически","zh":"китайский","en":"английский","yue":"Кантонский диалект","ja":"японский","ko":"корейский","start":"Начать запись","stop":"Остановись и перепиши","cancel":"Отмена","insert":"Вставить текст","loading":"Загрузка служб распознавания…","requesting":"Разрешите доступ к микрофону, чтобы продолжить…","recording":"Запись…","interrupted":"Запись была прервана. Пожалуйста, попробуйте еще раз.","local":"Звук распознается на машине, на которой работает DSH. Если модели необходимо загрузить, этот компьютер должен иметь доступ к выбранному источнику и его файловым службам. При необходимости настройте прокси-сервер на этом компьютере.","cloud":"Аудио будет отправлено в выбранный облачный сервис.","empty":"Речь не распознается","cancelled":"Голосовой ввод отменен.","conflict":"Ваш черновик изменился. Транскрипт сохраняется и может быть вставлен под текущий курсор.","failed":"Не удалось распознать речь: {message}","unavailable":"Этот браузер не может записывать звук. Используйте браузер с поддержкой микрофона.","permission":"Доступ к микрофону отключен. Разрешите это в настройках браузера и системы.","tooLarge":"Запись превышает лимит обслуживания. Попробуйте более короткую запись."},"session-inspector":{"tab.title":"Журнал сеанса","tab.description":"Анализируйте необработанные журналы и сгруппированные сообщения чата для текущего сеанса на боковой панели.","view.presentation":"Презентация","view.sessionLog":"Необработанный журнал","view.chatNode":"Группа чата","picker.pick":"Выберите элемент в представлении чата","picker.cancel":"Отменить выбор (Esc)","picker.instructions":"Наведите указатель мыши на главный чат, чтобы просмотреть его, затем нажмите, чтобы выбрать. Esc отменяет.","picker.noMatch":"В этой таблице нет соответствующей записи. Выберите другой элемент или нажмите Esc для отмены.","picker.noChat":"Прежде чем выбирать, откройте этот сеанс в главном чате.","table.id":"Индекс","table.type":"Тип","filter.title":"Типы фильтров","filter.input":"Введите ключевое слово","filter.placeholder":"Введите фрагмент, например. дельта","filter.help":"Содержит совпадение (*ключевое слово*). Enter подтверждает; Esc отменяет.","filter.candidates":"Введите предложения","filter.loading":"Поиск предложений…","filter.failed":"Не удалось загрузить предлагаемые типы.","filter.noCandidates":"Никаких предложений. Вы все еще можете применить это ключевое слово.","filter.clear":"Очистить","filter.cancel":"Отмена","filter.apply":"Применить фильтр","filter.context":"Родительский контекст соответствующей записи","table.location":"Т/С","table.time":"Время (UTC)","table.data":"Данные","table.older":"Загрузить раньше","table.loading":"Загрузка…","table.latest":"Следите за последними","table.empty":"Нет записей","table.raw":"Необработанные данные","table.rawError":"Эту запись не удалось сериализовать. Выберите другую запись, чтобы продолжить.","table.resizeDetails":"Изменение размера панели необработанных данных","table.close":"Закрыть","table.expand":"Развернуть детей","table.collapse":"Свернуть детей","table.removed":"Этот рекорд был удален или погашен. Выберите текущую запись.","object.node":"Узел","object.nodeData":"Данные узла","object.group":"Группа","object.groupData":"Групповые данные","object.turn":"Поворот","object.turnData":"Повернуть данные","object.step":"Шаг","object.stepData":"Данные шага","object.accessor":"[Получатель/Сеттер, не оценивается]","object.empty":"Пустой","object.absent":"[Пустой слот]","object.properties":"Другие объекты недвижимости","object.more":"Показать больше","object.navigation":"Навигация по необработанным данным"},"session-log-download":{"header.more":"Дополнительные действия","menu.download":"Скачать журнал сеанса","menu.feedback":"Обратная связь","dialog.preparingTitle":"Экспорт сеанса","dialog.preparingDescription":"Подготовка ZIP-файла, содержащего этот сеанс, его подсеансы и вложения.","dialog.successTitle":"Загрузка сеанса началась","dialog.successDescription":"Браузер загружает ZIP-файл сеанса.","dialog.errorTitle":"Экспорт сеанса не удался","dialog.close":"Закрыть","dialog.commandFailed":"Не удалось начать экспорт сеанса."},"deepseek-model-label-1017":{"badge.label":"1017"},"shortcuts.layout":{"toggle":"Переключить левую боковую панель"},"secretMask":{"secret.reveal":"Показать секрет","secret.hide":"Скрыть секрет"}};
|
|
30
30
|
|
|
31
31
|
/** Declared services are reachable through the plugin context from any callback. */
|
|
32
32
|
const inject = ["slots", "locale", "connection", "remote", "remote.account"];
|
|
@@ -1239,6 +1239,72 @@ border-bottom:1px solid var(--dsw-alias-border-l1,rgba(0,0,0,.07))}
|
|
|
1239
1239
|
apply();
|
|
1240
1240
|
return () => { document.removeEventListener("click", onClick, true); observer.disconnect(); };
|
|
1241
1241
|
}
|
|
1242
|
+
/* Correct machine-translated strings that come from the core chat UI
|
|
1243
|
+
* (or from a 0.2.x locale pack) without touching code blocks. */
|
|
1244
|
+
const I18N_FIXES = [
|
|
1245
|
+
["Этот повтор не удался", "Не удалось выполнить запрос"],
|
|
1246
|
+
["Этот поворот не удался", "Не удалось выполнить ход"],
|
|
1247
|
+
["DeepSeek Messages stream ended before message_stop", "Поток ответа DeepSeek оборвался до завершения"],
|
|
1248
|
+
["STREAM_CLOSED", "ПОТОК ЗАКРЫТ"],
|
|
1249
|
+
["Кэш попаден", "Кэш попаданий"],
|
|
1250
|
+
["Кэш поврежден", "Кэш попаданий"],
|
|
1251
|
+
["Бег…", "Выполняется…"],
|
|
1252
|
+
["время магистратуры", "Время модели"],
|
|
1253
|
+
["Использование токена", "Использование токенов"],
|
|
1254
|
+
["Искомый код", "Поиск по коду"],
|
|
1255
|
+
["Анализ завершен", "Анализ завершён"],
|
|
1256
|
+
["Причина неисправности", "Причина ошибки"],
|
|
1257
|
+
["Повторный запрос модели", "Повтор запроса к модели"],
|
|
1258
|
+
["Повтор запроса модели отменен", "Повтор запроса к модели отменён"],
|
|
1259
|
+
["Ожидание повторного запроса модели", "Ожидание повтора запроса к модели"],
|
|
1260
|
+
["Задержка повтора", "Пауза перед повтором"],
|
|
1261
|
+
["статистика сеансов", "Статистика сессии"],
|
|
1262
|
+
["Однажды", "Однократно"],
|
|
1263
|
+
];
|
|
1264
|
+
function setupI18nFixes(ctx) {
|
|
1265
|
+
const enabled = () => {
|
|
1266
|
+
try { return ctx.locale.getSnapshot().active === "ru"; } catch { return true; }
|
|
1267
|
+
};
|
|
1268
|
+
if (!enabled()) return () => {};
|
|
1269
|
+
const skip = new Set(["SCRIPT", "STYLE", "TEXTAREA", "CODE", "PRE"]);
|
|
1270
|
+
const fix = (node) => {
|
|
1271
|
+
const value = node.nodeValue;
|
|
1272
|
+
if (typeof value !== "string" || value.length < 4) return;
|
|
1273
|
+
let next = value;
|
|
1274
|
+
for (const [from, to] of I18N_FIXES) {
|
|
1275
|
+
if (next.includes(from)) next = next.split(from).join(to);
|
|
1276
|
+
}
|
|
1277
|
+
next = next.replace(/(\d+)\s+сообщений в очереди/gu, "В очереди: $1");
|
|
1278
|
+
if (next !== value) node.nodeValue = next;
|
|
1279
|
+
};
|
|
1280
|
+
const walk = () => {
|
|
1281
|
+
if (!enabled()) return;
|
|
1282
|
+
if (typeof document.createTreeWalker !== "function") return;
|
|
1283
|
+
const walker = document.createTreeWalker(document.body, 4, {
|
|
1284
|
+
acceptNode(node) {
|
|
1285
|
+
const parent = node.parentElement;
|
|
1286
|
+
if (!parent || skip.has(parent.tagName)) return 2;
|
|
1287
|
+
if (parent.closest("pre, code, textarea, [contenteditable='true'], .gkb-sk-content")) return 2;
|
|
1288
|
+
return 1;
|
|
1289
|
+
}
|
|
1290
|
+
});
|
|
1291
|
+
let node;
|
|
1292
|
+
while ((node = walker.nextNode())) fix(node);
|
|
1293
|
+
};
|
|
1294
|
+
let timer = null;
|
|
1295
|
+
const schedule = () => {
|
|
1296
|
+
if (timer !== null) return;
|
|
1297
|
+
timer = setTimeout(() => { timer = null; walk(); }, 60);
|
|
1298
|
+
};
|
|
1299
|
+
const observer = new MutationObserver(schedule);
|
|
1300
|
+
observer.observe(document.body, { subtree: true, childList: true, characterData: true });
|
|
1301
|
+
walk();
|
|
1302
|
+
return () => {
|
|
1303
|
+
observer.disconnect();
|
|
1304
|
+
if (timer !== null) clearTimeout(timer);
|
|
1305
|
+
};
|
|
1306
|
+
}
|
|
1307
|
+
|
|
1242
1308
|
function apply(ctx) {
|
|
1243
1309
|
pluginCtx = ctx;
|
|
1244
1310
|
|
|
@@ -1269,6 +1335,7 @@ border-bottom:1px solid var(--dsw-alias-border-l1,rgba(0,0,0,.07))}
|
|
|
1269
1335
|
}
|
|
1270
1336
|
|
|
1271
1337
|
/* Balance poller lifetime follows the plugin, not the row mount. */
|
|
1338
|
+
ctx.effect(() => setupI18nFixes(ctx), "gkb-ru: i18n fixes");
|
|
1272
1339
|
ctx.effect(() => {
|
|
1273
1340
|
startPolling();
|
|
1274
1341
|
return () => stopPolling();
|