{
  "common": {
    "autoDetect": "Автоопределение",
    "back": "Назад",
    "browse": "Обзор",
    "cancel": "Отмена",
    "close": "Закрыть",
    "add": "Добавить",
    "remove": "Удалить",
    "save": "Сохранить",
    "restart": "Перезапустить",
    "settings": "Настройки",
    "version": "Версия",
    "done": "Готово",
    "loading": "Загрузка..."
  },
  "settings": {
    "subtitle": "Управление настройками приложения и провайдерами для активной рабочей области.",
    "tabs": {
      "general": "Общие",
      "providers": "Провайдеры",
      "plugins": "Плагины",
      "tools": "Инструменты"
    },
    "plugins": {
      "title": "Плагины",
      "unavailable": "Управление плагинами было удалено при последнем исправлении миграции Harness. Точка входа снова видна; функции управления нужно переподключить к новому API Harness.",
      "installed": "Установлено",
      "discover": "Обзор",
      "project": "Проект",
      "global": "Глобально",
      "globalScope": "Установить глобально",
      "published": "Опубликовано",
      "custom": "Свои",
      "searchPlaceholder": "Поиск плагинов…",
      "install": "Установить",
      "installSourcePlaceholder": "Установить из источника, например owner/repo@skill-name",
      "noResults": "Плагины не найдены.",
      "noPlugins": "Нет установленных плагинов.",
      "emptyScope": "В этой области нет плагинов.",
      "pluginGroups": "Группы плагинов",
      "general": "Общие",
      "capabilityCount": "{{count}} возможностей",
      "updateGroup": "Обновить группу",
      "update": "Обновить"
    },
    "general": {
      "agentBackend": "Harness",
      "darkMode": "Тёмный режим",
      "appearance": "Внешний вид",
      "themeLight": "Светлая",
      "themeDark": "Тёмная",
      "themeSystem": "Системная",
      "contrast": "Контраст",
      "accent": "Акцент",
      "customAccent": "Свой цвет акцента",
      "codeFontSize": "Размер шрифта кода",
      "language": "Язык",
      "defaultChatDirectory": "Каталог чата по умолчанию",
      "defaultChatDirectoryHelp": "Новые чаты начинаются в этом рабочем каталоге.",
      "newChatModelBehavior": "Модель LLM для новых чатов",
      "newChatModelBehaviorHelp": "Выберите, как OpenGUI предварительно выбирает модель LLM при создании нового чата.",
      "newChatModelAsk": "Спрашивать каждый раз",
      "newChatModelLast": "Использовать последнюю модель LLM",
      "newChatModelWorkspaceDefault": "Использовать значение по умолчанию рабочей области",
      "desktopNotifications": "Уведомления на рабочем столе",
      "blockedByBrowser": "Заблокировано браузером",
      "fileManager": "Файловый менеджер",
      "fileManagerHelp": "Команда для открытия файлового менеджера (например, nemo, nautilus). Оставьте пустым для автоопределения.",
      "terminal": "Терминал",
      "terminalHelp": "Команда для открытия терминала (например, ghostty, kitty). Оставьте пустым для автоопределения.",
      "hideOldModels": "Скрывать старые модели",
      "months": "месяцев",
      "hideOldModelsHelp": "Выбранные и избранные модели всегда остаются видимыми. Модели без действительной даты выпуска также остаются видимыми.",
      "restartLocalBackend": "Перезапустить локальный backend",
      "restartLocalBackendTitle": "Перезапустить локальный backend?",
      "restartLocalBackendDescription": "Это перезагрузит локальный backend OpenGUI и обновит приложение. Выполняющиеся операции могут быть прерваны."
    }
  },
  "sidebar": {
    "allProjectsPinned": "Все проекты закреплены",
    "chats": "Чаты",
    "clearSearch": "Очистить поиск в боковой панели",
    "loadMore": "Загрузить ещё ({{count}})",
    "newChat": "Новый чат",
    "newSession": "Новая сессия",
    "noChats": "Нет чатов",
    "noMatches": "Нет совпадений для \"{{query}}\"",
    "noSessionsYet": "Сессий пока нет",
    "pinned": "Закреплено",
    "projects": "Проекты",
    "searchPlaceholder": "Поиск проектов и сессий...",
    "showLess": "Показать меньше",
    "title": "Боковая панель",
    "mobileDescription": "Отображает мобильную боковую панель.",
    "untitled": "Без названия"
  },
  "sessionMenu": {
    "pin": "Закрепить вверху",
    "unpin": "Открепить",
    "rename": "Переименовать",
    "setColor": "Задать цвет",
    "tags": "Теги",
    "addTag": "Добавить тег...",
    "moveToProject": "Переместить в проект",
    "removeFromProject": "Удалить из {{project}}",
    "deleteSession": "Удалить сессию"
  },
  "projectMenu": {
    "pinProject": "Закрепить проект",
    "unpinProject": "Открепить проект",
    "copyAbsolutePath": "Копировать абсолютный путь",
    "openInFileBrowser": "Открыть в файловом менеджере",
    "openInTerminal": "Открыть в терминале",
    "newSession": "Новая сессия",
    "collapseProject": "Свернуть проект",
    "expandProject": "Развернуть проект",
    "newWorktree": "Новый worktree...",
    "worktrees": "Worktree",
    "merge": "Слить",
    "openPullRequest": "Открыть pull request",
    "removeProject": "Закрыть проект",
    "closeOtherProjects": "Закрыть другие проекты",
    "createPullRequest": "Создать PR"
  },
  "prompt": {
    "inputLabel": "Поле ввода сообщения",
    "selectOrCreateSession": "Выберите или создайте сессию...",
    "interruptAndSend": "Прервать и отправить...",
    "steerDirection": "Направить модель в нужную сторону...",
    "queueMessage": "Поставить сообщение в очередь...",
    "message": "Сообщение...",
    "uploadingFiles": "Загрузка файлов…",
    "add": "Добавить",
    "addFile": "Добавить файл",
    "mcps": "MCP",
    "newWorktree": "Новый worktree",
    "currentRootWorktree": "Текущая ветка корневого worktree.",
    "queueTitle": "Очередь: дождаться полного ответа, затем отправить (Ctrl/Cmd+D для переключения)",
    "steerTitle": "Направление: дождаться завершения текущей части, затем отправить (Ctrl/Cmd+D для переключения)",
    "queue": "Очередь",
    "steer": "Направление",
    "stop": "Стоп",
    "stopGenerating": "Остановить генерацию",
    "send": "Отправить",
    "sendMessage": "Отправить сообщение"
  },
  "variantSelector": {
    "off": "выкл",
    "thinkingEffort": "Глубина размышления: {{level}} (клик или Ctrl+T для переключения, Ctrl+Shift+T в обратную сторону)"
  },
  "agentSelector": {
    "placeholder": "Агент"
  },
  "modelSelector": {
    "selectModel": "Выбрать модель",
    "searchPlaceholder": "Поиск провайдера, модели или ID...",
    "favorites": "Избранное",
    "recent": "Недавние",
    "backendLocked": "Backend закреплён для этой сессии.",
    "noModelsMatch": "Нет моделей, соответствующих \"{{query}}\".",
    "addFavorite": "Добавить в избранное",
    "removeFavorite": "Удалить из избранного"
  },
  "messageActions": {
    "contextCompacted": "Контекст сжат",
    "revertToMessage": "Вернуться к этому сообщению",
    "forkFromMessage": "Создать форк от этого сообщения",
    "showMore": "Показать больше",
    "showLess": "Показать меньше"
  },
  "toolOutput": {
    "showRaw": "Показать исходные данные",
    "rawTitle": "Необработанный вывод инструмента",
    "rawDescription": "Исходный текстовый вывод, возвращённый инструментом.",
    "copyRaw": "Копировать исходные данные"
  },
  "workspace": {
    "addTitle": "Добавить рабочую область",
    "editTitle": "Изменить рабочую область",
    "addDescription": "Подключить OpenGUI Backend как новую рабочую область.",
    "editDescription": "Переименуйте эту рабочую область или обновите её токен доступа. Создайте новую рабочую область, чтобы использовать другой URL Backend.",
    "name": "Название",
    "namePlaceholder": "например, Cloud Production",
    "backendUrl": "URL Backend",
    "backendUrlPlaceholder": "https://your-server.example.com",
    "accessToken": "Токен доступа",
    "optional": "необязательно",
    "accessTokenPlaceholder": "Вставьте OPENGUI_AUTH_TOKEN",
    "addWorkspace": "Добавить рабочую область",
    "toggleSidebar": "Переключить боковую панель"
  },
  "mcp": {
    "title": "MCP",
    "description": "Включение и отключение MCP-серверов для этой сессии.",
    "noManagement": "Текущий backend не поддерживает управление MCP.",
    "noneConfigured": "MCP-серверы не настроены.",
    "connected": "Подключено",
    "disabled": "Отключено",
    "failed": "Ошибка",
    "needsAuth": "Требуется авторизация",
    "needsRegistration": "Требуется регистрация",
    "unknown": "Неизвестно"
  },
  "contextStatus": {
    "compacting": "Сжатие",
    "contextWindow": "Окно контекста",
    "tokens": "токены",
    "cost": "Стоимость",
    "compact": "Сжать"
  },
  "worktree": {
    "newWorktree": "Новый worktree",
    "createFor": "Создать новый git worktree для",
    "branch": "Ветка",
    "newBranch": "Новая ветка",
    "existingBranch": "Существующая ветка",
    "branchName": "Имя ветки",
    "selectBranch": "Выбрать ветку",
    "loadingBranches": "Загрузка веток...",
    "chooseBranch": "Выберите ветку...",
    "path": "Путь worktree",
    "pathPlaceholder": "/путь/к/worktree",
    "pathHelp": "По этому пути будет создан новый каталог.",
    "creating": "Создание...",
    "createWorktree": "Создать worktree",
    "setupTitle": "Настройка worktree",
    "detectingSetup": "Определение настроек проекта...",
    "detectedSetup": "Обнаружен {{file}} в {{project}}. Выполнить настройку?",
    "runningSetup": "Выполнение команды настройки...",
    "setupComplete": "Настройка успешно завершена.",
    "setupFailed": "Команда настройки завершилась с ошибкой.",
    "skip": "Пропустить",
    "run": "Выполнить",
    "detectedCommand": "Обнаруженная команда",
    "setupFinished": "Настройка завершена — worktree готов."
  },
  "worktreeCleanup": {
    "title": "Сессий не осталось",
    "descriptionPrefix": "Worktree",
    "branch": "ветка",
    "descriptionSuffix": "не имеет активных сессий. Удалить его?",
    "keep": "Оставить",
    "remove": "Удалить",
    "removing": "Удаление...",
    "deleteFromDisk": "Также удалить файлы worktree с диска"
  },
  "providers": {
    "searchPlaceholder": "Поиск провайдеров...",
    "managerSwitcher": "Менеджер провайдеров",
    "noManagement": "Нет Harness с поддержкой управления провайдерами.",
    "loadFailed": "Не удалось загрузить провайдеров. Подключён ли OpenGUI Backend?",
    "allProviders": "Все провайдеры",
    "customProvider": "Свой провайдер",
    "popular": "Популярные",
    "other": "Другие",
    "connected": "Подключено",
    "connect": "Подключить",
    "disconnect": "Отключить",
    "disconnectConfirm": "Отключить {{name}}?",
    "fromEnv": "из переменных среды",
    "fromEnvTitle": "Подключено через переменные окружения",
    "noProvidersFound": "Провайдеры не найдены для \"{{query}}\"",
    "providerId": "ID провайдера",
    "displayName": "Отображаемое имя",
    "baseUrl": "Базовый URL",
    "apiKey": "API-ключ",
    "connectedMessage": "{{name}} подключён",
    "loading": "Загрузка...",
    "chooseConnectMethod": "Выберите способ подключения:",
    "useDifferentMethod": "Использовать другой способ",
    "oauthTimeout": "Истекло время ожидания OAuth — попробуйте ещё раз",
    "invalidCode": "Неверный код",
    "openAuthorizationPage": "Открыть страницу авторизации",
    "authorizationCode": "Код авторизации",
    "authorizationCodePlaceholder": "Вставьте код здесь",
    "submitCode": "Отправить код",
    "waitingAuthorization": "Ожидание авторизации...",
    "startingAuthorization": "Запуск авторизации...",
    "envReferenceHelp": "Используйте {env:VAR_NAME} для ссылки на переменную среды.",
    "models": "Модели",
    "customHeaders": "Свои заголовки",
    "addCustomProvider": "Добавить своего провайдера",
    "providerIdRequired": "ID провайдера обязателен",
    "providerIdInvalid": "ID провайдера должен содержать только строчные буквы, цифры, дефисы и подчёркивания",
    "displayNameRequired": "Отображаемое имя обязательно",
    "baseUrlRequired": "Базовый URL обязателен",
    "baseUrlInvalid": "Базовый URL должен начинаться с http:// или https://",
    "modelIdsRequired": "Все ID моделей должны быть заполнены",
    "modelNamesRequired": "Все названия моделей должны быть заполнены",
    "duplicateModelIds": "Найдены повторяющиеся ID моделей"
  },
  "setupWizard": {
    "title": "Добро пожаловать в OpenGUI",
    "setupAgentsTitle": "Настройка агентов для кода",
    "chooseStartTitle": "Выберите, где начинаются новые чаты",
    "readyTitle": "Вы готовы",
    "setupSavedTitle": "Настройки сохранены",
    "checkingComputer": "Проверка этого компьютера",
    "lookingForHarnesses": "Поиск установленных Harness CLI.",
    "codingAgentFound": "Агент для кода найден",
    "codingAgentFoundDescription": "OpenGUI нашёл агента для кода на этом компьютере.",
    "noHarnessInstalledTitle": "Harness не установлен",
    "noHarnessInstalledDescription": "OpenGUI нужен агент для кода, прежде чем он сможет работать с вашими файлами.",
    "checkHarnessesFailedTitle": "Не удалось проверить Harness",
    "checkHarnessesFailedDescription": "Вы можете продолжить настройку и проверить позже.",
    "checkAgain": "Проверить снова",
    "harnessInventoryTitle": "Список Harness",
    "modelsCount": "{{count}} моделей",
    "cliFound": "CLI найден",
    "harnessReadyDescription": "Этот Harness агента готов к использованию.",
    "harnessCliFoundDescription": "CLI установлен. Выбор модели и провайдера происходит позже в OpenGUI.",
    "harnessNotFoundDescription": "CLI не найден на этом компьютере.",
    "notFound": "не найден",
    "defaultChatDirectoryTitle": "Каталог чата по умолчанию",
    "defaultChatDirectoryDescription": "Новые чаты начинаются в этой папке, если проект не выбран.",
    "folderPlaceholder": "Выберите папку или оставьте пустым",
    "continue": "Продолжить",
    "readyToWorkTitle": "OpenGUI готов к работе",
    "setupHarnessLaterTitle": "Вы можете настроить Harness позже",
    "readyToWorkDescription": "Начните с подключения проекта или открытия сессии.",
    "setupHarnessLaterDescription": "OpenGUI откроется сейчас. Для отправки агенту требуется Harness, прежде чем он сможет работать.",
    "openOpenGui": "Открыть OpenGUI"
  },
  "languages": {
    "af": "Afrikaans",
    "ar": "العربية",
    "az": "Azərbaycan dili",
    "bg": "Български",
    "bn": "বাংলা",
    "bs": "Bosanski",
    "ca": "Català",
    "cs": "Čeština",
    "cy": "Cymraeg",
    "da": "Dansk",
    "de": "Deutsch",
    "el": "Ελληνικά",
    "en": "English",
    "eo": "Esperanto",
    "es": "Español",
    "et": "Eesti",
    "eu": "Euskara",
    "fa": "فارسی",
    "fi": "Suomi",
    "fr": "Français",
    "ga": "Gaeilge",
    "gl": "Galego",
    "gu": "ગુજરાતી",
    "he": "עברית",
    "hi": "हिन्दी",
    "hr": "Hrvatski",
    "hu": "Magyar",
    "hy": "Հայերեն",
    "id": "Bahasa Indonesia",
    "it": "Italiano",
    "ja": "日本語",
    "ka": "ქართული",
    "kk": "Қазақ тілі",
    "km": "ខ្មែរ",
    "kn": "ಕನ್ನಡ",
    "ko": "한국어",
    "lo": "ລາວ",
    "lt": "Lietuvių",
    "lv": "Latviešu",
    "mk": "Македонски",
    "ml": "മലയാളം",
    "mn": "Монгол",
    "mr": "मराठी",
    "ms": "Bahasa Melayu",
    "my": "မြန်မာဘာသာ",
    "nb": "Norsk Bokmål",
    "ne": "नेपाली",
    "nl": "Nederlands",
    "pa": "ਪੰਜਾਬੀ",
    "pl": "Polski",
    "pt": "Português",
    "ro": "Română",
    "ru": "Русский",
    "si": "සිංහල",
    "sk": "Slovenčina",
    "sl": "Slovenščina",
    "sq": "Shqip",
    "sr": "Српски",
    "sv": "Svenska",
    "sw": "Kiswahili",
    "ta": "தமிழ்",
    "te": "తెలుగు",
    "th": "ไทย",
    "tl": "Filipino",
    "tr": "Türkçe",
    "uk": "Українська",
    "ur": "اردو",
    "uz": "O'zbek",
    "vi": "Tiếng Việt",
    "zh": "中文"
  },
  "startup": {
    "checkingLocalServer": "Проверка локального сервера...",
    "startingLocalServer": "Запуск локального сервера..."
  },
  "sessionError": {
    "title": "Ошибка агента",
    "nextStep": "Следующий шаг: выполните эту команду в терминале и попробуйте снова:",
    "openTerminal": "Открыть терминал"
  },
  "updateDialog": {
    "title": "Доступно обновление",
    "description": "Доступна новая версия OpenGUI ({{latestVersion}}). Сейчас используется v{{currentVersion}}.",
    "currentVersion": "Текущая версия: v{{currentVersion}}.",
    "dismiss": "Скрыть",
    "open": "Открыть"
  },
  "emptyStates": {
    "noProjectTitle": "Проект не подключён",
    "noProjectCanStart": "Подключите проект сейчас или начните чат.",
    "noProjectConnect": "Подключите проект, чтобы начать общение.",
    "startChat": "Начать чат",
    "noSessionTitle": "Сессия не выбрана",
    "noSessionDescription": "Выберите сессию или начните новую из подключённого проекта."
  },
  "mergeDialog": {
    "failed": "Слияние не удалось",
    "merging": "Слияние...",
    "mergingDescription": "Слияние {{branch}} с текущей веткой",
    "success": "Слияние выполнено успешно",
    "successDescription": "{{branch}} успешно слита.",
    "successDescriptionDelete": "{{branch}} успешно слита. Worktree будет удалён.",
    "conflicts": "Конфликты слияния",
    "conflictsDescription": "Слияние {{branch}} вызвало конфликты в {{count}} файле(ах):",
    "abort": "Прервать слияние",
    "fixWithAI": "Исправить с помощью ИИ",
    "title": "Слить ветку",
    "description": "Слить {{branch}} с текущей веткой {{repoName}}",
    "deleteWorktreeLabel": "Удалить worktree после успешного слияния",
    "deleteWorktreeDescription": "Удаляет каталог worktree и отключает его от проекта"
  },
  "questionPanel": {
    "title": "У ассистента есть вопрос",
    "customAnswerPlaceholder": "Введите свой ответ...",
    "submit": "Отправить",
    "dismiss": "Отклонить"
  },
  "diff": {
    "noLineDiffAvailable": "Построчный diff недоступен."
  },
  "reasoning": {
    "thinking": "Размышление",
    "thinkingRunning": "Размышляет..."
  },
  "toolLabels": {
    "bash": {
      "running": "Выполняется",
      "done": "Выполнено"
    },
    "read": {
      "running": "Чтение",
      "done": "Прочитано"
    },
    "edit": {
      "running": "Редактирование",
      "done": "Отредактировано"
    },
    "write": {
      "running": "Запись",
      "done": "Записано"
    },
    "grep": {
      "running": "Поиск",
      "done": "Найдено"
    },
    "glob": {
      "running": "Поиск файлов",
      "done": "Файлы найдены"
    },
    "task": {
      "running": "Выполняется",
      "done": "Выполнено"
    },
    "todo": {
      "running": "Запись задач",
      "doneOne": "Записана {{count}} задача",
      "doneOther": "Записано {{count}} задач"
    },
    "question": {
      "running": "Задаёт вопрос",
      "doneOne": "Задан {{count}} вопрос",
      "doneOther": "Задано {{count}} вопросов"
    },
    "patch": {
      "created": "Создано",
      "deleted": "Удалено",
      "moved": "Перемещено",
      "patched": "Изменено"
    },
    "fileCountOther": "{{count}} файлов",
    "matchCountOne": "{{count}} совпадение",
    "matchCountOther": "{{count}} совпадений"
  },
  "attachments": {
    "image": "Изображение",
    "fileAttachment": "Прикреплённый файл",
    "imageAttachment": "Прикреплённое изображение {{count}}",
    "closeImagePreview": "Закрыть предпросмотр изображения"
  },
  "projectPath": {
    "up": "Вверх",
    "noFolders": "Нет папок",
    "allowedRoots": "Разрешённые корневые каталоги: {{roots}}",
    "serverDefault": "по умолчанию сервера",
    "title": "Открыть проект",
    "webLocalDescription": "Выберите путь к проекту на сервере OpenGUI. При использовании с телефона указываются пути сервера, а не файлы телефона.",
    "localDescription": "Откройте локальную папку проекта для этого окна. Также можно вручную вставить абсолютный путь.",
    "remoteDescription": "Это окно подключено к удалённому серверу, поэтому выберите проект, указав путь на этом сервере.",
    "openProject": "Открыть проект",
    "projectPathLabel": "Путь проекта",
    "browseServer": "Просмотреть сервер",
    "loadingServerFolders": "Загрузка папок сервера..."
  },
  "fileMention": {
    "searching": "Поиск...",
    "typeToSearch": "Введите текст для поиска файлов",
    "noMatchingFiles": "Нет подходящих файлов",
    "searchFailed": "Поиск файлов не удался"
  },
  "queueList": {
    "reorderQueuedPrompt": "Изменить порядок в очереди",
    "sendNow": "Отправить сейчас",
    "interrupt": "прервать",
    "steer": "направить",
    "edit": "Изменить",
    "moveToTop": "Переместить в начало",
    "moveToBottom": "Переместить в конец"
  },
  "permissionPanel": {
    "title": "Разрешение: {{permission}}",
    "allowOnce": "Разрешить один раз",
    "alwaysAllow": "Разрешать всегда",
    "reject": "Отклонить"
  },
  "revertBanner": {
    "reverted": "{{count}} сообщение отменено",
    "reverted_plural": "{{count}} сообщений отменено",
    "restore": "Восстановить"
  }
}
