import type { Dict } from '../types';

export const ru: Dict = {
  'common.cancel': 'Отмена',
  'common.save': 'Сохранить',
  'common.close': 'Закрыть',
  'common.delete': 'Удалить',
  'common.rename': 'Переименовать',
  'common.preview': 'Предпросмотр',
  'common.share': 'Поделиться',
  'common.search': 'Поиск',
  'common.searchEllipsis': 'Поиск…',
  'common.loading': 'Загрузка…',
  'common.all': 'Все',
  'common.none': 'Нет',
  'common.default': 'По умолчанию',
  'common.installed': 'установлено',
  'common.notInstalled': 'не установлено',
  'common.active': 'активно',
  'common.offline': 'офлайн',
  'common.selected': 'выбрано',
  'common.create': 'Создать',
  'common.openPreview': 'Открыть предпросмотр',
  'common.exitFullscreen': 'Выйти из полноэкранного режима',
  'common.fullscreen': 'Полноэкранный режим',
  'common.openInNewTab': 'Открыть в новой вкладке',
  'common.exportPdf': 'Экспорт в PDF',
  'common.exportZip': 'Скачать как .zip',
  'common.exportHtml': 'Экспорт как HTML',
  'common.justNow': 'только что',
  'common.minutesAgo': '{n} мин. назад',
  'common.hoursAgo': '{n} ч. назад',
  'common.daysAgo': '{n} д. назад',
  'common.now': 'сейчас',
  'common.minutesShort': '{n}м',
  'common.hoursShort': '{n}ч',
  'common.daysShort': '{n}д',
  'common.untitled': 'Без названия',

  'app.brand': 'Open Design',
  'app.brandPill': 'Предварительная исследовательская версия',
  'app.brandSubtitle': 'от Nexu Labs',
  'app.welcomeLoading': 'Загрузка рабочего пространства…',

  'settings.welcomeKicker': 'Добро пожаловать',
  'settings.welcomeTitle': 'Настройте Open Design',
  'settings.welcomeSubtitle':
    'Выберите, как запускать генерации. Вы можете изменить это в любое время через кнопку Настройки в верхней панели.',
  'settings.kicker': 'Настройки',
  'settings.title': 'Выполнение и модель',
  'settings.subtitle': 'Выберите локальный CLI или BYOK. Ваш API-ключ хранится только в этом браузере.',
  'settings.modeAria': 'Режим выполнения',
  'settings.protocolAria': 'Протокол API',
  'settings.modeDaemon': 'Локальный CLI',
  'settings.modeDaemonHelp': 'Запуск через CLI код-агента на вашем компьютере',
  'settings.modeDaemonOffline': 'Демон не запущен',
  'settings.modeDaemonOfflineMeta': 'демон офлайн',
  'settings.modeDaemonInstalledMeta': '{count} установлено',
  'settings.modeApi': 'API-провайдер',
  'settings.modeApiMeta': 'BYOK',
  'settings.codeAgent': 'Код-агент',
  'settings.codeAgentHint':
    'Определяется сканированием вашего PATH. Выберите CLI, через который будут проходить генерации.',
  'settings.rescan': '↻ Пересканировать',
  'settings.rescanTitle': 'Пересканировать PATH',
  'settings.rescanRunning': 'Сканирование...',
  'settings.rescanSuccess': 'Сканирование завершено. Доступно: {count}.',
  'settings.rescanFailed': 'Сканирование не удалось. Проверьте демон и повторите попытку.',
  'settings.noAgentsDetected':
    'Агенты ещё не обнаружены. Установите один из следующих инструментов: Claude Code, Codex, Devin for Terminal, Gemini CLI, OpenCode, Cursor Agent, Qwen или GitHub Copilot CLI, затем нажмите «Пересканировать».',
  'settings.apiSection': 'Anthropic API',
  'settings.quickFillProvider': 'Быстро заполнить провайдера',
  'settings.customProvider': 'Пользовательский провайдер',
  'settings.apiKey': 'API-ключ',
  'settings.showKey': 'Показать ключ',
  'settings.hideKey': 'Скрыть ключ',
  'settings.show': 'Показать',
  'settings.hide': 'Скрыть',
  'settings.model': 'Модель',
  'settings.suggestedModelsHint':
    'Это рекомендуемые модели для этого протокола. Ваш провайдер может поддерживать другие модели.',
  'settings.baseUrl': 'Базовый URL',
  'settings.baseUrlInvalid': 'Введите корректный публичный URL с http:// или https://. Localhost разрешен; IP частных сетей блокируются.',
  'settings.azureDeploymentModel': 'Имя развертывания',
  'settings.azureDeploymentModelHint':
    'Для Azure OpenAI это поле используется как имя развертывания в /openai/deployments/<model>. Укажите имя развертывания, созданного в Azure.',
  'settings.apiVersion': 'Версия API',
  'settings.maxTokens': 'Макс. токенов (опционально)',
  'settings.maxTokensHint':
    'Ограничение длины ответа. У каждой модели свой настроенный дефолт (виден в плейсхолдере); оставьте поле пустым, чтобы использовать его, или введите число, чтобы переопределить.',
  'settings.apiHint': 'Запросы отправляются через локальный прокси daemon на указанную Base URL. Ключ хранится только в этом браузере и отправляется в запросах к провайдеру.',
  'settings.skipForNow': 'Пропустить сейчас',
  'settings.getStarted': 'Начать',
  'settings.envConfigure': 'Настроить режим выполнения',
  'settings.localCli': 'Локальный CLI',
  'settings.anthropicApi': 'Anthropic API',
  'settings.noAgentSelected': 'агент не выбран',
  'settings.language': 'Язык',
  'settings.languageHint': 'Переключить язык интерфейса. Сохраняется в этом браузере.',
  'settings.appearance': 'Внешний вид',
  'settings.appearanceHint': 'Выберите светлую, тёмную или системную тему.',
  'settings.themeSystem': 'Системная',
  'settings.themeLight': 'Светлая',
  'settings.themeDark': 'Тёмная',
  'settings.modelPicker': 'Модель',
  'settings.reasoningPicker': 'Сложность рассуждений',
  'settings.modelPickerHint':
    'Получается из CLI, если он поддерживает команду `models`. «По умолчанию» оставляет выбор конфигурации CLI, а «Пользовательская…» позволяет ввести любой ID модели, который CLI принимает.',
  'settings.cliEnvTitle': 'CLI config locations',
  'settings.cliEnvHint':
    'Set non-secret config directories for packaged app runs and agent detection.',
  'settings.cliEnvClaudeConfigDir': 'Claude Code config dir',
  'settings.cliEnvCodexHome': 'Codex home',
  'settings.modelCustom': 'Пользовательская (введите ниже)…',
  'settings.modelCustomLabel': 'Пользовательский ID модели',
  'settings.modelCustomPlaceholder': 'например, anthropic/claude-sonnet-4-6',
  'settings.mediaProviders': 'Медиа-провайдеры',
  'settings.mediaProvidersHint': 'API-ключи для генерации изображений, видео и аудио. Хранятся локально и синхронизируются с локальным демоном.',
  'settings.mediaProviderApiKey': 'API-ключ',
  'settings.mediaProviderBaseUrl': 'Базовый URL',
  'settings.mediaProviderConfigured': 'Настроено',
  'settings.mediaProviderUnset': 'Не настроено',
  'settings.mediaProviderClear': 'Очистить',
  'settings.mediaProviderPlaceholder': 'Вставьте API-ключ',
  'settings.mediaProviderBaseUrlPlaceholder': 'Переопределить базовый URL',
  'settings.about': 'О приложении',
  'settings.aboutHint': 'Версия и сведения о запуске',
  'settings.appVersion': 'Версия',
  'settings.appChannel': 'Канал',
  'settings.appRuntime': 'Среда запуска',
  'settings.appPlatform': 'Платформа',
  'settings.appArchitecture': 'Архитектура',
  'settings.runtimePackaged': 'Упакованное приложение',
  'settings.runtimeDevelopment': 'Разработка',
  'settings.versionUnavailable': 'Сведения о версии недоступны, пока daemon не запущен.',

  'entry.tabDesigns': 'Дизайны',
  'entry.tabExamples': 'Примеры',
  'entry.tabDesignSystems': 'Дизайн-системы',
  'entry.tabConnectors': 'Коннекторы',
  'entry.openSettingsTitle': 'Настройки',
  'entry.openSettingsAria': 'Открыть настройки',
  'entry.resizeAria': 'Изменить размер боковой панели',
  'entry.loadingWorkspace': 'Загрузка рабочего пространства…',
  'entry.tabImageTemplates': 'Шаблоны изображений',
  'entry.tabVideoTemplates': 'Шаблоны видео',
  'promptTemplates.searchPlaceholder': 'Поиск шаблонов…',
  'promptTemplates.countLabel': '{n} результатов',
  'promptTemplates.emptyImage': 'Шаблоны промптов изображений не установлены.',
  'promptTemplates.emptyVideo': 'Шаблоны промптов видео не установлены.',
  'promptTemplates.emptyNoMatch': 'Нет шаблонов, соответствующих поиску.',
  'promptTemplates.attributionFooter': 'Адаптировано из публичных библиотек промптов. Каждая карточка ссылается на исходного автора.',
  'promptTemplates.openPreviewTitle': 'Открыть промпт и предпросмотр',
  'promptTemplates.sourcePrefix': 'Источник:',
  'promptTemplates.fetchError': 'Не удалось загрузить текст шаблона.',
  'promptTemplates.promptLabel': 'Текст промпта',
  'promptTemplates.copyPrompt': 'Копировать промпт',
  'promptTemplates.copyDone': 'Скопировано!',
  'promptTemplates.modelHint': 'Рекомендуемая модель: {model}',
  'promptTemplates.openSource': 'Открыть оригинал',
  'promptTemplates.openFullscreen': 'Открыть полноэкранный предпросмотр',
  'promptTemplates.closeFullscreen': 'Закрыть полноэкранный предпросмотр',
  'promptTemplates.allSources': 'Все источники',
  'promptTemplates.sourceFilterAria': 'Фильтр по источнику',
  'promptTemplates.retry': 'Повторить',

  'connectors.title': 'Коннекторы',
  'connectors.subtitle': 'Локальные и будущие источники данных для live-артефактов.',
  'connectors.account': 'Аккаунт',
  'connectors.noAccount': 'Не подключено',
  'connectors.tools': 'Инструменты',
  'connectors.connect': 'Подключить',
  'connectors.disconnect': 'Отключить',
  'connectors.configure': 'Настроить',
  'connectors.unavailable': 'Недоступно',
  'connectors.phaseStubTitle': 'API коннекторов появятся на этапе 3; это предварительный интерфейс.',
  'connectors.statusAvailable': 'Доступно',
  'connectors.statusConnected': 'Подключено',
  'connectors.statusError': 'Ошибка',
  'connectors.statusDisabled': 'Отключено',
  'connectors.gateTitle': 'Сначала настройте ключ Composio API',
  'connectors.gateBody': 'Коннекторам нужен ключ Composio API. Добавьте его в настройках, чтобы разблокировать доступные интеграции.',
  'connectors.gateAction': 'Открыть настройки',
  'connectors.aboutLabel': 'О коннекторе',
  'connectors.detailsLabel': 'Детали',
  'connectors.statusLabel': 'Статус',
  'connectors.categoryLabel': 'Категория',
  'connectors.providerLabel': 'Провайдер',
  'connectors.toolsSection': 'Инструменты',
  'connectors.toolsLoading': 'Загрузка инструментов…',
  'connectors.noToolsAvailable': 'Инструменты ещё не загружены. Подключитесь, чтобы увидеть возможности интеграции.',
  'connectors.openDetailsAria': 'Открыть детали «{name}»',
  'connectors.toolsBadgeNone': 'Нет инструментов',
  'connectors.toolsBadgeOne': '{n} инструмент',
  'connectors.toolsBadgeMany': '{n} инструментов',
  'connectors.searchPlaceholder': 'Поиск коннекторов…',
  'connectors.searchAriaLabel': 'Поиск коннекторов по названию, провайдеру или инструменту',
  'connectors.searchClear': 'Очистить поиск',
  'connectors.emptyNoMatchTitle': 'Нет коннекторов по запросу «{query}»',
  'connectors.emptyNoMatchBody': 'Попробуйте другое ключевое слово или очистите поиск, чтобы вернуться к полному каталогу.',
  'connectors.emptyNoMatchAction': 'Очистить поиск',

  'newproj.tabPrototype': 'Прототип',
  'newproj.tabLiveArtifact': 'Новый live-артефакт',
  'newproj.tabDeck': 'Презентация',
  'newproj.tabTemplate': 'Шаблон',
  'newproj.tabOther': 'Другое',
  'newproj.titlePrototype': 'Новый прототип',
  'newproj.titleLiveArtifact': 'Новый live-артефакт',
  'newproj.titleDeck': 'Новая презентация',
  'newproj.titleTemplate': 'Начать с шаблона',
  'newproj.titleImage': 'Новое изображение',
  'newproj.titleVideo': 'Новое видео',
  'newproj.titleAudio': 'Новое аудио',
  'newproj.titleOther': 'Новый проект',
  'newproj.namePlaceholder': 'Название проекта',
  'newproj.fidelityLabel': 'Детализация',
  'newproj.fidelityWireframe': 'Вайрфрейм',
  'newproj.fidelityHigh': 'Высокая детализация',
  'newproj.toggleSpeakerNotes': 'Использовать заметки докладчика',
  'newproj.toggleSpeakerNotesHint': 'Меньше текста на слайдах — основные тезисы в заметках.',
  'newproj.toggleAnimations': 'Включить анимации',
  'newproj.toggleAnimationsHint':
    'Добавить анимации (появление, наведение, переходы) поверх шаблона.',
  'newproj.templateLabel': 'Шаблон',
  'newproj.noTemplatesTitle': 'Шаблонов пока нет',
  'newproj.noTemplatesBody':
    'Откройте любой проект, затем используйте меню «Поделиться» в просмотре файлов, чтобы преобразовать его в шаблон. Шаблоны появятся здесь.',
  'newproj.savedTemplate': 'Сохраненный шаблон',
  'newproj.fileSingular': 'файл',
  'newproj.filePlural': 'файлов',
  'newproj.create': 'Создать',
  'newproj.createLiveArtifact': 'Создать live-артефакт',
  'newproj.createFromTemplate': 'Создать из шаблона',
  'newproj.createDisabledTitle':
    'Сначала сохраните проект как шаблон (меню «Поделиться» в любом проекте).',
  'newproj.importClaudeZip': 'Импортировать ZIP-файл из Claude Design',
  'newproj.importClaudeZipTitle': 'Импортировать экспорт `.zip` из Claude Design',
  'newproj.importingClaudeZip': 'Импорт…',
  'newproj.privacyFooter': 'По умолчанию только вы можете видеть свой проект.',
  'newproj.designSystem': 'Дизайн-система',
  'newproj.dsNoneFreeform': 'Нет — произвольная форма',
  'newproj.dsNoneSubtitleEmpty': 'Без системных токенов, выбирайте свою палитру',
  'newproj.dsNoneSubtitleSelected': 'Пропустить системные токены. Агент выбирает свою палитру.',
  'newproj.dsCategoryFallback': 'Дизайн-система',
  'newproj.dsSearch': 'Поиск дизайн-систем…',
  'newproj.dsModeAria': 'Режим выбора',
  'newproj.dsModeSingle': 'Один',
  'newproj.dsModeMulti': 'Несколько',
  'newproj.dsNoneTitle': 'Нет — произвольная форма',
  'newproj.dsNoneSub': 'Пропустить системные токены. Агент выбирает свою палитру.',
  'newproj.dsEmpty': 'Нет дизайн-систем, соответствующих «{query}».',
  'newproj.dsFootSingular': 'только для вдохновения.',
  'newproj.dsFootPlural': 'только для вдохновения.',
  'newproj.dsFootClear': 'Очистить',
  'newproj.dsBadgeDefault': 'ПО УМОЛЧАНИЮ',
  'newproj.dsPrimaryFallback': 'Основной',
  'newproj.surfaceImage': 'Изображение',
  'newproj.surfaceVideo': 'Видео',
  'newproj.surfaceAudio': 'Аудио',
  'newproj.modelLabel': 'Модель',
  'newproj.aspectLabel': 'Формат',
  'newproj.imageStyleLabel': 'Заметки о стиле',
  'newproj.imageStylePlaceholder': 'Редакционная фотография, мягкий свет, приглушенная палитра',
  'newproj.videoLengthLabel': 'Длина',
  'newproj.videoLengthSeconds': '{n}с',
  'newproj.audioKindLabel': 'Тип аудио',
  'newproj.audioKindMusic': 'Музыка',
  'newproj.audioKindSpeech': 'Речь / TTS',
  'newproj.audioKindSfx': 'Звуковые эффекты',
  'newproj.audioDurationLabel': 'Длительность',
  'newproj.audioDurationSeconds': '{n}с',
  'newproj.voiceLabel': 'Голос',
  'newproj.voicePlaceholder': 'Voice id провайдера, опционально',
  'newproj.connectorsLabel': 'Коннекторы',
  'newproj.connectorsHint': 'Источники данных, из которых артефакт может получать данные.',
  'newproj.connectorsEmptyTitle': 'Коннекторы не настроены',
  'newproj.connectorsEmptyBody':
    'Подключите источник данных, чтобы live-артефакт использовал реальные данные вместо заглушек.',
  'newproj.connectorsEmptyCta': 'Настроить коннекторы →',
  'newproj.connectorsLoading': 'Загрузка коннекторов…',
  'newproj.connectorsCountOne': 'Подключено: {n}',
  'newproj.connectorsCountMany': 'Подключено: {n}',
  'newproj.connectorsManage': 'Управлять',
  'newproj.promptTemplateLabel': 'Эталонный шаблон',
  'newproj.promptTemplateNoneTitle': 'Без шаблона — свой бриф',
  'newproj.promptTemplateNoneSub': 'Пропустить галерею и описать самостоятельно',
  'newproj.promptTemplateRefSub': 'Эталонный шаблон',
  'newproj.promptTemplateSearch': 'Поиск шаблонов…',
  'newproj.promptTemplateEmpty': 'Шаблоны для этого формата ещё не добавлены.',
  'newproj.promptTemplateBodyLabel': 'Промпт (можно править)',
  'newproj.promptTemplateOptimizeHint':
    'Меняйте всё что нужно — правки попадут в бриф агента.',
  'newproj.promptTemplateBodyEmpty':
    'Пустое тело — агент не получит шаблонную референцию.',

  'designs.subRecent': 'Недавние',
  'designs.subYours': 'Ваши дизайны',
  'designs.filterAria': 'Фильтр проектов',
  'designs.searchPlaceholder': 'Поиск…',
  'designs.emptyNoProjects': 'Проектов пока нет. Создайте один слева.',
  'designs.emptyNoMatch': 'Нет проектов, соответствующих вашему поиску.',
  'designs.deleteTitle': 'Удалить проект',
  'designs.deleteConfirm': 'Удалить «{name}»?',
  'designs.cardFreeform': 'произвольная форма',
  'designs.badgeLive': 'Live',
  'designs.liveArtifactBadgesAria': 'Бейджи live-артефактов',
  'designs.liveCount': '{n} live',
  'designs.statusLive': 'Live-артефакт',
  'designs.statusArchived': 'Архивирован',
  'designs.statusError': 'Ошибка',
  'designs.statusRefreshing': 'Обновление…',
  'designs.statusRefreshFailed': 'Не удалось обновить',
  'designs.statusRefreshed': 'Обновлено',
  'designs.status.notStarted': 'Не начато',
  'designs.status.queued': 'В очереди',
  'designs.status.running': 'Выполняется',
  'designs.status.awaitingInput': 'Нужен ввод',
  'designs.status.succeeded': 'Завершено',
  'designs.status.failed': 'Ошибка',
  'designs.status.canceled': 'Отменено',
  'designs.viewToggleAria': 'Режим просмотра',
  'designs.viewGrid': 'Вид сеткой',
  'designs.viewKanban': 'Вид доской',
  'designs.kanbanEmptyColumn': 'Нет дизайнов',
  'designs.deleteAria': 'Удалить проект {name}',

  'examples.typeLabel': 'Тип',
  'examples.surfaceLabel': 'Поверхность',
  'examples.surfaceWeb': 'Веб',
  'examples.surfaceImage': 'Изображение',
  'examples.surfaceVideo': 'Видео',
  'examples.surfaceAudio': 'Аудио',
  'examples.scenarioLabel': 'Сценарий',
  'examples.modeAll': 'Все',
  'examples.modePrototypeDesktop': 'Прототипы · Десктоп',
  'examples.modePrototypeMobile': 'Прототипы · Мобильные',
  'examples.modeDeck': 'Презентации',
  'examples.modeDocument': 'Документы и шаблоны',
  'examples.modeOrbit': 'Orbit',
  'examples.scenarioGeneral': 'Общее',
  'examples.scenarioEngineering': 'Инженерия',
  'examples.scenarioProduct': 'Продукт',
  'examples.scenarioDesign': 'Дизайн',
  'examples.scenarioMarketing': 'Маркетинг',
  'examples.scenarioSales': 'Продажи',
  'examples.scenarioFinance': 'Финансы',
  'examples.scenarioHr': 'HR',
  'examples.scenarioOperations': 'Операции',
  'examples.scenarioSupport': 'Поддержка',
  'examples.scenarioLegal': 'Юридический',
  'examples.scenarioEducation': 'Образование',
  'examples.scenarioPersonal': 'Личное',
  'examples.emptyNoSkills': 'Нет доступных навыков. Демон запущен?',
  'examples.searchPlaceholder': 'Поиск примеров…',
  'examples.searchAria': 'Поиск примеров по имени',
  'examples.emptyNoMatch': 'Нет примеров, соответствующих этим фильтрам.',
  'examples.openPreview': '⤢ Открыть предпросмотр',
  'examples.loadingPreview': 'Загрузка предпросмотра…',
  'examples.hoverPreview': 'Наведите для предпросмотра',
  'examples.usePrompt': 'Использовать этот запрос',
  'examples.previewModalTitle': 'Открыть полный предпросмотр (модально)',
  'examples.shareTitle': 'Поделиться этим примером',
  'examples.shareLoadFirst': 'Сначала наведите для загрузки предпросмотра',
  'examples.shareMenu': 'Поделиться ▾',
  'examples.exportPdfAllSlides': 'Экспорт в PDF (все слайды)',
  'examples.exportPptxLocked': 'Экспорт в PPTX… (сначала откройте шаблон)',
  'examples.tagSlideDeck': 'Презентация',
  'examples.tagTemplate': 'Шаблон',
  'examples.tagDesignSystem': 'Дизайн-система',
  'examples.tagMobilePrototype': 'Мобильный прототип',
  'examples.tagDesktopPrototype': 'Десктопный прототип',
  'examples.tagImage': 'Изображение',
  'examples.tagVideo': 'Видео',
  'examples.tagAudio': 'Аудио',
  'examples.previewLabel': 'Предпросмотр',

  'ds.surfaceLabel': 'Поверхность',
  'ds.surfaceWeb': 'Веб',
  'ds.surfaceImage': 'Изображение',
  'ds.surfaceVideo': 'Видео',
  'ds.surfaceAudio': 'Аудио',
  'ds.searchPlaceholder': 'Поиск дизайн-систем…',
  'ds.emptyNoMatch': 'Нет дизайн-систем, соответствующих вашему поиску.',
  'ds.badgeDefault': 'ПО УМОЛЧАНИЮ',
  'ds.preview': 'Предпросмотр',
  'ds.previewTitle': 'Предпросмотр дизайн-системы',
  'ds.categoryAll': 'Все',
  'ds.categoryUncategorized': 'Без категории',
  'ds.showcase': 'Витрина',
  'ds.tokens': 'Токены',
  'ds.specToggle': 'DESIGN.md',
  'ds.specLoading': 'Загрузка DESIGN.md…',

  'avatar.title': 'Аккаунт и настройки',
  'avatar.localCli': 'Локальный CLI',
  'avatar.anthropicApi': 'Anthropic API',
  'avatar.useLocal': 'Использовать локальный CLI',
  'avatar.useApi': 'Использовать API · BYOK',
  'avatar.codeAgent': 'Код-агент',
  'avatar.rescan': 'Пересканировать PATH',
  'avatar.settings': 'Настройки',
  'avatar.backToProjects': 'Назад к проектам',
  'avatar.metaActive': 'активно',
  'avatar.metaOffline': 'офлайн',
  'avatar.metaSelected': 'выбрано',
  'avatar.noAgentSelected': 'агент не выбран',
  'avatar.modelSection': 'Модель',
  'avatar.modelLabel': 'Модель',
  'avatar.reasoningLabel': 'Рассуждения',
  'avatar.customSuffix': '(пользовательская)',

  'project.backToProjects': 'Назад к проектам',
  'project.metaFreeform': 'произвольная форма',
  'project.resizeChatPanel': 'Изменить размер панели чата',
  'chat.tabChat': 'Чат',
  'chat.tabComments': 'Комментарии',
  'chat.commentsSoon': 'Комментарии — скоро',
  'chat.comments.attached': 'Прикреплены к чату',
  'chat.comments.emptyAttached': 'Нет прикреплённых комментариев.',
  'chat.comments.saved': 'Сохранённые комментарии',
  'chat.comments.emptySaved': 'Сохранённых комментариев нет.',
  'chat.comments.add': 'Добавить',
  'chat.comments.addAll': 'Добавить все',
  'chat.comments.remove': 'Удалить',
  'chat.comments.placeholder': 'Оставьте комментарий к этому элементу…',
  'chat.comments.addSend': 'Добавить и отправить',
  'chat.comments.updateSend': 'Обновить и отправить',
  'chat.comments.removeAttachment': 'Открепить комментарий',
  'chat.comments.removeAttachmentAria': 'Открепить комментарий для {name}',
  'chat.conversationsTitle': 'Разговоры',
  'chat.conversationsAria': 'История разговоров',
  'chat.newConversation': 'Новый разговор',
  'chat.newConversationsTitle': 'Новый разговор',
  'chat.conversationsHeading': 'Разговоры',
  'chat.new': 'Новый',
  'chat.emptyConversations': 'Разговоров пока нет.',
  'chat.deleteConversation': 'Удалить разговор',
  'chat.deleteConversationConfirm':
    'Удалить «{title}»? Это удалит его сообщения.',
  'chat.untitledConversation': 'Разговор без названия',
  'chat.startTitle': 'Начать разговор',
  'chat.startHint':
    'Перетащите или вставьте изображения для визуальной ссылки или введите @ для прикрепления файла из этого проекта. Или попробуйте одно из этих начал:',
  'chat.fillInputTitle': 'Нажмите, чтобы заполнить ввод',
  'chat.jumpToLatest': 'Перейти к последнему',
  'chat.scrollToLatest': 'Прокрутить к последнему',
  'chat.you': 'Вы',
  'chat.openFile': 'Открыть {name}',
  'chat.composerPlaceholder':
    'Опишите дизайн, который вы хотите — вставьте или добавьте изображения, или @ файл…',
  'chat.composerHint':
    '⌘/Ctrl + Enter для отправки · вставьте изображения · @ для ссылки на файлы',
  'chat.cliSettingsTitle': 'Настройки CLI и модели',
  'chat.cliSettingsAria': 'Открыть настройки CLI и модели',
  'chat.attachTitle': 'Прикрепить файлы (или вставить / перетащить)',
  'chat.attachAria': 'Прикрепить файлы',
  'chat.importTitle': 'Импортировать источники (скоро)',
  'chat.importLabel': 'Импорт',
  'chat.importComingSoon': 'Скоро',
  'chat.importSoon': 'Скоро',
  'chat.importFig': 'Загрузить .fig файл',
  'chat.importGitHub': 'Подключить GitHub',
  'chat.importWeb': 'Захватить веб-элемент',
  'chat.importFolder': 'Ссылка на папку с кодом',
  'chat.importSkills': 'Навыки и дизайн-системы',
  'chat.importProject': 'Reference another project',
  'chat.linkedFolderRemoveAria': 'Удалить связанную папку {path}',
  'chat.linkedFolderNotFound': 'Папка не существует',
  'chat.linkedFolderAlready': 'Эта папка уже связана',
  'chat.linkedFolderPickError': 'Не удалось открыть выбор папки',
  'chat.send': 'Отправить',
  'chat.stop': 'Остановить',
  'chat.removeAria': 'Удалить {name}',
  'chat.example1Title': 'Редакционная презентация',
  'chat.example1Tag': 'Журнал',
  'chat.example1Prompt':
    '10-слайдовая редакционная презентация для дизайн-студии, привлекающей посевной раунд — швейцарская сетка, крупные заголовки с засечками и жирными буквицами, моноширинные номера секций, много негативного пространства и полноформатные фотослайды, чередующиеся с текстовыми. Обложка, видение, рынок, продукт, тракция, команда, запрос, контакт.',
  'chat.example2Title': 'SaaS аналитическая панель',
  'chat.example2Tag': 'Данные',
  'chat.example2Prompt':
    'Насыщенная аналитическая панель для SaaS-инструментов разработчика — полоса KPI с динамикой неделя к неделе, две составные линейные диаграммы (MRR и активные рабочие пространства), мировая тепловая карта использования, когортная матрица удержания, таблица лидеров по ключевым клиентам и лента событий в реальном времени. Тёмная тема, табличные моноширинные цифры, акцентные мини-графики.',
  'chat.example3Title': 'Годовой отчет с длинной прокруткой',
  'chat.example3Tag': 'Редакционный',
  'chat.example3Prompt':
    'Интерактивный годовой отчёт для климатической некоммерческой организации — редакционный макет с длинной прокруткой, сочетающий крупные цитатные блоки, визуализации данных (составные столбчатые диаграммы, анимированные счётчики, хороплетную карту проектных площадок), фотографические разделители, стену доноров и финальный призыв к действию. Современный serif для основного текста, sans-serif для подписей графиков и землистая бумажная палитра.',

  'preview.shareMenu': 'Поделиться ▾',
  'preview.openInNewTab': 'Открыть в новой вкладке',
  'preview.exit': '⤓ Выход',
  'preview.fullscreen': '⤢ Полноэкранный',
  'preview.closeTitle': 'Закрыть (Esc)',
  'preview.loading': 'Загрузка {label}…',
  'preview.showSidebar': 'Показать {label}',
  'preview.hideSidebar': 'Скрыть {label}',

  'misc.savedTemplate': 'Сохраненный шаблон',
  'misc.primary': 'Основной',
  'misc.designSystem': 'Дизайн-система',

  'workspace.designFiles': 'Файлы дизайна',
  'workspace.focusMode': 'Focus workspace',
  'workspace.showChat': 'Show chat',
  'workspace.closeTab': 'Закрыть вкладку',
  'workspace.deleteFileConfirm': 'Удалить «{name}» из папки проекта?',
  'workspace.openFromDesignFiles': 'Открыть файл из',
  'workspace.designFilesLink': 'Файлы дизайна',
  'workspace.loadingSketch': 'Загрузка эскиза…',
  'designFiles.title': 'Файлы дизайна',
  'designFiles.upload': 'Загрузить файлы',
  'designFiles.pasteText': 'Вставить как текстовый файл',
  'designFiles.newSketch': 'Новый эскиз',
  'designFiles.empty':
    'Здесь пока ничего нет. Перетащите файлы ниже или создайте эскиз / вставьте текст.',
  'designFiles.refresh': 'Обновить',
  'designFiles.delete': 'Удалить',
  'designFiles.searchPlaceholder': 'Поиск файлов…',
  'designFiles.up': 'Вверх',
  'designFiles.back': 'Назад',
  'designFiles.crumbs': 'проект',
  'designFiles.rowMenu': 'Меню строки',
  'designFiles.openInTab': 'Открыть во вкладке',
  'designFiles.download': 'Скачать',
  'designFiles.downloadSelected': 'Download {n} as ZIP',
  'designFiles.clearSelection': 'Clear',
  'designFiles.selectAll': 'Select all',
  'designFiles.dropTitle': '⤓ Перетащите файлы сюда',
  'designFiles.dropDesc':
    'Изображения, документы, референсы или папки — агент будет использовать их как контекст.',
  'designFiles.upload.title': 'Загрузить файлы',
  'designFiles.paste.title': 'Вставить текст как файл',
  'designFiles.upload.label': 'Загрузить',
  'designFiles.paste.label': 'Вставить',
  'designFiles.previewOpen': 'Открыть',
  'designFiles.previewClose': 'Закрыть предпросмотр',
  'designFiles.modified': 'Изменено {time} · {size}',
  'designFiles.weeksAgo': '{n} нед. назад',
  'designFiles.sectionPages': 'Страницы',
  'designFiles.sectionScripts': 'Скрипты',
  'designFiles.sectionImages': 'Изображения',
  'designFiles.sectionSketches': 'Эскизы',
  'designFiles.sectionLiveArtifacts': 'Live-артефакты',
  'designFiles.sectionOther': 'Другое',
  'designFiles.showMore': 'Показать ещё +{n}',
  'designFiles.kindHtml': 'HTML страница',
  'designFiles.kindImage': 'Изображение',
  'designFiles.kindSketch': 'Эскиз',
  'designFiles.kindText': 'Текст',
  'designFiles.kindCode': 'Скрипт',
  'designFiles.kindPdf': 'PDF',
  'designFiles.kindDocument': 'Документ',
  'designFiles.kindPresentation': 'Презентация',
  'designFiles.kindSpreadsheet': 'Таблица',
  'designFiles.kindLiveArtifact': 'Live-артефакт',
  'designFiles.kindBinary': 'Бинарный',
  'quickSwitcher.placeholder': 'Открыть файл…',
  'quickSwitcher.empty': 'В проекте нет файлов',
  'quickSwitcher.noMatches': 'Нет совпадений',
  'quickSwitcher.navigate': 'навигация',
  'quickSwitcher.open': 'открыть',
  'quickSwitcher.close': 'закрыть',
  'pasteDialog.title': 'Вставить текст',
  'pasteDialog.hint': 'Сохраняется в папку проекта. Выберите любое имя.',
  'pasteDialog.fileNameLabel': 'Имя файла',
  'pasteDialog.namePlaceholder': 'заметки.txt',
  'pasteDialog.contentLabel': 'Содержимое',
  'pasteDialog.contentPlaceholder': 'Вставьте что угодно…',
  'pasteDialog.save': 'Сохранить',
  'pasteDialog.cancel': 'Отмена',
  'sketch.save': 'Сохранить эскиз',
  'sketch.cancel': 'Отмена',
  'sketch.saving': 'Сохранение…',
  'sketch.tooltipDirty': 'Несохраненные изменения',
  'sketch.tooltipClean': 'Сохранено',
  'fileViewer.empty': 'Выберите файл для просмотра.',
  'fileViewer.loading': 'Загрузка…',
  'fileViewer.exportPptx': 'Экспорт в PPTX',
  'fileViewer.openInNewTab': 'Открыть в новой вкладке',
  'fileViewer.copyPath': 'Копировать путь',
  'fileViewer.copied': 'Скопировано!',
  'fileViewer.share': 'Поделиться',
  'fileViewer.binaryMeta': 'Бинарный · {size}',
  'fileViewer.binaryNote':
    'Бинарный файл ({size} байт). Скачайте или откройте с диска для просмотра.',
  'fileViewer.markdownStreamingMeta': 'Потоковый предпросмотр…',
  'fileViewer.markdownErrorMeta': 'Предпросмотр может быть неполным (ошибка генерации).',
  'fileViewer.markdownStreamingStatus': 'Потоковая передача… показан частичный Markdown.',
  'fileViewer.markdownErrorStatus': 'Ошибка генерации. Показано последнее доступное содержимое.',
  'fileViewer.pdfMeta': 'PDF · {size}',
  'fileViewer.documentMeta': 'Документ',
  'fileViewer.presentationMeta': 'Презентация',
  'fileViewer.spreadsheetMeta': 'Таблица',
  'fileViewer.previewUnavailable': 'Предпросмотр недоступен. Скачайте или откройте файл для просмотра.',
  'fileViewer.download': 'Скачать',
  'fileViewer.open': 'Открыть',
  'fileViewer.imageMeta': 'Изображение · {size}',
  'fileViewer.reactMeta': 'React-компонент · {size}',
  'fileViewer.sketchMeta': 'Эскиз · {size}',
  'fileViewer.videoMeta': 'Видео · {size}',
  'fileViewer.audioMeta': 'Аудио · {size}',
  'fileViewer.reload': 'Перезагрузить',
  'fileViewer.reloadDisk': 'Перезагрузить с диска',
  'fileViewer.copy': 'Копировать',
  'fileViewer.copyTitle': 'Копировать содержимое файла',
  'fileViewer.saveDisabled': 'Сохранить (только для чтения)',
  'fileViewer.save': 'Сохранить',
  'fileViewer.preview': 'Предпросмотр',
  'fileViewer.source': 'Исходный код',
  'fileViewer.tweaks': 'Настройки',
  'fileViewer.comment': 'Комментарий',
  'fileViewer.edit': 'Редактировать',
  'fileViewer.draw': 'Рисовать',
  'manualEdit.layers': "Layers",
  'manualEdit.editableCount': "{count} editable",
  'manualEdit.title': "Manual editor",
  'manualEdit.selectLayer': "Select a layer",
  'manualEdit.empty': "Click an element in the preview or choose a layer.",
  'manualEdit.noClass': "no class",
  'manualEdit.tabsAria': "Manual edit tabs",
  'manualEdit.tabContent': "Content",
  'manualEdit.tabStyle': "Style",
  'manualEdit.tabAttributes': "Attributes",
  'manualEdit.tabHtml': "Html",
  'manualEdit.tabSource': "Source",
  'manualEdit.attributesJson': "Attributes JSON",
  'manualEdit.selectedHtml': "Selected element HTML",
  'manualEdit.fullSource': "Full artifact source",
  'manualEdit.applyContent': "Apply Content",
  'manualEdit.applyStyle': "Apply Style",
  'manualEdit.applyAttributes': "Apply Attributes",
  'manualEdit.applyHtml': "Apply HTML",
  'manualEdit.applySource': "Apply Source",
  'manualEdit.invalidAttributes': "Invalid attributes JSON.",
  'manualEdit.changes': "Changes",
  'manualEdit.undo': "Undo",
  'manualEdit.redo': "Redo",
  'manualEdit.noChanges': "No manual edits yet.",
  'manualEdit.imageUrl': "Image URL",
  'manualEdit.altText': "Alt text",
  'manualEdit.label': "Label",
  'manualEdit.text': "Text",
  'manualEdit.href': "Href",
  'manualEdit.textColor': "Text color",
  'manualEdit.background': "Background",
  'manualEdit.fontSize': "Font size",
  'manualEdit.weight': "Weight",
  'manualEdit.align': "Align",
  'manualEdit.padding': "Padding",
  'manualEdit.margin': "Margin",
  'manualEdit.radius': "Radius",
  'manualEdit.border': "Border",
  'manualEdit.width': "Width",
  'manualEdit.minHeight': "Min height",
  'fileViewer.zoomOut': 'Уменьшить',
  'fileViewer.zoomIn': 'Увеличить',
  'fileViewer.resetZoom': 'Сбросить масштаб',
  'fileViewer.reloadAria': 'Перезагрузить',
  'fileViewer.previousSlide': 'Предыдущий слайд',
  'fileViewer.nextSlide': 'Следующий слайд',
  'fileViewer.slideNavAria': 'Навигация по слайдам',
  'fileViewer.present': 'Презентация',
  'fileViewer.presentInTab': 'В этой вкладке',
  'fileViewer.presentFullscreen': 'Полноэкранный',
  'fileViewer.presentNewTab': 'Новая вкладка',
  'fileViewer.exitPresentation': 'Выйти из презентации',
  'fileViewer.shareLabel': 'Поделиться',
  'fileViewer.exportPdf': 'Экспорт в PDF',
  'fileViewer.exportPdfAllSlides': 'Экспорт в PDF (все слайды)',
  'fileViewer.exportPptxBusy': 'Дождитесь окончания текущего хода.',
  'fileViewer.exportPptxHint':
    'Отправьте запрос агенту для конвертации этого дизайна в PPTX.',
  'fileViewer.exportPptxNa': 'Экспорт PPTX здесь недоступен.',
  'fileViewer.exportZip': 'Скачать как .zip',
  'fileViewer.exportHtml': 'Экспорт как HTML',
  'fileViewer.exportMd': 'Экспорт в Markdown',
  'fileViewer.exportJsx': 'Экспорт как JSX',
  'fileViewer.exportReactHtml': 'Экспорт предпросмотра как HTML',
  'fileViewer.saveAsTemplate': 'Сохранить как шаблон…',
  'fileViewer.savingTemplate': 'Сохранение шаблона…',
  'fileViewer.savedTemplate': 'Сохранено как «{name}»',
  'fileViewer.savedTemplateFail': 'Не удалось сохранить шаблон — попробуйте снова.',
  'fileViewer.templateNamePrompt': 'Название шаблона',
  'fileViewer.templateNameDefault': 'Шаблон без названия',
  'fileViewer.templateDescPrompt':
    'Краткое описание (необязательно — чем полезен этот шаблон?)',
  'liveArtifact.refresh.button': 'Обновить',
  'liveArtifact.refresh.buttonTitle': 'Обновить этот live-артефакт',
  'liveArtifact.refresh.loadingTitle': 'Загрузка live-артефакта…',
  'liveArtifact.refresh.noSourceTitle': 'Пока нет одобренного источника обновления только для чтения.',
  'liveArtifact.refresh.running': 'Обновление…',
  'liveArtifact.refresh.runningMessage': 'Обновляем данные и предпросмотр. Это может занять немного времени.',
  'liveArtifact.refresh.runningAction': 'Предыдущий предпросмотр остается видимым, пока обновление не завершится успешно.',
  'liveArtifact.refresh.successOne': 'Обновление завершено. Данные обновлены.',
  'liveArtifact.refresh.successMany': 'Обновление завершено. Данные обновлены.',
  'liveArtifact.refresh.successAction': 'Предпросмотр перезагружен с последними сохраненными данными.',
  'liveArtifact.refresh.previousFailure': 'Предыдущее обновление завершилось ошибкой: {message}',
  'liveArtifact.refresh.failureAction': 'Проверьте историю обновлений, исправьте проблему с источником или правами и повторите попытку.',
  'liveArtifact.refresh.networkFailure': 'Не удалось отправить запрос на обновление. Проверьте подключение и попробуйте снова.',
  'liveArtifact.refresh.genericFailure': 'Не удалось обновить.',
  'liveArtifact.refresh.statusNever': 'Не обновляется',
  'liveArtifact.refresh.statusReady': 'Готов к обновлению',
  'liveArtifact.refresh.statusSucceeded': 'Актуально',
  'liveArtifact.refresh.statusFailed': 'Обновление не удалось',
  'fileViewer.deployToVercel': 'Развернуть на Vercel',
  'fileViewer.redeployToVercel': 'Развернуть заново',
  'fileViewer.deployingToVercel': 'Развёртывание на Vercel…',
  'fileViewer.preparingPublicLink': 'Подготовка публичной ссылки…',
  'fileViewer.copyDeployLink': 'Скопировать ссылку',
  'fileViewer.deployModalTitle': 'Развернуть на Vercel',
  'fileViewer.deployModalSubtitle':
    'Разверните этот HTML-артефакт как Vercel Preview в своей учётной записи.',
  'fileViewer.vercelToken': 'Токен Vercel',
  'fileViewer.vercelTokenGetLink': 'Получить токен Vercel',
  'fileViewer.vercelTokenPlaceholder': 'Вставьте токен Vercel',
  'fileViewer.vercelTokenReuseHint':
    'Будет использован сохранённый токен. Введите новый, чтобы заменить его.',
  'fileViewer.vercelTokenRequired': 'Сначала введите и сохраните токен Vercel.',
  'fileViewer.vercelTeamId': 'ID команды',
  'fileViewer.vercelTeamSlug': 'Слаг команды',
  'fileViewer.optional': 'Необязательно',
  'fileViewer.vercelPreviewOnly': 'Пока поддерживаются только Preview-развёртывания.',
  'fileViewer.savingConfig': 'Сохранение…',
  'fileViewer.deployConfigSaveFailed': 'Не удалось сохранить настройки Vercel.',
  'fileViewer.deployFailed': 'Развёртывание не удалось. Проверьте настройки Vercel и попробуйте снова.',
  'fileViewer.deployResultLabel': 'URL развёрнутого сайта',
  'fileViewer.deployLinkPreparingLabel': 'Публичная ссылка готовится',
  'fileViewer.deployLinkDelayed':
    'Сайт уже развернут. Vercel ещё подготавливает публичную ссылку.',
  'fileViewer.deployLinkProtectedLabel': 'Включена защита Vercel',
  'fileViewer.deployLinkProtected':
    'Сайт развернут, но Vercel требует аутентификацию для этой preview-ссылки. Отключите Deployment Protection или используйте собственный домен.',
  'fileViewer.retryLink': 'Повторить',

  'questionForm.submit': 'Отправить',
  'questionForm.skip': 'Пропустить',
  'questionForm.locked': 'Отвечено',

  'conv.switch': 'Переключить разговор',
  'conv.label': 'Разговор',
  'conv.heading': 'Разговоры',
  'conv.new': '+ Новый',
  'conv.empty': 'Разговоров пока нет.',
  'conv.untitled': 'Разговор без названия',
  'conv.renameTooltip': 'Дважды кликните для переименования',
  'conv.delete': 'Удалить разговор',
  'conv.deleteConfirm': 'Удалить «{title}»? Это удалит его сообщения.',

  'agentPicker.label': 'Агент',
  'agentPicker.modeChoose': 'Выберите режим выполнения',
  'agentPicker.localCli': 'Локальный CLI',
  'agentPicker.daemonOff': 'демон выключен',
  'agentPicker.byok': 'API · BYOK',
  'agentPicker.selectAgent': 'Выберите обнаруженный CLI код-агента',
  'agentPicker.noAgents': 'нет агентов в PATH',
  'agentPicker.notInstalled': 'не установлено',
  'agentPicker.rescan': 'Пересканировать локальный PATH для агентов',

  'tool.openInTab': 'Открыть {name} во вкладке',
  'tool.open': 'открыть',
  'tool.todos': 'Задачи',
  'tool.write': 'Записать',
  'tool.edit': 'Редактировать',
  'tool.read': 'Читать',
  'tool.bash': 'Bash',
  'tool.glob': 'Glob',
  'tool.grep': 'Grep',
  'tool.fetch': 'Fetch',
  'tool.search': 'Поиск',
  'tool.lines': '{n} строк',
  'tool.changeSingular': 'изменение',
  'tool.changePlural': 'изменения',
  'tool.in': 'в {path}',
  'tool.hide': 'скрыть',
  'tool.output': 'вывод',
  'tool.running': 'выполняется…',
  'tool.error': 'ошибка',
  'tool.done': 'готово',

  'assistant.role': 'Ассистент',
  'assistant.workingLabel': 'Работает',
  'assistant.doneLabel': 'Готово',
  'assistant.unfinishedLabel': 'Остановлено с незавершенной работой',
  'assistant.unfinishedSummary': 'Осталось задач: {n}',
  'assistant.unfinishedMore': '+{n} еще',
  'assistant.continueRemaining': 'Продолжить оставшиеся задачи',
  'assistant.outTokens': '{n} токенов вывода',
  'assistant.producedFiles': 'Файлы из этого хода',
  'assistant.openFile': 'Открыть',
  'assistant.downloadFile': 'Скачать',
  'assistant.thinking': 'Думает',
  'assistant.systemReminder': 'Системное напоминание',
  'assistant.waitingFirstOutput': 'Ожидание первого ответа',
  'assistant.statusBootingAgent': 'Загрузка агента',
  'assistant.statusStarting': 'Запуск',
  'assistant.statusRequesting': 'Отправка запроса',
  'assistant.statusThinking': 'Думает',
  'assistant.statusStreaming': 'Потоковая передача',
  'assistant.slowHint':
    'Занимает больше времени, чем обычно. Форма обычно появляется через 5–10с — вы можете остановить и перефразировать.',
  'assistant.verbEditing': 'Редактирование',
  'assistant.verbWriting': 'Запись',
  'assistant.verbReading': 'Чтение',
  'assistant.verbSearching': 'Поиск',
  'assistant.verbRunning': 'Выполнение',
  'assistant.verbTodos': 'Задачи',
  'assistant.verbFetching': 'Получение',
  'assistant.verbCalling': 'Вызов',

  'qf.answered': 'отвечено',
  'qf.choose': 'Выберите…',
  'qf.required': 'обязательно',
  'qf.lockedSubmitted':
    'Ответы отправлены — агент будет использовать их до конца сессии.',
  'qf.lockedPrev': 'Эта форма из предыдущего хода.',
  'qf.hint':
    'Выберите подходящее. Пропустите необязательные поля, которые вам не важны — агент будет использовать разумные значения по умолчанию.',
  'qf.submitDefault': 'Отправить ответы',
  'qf.submitDisabledTitle': 'Сначала заполните обязательные поля',
  'qf.submitTitle': 'Отправить ответы',
  'qf.cardSelected': 'выбрано',
  'qf.cardRefs': 'Ссылки:',
  'qf.cardSampleText': 'Быстрая коричневая лиса · 0123',

  'sketch.toolSelect': 'Выбор (без действий)',
  'sketch.toolPen': 'Ручка',
  'sketch.toolText': 'Текст',
  'sketch.toolRect': 'Прямоугольник',
  'sketch.toolArrow': 'Стрелка',
  'sketch.toolEraser': 'Ластик',
  'sketch.color': 'Цвет',
  'sketch.strokeSize': 'Размер штриха',
  'sketch.undo': 'Отменить',
  'sketch.clear': 'Очистить',
  'sketch.close': 'Закрыть',
  'sketch.textPrompt': 'Текст:',

  'pet.title': 'Питомцы',
  'pet.tabBuiltIn': 'Встроенные',
  'pet.tabBuiltInHint': 'Подобранные питомцы в комплекте Open Design — выберите и забирайте.',
  'pet.builtInEmpty': 'Встроенные питомцы сейчас недоступны. Обновите вкладку «Сообщество», когда демон снова запустится.',
  'pet.tabCustom': 'Свой',
  'pet.tabCustomHint': 'Своё имя, глиф, цвет или загруженный спрайт.',
  'pet.tabCommunity': 'Сообщество',
  'pet.tabCommunityHint': 'Питомцы из Codex — заведите своего или сгенерируйте нового через ИИ.',
  'pet.tabsAria': 'Источник питомца',
  'pet.subtitle': 'Заведите маленького спутника, который парит над вашей рабочей областью.',
  'pet.navTitle': 'Питомцы',
  'pet.navHint': 'Завести или настроить',
  'pet.adopt': 'Завести',
  'pet.adoptedBadge': 'Заведён',
  'pet.adoptCallout': 'Завести питомца',
  'pet.changePet': 'Сменить питомца',
  'pet.wake': 'Разбудить',
  'pet.tuck': 'Спрятать',
  'pet.wakeTitle': 'Разбудить питомца — показать оверлей.',
  'pet.tuckTitle': 'Спрятать питомца — скрыть оверлей.',
  'pet.settingsTitle': 'Открыть настройки питомца',
  'pet.useCustom': 'Использовать своего',
  'pet.customTitle': 'Создайте своего',
  'pet.customHint': 'Выберите имя, символ и акцентный цвет — оверлей обновляется на лету.',
  'pet.customGreetingPlaceholder': 'Приветствие от вашего питомца…',
  'pet.fieldName': 'Имя',
  'pet.fieldGlyph': 'Символ',
  'pet.fieldGlyphHint': 'Один эмодзи подходит лучше всего (например 🐝, 🦄, 🐢).',
  'pet.fieldGreeting': 'Приветствие',
  'pet.fieldAccent': 'Акцентный цвет',
  'pet.fieldAccentCustom': 'Свой цвет',
  'pet.overlayAria': 'Питомец-компаньон',
  'pet.spriteAria': '{name} — тащите, чтобы переместить, кликните, чтобы пообщаться',
  'pet.spriteTitle': 'Привет от {name}! Кликните, чтобы пообщаться.',
  'pet.railAria': 'Выбор питомца',
  'pet.railTitle': 'Питомцы',
  'pet.railHint': 'Выберите спутника, который будет парить над воркспейсом.',
  'pet.railExpand': 'Показать выбор',
  'pet.railCollapse': 'Свернуть выбор',
  'pet.railHide': 'Скрыть выбор питомцев',
  'pet.railShow': 'Показать выбор питомцев',
  'pet.railCustomFlavor': 'Свой — имя, символ, цвет.',
  'pet.railCustomize': 'Настроить…',
  'pet.composerTitle': 'Питомцы — разбудить, спрятать или выбрать',
  'pet.composerMenuTitle': 'Питомцы',
  'pet.composerMenuHint': 'совет: введите /pet, чтобы переключить',
  'pet.composerOpenSettings': 'Настроить в Настройках',
  'pet.welcomeTeaserTitle': 'Заведите питомца',
  'pet.welcomeTeaserBody': 'Маленький спутник, парящий над воркспейсом.',
  'pet.welcomeTeaserCta': 'Выбрать',
  'pet.imageUpload': 'Загрузить спрайт',
  'pet.imageReplace': 'Заменить спрайт',
  'pet.imageRemove': 'Использовать emoji',
  'pet.imageHintIdle': 'PNG, JPG, WebP, GIF или SVG. Спрайтшит? Загрузите горизонтальную ленту и укажите число кадров.',
  'pet.imageHintActive': 'Показан ваш спрайт. Установите кадры > 1, чтобы анимировать горизонтальный спрайтшит.',
  'pet.fieldFrames': 'Кадры',
  'pet.fieldFramesHint': '1 = статично. > 1 = горизонтальный спрайтшит.',
  'pet.fieldFps': 'Скорость (fps)',
  'pet.fieldFpsHint': 'Скорость смены кадров.',
  'pet.atlasImport': 'Импорт спрайта Codex',
  'pet.atlasImportTitle': 'Импортируйте атлас hatch-pet 8x9 / 192x208 (PNG или WebP).',
  'pet.atlasPickerTitle': 'Выберите ряд анимации',
  'pet.atlasPickerHint': 'У Codex-петов 9 рядов анимаций. По умолчанию мы оставляем весь атлас — питомец меняет ряд при наведении, направлении перетаскивания и долгом простое. Можно зафиксировать и один цикл.',
  'pet.atlasCancel': 'Отменить атлас',
  'pet.atlasAdopt': 'Зафиксировать этот ряд',
  'pet.atlasAdoptFull': 'Использовать весь атлас (анимация)',
  'pet.atlasAdoptFullTitle': 'Сохранить все ряды, чтобы питомец реагировал на наведение, направление перетаскивания и долгое бездействие.',
  'pet.atlasAdoptRowTitle': 'Вырезать только выделенный ряд в отдельную циклическую полоску.',
  'pet.atlasActiveHint': 'Анимированный атлас включён — питомец выбирает ряд по вашему взаимодействию (наведение, перетаскивание, бездействие).',
  'pet.atlasRow.idle': 'Покой',
  'pet.atlasRow.running-right': 'Бег вправо',
  'pet.atlasRow.running-left': 'Бег влево',
  'pet.atlasRow.waving': 'Машет',
  'pet.atlasRow.jumping': 'Прыжок',
  'pet.atlasRow.failed': 'Неудача',
  'pet.atlasRow.waiting': 'Ожидание',
  'pet.atlasRow.running': 'Бежит',
  'pet.atlasRow.review': 'Анализ',
  'pet.hatchTitle': 'Вырастить нового пета с ИИ',
  'pet.hatchHint': 'Запустите встроенный навык hatch-pet в чате, чтобы получить спрайтшит в стиле Codex, а затем импортируйте его здесь.',
  'pet.hatchConcept': 'Концепт пета (по желанию)',
  'pet.hatchConceptPlaceholder': 'напр.: маленький пиксель-арт сиба-ину в уютном свитере',
  'pet.hatchCopy': 'Скопировать промпт',
  'pet.hatchCopied': 'Скопировано!',
  'pet.hatchFoot': 'Когда навык сохранит пета, вернитесь и нажмите «Импорт спрайта Codex».',
  'pet.slashPopoverAria': 'Слэш-команды',
  'pet.slashPopoverTitle': 'Команды',
  'pet.slashPopoverHint': '↑↓ навигация · enter выбрать · esc закрыть',
  'pet.slashPet': 'Переключить, выбрать или открыть настройки пета.',
  'pet.slashPetWake': 'Разбудить плавающего пета.',
  'pet.slashPetTuck': 'Спрятать пета на время.',
  'pet.slashHatch': 'Создать Codex-пета через навык hatch-pet.',
  'pet.slashHatchArg': '<концепт>',
  'pet.codexTitle': 'Недавно вылупленные',
  'pet.codexSubtitle': 'Петы, упакованные навыком hatch-pet, появятся здесь для усыновления в один клик.',
  'pet.codexSubtitleWithDir': 'Сканируем {dir} в поисках пакетов hatch-pet.',
  'pet.codexEmpty': 'Пока нет вылупленных петов. Наберите /hatch в чате, чтобы создать.',
  'pet.codexLoading': 'Ищем вылупленных петов…',
  'pet.codexRefresh': 'Обновить',
  'pet.codexAdopt': 'Усыновить',
  'pet.codexAdopting': 'Усыновляем…',
  'pet.communitySync': 'Скачать сообщество питомцев',
  'pet.communitySyncing': 'Загрузка…',
  'pet.communitySyncTitle': 'Синхронизировать свежих питомцев из Codex Pet Share + j20 Hatchery в ~/.codex/pets/.',
  'pet.communitySyncDone': 'Синхронизировано {wrote} новых питомцев (всего {total}).',
  'pet.communitySyncFailed': 'Ошибка синхронизации: {error}',
  'pet.codexBundled': 'Встроен',
  'pet.codexBundledTitle': 'Поставляется с Open Design — загрузка не нужна.',

  'settings.notifications': 'Уведомления',
  'settings.notificationsHint': 'Звук и уведомление при завершении задачи',
  'settings.notifyCompletionSound': 'Звук завершения',
  'settings.notifyCompletionSoundHint': 'Воспроизводится по завершении хода. По умолчанию выключено.',
  'settings.notifySuccessSound': 'Звук успеха',
  'settings.notifyFailureSound': 'Звук ошибки',
  'settings.notifyDesktop': 'Уведомление на рабочем столе',
  'settings.notifyDesktopHint': 'Отправляется, когда окно не активно.',
  'settings.notifyDesktopBlocked': 'Уведомления заблокированы браузером. Разрешите их в настройках сайта.',
  'settings.notifyDesktopUnsupported': 'Уведомления на рабочем столе недоступны в этой среде.',
  'settings.notifyTest': 'Отправить тест',
  'settings.notifyTestSent': 'Тестовое уведомление отправлено. Если баннер не появился, проверьте настройки уведомлений браузера и системы.',
  'settings.notifyTestFailed': 'Вызов уведомления не удался. Проверьте настройки уведомлений браузера и системы.',
  'settings.notifySoundDing': 'Динь',
  'settings.notifySoundChime': 'Колокольчик',
  'settings.notifySoundTwoToneUp': 'Двухтон вверх',
  'settings.notifySoundPluck': 'Щипок',
  'settings.notifySoundBuzz': 'Жужжание',
  'settings.notifySoundTwoToneDown': 'Двухтон вниз',
  'settings.notifySoundThud': 'Глухой удар',
  'settings.library': 'Навыки и системы дизайна',
  'settings.libraryHint': 'Просмотр, предпросмотр и управление библиотекой контента',
  'settings.librarySkills': 'Навыки',
  'settings.libraryDesignSystems': 'Системы дизайна',
  'settings.librarySearch': 'Поиск...',
  'settings.libraryAll': 'Все',
  'settings.libraryPreview': 'Предпросмотр',
  'settings.libraryPreviewClose': 'Закрыть',
  'settings.libraryLoading': 'Загрузка...',
  'settings.libraryNoResults': 'Ничего не найдено по вашему запросу.',
  'settings.libraryEnabled': 'Включено',
  'settings.libraryDisabled': 'Отключено',
  'settings.libraryToggleLabel': 'Переключить',
  'notify.successTitle': 'Задача выполнена',
  'notify.failureTitle': 'Задача завершилась с ошибкой',
  'notify.successBody': 'Ход завершён.',
  'notify.failureBody': 'Задача завершилась с ошибкой.',
};
