{ "common": { "buttons": { "save": "Сохранить", "cancel": "Отмена", "close": "Закрыть", "delete": "Удалить", "create": "Создать", "back": "Назад", "retry": "Повторить", "download": "Скачать", "confirm": "Подтвердить", "apply": "Применить", "reset": "Сбросить", "add": "Добавить", "edit": "Редактировать", "copy": "Копировать", "clear": "Очистить", "search": "Поиск", "select": "Выбрать", "grant": "Разрешить", "start": "Запустить", "stop": "Остановить", "enable": "Включить", "disable": "Выключить", "import": "Импорт", "export": "Экспорт", "refresh": "Обновить", "loading": "Загрузка...", "saveSettings": "Сохранить настройки", "moreInfo": "Подробнее", "downloading": "Загрузка...", "minimize": "Свернуть" }, "status": { "active": "Активен", "inactive": "Неактивен", "running": "Запущен", "stopped": "Остановлен", "enabled": "Включено", "disabled": "Выключено", "granted": "Разрешено", "notGranted": "Не разрешено", "connected": "Подключено", "disconnected": "Отключено", "synced": "Синхронизировано", "syncing": "Синхронизация", "pending": "Ожидание", "error": "Ошибка" }, "labels": { "name": "Название", "type": "Тип", "status": "Статус", "actions": "Действия", "description": "Описание", "none": "Нет", "default": "По умолчанию", "custom": "Пользовательский", "optional": "Необязательно", "required": "Обязательно", "unknownProfile": "Неизвестный", "mode": "Режим", "never": "Никогда" }, "time": { "days": "дней", "hours": "часов", "minutes": "минут", "seconds": "секунд", "remaining": "осталось" }, "aria": { "selectAll": "Выбрать все", "selectRow": "Выбрать строку", "selectProfile": "Выбрать профиль", "copy": "Скопировать в буфер обмена", "copied": "Скопировано", "showToken": "Показать токен", "hideToken": "Скрыть токен" }, "keys": { "escape": "Esc" }, "errors": { "unknown": "Произошла неизвестная ошибка" }, "window": { "minimize": "Свернуть" }, "commandPalette": { "title": "Палитра команд", "description": "Найдите команду для выполнения..." }, "noResults": "Результаты не найдены.", "srOnly": { "copy": "Скопировать", "copied": "Скопировано" } }, "settings": { "title": "Настройки", "appearance": { "title": "Внешний вид", "theme": "Тема", "themeDescription": "Выберите предпочитаемую тему или следуйте системным настройкам. Изменения пользовательской темы применяются только при сохранении.", "themePreset": "Предустановка темы", "customColors": "Пользовательские цвета", "selectTheme": "Выберите тему", "selectThemePreset": "Выберите предустановку темы", "yourOwn": "Собственная", "light": "Светлая", "dark": "Тёмная", "system": "Системная" }, "language": { "title": "Язык", "description": "Выберите предпочитаемый язык интерфейса приложения.", "systemDefault": "Системный по умолчанию", "selectLanguage": "Выберите язык", "interface": "Язык интерфейса" }, "defaultBrowser": { "title": "Браузер по умолчанию", "setAsDefault": "Установить браузером по умолчанию", "alreadyDefault": "Уже браузер по умолчанию", "description": "При установке по умолчанию Donut Browser будет обрабатывать веб-ссылки и позволит выбрать профиль для использования." }, "permissions": { "title": "Системные разрешения", "loading": "Загрузка разрешений...", "description": "Эти разрешения позволяют браузерам, запущенным из Donut Browser, получать доступ к системным ресурсам. Каждый сайт всё равно будет запрашивать разрешение отдельно.", "microphone": "Микрофон", "microphoneDescription": "Доступ к микрофону для браузерных приложений", "camera": "Камера", "cameraDescription": "Доступ к камере для браузерных приложений", "accessRequested": "Запрошен доступ к {{permission}}" }, "integrations": { "title": "Интеграции", "description": "Настройте локальный API и MCP (Model Context Protocol) для интеграции с внешними инструментами и AI-ассистентами.", "openSettings": "Открыть настройки интеграций" }, "encryption": { "title": "Шифрование синхронизации", "description": "Установите пароль для включения E2E зашифрованной синхронизации. Если вы потеряете этот пароль, зашифрованные профили не могут быть восстановлены.", "passwordSet": "Активно", "passwordSetDescription": "Пароль шифрования E2E установлен", "noPassword": "Пароль не установлен", "passwordPlaceholder": "Пароль (мин. 8 символов)", "confirmPlaceholder": "Подтвердите пароль", "setPassword": "Установить пароль", "changePassword": "Изменить пароль", "removePassword": "Удалить пароль", "removed": "Пароль шифрования удалён", "passwordSaved": "Пароль шифрования установлен", "passwordMismatch": "Пароли не совпадают", "passwordTooShort": "Пароль должен содержать не менее 8 символов", "requiresProOrOwner": "Шифрование профилей доступно для пользователей Pro и владельцев команд." }, "commercial": { "title": "Коммерческая лицензия", "trialActive": "Пробный период: осталось {{days}} дней, {{hours}} часов", "trialActiveDescription": "Коммерческое использование бесплатно в течение пробного периода. После его окончания все функции продолжают работать — личное использование остаётся бесплатным, и только для коммерческого использования потребуется лицензия.", "trialExpired": "Пробный период истёк", "trialExpiredDescription": "Личное использование остаётся бесплатным. Для коммерческого использования требуется лицензия." }, "advanced": { "title": "Дополнительно", "clearCache": "Очистить весь кэш версий", "clearCacheDescription": "Очищает все кэшированные данные версий браузеров и обновляет все версии из источников. Это принудительно загрузит информацию о версиях для всех браузеров.", "clearCacheFailed": "Не удалось очистить кэш" }, "disableAutoUpdates": "Отключить автообновление приложения", "disableAutoUpdatesDescription": "Запретить автоматическую проверку и установку обновлений Donut Browser. Обновления браузеров не затрагиваются.", "keepDecryptedProfilesInRam": "Хранить расшифрованные профили в ОЗУ", "keepDecryptedProfilesInRamDescription": "Сохранять расшифрованную копию защищённых паролем профилей в ОЗУ между запусками для ускорения старта. Копия на диске в любом случае остаётся зашифрованной." }, "header": { "searchPlaceholder": "Поиск профилей...", "clearSearch": "Очистить поиск", "moreActions": "Дополнительные действия", "createProfile": "Создать новый профиль", "menu": { "settings": "Настройки", "proxies": "Прокси и VPN", "groups": "Группы", "syncService": "Аккаунт", "integrations": "Интеграции", "importProfile": "Импорт профиля", "extensions": "Расширения" } }, "profiles": { "title": "Профили", "empty": "Профилей пока нет", "emptyDescription": "Создайте свой первый профиль браузера для начала работы.", "createFirst": "Создать профиль", "noResults": "Профили не найдены", "noResultsDescription": "Нет профилей, соответствующих критериям поиска.", "table": { "name": "Название", "browser": "Браузер", "status": "Статус", "actions": "Действия", "note": "Заметка", "group": "Группа", "proxy": "Прокси / VPN", "lastLaunch": "Последний запуск", "empty": "Профили не найдены.", "notSelected": "Не выбрано" }, "actions": { "launch": "Запустить", "stop": "Остановить", "edit": "Редактировать", "delete": "Удалить", "copyCookies": "Копировать Cookie", "configure": "Настроить", "clone": "Клонировать профиль", "viewNetwork": "Просмотр сети", "syncSettings": "Настройки синхронизации", "assignToGroup": "Назначить группе", "changeFingerprint": "Изменить отпечаток", "copyCookiesToProfile": "Копировать Cookie в профиль", "launchHook": "URL хука запуска", "setPassword": "Установить пароль", "changePassword": "Изменить пароль", "removePassword": "Удалить пароль" }, "synchronizer": { "launchWithSync": "Запустить с синхронизатором", "stopLeader": "Остановить этот профиль и всех его последователей", "stopFollower": "Повторяет действия {{leaderName}}", "desyncedTooltip": "Синхронизация не удалась на {{url}}", "paidFeature": "Синхронизатор — платная функция", "wayfernOnly": "Синхронизировать можно только профили Wayfern", "selectFollowers": "Выберите профили-последователи", "selectFollowersDesc": "Выберите профили, которые будут повторять действия профиля-лидера. Можно выбрать только остановленные профили Wayfern.", "leader": "Лидер", "follower": "Последователь", "startSession": "Начать сессию синхронизации", "noFollowers": "Выберите хотя бы один профиль-последователь", "flakyBadge": "FLAKY", "flakyTooltip": "У этого профиля разрешение экрана отличается от лидера. Макет страниц может отличаться, что может привести к неправильным кликам и взаимодействиям." }, "ephemeral": "Временный", "ephemeralDescription": "Браузер вынужденно записывает данные профиля в память, а не на диск. Учтите, что операционная система может выгружать части памяти на диск (swap) при нехватке ОЗУ, поэтому следы сессии всё же могут оказаться восстановимыми.", "ephemeralBadge": "Временный", "bulkDelete": { "title": "Удалить выбранные профили", "description": "Это действие нельзя отменить. Будет навсегда удалено {{count}} профил(ей) и все связанные данные.", "confirmButton": "Удалить {{count}} профил(ей)" }, "note": { "empty": "Нет заметки", "placeholder": "Добавить заметку..." }, "aria": { "profileInfo": "Информация о профиле" }, "delete": { "title": "Удалить профиль", "description": "Это действие нельзя отменить. Профиль «{{profileName}}» и все связанные с ним данные будут навсегда удалены.", "confirmButton": "Удалить профиль" }, "actionBar": { "assignToGroup": "Назначить группе", "assignProxy": "Назначить прокси", "assignExtensionGroup": "Назначить группу расширений", "copyCookies": "Копировать cookies" }, "passwordProtectedBadge": "Защищено паролем" }, "createProfile": { "title": "Создать новый профиль", "configureTitle": "Создать новый профиль {{browser}}", "antiDetect": { "title": "Антидетект браузер", "description": "Выберите браузер с возможностями защиты от обнаружения", "chromium": "Wayfern", "firefox": "Camoufox", "badge": "Антидетект браузер" }, "regular": { "title": "Обычные браузеры", "description": "Выберите из поддерживаемых обычных браузеров", "badge": "Обычный браузер" }, "profileName": "Название профиля", "profileNamePlaceholder": "Введите название профиля", "proxy": { "title": "Прокси / VPN", "addProxy": "Добавить прокси", "noProxy": "Без прокси / VPN", "noProxiesAvailable": "Нет доступных прокси или VPN. Добавьте один для маршрутизации трафика этого профиля.", "search": "Поиск прокси или VPN...", "notFound": "Прокси или VPN не найдены.", "searchWithCountries": "Поиск прокси, VPN или стран..." }, "launchHook": { "label": "URL хука запуска", "placeholder": "https://example.com/hooks/profile-launch" }, "version": { "fetching": "Получение доступных версий...", "fetchError": "Не удалось получить версии браузера. Проверьте интернет-соединение и попробуйте снова.", "needsDownload": "Версию {{browser}} ({{version}}) необходимо скачать", "available": "Версия {{browser}} ({{version}}) доступна", "downloading": "Загрузка версии {{browser}} ({{version}})...", "latestNeedsDownload": "Последнюю версию ({{version}}) необходимо скачать", "latestAvailable": "Последняя версия ({{version}}) доступна", "latestDownloading": "Загрузка версии ({{version}})..." }, "chromiumLabel": "Chromium", "chromiumSubtitle": "На базе Wayfern", "firefoxLabel": "Firefox", "firefoxSubtitle": "На базе Camoufox", "camoufoxWarning": "Firefox (Camoufox) поддерживается сторонней организацией. Для промышленного использования используйте Chromium.", "platformUnavailable": "{{browser}} пока недоступен на вашей платформе.", "passwordProtect": { "label": "Защитить этот профиль паролем", "description": "Шифрует данные профиля на диске. Требуется для запуска." } }, "deleteDialog": { "title": "Удалить профиль", "description": "Вы уверены, что хотите удалить этот профиль? Это действие нельзя отменить.", "profilesTitle": "Удалить профили", "profilesDescription": "Вы уверены, что хотите удалить выбранные профили? Это действие нельзя отменить.", "profilesToDelete": "Профили для удаления:" }, "proxies": { "title": "Прокси", "management": { "description": "Управляйте конфигурациями прокси и VPN для переиспользования в профилях", "tabProxies": "Прокси", "tabVpns": "VPN", "create": "Создать", "loading": "Загрузка прокси...", "noneCreated": "Прокси еще нет. Создайте первый прокси, используя кнопку выше.", "usage": "Использование", "syncCol": "Синхронизация", "syncCannotDisable": "Нельзя отключить синхронизацию, пока этот прокси используется синхронизированными профилями", "enableSync": "Включить синхронизацию", "disableSync": "Отключить синхронизацию", "editProxy": "Редактировать прокси", "deleteProxy": "Удалить прокси", "cannotDelete_one": "Невозможно удалить: используется {{count}} профилем", "cannotDelete_other": "Невозможно удалить: используется {{count}} профилями", "syncEnabled": "Синхронизация включена", "syncDisabled": "Синхронизация отключена", "updateSyncFailed": "Не удалось обновить синхронизацию", "deleteSuccess": "Прокси успешно удален", "deleteFailed": "Не удалось удалить прокси", "deleteTitle": "Удалить прокси", "deleteDescription": "Это действие нельзя отменить. Прокси «{{name}}» будет удален навсегда.", "title": "Прокси и VPN" }, "add": "Добавить прокси", "edit": "Редактировать прокси", "delete": "Удалить прокси", "import": "Импорт", "export": "Экспорт", "noProxies": "Прокси не настроены", "noProxiesDescription": "Добавьте прокси для маршрутизации трафика браузера через него.", "form": { "name": "Название", "namePlaceholder": "Введите название прокси", "type": "Тип", "host": "Хост", "hostPlaceholder": "proxy.example.com", "port": "Порт", "portPlaceholder": "8080", "username": "Имя пользователя", "usernamePlaceholder": "Необязательно", "password": "Пароль", "passwordPlaceholder": "Необязательно", "cipher": "Шифр", "cipherPlaceholder": "aes-256-gcm", "nameRequired": "Требуется имя прокси", "hostPortRequired": "Требуются хост и порт", "ssCipherRequired": "Для Shadowsocks требуется шифр и пароль", "selectType": "Выберите тип прокси", "saveFailed": "Не удалось сохранить прокси: {{error}}" }, "types": { "http": "HTTP", "https": "HTTPS", "socks4": "SOCKS4", "socks5": "SOCKS5", "ss": "Shadowsocks" }, "tabs": { "regular": "Обычный", "dynamic": "Динамический" }, "dynamic": { "description": "Динамический прокси получает данные подключения по URL при каждом запуске профиля.", "url": "URL прокси", "urlPlaceholder": "https://api.example.com/proxy", "urlRequired": "URL динамического прокси обязателен", "format": "Формат ответа", "formatJson": "JSON", "formatText": "Текст", "formatJsonHint": "Ожидается JSON: {\"ip\": \"...\", \"port\": ..., \"username\": \"...\", \"password\": \"...\"}", "formatTextHint": "Ожидается текст вида: host:port:username:password или protocol://user:pass@host:port", "testUrl": "Проверить URL", "testing": "Проверка...", "testSuccess": "Прокси работает: {{host}}:{{port}}", "testFailed": "Тест прокси не пройден: {{error}}", "fetchFailed": "Не удалось получить динамический прокси: {{error}}" }, "check": { "checking": "Проверка прокси...", "valid": "Прокси действителен", "invalid": "Прокси недействителен", "lastChecked": "Последняя проверка: {{time}}" }, "sync": { "enabled": "Синхронизация включена", "disabled": "Синхронизация выключена" }, "exportDialog": { "title": "Экспорт прокси", "description": "Экспортируйте конфигурации прокси в файл", "format": "Формат экспорта", "json": "JSON", "txt": "TXT (формат URL)", "preview": "Предпросмотр", "noProxies": "Нет прокси для экспорта", "downloaded": "Загружено: {{filename}}", "failed": "Не удалось экспортировать прокси", "copied": "Скопировано" }, "importDialog": { "title": "Импорт прокси", "descDropzone": "Импорт прокси из JSON или TXT файла", "descPreview": "Проверьте прокси для импорта", "descAmbiguous": "Некоторые прокси имеют неоднозначный формат. Выберите правильный формат.", "descResult": "Импорт завершен", "dropzonePrompt": "Перетащите файл конфигурации прокси", "dropzoneFormats": "(.json, .txt)", "pasteHint": "Вставить из буфера обмена с {{modKey}}+V", "wrongFileType": "Перетащите файл .json или .txt", "fileReadError": "Не удалось прочитать файл", "fileProcessError": "Не удалось обработать файл", "noValidProxies": "В файле не найдено допустимых прокси", "namePrefix": "Префикс имени", "namePrefixDefault": "Imported", "namePrefixHint": "Прокси будут названы «{{prefix}} Proxy 1», «{{prefix}} Proxy 2» и т.д.", "proxiesToImport": "Прокси для импорта ({{count}})", "invalidCount": "({{count}} недействительных)", "ambiguousIntro": "Следующие прокси имеют неоднозначный формат. Выберите правильную интерпретацию для каждого.", "imported": "Импортировано:", "skippedDuplicates": "Пропущено (дубликаты):", "errors": "Ошибки", "importButton": "Импортировать {{count}} прокси", "continueButton": "Продолжить", "doneButton": "Готово", "failed": "Не удалось импортировать прокси" } }, "groups": { "title": "Группы", "management": "Управление группами", "add": "Добавить группу", "edit": "Редактировать группу", "delete": "Удалить группу", "defaultGroup": "По умолчанию", "defaultGroupNoGroup": "По умолчанию (Без группы)", "moveToDefault": "Переместить профили в группу по умолчанию", "noGroupDescription": "Профили без группы будут отображаться в группе «По умолчанию».", "assignSuccess": "Успешно назначено {{count}} профиль(ей) в {{group}}", "noGroups": "Группы не созданы", "noGroupsDescription": "Создайте группу для организации профилей.", "form": { "name": "Название", "namePlaceholder": "Введите название группы" }, "profileCount": "{{count}} профиль", "profileCount_plural": "{{count}} профилей", "assignProfiles": "Назначить профили", "sync": { "enabled": "Синхронизация включена", "disabled": "Синхронизация выключена" }, "createTitle": "Создать новую группу", "createDescription": "Создайте новую группу для организации профилей браузера.", "editTitle": "Изменить группу", "editDescription": "Обновите имя группы.", "createSuccess": "Группа успешно создана", "createFailed": "Не удалось создать группу", "updateSuccess": "Группа успешно обновлена", "updateFailed": "Не удалось обновить группу", "deleteTitle": "Удалить группу", "deleteDescription": "Это действие необратимо. Группа будет удалена навсегда.", "deleteSuccess": "Группа успешно удалена", "deleteFailed": "Не удалось удалить группу", "loadingProfiles": "Загрузка связанных профилей...", "associatedProfiles": "Связанные профили ({{count}})", "whatToDoWithProfiles": "Что сделать с этими профилями?", "moveToDefaultOption": "Переместить профили в группу По умолчанию", "deleteAlongWithGroup": "Удалить профили вместе с группой", "noAssociatedProfiles": "У этой группы нет связанных профилей.", "deleteGroup": "Удалить группу", "deleteGroupAndProfiles": "Удалить группу и профили", "loadProfilesFailed": "Не удалось загрузить профили", "unknownGroup": "Неизвестная группа", "profileGroupsAriaLabel": "Группы профилей", "loading": "Загрузка групп..." }, "sync": { "mode": { "title": "Синхронизация профиля", "description": "Управление настройками синхронизации для \"{{name}}\"", "disabled": "Отключено", "regular": "Обычная синхронизация", "encrypted": "E2E зашифрованная синхронизация", "disabledDescription": "Без синхронизации для этого профиля", "regularDescription": "Быстрая синхронизация, без шифрования", "encryptedDescription": "Шифрование перед загрузкой. Сервер никогда не видит данные в открытом виде.", "noPasswordWarning": "Пароль E2E не установлен. Пожалуйста, установите пароль в Настройках.", "passwordRequired": "Пароль E2E не установлен. Сначала установите пароль в Настройках.", "enabledToast": "Синхронизация включена", "disabledToast": "Синхронизация отключена", "syncQueued": "Синхронизация в очереди", "syncNow": "Синхронизировать сейчас", "lastSynced": "Последняя синхронизация", "notConfigured": "Сервис синхронизации не настроен.", "configureService": "Настроить сервис синхронизации" }, "title": "Служба синхронизации", "config": { "serverUrlRequired": "Введите URL сервера", "connectionSuccess": "Подключение успешно!", "serverError": "Сервер вернул ошибку", "connectFailed": "Не удалось подключиться к серверу", "settingsSaved": "Настройки синхронизации сохранены", "saveFailed": "Не удалось сохранить настройки", "disconnected": "Синхронизация отключена", "disconnectFailed": "Не удалось отключиться" }, "serverUrl": "URL сервера", "serverUrlPlaceholder": "https://sync.example.com", "token": "Токен синхронизации", "tokenPlaceholder": "Введите токен синхронизации", "status": { "connected": "Подключено", "disconnected": "Отключено", "syncing": "Синхронизация...", "error": "Ошибка синхронизации" }, "description": "Подключитесь к серверу синхронизации для синхронизации профилей, прокси и групп между устройствами.", "cloud": { "tabLabel": "Облако", "selfHostedTabLabel": "Свой сервер", "email": "Электронная почта", "deviceLinkInstructions": "Нажмите «Войти», чтобы открыть страницу входа в браузере. После входа скопируйте показанный код и вставьте его ниже.", "openLogin": "Войти", "linkCodeLabel": "Код входа", "linkCodePlaceholder": "Вставьте код с сайта", "verifyAndLogin": "Подтвердить и Войти", "loggingIn": "Вход...", "connected": "Подключено", "plan": "Тариф", "profiles": "Профили", "profileUsage": "{{used}} / {{limit}}", "manageAccount": "Управление аккаунтом", "logout": "Выйти", "logoutConfirm": "Вы уверены, что хотите выйти? Облачная синхронизация будет остановлена.", "loginSuccess": "Вход выполнен успешно!", "logoutSuccess": "Выход выполнен успешно." }, "team": { "title": "Команда", "name": "Название команды", "role": "Роль", "roleOwner": "Владелец", "roleAdmin": "Администратор", "roleMember": "Участник", "manageOnWeb": "Управление командой в веб-панели", "profileLocked": "Используется {{email}}", "profileLockedShort": "Используется", "cannotLaunchLocked": "Невозможно запустить — профиль используется {{email}}", "createdBy": "Создано {{email}}" }, "disabled": "Отключена", "toast": { "profileSynced": "Профиль '{{name}}' успешно синхронизирован", "profileSyncFailed": "Не удалось синхронизировать профиль '{{name}}'", "profileSyncFailedWithError": "Не удалось синхронизировать профиль '{{name}}': {{error}}" } }, "integrations": { "title": "Интеграции", "api": { "title": "Локальный API", "description": "Включите локальный API-сервер для внешних интеграций.", "enabled": "API включён", "disabled": "API выключен", "port": "Порт", "token": "API токен", "copyToken": "Копировать токен", "regenerateToken": "Перегенерировать токен" }, "mcp": { "title": "MCP сервер", "description": "Включите MCP (Model Context Protocol) сервер для интеграции с AI-ассистентами.", "enabled": "MCP включён", "disabled": "MCP выключен", "port": "Порт", "token": "Токен аутентификации", "tokenCopied": "Токен скопирован", "url": "URL MCP сервера", "urlCopied": "URL скопирован", "claudeDesktopTitle": "Claude Desktop", "claudeDesktopHint": "Автоматически настраивает claude_desktop_config.json", "addToClaudeDesktop": "Добавить в Claude Desktop", "removeFromClaudeDesktop": "Удалить из Claude Desktop", "addedToClaudeDesktop": "Добавлено в Claude Desktop. Перезапустите Claude Desktop и включите расширение в Настройках.", "removedFromClaudeDesktop": "Удалено из конфигурации Claude Desktop. Перезапустите Claude Desktop.", "claudeCodeTitle": "Claude Code", "addToClaudeCode": "Добавить в Claude Code", "removeFromClaudeCode": "Удалить из Claude Code", "addedToClaudeCode": "Добавлено в Claude Code", "removedFromClaudeCode": "Удалено из Claude Code", "config": "Конфигурация MCP", "copyConfig": "Копировать конфигурацию" }, "tabApi": "Локальный API", "tabMcp": "MCP (ИИ-ассистенты)", "apiEnableLabel": "Включить локальный API сервер", "apiEnableDescription": "Позволяет управлять профилями, группами и прокси через REST API.", "apiPortLabel": "Порт", "apiTokenLabel": "Токен аутентификации", "apiTokenHint": "Включите в заголовок Authorization: Bearer {{tokenSlot}}", "apiInvalidPort": "Неверный порт", "apiInvalidPortDescription": "Порт должен быть от 1 до 65535", "apiPortInUse": "Порт {{port}} уже используется", "apiFallbackPort": "Сервер запущен на резервном порту {{port}}", "apiStarted": "API сервер запущен на порту {{port}}", "apiRunning": "API сервер работает на порту {{port}}", "apiStopped": "API сервер остановлен", "apiToggleFailed": "Не удалось переключить API сервер", "apiStartFailed": "Не удалось запустить API сервер", "apiUnknownError": "Неизвестная ошибка", "tokenCopied": "Токен скопирован", "mcpEnableLabel": "Включить MCP сервер (Model Context Protocol)", "mcpEnableDescription": "Позволяет ИИ-ассистентам, таким как Claude Desktop, управлять браузерами.", "mcpAcceptTermsFirst": "(Сначала примите условия Wayfern в Настройках)", "mcpStarted": "MCP сервер запущен на порту {{port}}", "mcpStopped": "MCP сервер остановлен", "mcpToggleFailed": "Не удалось переключить MCP сервер", "openSettings": "Открыть настройки интеграций" }, "import": { "title": "Импорт профиля", "description": "Импортируйте существующий профиль браузера из вашей системы.", "selectProfile": "Выберите профиль для импорта", "noProfiles": "Профили не обнаружены", "noProfilesDescription": "В вашей системе не обнаружены профили браузеров.", "importing": "Импорт профиля...", "success": "Профиль успешно импортирован", "error": "Ошибка импорта профиля" }, "config": { "camoufox": { "title": "Настройки Camoufox", "fingerprint": { "title": "Отпечаток", "randomize": "Случайный при запуске", "randomizeDescription": "Генерировать новый отпечаток при каждом запуске браузера.", "osCpuPlaceholder": "напр., Intel Mac OS X 10.15", "webglRendererPlaceholder": "напр., llvmpipe или похожее" }, "os": { "title": "Операционная система", "description": "Операционная система для эмуляции при генерации отпечатка.", "windows": "Windows", "macos": "macOS", "linux": "Linux" }, "screen": { "title": "Размер экрана", "minWidth": "Мин. ширина", "maxWidth": "Макс. ширина", "minHeight": "Мин. высота", "maxHeight": "Макс. высота" }, "geoip": { "title": "GeoIP", "auto": "Автоматически (на основе прокси)", "manual": "Вручную", "disabled": "Выключено" }, "blocking": { "title": "Блокировка", "images": "Блокировать изображения", "webrtc": "Блокировать WebRTC", "webgl": "Блокировать WebGL" } }, "wayfern": { "title": "Настройки Wayfern", "fingerprint": { "title": "Отпечаток", "randomize": "Случайный при запуске", "randomizeDescription": "Генерировать новый отпечаток при каждом запуске браузера.", "platformPlaceholder": "напр., Win32, MacIntel, Linux x86_64", "timezoneOffsetPlaceholder": "напр., 300 для EST (UTC-5)", "webglRendererPlaceholder": "напр., Intel(R) HD Graphics" }, "os": { "title": "Операционная система", "description": "Операционная система для эмуляции при генерации отпечатка.", "windows": "Windows", "macos": "macOS", "linux": "Linux", "android": "Android", "ios": "iOS" }, "screen": { "title": "Размер экрана", "minWidth": "Мин. ширина", "maxWidth": "Макс. ширина", "minHeight": "Мин. высота", "maxHeight": "Макс. высота" }, "blocking": { "title": "Блокировка", "webrtc": "Блокировать WebRTC", "webgl": "Блокировать WebGL" } }, "shared": { "browserBehavior": "Поведение браузера", "allowAddonsOpenTabs": "Разрешить расширениям браузера автоматически открывать новые вкладки" } }, "cookies": { "title": "Cookie", "copy": { "title": "Копировать Cookie", "description": "Выберите cookie для копирования в другие профили.", "selectSource": "Выберите исходный профиль", "selectTarget": "Выберите целевые профили", "selectCookies": "Выберите Cookie", "allDomains": "Все домены", "selectedCount": "Выбрано {{count}} cookie", "selectedCount_plural": "Выбрано {{count}} cookie", "dialogDescription_one": "Копировать cookies из исходного профиля в {{count}} выбранный профиль.", "dialogDescription_other": "Копировать cookies из исходного профиля в {{count}} выбранных профилей.", "sourceProfile": "Исходный профиль", "sourcePlaceholder": "Выберите профиль для копирования cookies", "running": "(запущен)", "targetProfiles": "Целевые профили ({{count}})", "noOtherTargets": "Других выбранных Wayfern/Camoufox профилей нет", "selectSourceFirst": "Сначала выберите исходный профиль", "selectionStatus": "(выбрано {{selected}} из {{total}})", "searchPlaceholder": "Поиск доменов или cookies...", "noMatching": "Совпадающие cookies не найдены", "noFound": "Cookies не найдены", "replaceNote": "Существующие cookies с тем же именем и доменом будут заменены. Остальные cookies сохранятся.", "cannotCopyRunningOne": "Не удается скопировать cookies: {{names}} еще запущен", "cannotCopyRunningMany": "Не удается скопировать cookies: {{names}} еще запущены", "someErrors": "Произошли ошибки: {{errors}}", "successMessage": "Скопировано {{copied}} cookies ({{replaced}} заменено)", "failedMessage": "Не удалось скопировать cookies: {{error}}", "copyButton_one": "Скопировать {{count}} cookie", "copyButton_other": "Скопировать {{count}} cookies", "copyButtonEmpty": "Скопировать cookies" }, "success": "Cookie успешно скопированы", "error": "Ошибка копирования cookie", "management": { "title": "Управление Cookies", "menuItem": "Управление Cookies", "tabImport": "Импорт", "tabExport": "Экспорт", "importDescription": "Импортируйте cookies из файла в формате Netscape или JSON.", "dropPrompt": "Нажмите, чтобы выбрать файл cookies", "fileFormats": "(.txt, .cookies или .json)", "cookiesFound": "Найдено cookies: {{count}}", "importedSuccess": "Импортировано {{imported}} cookies ({{replaced}} заменено)", "linesSkipped": "Пропущено строк: {{count}}", "fileReadError": "Не удалось прочитать файл", "loadFailed": "Не удалось загрузить cookies: {{error}}", "cookiesLabel": "Cookies", "selectionStatus": "(выбрано {{selected}} из {{total}})", "selectAll": "Выбрать все", "deselectAll": "Снять выбор", "noCookies": "Cookies в этом профиле не найдены", "doneButton": "Готово", "importButton": "Импорт", "exportButton": "Экспорт", "backButton": "Назад" }, "import": { "title": "Импорт Cookies", "description": "Импорт cookies из файла в формате Netscape или JSON.", "selectFile": "Выбрать файл", "preview": "Найдено {{count}} cookies", "success": "Успешно импортировано {{imported}} cookies ({{replaced}} заменено)", "error": "Ошибка импорта cookies", "proFeature": "Импорт cookies — функция Pro" }, "export": { "title": "Экспорт Cookies", "description": "Экспорт cookies из этого профиля.", "formatLabel": "Формат", "netscape": "Netscape TXT", "json": "JSON", "success": "Cookies успешно экспортированы", "error": "Ошибка экспорта cookies" } }, "toasts": { "success": { "profileCreated": "Профиль успешно создан", "profileDeleted": "Профиль успешно удалён", "profileUpdated": "Профиль успешно обновлён", "profileLaunched": "Профиль успешно запущен", "proxyCreated": "Прокси успешно создан", "proxyDeleted": "Прокси успешно удалён", "proxyUpdated": "Прокси успешно обновлён", "groupCreated": "Группа успешно создана", "groupDeleted": "Группа успешно удалена", "groupUpdated": "Группа успешно обновлена", "settingsSaved": "Настройки успешно сохранены", "copied": "Скопировано в буфер обмена", "permissionRequested": "Запрошен доступ к {{permission}}", "downloadComplete": "{{browser}} {{version}} успешно загружен!", "importSuccess": "Успешно импортировано {{count}} элементов", "exportSuccess": "Успешно экспортировано {{count}} элементов", "syncSuccess": "Синхронизация успешно завершена", "profileSynced": "Профиль '{{name}}' успешно синхронизирован", "cacheCleared": "Кэш успешно очищен" }, "error": { "profileCreateFailed": "Ошибка создания профиля", "profileDeleteFailed": "Ошибка удаления профиля", "profileUpdateFailed": "Ошибка обновления профиля", "profileLaunchFailed": "Ошибка запуска профиля", "proxyCreateFailed": "Ошибка создания прокси", "proxyDeleteFailed": "Ошибка удаления прокси", "proxyUpdateFailed": "Ошибка обновления прокси", "groupCreateFailed": "Ошибка создания группы", "groupDeleteFailed": "Ошибка удаления группы", "groupUpdateFailed": "Ошибка обновления группы", "settingsSaveFailed": "Ошибка сохранения настроек", "copyFailed": "Ошибка копирования в буфер обмена", "downloadFailed": "Ошибка загрузки {{browser}}", "importFailed": "Ошибка импорта", "exportFailed": "Ошибка экспорта", "syncFailed": "Ошибка синхронизации", "profileSyncFailed": "Ошибка синхронизации профиля '{{name}}'", "cacheClearFailed": "Ошибка очистки кэша", "unknown": "Произошла неизвестная ошибка" }, "loading": { "downloading": "Загрузка {{browser}} {{version}}", "extracting": "Распаковка {{browser}} {{version}}", "verifying": "Проверка {{browser}} {{version}}", "syncing": "Синхронизация...", "syncingProfile": "Синхронизация профиля '{{name}}'...", "syncingProfileWithProgress": "{{count}} файлов ({{size}})", "updatingVersions": "Обновление версий браузеров..." } }, "errors": { "required": "Это поле обязательно", "invalidUrl": "Введите корректный URL", "invalidPort": "Введите корректный номер порта (1-65535)", "invalidEmail": "Введите корректный адрес электронной почты", "minLength": "Минимум {{min}} символов", "maxLength": "Максимум {{max}} символов", "networkError": "Сетевая ошибка. Проверьте подключение.", "serverError": "Ошибка сервера. Попробуйте позже.", "unknownError": "Произошла неизвестная ошибка. Попробуйте снова.", "noProfilesForUrl": "Нет доступных профилей. Сначала создайте профиль, прежде чем открывать URL.", "updateCamoufoxConfigFailed": "Не удалось обновить настройки camoufox: {{error}}", "updateWayfernConfigFailed": "Не удалось обновить настройки wayfern: {{error}}", "createProfileFailed": "Не удалось создать профиль: {{error}}", "launchBrowserFailed": "Не удалось запустить браузер: {{error}}", "cannotDeleteRunningProfile": "Невозможно удалить профиль, пока браузер запущен. Сначала остановите браузер.", "deleteProfileFailed": "Не удалось удалить профиль: {{error}}", "renameProfileFailed": "Не удалось переименовать профиль: {{error}}", "killBrowserFailed": "Не удалось остановить браузер: {{error}}", "deleteSelectedProfilesFailed": "Не удалось удалить выбранные профили: {{error}}", "cookieCopyUnsupportedBrowser": "Копирование cookies работает только с профилями Wayfern и Camoufox", "updateSyncSettingsFailed": "Не удалось обновить параметры синхронизации", "cloneProfileFailed": "Не удалось клонировать профиль: {{error}}", "loadSupportedBrowsersFailed": "Не удалось загрузить поддерживаемые браузеры", "setupExtensionListenersFailed": "Не удалось настроить слушатели событий расширений: {{error}}", "loadGroupsFailed": "Не удалось загрузить группы: {{error}}", "setupGroupListenersFailed": "Не удалось настроить слушатели событий групп: {{error}}", "loadProfilesFailed": "Не удалось загрузить профили: {{error}}", "setupProfileListenersFailed": "Не удалось настроить слушатели событий профилей: {{error}}", "loadProxiesFailed": "Не удалось загрузить прокси: {{error}}", "setupProxyListenersFailed": "Не удалось настроить слушатели событий прокси: {{error}}", "loadVpnConfigsFailed": "Не удалось загрузить конфигурации VPN: {{error}}", "setupVpnListenersFailed": "Не удалось настроить слушатели событий VPN: {{error}}", "themeNotFound": "Тема Tokyo Night не найдена", "setProfilePasswordFailed": "Не удалось установить пароль профиля: {{error}}" }, "browser": { "camoufox": "Camoufox", "wayfern": "Wayfern" }, "fingerprint": { "crossOsWarning": "Подмена отпечатка для другой операционной системы менее надёжна, так как невозможно идеально имитировать все базовые компоненты. Используйте с осторожностью.", "crossOsLimitations": "Подмена отпечатка другой ОС имеет ограничения. Системные API могут по-прежнему отражать вашу реальную операционную систему, а некоторые функции могут работать с пониженной производительностью.", "osLabel": "Отпечаток операционной системы", "selectOSPlaceholder": "Выберите операционную систему", "generateRandomOnLaunch": "Генерировать случайный отпечаток при каждом запуске", "generateRandomDescription": "При включении новый отпечаток будет генерироваться при каждом запуске браузера.", "generateRandomDescriptionAuto": "При включении новый отпечаток будет генерироваться при каждом запуске браузера. Сгенерированный отпечаток сохраняется для справки.", "autoLocationDescription": "Автоматически настраивать информацию о местоположении на основе конфигурации прокси или вашего соединения, если прокси не указан", "editingDisabledRunning": "Редактирование отпечатка отключено, так как профиль в данный момент запущен. Остановите профиль для внесения изменений.", "editingDisabledRandomized": "Редактирование отпечатка отключено, так как включена генерация случайного отпечатка. Отключите опцию выше для ручного редактирования конфигурации отпечатка.", "advancedWarning": "Внимание: редактируйте эти параметры только если вы знаете, что делаете. Неправильные значения могут нарушить работу сайтов, привести к вашему обнаружению и вызвать трудноотлаживаемые ошибки.", "basicWarning": "Внимание: редактируйте эти параметры только если вы знаете, что делаете.", "automatic": "Автоматически", "manual": "Вручную", "blockingOptions": "Параметры блокировки", "blockImages": "Блокировать изображения", "blockWebRTC": "Блокировать WebRTC", "blockWebGL": "Блокировать WebGL", "navigatorProperties": "Свойства Navigator", "userAgent": "User Agent", "userAgentAndPlatform": "User Agent и платформа", "platform": "Платформа", "platformVersion": "Версия платформы", "appVersion": "Версия приложения", "osCpu": "ЦП ОС", "hardwareConcurrency": "Количество потоков процессора", "maxTouchPoints": "Максимальное количество точек касания", "doNotTrack": "Не отслеживать", "selectDntPlaceholder": "Выберите значение DNT", "dntAllowed": "0 (отслеживание разрешено)", "dntNotAllowed": "1 (отслеживание не разрешено)", "dntUnspecified": "не указано", "language": "Язык", "primaryLanguage": "Основной язык (navigator.language)", "languages": "Языки (JSON-массив)", "languageAndLocale": "Язык и локаль", "screenProperties": "Свойства экрана", "screenWidth": "Ширина экрана", "screenHeight": "Высота экрана", "availableWidth": "Доступная ширина", "availableHeight": "Доступная высота", "colorDepth": "Глубина цвета", "pixelDepth": "Глубина пикселей", "devicePixelRatio": "Соотношение пикселей устройства", "windowProperties": "Свойства окна", "outerWidth": "Внешняя ширина", "outerHeight": "Внешняя высота", "innerWidth": "Внутренняя ширина", "innerHeight": "Внутренняя высота", "screenX": "Экран X", "screenY": "Экран Y", "geolocation": "Геолокация", "timezoneAndGeolocation": "Часовой пояс и геолокация", "timezoneGeolocationDescription": "Эти значения переопределяют API часового пояса и геолокации браузера.", "latitude": "Широта", "longitude": "Долгота", "timezone": "Часовой пояс", "timezoneIana": "Часовой пояс (IANA)", "timezoneOffset": "Смещение (минуты от UTC)", "accuracy": "Точность (метры)", "locale": "Локаль", "region": "Регион", "script": "Скрипт", "webglProperties": "Свойства WebGL", "webglVendor": "Производитель WebGL", "webglRenderer": "Рендерер WebGL", "webglParameters": "Параметры WebGL", "webglParametersJson": "Параметры WebGL (JSON)", "webgl2Parameters": "Параметры WebGL2", "webglShaderPrecisionFormats": "Форматы точности шейдера WebGL", "webgl2ShaderPrecisionFormats": "Форматы точности шейдера WebGL2", "canvasFingerprint": "Отпечаток Canvas", "canvasNoiseSeed": "Сид шума Canvas", "canvasNoiseSeedDescription": "Это зерно используется для генерации постоянного, но уникального отпечатка Canvas. У каждого профиля должно быть своё зерно.", "fonts": "Шрифты", "fontsJson": "Шрифты (JSON-массив)", "battery": "Батарея", "charging": "Зарядка", "chargingTime": "Время зарядки", "dischargingTime": "Время разрядки", "batteryLevel": "Уровень (0-1)", "screenResolution": "Разрешение экрана", "maxWidth": "Макс. ширина", "maxHeight": "Макс. высота", "minWidth": "Мин. ширина", "minHeight": "Мин. высота", "hardwareProperties": "Свойства оборудования", "deviceMemory": "Память устройства (ГБ)", "audioProperties": "Свойства аудио", "sampleRate": "Частота дискретизации", "maxChannelCount": "Максимальное количество каналов", "vendorInfo": "Информация о производителе", "vendor": "Производитель", "vendorSub": "Подверсия производителя", "productSub": "Подверсия продукта", "brand": "Бренд", "brandVersion": "Версия бренда", "proFeature": "Это функция Pro", "generateFingerprint": "Сгенерировать отпечаток", "refreshFingerprint": "Обновить отпечаток", "canvasNoiseSeedPlaceholder": "Введите строку-семя для отпечатка canvas", "addFontsPlaceholder": "Добавить шрифты...", "enterAsJson": "Введите {{title}} в формате JSON" }, "warnings": { "windowResizeTitle": "Пользовательские размеры окна", "windowResizeDescription": "Изменение размеров окна браузера может повысить вероятность обнаружения сайтами того, что информация браузера подменена.", "windowResizeCamoufoxTitle": "Viewport заблокирован Camoufox", "windowResizeCamoufoxDescription": "Camoufox блокирует viewport на подменённых размерах экрана для защиты от фингерпринтинга. Изменение размера окна может вызвать обрезанные или серые области. Это ожидаемое поведение.", "dontShowAgain": "Больше не показывать", "continue": "Продолжить", "cancel": "Отмена" }, "syncAll": { "title": "Включить синхронизацию для существующих элементов", "description": "У вас есть элементы, которые не синхронизируются. Хотите включить синхронизацию для всех?", "itemsList": "Несинхронизированные элементы: {{items}}", "proxies": "{{count}} прокси", "proxies_plural": "{{count}} прокси", "groups": "{{count}} группа", "groups_plural": "{{count}} групп", "vpns": "{{count}} VPN", "vpns_plural": "{{count}} VPN", "enableAll": "Включить все", "skip": "Пропустить", "success": "Синхронизация включена для всех элементов" }, "crossOs": { "viewOnly": "Этот профиль был создан на {{os}} и не поддерживается в этой системе", "cannotLaunch": "Этот профиль был создан на {{os}} и не поддерживается в этой системе", "cannotModify": "Невозможно изменить настройки синхронизации профиля другой ОС" }, "profileInfo": { "title": "Детали профиля", "tabs": { "info": "Информация", "settings": "Настройки" }, "fields": { "profileId": "ID профиля", "browser": "Браузер", "releaseType": "Тип релиза", "proxyVpn": "Прокси / VPN", "launchHook": "Хук запуска", "group": "Группа", "tags": "Теги", "note": "Заметка", "syncStatus": "Статус синхронизации", "lastLaunched": "Последний запуск", "hostOs": "ОС хоста", "ephemeral": "Эфемерный", "extensionGroup": "Группа расширений" }, "values": { "none": "Нет", "never": "Никогда", "copied": "Скопировано!", "yes": "Да" }, "network": { "bypassRules": "Правила обхода прокси", "bypassRulesTitle": "Правила обхода прокси", "bypassRulesDescription": "Запросы, соответствующие этим правилам, будут подключаться напрямую, минуя прокси.", "addRule": "Добавить правило", "rulePlaceholder": "напр. example.com, 192.168.1.*, .*\\.local", "noRules": "Правила обхода не настроены.", "ruleTypes": "Поддерживает имена хостов, IP-адреса и шаблоны регулярных выражений." }, "launchHook": { "title": "URL хука запуска", "label": "URL хука запуска", "description": "Donut Browser будет отправлять POST-запрос на этот URL при каждом запуске профиля.", "placeholder": "https://example.com/hooks/profile-launch" }, "actions": { "manageCookies": "Управление Cookie", "assignExtensionGroup": "Назначить группу расширений" }, "clone": { "title": "Клонировать профиль", "description": "Введите имя для клонированного профиля", "namePlaceholder": "Имя профиля", "button": "Клонировать" } }, "extensions": { "title": "Расширения", "description": "Управляйте расширениями браузера и группами расширений для ваших профилей.", "upload": "Загрузить", "delete": "Удалить", "extensionsTab": "Расширения", "groupsTab": "Группы", "managedNotice": "Расширения, управляемые здесь, заменят все вручную установленные расширения в профилях при запуске.", "proRequired": "Управление расширениями — функция Pro", "empty": "Расширения ещё не загружены.", "noGroups": "Группы расширений ещё не созданы.", "createGroup": "Создать группу", "addToGroup": "Добавить расширение...", "removeFromGroup": "Удалить из группы", "deleteGroup": "Удалить группу", "extensionGroup": "Группа расширений", "compatibility": { "label": "Совместимость", "chromium": "Chromium", "firefox": "Firefox", "both": "Chromium и Firefox" }, "selectedFile": "Выбранный файл", "namePlaceholder": "Название расширения", "groupNamePlaceholder": "Название группы", "uploadSuccess": "Расширение успешно загружено", "deleteSuccess": "Расширение успешно удалено", "groupCreateSuccess": "Группа расширений успешно создана", "groupUpdateSuccess": "Группа расширений успешно обновлена", "groupDeleteSuccess": "Группа расширений успешно удалена", "deleteConfirmTitle": "Удалить расширение", "deleteConfirmDescription": "Вы уверены, что хотите удалить «{{name}}»? Это действие нельзя отменить.", "deleteGroupConfirmTitle": "Удалить группу расширений", "deleteGroupConfirmDescription": "Вы уверены, что хотите удалить группу «{{name}}»? Это действие нельзя отменить.", "invalidFileType": "Недопустимый тип файла. Загрузите файл .crx, .xpi или .zip.", "readError": "Не удалось прочитать файл расширения.", "assignTitle": "Назначить группу расширений", "assignDescription": "Назначить {{count}} выбранных профилей в группу расширений.", "noGroup": "Нет (Без группы расширений)", "assignSuccess": "Группа расширений успешно назначена", "editExtension": "Редактировать расширение", "updateSuccess": "Расширение успешно обновлено", "reupload": "Загрузить заново", "version": "Версия", "author": "Автор", "homepage": "Домашняя страница", "editGroup": "Редактировать группу", "editGroupDescription": "Обновите название группы и управляйте включёнными расширениями.", "groupExtensions": "Расширения в этой группе", "noExtensionsInGroup": "Расширения ещё не добавлены", "editExtensionDescription": "Обновите имя расширения, просмотрите метаданные или загрузите файл расширения повторно.", "metadata": "Метаданные", "noMetadata": "Метаданные из манифеста недоступны.", "selectFile": "Выбрать файл", "syncEnabled": "Синхронизация включена", "syncDisabled": "Синхронизация отключена", "syncEnableTooltip": "Включить синхронизацию", "syncDisableTooltip": "Отключить синхронизацию", "loadGroupsFailed": "Не удалось загрузить группы расширений", "assignGroupFailed": "Не удалось назначить группу расширений" }, "pro": { "badge": "PRO", "fingerprintLocked": "Редактирование отпечатка — функция Pro", "cookieCopyLocked": "Копирование cookies — функция Pro", "cookieImportLocked": "Импорт cookies — функция Pro", "cookieExportLocked": "Экспорт cookies — функция Pro", "cookieManagementLocked": "Управление cookies — функция Pro" }, "dnsBlocklist": { "title": "Список блокировки DNS", "none": "Нет", "light": "Лёгкий", "normal": "Обычный", "pro": "Pro", "proPlus": "Pro++", "ultimate": "Максимум", "settingsDescription": "Списки блокировки DNS блокируют рекламу, трекеры и вредоносные домены на уровне прокси. Списки автоматически обновляются каждые 12 часов.", "manageLists": "Управление списками блокировки DNS", "refreshAll": "Обновить все списки", "refreshFailed": "Не удалось обновить списки блокировки DNS", "domains": "доменов", "fresh": "Актуальный", "stale": "Устаревший", "notCached": "Не кэшировано" }, "vpns": { "form": { "titleEdit": "Изменить VPN", "titleCreate": "Создать VPN WireGuard", "descEdit": "Обновите имя конфигурации VPN.", "descCreate": "Укажите параметры интерфейса WireGuard и пира.", "name": "Имя", "namePlaceholder": "напр. Домашний WireGuard", "privateKey": "Приватный ключ", "privateKeyPlaceholder": "Приватный ключ в Base64", "address": "Адрес", "addressPlaceholder": "напр. 10.0.0.2/24", "dnsOptional": "DNS (необязательно)", "dnsPlaceholder": "напр. 1.1.1.1", "mtuOptional": "MTU (необязательно)", "mtuPlaceholder": "напр. 1420", "peerPublicKey": "Публичный ключ пира", "peerPublicKeyPlaceholder": "Публичный ключ пира в Base64", "peerEndpoint": "Endpoint пира", "peerEndpointPlaceholder": "напр. vpn.example.com:51820", "allowedIps": "Разрешённые IP", "allowedIpsPlaceholder": "напр. 0.0.0.0/0, ::/0", "keepaliveOptional": "Persistent Keepalive (необязательно)", "keepalivePlaceholder": "напр. 25", "presharedKeyOptional": "Preshared Key (необязательно)", "presharedKeyPlaceholder": "Preshared Key в Base64", "updateButton": "Обновить VPN", "createButton": "Создать VPN", "nameRequired": "Имя VPN обязательно", "privateKeyRequired": "Приватный ключ обязателен", "addressRequired": "Адрес обязателен", "peerPublicKeyRequired": "Публичный ключ пира обязателен", "peerEndpointRequired": "Endpoint пира обязателен", "updated": "VPN успешно обновлена", "created": "VPN WireGuard успешно создана", "updateFailed": "Не удалось обновить VPN: {{error}}", "createFailed": "Не удалось создать VPN: {{error}}" }, "import": { "title": "Импорт конфигурации VPN", "descDropzone": "Импортируйте файл конфигурации WireGuard (.conf)", "descPreview": "Проверьте конфигурацию VPN перед импортом", "descResult": "Импорт VPN завершён", "dropzonePrompt": "Перетащите файл .conf WireGuard сюда или нажмите для выбора", "pasteHint": "Вставить из буфера обмена через {{modKey}}+V", "invalidContent": "Содержимое не похоже на валидную конфигурацию VPN", "fileReadError": "Не удалось прочитать файл", "wrongFileType": "Перетащите файл .conf WireGuard", "configurationLabel": "Конфигурация {{type}}", "endpointLabel": "Endpoint: {{endpoint}}", "vpnNameLabel": "Имя VPN", "vpnNamePlaceholder": "Моя VPN", "configPreview": "Предпросмотр конфигурации", "importedSuccess": "VPN успешно импортирована", "importFailed": "Ошибка импорта", "importButton": "Импортировать VPN", "doneButton": "Готово", "failedGeneric": "Не удалось импортировать конфигурацию VPN", "defaultName": "{{type}} VPN" }, "management": { "loading": "Загрузка VPN...", "noneCreated": "Конфигураций VPN еще нет. Импортируйте или создайте одну с помощью кнопок выше.", "editVpn": "Редактировать VPN", "deleteVpn": "Удалить VPN", "cannotDelete_one": "Невозможно удалить: используется {{count}} профилем", "cannotDelete_other": "Невозможно удалить: используется {{count}} профилями", "syncCannotDisable": "Нельзя отключить синхронизацию, пока этот VPN используется синхронизированными профилями", "deleteSuccess": "VPN успешно удален", "deleteFailed": "Не удалось удалить VPN", "deleteTitle": "Удалить VPN", "deleteDescription": "Это действие нельзя отменить. VPN «{{name}}» будет удален навсегда." } }, "importProfile": { "title": "Импорт профиля браузера", "autoDetect": "Автоопределение", "manualImport": "Ручной импорт", "detectedProfilesTitle": "Обнаруженные профили браузера", "scanning": "Поиск профилей браузера...", "noneFound": "На вашей системе профили браузера не найдены.", "noneFoundHint": "Попробуйте ручной импорт, если профили находятся в нестандартных местах.", "selectProfile": "Выбрать профиль:", "selectProfilePlaceholder": "Выберите обнаруженный профиль", "pathLabel": "Путь:", "browserLabel": "Браузер:", "newProfileName": "Имя нового профиля:", "newProfileNamePlaceholder": "Введите имя для импортированного профиля", "manualTitle": "Ручной импорт профиля", "browserType": "Тип браузера:", "loadingBrowsers": "Загрузка браузеров...", "selectBrowserType": "Выберите тип браузера", "profileFolderPath": "Путь к папке профиля:", "profileFolderPlaceholder": "Введите полный путь к папке профиля", "browseFolderTitle": "Выбрать папку", "examplePaths": "Примеры путей:", "selectFolderTitle": "Выберите папку профиля браузера", "folderDialogFailed": "Не удалось открыть диалог выбора папки", "detectFailed": "Не удалось обнаружить существующие профили браузера", "fillFields": "Пожалуйста, заполните все поля", "selectAndName": "Выберите профиль и укажите имя", "profileNotFound": "Выбранный профиль не найден", "importedSuccess": "Профиль «{{name}}» успешно импортирован", "notInstalled": "{{browser}} не установлен. Сначала загрузите {{browser}} из главного окна, затем попробуйте импортировать снова.", "importFailed": "Не удалось импортировать профиль: {{error}}", "proxyOptional": "Прокси (необязательно)", "noProxy": "Без прокси", "nextButton": "Далее", "importButton": "Импорт", "importedAs": "Этот профиль будет импортирован как профиль {{browser}}." }, "syncTooltips": { "syncing": "Синхронизация...", "syncedAt": "Синхронизировано {{time}}", "synced": "Синхронизировано", "waiting": "Ожидание синхронизации", "errorWith": "Ошибка синхронизации: {{error}}", "error": "Ошибка синхронизации", "notSynced": "Не синхронизировано" }, "groupManagement": { "description": "Управляйте группами профилей", "createGroup": "Создать группу", "noGroups": "Групп еще нет. Создайте первую группу, используя кнопку выше.", "loading": "Загрузка групп...", "profileCount_one": "{{count}} профиль", "profileCount_other": "{{count}} профилей", "groupsLabel": "Группы", "profilesCol": "Профили", "syncCannotDisable": "Нельзя отключить синхронизацию, пока эта группа используется синхронизированными профилями", "editGroupTooltip": "Редактировать группу", "deleteGroupTooltip": "Удалить группу", "loadFailed": "Не удалось загрузить группы" }, "proxyAssignment": { "title": "Назначить прокси / VPN", "description_one": "Назначить прокси или VPN для {{count}} выбранного профиля.", "description_other": "Назначить прокси или VPN для {{count}} выбранных профилей.", "selectLabel": "Прокси / VPN", "placeholder": "Выберите прокси или VPN", "noProxy": "Без прокси / VPN", "searchPlaceholder": "Поиск прокси или VPN...", "notFound": "Прокси или VPN не найдены.", "assignButton": "Назначить", "success": "Прокси/VPN назначен {{count}} профилю(ям)", "failed": "Не удалось назначить прокси/VPN", "selectedProfilesLabel": "Выбранные профили:", "assignProxyVpnLabel": "Назначить прокси / VPN:", "noneOption": "Нет", "noValidProfiles": "Нет выбранных допустимых профилей.", "vpnGroupHeading": "VPN", "failedFallback": "Не удалось назначить прокси/VPN профилям" }, "groupAssignment": { "title": "Назначить группу", "description_one": "Назначить группу для {{count}} выбранного профиля.", "description_other": "Назначить группу для {{count}} выбранных профилей.", "selectLabel": "Группа", "placeholder": "Выберите группу", "noGroup": "Без группы (по умолчанию)", "assignButton": "Назначить", "success": "Группа назначена {{count}} профилю(ям)", "failed": "Не удалось назначить группу", "selectedProfilesLabel": "Выбранные профили:", "assignGroupLabel": "Назначить группу:", "noValidProfiles": "Нет выбранных допустимых профилей.", "failedFallback": "Не удалось назначить группу профилям" }, "profileSelector": { "title": "Выбрать профиль", "description": "Выберите профиль для запуска с этим URL", "searchPlaceholder": "Поиск профилей...", "noProfiles": "Нет доступных профилей", "noResults": "Профили не найдены", "selectButton": "Выбрать", "launching": "Запуск...", "chooseProfileTitle": "Выбрать профиль", "openingUrl": "Открытие URL:", "urlCopied": "URL скопирован в буфер обмена!", "selectProfileLabel": "Выберите профиль:", "noneAvailableShort": "Профили недоступны. Сначала создайте профиль.", "noneAvailableLong": "Закройте этот диалог и создайте профиль из главного окна, чтобы начать.", "chooseAProfile": "Выберите профиль", "badgeProxy": "Прокси", "badgeRunning": "Запущен", "badgeUnavailable": "Недоступен", "openButton": "Открыть" }, "locationProxy": { "title": "Быстрый прокси по местоположению", "description": "Выберите страну для маршрутизации этого профиля. Прокси будет создан автоматически.", "country": "Страна", "selectCountry": "Выберите страну", "searchCountry": "Поиск страны...", "noCountriesFound": "Страны не найдены.", "apply": "Применить", "creating": "Создание прокси...", "success": "Прокси местоположения применен", "failed": "Не удалось применить прокси местоположения", "titleCreate": "Создать прокси по местоположению", "descriptionCreate": "Создайте гео-прокси с 24-часовой сессией", "countryLabel": "Страна (обязательно)", "regionLabel": "Регион (необязательно)", "cityLabel": "Город (необязательно)", "ispLabel": "Провайдер (необязательно)", "nameLabel": "Имя", "namePlaceholder": "Имя прокси", "loadingCountries": "Загрузка стран...", "selectCountryPh": "Выберите страну", "searchCountries": "Поиск стран...", "loadFailed": "Не удалось загрузить страны", "selectCountryFirst": "Сначала выберите страну", "loadingRegions": "Загрузка регионов...", "noRegions": "Нет доступных регионов", "selectRegion": "Выберите регион", "searchRegions": "Поиск регионов...", "loadingCities": "Загрузка городов...", "noCities": "Нет доступных городов", "selectCity": "Выберите город", "searchCities": "Поиск городов...", "loadingIsps": "Загрузка провайдеров...", "noIsps": "Нет доступных провайдеров", "selectIsp": "Выберите провайдера", "searchIsps": "Поиск провайдеров...", "createSuccess": "Прокси местоположения создан", "createFailed": "Не удалось создать прокси местоположения", "creatingButton": "Создание...", "createButton": "Создать" }, "launchOnLogin": { "title": "Запускать при входе?", "description": "Работа в фоновом режиме помогает поддерживать прокси и браузеры активными.", "declineButton": "Больше не спрашивать", "declining": "...", "enableButton": "Включить", "enableSuccess": "Запуск при входе включен", "enableFailed": "Не удалось включить запуск при входе", "declineFailed": "Не удалось сохранить настройку", "tryAgain": "Пожалуйста, попробуйте снова" }, "wayfernTerms": { "title": "Условия использования Wayfern", "description": "Прежде чем использовать Donut Browser, необходимо прочитать и согласиться с Условиями использования Wayfern.", "reviewLabel": "Пожалуйста, ознакомьтесь с Условиями использования по адресу:", "agreeNotice": "Нажимая «Я принимаю», вы соглашаетесь с этими условиями.", "acceptButton": "Я принимаю", "acceptSuccess": "Условия успешно приняты", "acceptFailed": "Не удалось принять условия", "tryAgain": "Пожалуйста, попробуйте снова" }, "commercialTrial": { "title": "Срок коммерческой пробной версии истёк", "description": "Ваш 2-недельный коммерческий пробный период закончился.", "body": "Если вы используете Donut Browser в коммерческих целях, для продолжения вам нужно приобрести коммерческую лицензию. Вы можете продолжать использовать его бесплатно для личных целей.", "understandButton": "Понятно", "failed": "Не удалось сохранить подтверждение", "tryAgain": "Пожалуйста, попробуйте снова" }, "permissionDialog": { "titleMicrophone": "Требуется доступ к микрофону", "titleCamera": "Требуется доступ к камере", "descMicrophone": "Donut Browser нужен доступ к вашему микрофону, чтобы включить функциональность микрофона в браузерах. Каждый сайт, который захочет использовать ваш микрофон, всё равно запросит разрешение отдельно.", "descCamera": "Donut Browser нужен доступ к вашей камере, чтобы включить функциональность камеры в браузерах. Каждый сайт, который захочет использовать вашу камеру, всё равно запросит разрешение отдельно.", "grantedMicrophone": "Разрешение предоставлено! Браузеры, запущенные через Donut Browser, теперь могут получить доступ к вашему микрофону.", "grantedCamera": "Разрешение предоставлено! Браузеры, запущенные через Donut Browser, теперь могут получить доступ к вашей камере.", "notGrantedMicrophone": "Разрешение не предоставлено. Нажмите кнопку ниже, чтобы запросить доступ к микрофону.", "notGrantedCamera": "Разрешение не предоставлено. Нажмите кнопку ниже, чтобы запросить доступ к камере.", "doneButton": "Готово", "cancelButton": "Отмена", "grantAccessButton": "Предоставить доступ", "requestSuccessMicrophone": "Запрошен доступ к микрофону", "requestSuccessCamera": "Запрошен доступ к камере", "requestFailed": "Не удалось запросить разрешение", "stillNotGrantedMicrophone": "Доступ к микрофону всё ещё не предоставлен. Возможно, потребуется включить его вручную в Системных настройках → Конфиденциальность и безопасность → Микрофон.", "stillNotGrantedCamera": "Доступ к камере всё ещё не предоставлен. Возможно, потребуется включить его вручную в Системных настройках → Конфиденциальность и безопасность → Камера.", "grantedToastMicrophone": "Доступ к микрофону предоставлен", "grantedToastCamera": "Доступ к камере предоставлен" }, "traffic": { "title": "Подробности трафика", "bandwidthOverTime": "Пропускная способность во времени", "timePeriodPlaceholder": "Период", "last1m": "Последняя 1 мин", "last5m": "Последние 5 мин", "last30m": "Последние 30 мин", "last1h": "Последний час", "last2h": "Последние 2 часа", "last4h": "Последние 4 часа", "last1d": "Последний день", "last7d": "Последние 7 дней", "last30d": "Последние 30 дней", "allTime": "Всё время", "allTimeShort": "всё время", "totalSuffix": "всего", "sentLabel": "Отправлено ({{period}})", "receivedLabel": "Получено ({{period}})", "requestsLabel": "Запросы ({{period}})", "allTimeTraffic": "Трафик за всё время:", "allTimeRequests": "Запросов за всё время:", "proxyDisclaimer": "Примечание: если вы используете прокси, VPN или подобный сервис, ваш провайдер может рассчитывать трафик иначе из-за накладных расходов на шифрование и протокольных различий.", "topByTraffic": "Главные домены по трафику ({{period}})", "topByRequests": "Главные домены по запросам ({{period}})", "columnDomain": "Домен", "columnRequests": "Запросы", "columnSent": "Отправлено", "columnReceived": "Получено", "columnTotal": "Всего трафика", "uniqueIps": "Уникальные IP ({{count}})", "noData": "Нет данных о трафике для этого профиля.", "noDataHint": "Данные о трафике появятся после запуска профиля.", "sentLegend": "Отправлено", "receivedLegend": "Получено", "tooltipSent": "↑ Отправлено: ", "tooltipReceived": "↓ Получено: " }, "camoufoxDialog": { "titleView": "Просмотр настроек отпечатка - {{name}} ({{browser}})", "titleConfigure": "Настроить отпечаток - {{name}} ({{browser}})", "invalidFingerprint": "Неверная конфигурация отпечатка", "invalidFingerprintDescription": "Конфигурация отпечатка содержит недопустимый JSON. Проверьте расширенные настройки.", "saveFailed": "Не удалось сохранить конфигурацию", "unknownError": "Произошла неизвестная ошибка" }, "proxyCheck": { "unknownLocation": "Неизвестно", "locationToast": "Местоположение вашего прокси:", "failed": "Не удалось проверить прокси: {{error}}", "tooltipChecking": "Проверка прокси...", "tooltipIp": "IP: {{ip}}", "tooltipChecked": "Проверено {{time}}", "tooltipFailed": "Ошибка {{time}}", "tooltipFailedTitle": "Не удалось проверить прокси", "tooltipDefault": "Проверить прокси" }, "vpnCheck": { "valid": "Конфигурация VPN «{{name}}» действительна", "invalid": "Конфигурация VPN «{{name}}» недействительна", "failed": "Не удалось проверить VPN: {{error}}", "tooltipChecking": "Проверка конфигурации VPN...", "tooltipValid": "Конфигурация валидна", "tooltipInvalid": "Конфигурация невалидна", "tooltipChecked": "Проверено {{time}}", "tooltipDefault": "Проверить конфигурацию VPN" }, "profileTable": { "syncTooltipDisabled": "Синхронизация отключена", "syncTooltipSyncing": "Синхронизация...", "syncTooltipSyncedAt": "Синхронизировано {{time}}", "syncTooltipSynced": "Синхронизировано", "syncTooltipWaiting": "Ожидание синхронизации", "syncTooltipErrorWith": "Ошибка синхронизации: {{error}}", "syncTooltipError": "Ошибка синхронизации", "syncTooltipNotSynced": "Не синхронизировано", "noTags": "Нет тегов", "syncTooltipCloseToSync": "Закройте профиль для синхронизации", "syncTooltipDisabledWithLast": "Синхронизация отключена, последняя синхронизация {{time}}", "addTagsPlaceholder": "Добавить теги", "tagsHeader": "Теги", "noteHeader": "Заметка", "vpnsHeading": "VPN", "createByCountryHeading": "Создать по стране" }, "releaseTypeSelector": { "noReleaseTypes": "Нет доступных типов выпусков.", "placeholder": "Выберите тип выпуска...", "stable": "Стабильный", "nightly": "Nightly", "downloaded": "Загружено", "downloadBrowser": "Загрузить браузер", "downloading": "Загрузка..." }, "dataTableActionBar": { "selected": "Выбрано: {{count}}", "clearSelection": "Очистить выбор" }, "appUpdate": { "toast": { "updateFailed": "Не удалось обновить Donut Browser", "restartFailed": "Не удалось перезапустить", "updateReady": "Обновление готово, перезапустите для применения", "manualDownloadRequired": "Требуется ручная загрузка", "restartNow": "Перезапустить сейчас", "viewRelease": "Посмотреть релиз", "later": "Позже", "uploading": "Загрузка", "downloading": "Скачивание" } }, "browserDownload": { "toast": { "fetchVersionsFailed": "Не удалось получить версии {{browser}}", "foundNewVersions": "Найдено {{count}} новых версий {{browser}}!", "totalAvailableVersions": "Всего доступно: {{count}} версий", "downloadFailed": "Не удалось загрузить {{browser}} {{version}}", "calculating": "вычисление...", "extractionFailed": "{{browser}} {{version}}: ошибка распаковки", "extractionFailedDescription": "Повреждённый файл удалён. Он будет повторно загружен при следующей попытке.", "extracting": "Распаковка файлов браузера... Не закрывайте приложение.", "verifying": "Проверка файлов браузера...", "downloadingRolling": "Загрузка rolling release сборки..." } }, "versionUpdater": { "toast": { "alreadyAvailable": "{{browser}} {{version}} уже доступна", "updatingProfiles": "Обновление настроек профилей...", "updateCompleted": "Обновление {{browser}} завершено", "singleProfileUpdated": "Профиль «{{name}}» обновлён до версии {{version}}. Теперь можно запускать браузеры с последней версией.", "multipleProfilesUpdated": "{{count}} профилей обновлены до версии {{version}}. Теперь можно запускать браузеры с последней версией.", "versionAvailable": "Версия {{version}} теперь доступна. Запущенные профили начнут использовать новую версию после перезапуска.", "autoUpdateFailed": "Не удалось автоматически обновить {{browser}}", "updateWithErrors": "Обновление завершено с ошибками", "updateWithErrorsDescription": "Найдено {{newVersions}} новых версий, {{failedUpdates}} браузеров не удалось обновить", "updateSuccess": "Версии браузеров успешно обновлены", "updateSuccessDescription": "Найдено {{newVersions}} новых версий для {{successfulUpdates}} браузеров. Автоматическая загрузка начнётся в ближайшее время.", "upToDate": "Новых версий браузеров не найдено", "upToDateDescription": "Все версии браузеров актуальны", "updateAllFailed": "Не удалось обновить версии браузеров" } }, "profilePassword": { "set": { "title": "Установить пароль профиля", "description": "Шифрует данные {{name}} на диске. Этот пароль потребуется при каждом запуске профиля.", "button": "Зашифровать профиль" }, "unlock": { "title": "Разблокировать профиль", "description": "Введите пароль, чтобы разблокировать {{name}}.", "button": "Разблокировать" }, "change": { "title": "Изменить пароль профиля", "description": "Перезашифровать {{name}} с новым паролем.", "button": "Изменить пароль" }, "remove": { "title": "Удалить пароль профиля", "description": "Расшифровывает данные {{name}} на диске. Профиль больше не будет защищён паролем.", "button": "Удалить пароль" }, "fields": { "password": "Пароль", "currentPassword": "Текущий пароль", "newPassword": "Новый пароль", "confirm": "Подтвердите пароль" }, "errors": { "oldPasswordRequired": "Требуется текущий пароль", "passwordRequired": "Требуется пароль", "tooShort": "Пароль должен быть не короче {{min}} символов", "mismatch": "Пароли не совпадают" }, "toasts": { "set": "Профиль защищён паролем", "changed": "Пароль профиля изменён", "removed": "Пароль профиля удалён" }, "warnings": { "forgetWarningTitle": "Важно: пароль восстановить нельзя", "forgetWarningBody": "Donut Browser не может сбросить, восстановить или обойти этот пароль. Если вы его забудете, доступ к данным этого профиля будет утрачен навсегда." } }, "backendErrors": { "incorrectPassword": "Неверный пароль", "lockedOut": "Слишком много неудачных попыток. Повторите через {{duration}}.", "lockedOutDuration": { "seconds": "{{seconds}}с", "minutes": "{{minutes}} мин", "hours": "{{hours}} ч" }, "profileNotFound": "Профиль не найден", "profileNotProtected": "Профиль не защищён паролем", "profileAlreadyProtected": "Профиль уже защищён паролем", "profileRunning": "Невозможно выполнить это действие, пока профиль запущен", "profileMissingSalt": "У профиля отсутствует соль шифрования", "profileLocked": "Профиль заблокирован. Сначала введите пароль.", "invalidProfileId": "Недействительный идентификатор профиля", "passwordTooShort": "Пароль должен быть не короче {{min}} символов", "internal": "Что-то пошло не так: {{detail}}" } }