{ "common": { "login": "Войти", "logout": "Выйти", "back": "Назад", "cancel": "Отмена", "confirm": "Подтвердить", "save": "Сохранить", "delete": "Удалить", "edit": "Редактировать", "add": "Добавить", "update": "Обновить", "refresh": "Обновить", "close": "Закрыть", "success": "Успешно", "error": "Ошибка", "info": "Информация", "warning": "Внимание", "loading": "Загрузка...", "connecting": "Подключение...", "connected": "Подключено", "disconnected": "Отключено", "connecting_status": "Подключение", "connected_status": "Подключено", "disconnected_status": "Отключено", "yes": "Да", "no": "Нет", "not_set": "Не задано", "optional": "Необязательно", "required": "Обязательно", "api_key": "Ключ", "base_url": "Адрес", "prefix": "Префикс", "proxy_url": "Прокси", "alias": "Псевдоним", "failure": "Сбой", "unknown_error": "Неизвестная ошибка", "quota_update_required": "Пожалуйста, обновите CPA или проверьте наличие обновлений", "quota_check_credential": "Пожалуйста, проверьте статус учётных данных", "copy": "Копировать", "custom_headers_label": "Пользовательские заголовки", "custom_headers_hint": "Необязательно — HTTP-заголовки для отправки с запросом. Оставьте пустым для удаления.", "custom_headers_add": "Добавить заголовок", "custom_headers_key_placeholder": "Имя заголовка, например X-Custom-Header", "custom_headers_value_placeholder": "Значение заголовка", "model_name_placeholder": "Имя модели, напр. claude-3-5-sonnet-20241022", "model_alias_placeholder": "Псевдоним модели (необязательно)" }, "title": { "main": "Центр управления CLI Proxy API", "login": "Центр управления CLI Proxy API", "abbr": "CPAMC" }, "auto_login": { "title": "Автовход...", "message": "Пытаемся подключиться к серверу, используя сохранённые данные" }, "login": { "subtitle": "Введите данные подключения, чтобы получить доступ к панели управления", "connection_title": "Адрес подключения", "connection_current": "Текущий URL", "connection_auto_hint": "Система автоматически использует текущий URL для подключения", "custom_connection_label": "Пользовательский URL подключения:", "custom_connection_placeholder": "Напр.: https://example.com:8317", "custom_connection_hint": "По умолчанию используется текущий URL. При необходимости замените его.", "use_current_address": "Использовать текущий URL", "remember_password_label": "Запомнить пароль", "management_key_label": "Ключ управления:", "management_key_placeholder": "Введите ключ управления", "connect_button": "Подключиться", "submit_button": "Войти", "submitting": "Подключение...", "error_title": "Ошибка входа", "error_required": "Пожалуйста, заполните все данные подключения", "error_invalid": "Подключение не удалось, проверьте адрес и ключ", "error_network": "Сетевая ошибка, проверьте подключение или адрес сервера", "error_timeout": "Время ожидания истекло, сервер не отвечает", "error_unauthorized": "Аутентификация не удалась, неверный ключ управления", "error_forbidden": "Доступ запрещён, недостаточно прав", "error_not_found": "Неверный адрес сервера или интерфейс управления не включён", "error_server": "Внутренняя ошибка сервера, попробуйте позже", "error_cors": "Блокировка CORS, проверьте конфигурацию сервера", "error_ssl": "Ошибка проверки SSL/TLS сертификата" }, "header": { "check_connection": "Проверить подключение", "refresh_all": "Обновить всё", "logout": "Выйти" }, "connection": { "title": "Информация о подключении", "server_address": "Адрес сервера:", "management_key": "Ключ управления:", "status": "Статус подключения:" }, "nav": { "dashboard": "Панель", "basic_settings": "Основные настройки", "api_keys": "API ключи", "ai_providers": "Поставщики AI", "auth_files": "Файлы аутентификации", "oauth": "OAuth вход", "quota_management": "Управление квотами", "usage_stats": "Статистика использования", "config_management": "Панель конфигурации", "logs": "Просмотр логов", "system_info": "Информация системы" }, "dashboard": { "title": "Панель управления", "subtitle": "Добро пожаловать в Центр управления CLI Proxy API", "openai_providers": "Поставщики OpenAI", "quick_actions": "Быстрые действия", "current_config": "Текущая конфигурация", "management_keys": "Ключи управления", "provider_keys_detail": "G:{{gemini}} C:{{codex}} Cl:{{claude}} O:{{openai}}", "oauth_credentials": "Учётные данные OAuth", "usage_overview": "Обзор использования", "total_requests": "Всего запросов", "total_tokens": "Всего токенов", "rpm_30min": "RPM (30 мин)", "tpm_30min": "TPM (30 мин)", "models_used": "Используемые модели", "no_usage_data": "Данные об использовании отсутствуют", "view_detailed_usage": "Просмотреть детальную статистику", "edit_settings": "Изменить настройки", "available_models": "Доступные модели", "available_models_desc": "Всего моделей от всех провайдеров" }, "basic_settings": { "title": "Основные настройки", "debug_title": "Режим отладки", "debug_enable": "Включить режим отладки", "proxy_title": "Настройки прокси", "proxy_url_label": "URL прокси:", "proxy_url_placeholder": "например: socks5://user:pass@127.0.0.1:1080/", "proxy_update": "Обновить", "proxy_clear": "Очистить", "retry_title": "Повтор запросов", "retry_count_label": "Количество повторов:", "retry_update": "Обновить", "quota_title": "Поведение при превышении квоты", "quota_switch_project": "Автоматически переключать проект", "quota_switch_preview": "Переключаться на preview-модель", "usage_statistics_title": "Статистика использования", "usage_statistics_enable": "Включить статистику использования", "logging_title": "Журналирование", "logging_to_file_enable": "Включить журналирование в файл", "logs_max_total_size_title": "Лимит размера журналов", "logs_max_total_size_label": "Максимальный общий размер журналов (МБ):", "logs_max_total_size_hint": "Установите 0, чтобы отключить лимит.", "logs_max_total_size_update": "Обновить", "request_log_title": "Журналирование запросов", "request_log_enable": "Включить журналирование запросов", "request_log_warning": "Оставьте выключенным, если подробная диагностика не нужна.", "force_model_prefix_enable": "Включить принудительный префикс модели", "ws_auth_title": "Аутентификация WebSocket", "ws_auth_enable": "Требовать аутентификацию для /ws/*", "routing_title": "Стратегия маршрутизации", "routing_strategy_label": "Стратегия маршрутизации:", "routing_strategy_hint": "round-robin циклически перебирает ключи; fill-first отдаёт приоритет первому доступному ключу.", "routing_strategy_update": "Обновить", "routing_strategy_round_robin": "round-robin (цикл)", "routing_strategy_fill_first": "fill-first (приоритет)" }, "api_keys": { "title": "Управление API-ключами", "proxy_auth_title": "Ключи аутентификации прокси-сервиса", "add_button": "Добавить ключ", "empty_title": "API-ключи отсутствуют", "empty_desc": "Нажмите кнопку выше, чтобы добавить первый ключ", "item_title": "API-ключ", "add_modal_title": "Добавление API-ключа", "add_modal_key_label": "API-ключ:", "add_modal_key_placeholder": "Введите API-ключ", "edit_modal_title": "Редактирование API-ключа", "edit_modal_key_label": "API-ключ:", "delete_confirm": "Удалить этот API-ключ?" }, "ai_providers": { "title": "Конфигурация AI-провайдеров", "gemini_title": "API-ключи Gemini", "gemini_add_button": "Добавить ключ", "gemini_empty_title": "Ключи Gemini отсутствуют", "gemini_empty_desc": "Нажмите кнопку выше, чтобы добавить первый ключ", "gemini_item_title": "Ключ Gemini", "gemini_add_modal_title": "Добавление API-ключа Gemini", "gemini_add_modal_key_label": "API-ключи:", "gemini_add_modal_key_placeholder": "Введите API-ключ Gemini", "gemini_add_modal_key_hint": "Добавляйте ключи по одному и при необходимости указывайте базовый URL.", "gemini_keys_add_btn": "Добавить ключ", "gemini_base_url_label": "Базовый URL (необязательно):", "gemini_base_url_placeholder": "например: https://generativelanguage.googleapis.com", "gemini_edit_modal_title": "Редактирование API-ключа Gemini", "gemini_edit_modal_key_label": "API-ключ:", "gemini_delete_confirm": "Удалить этот ключ Gemini?", "excluded_models_label": "Исключённые модели (необязательно):", "excluded_models_placeholder": "Через запятую или с новой строки, например gemini-1.5-pro, gemini-1.5-flash", "excluded_models_hint": "Оставьте пустым, чтобы разрешить все модели; значения автоматически обрезаются и дедуплицируются.", "excluded_models_count": "Исключено моделей: {{count}}", "prefix_label": "Префикс (необязательно):", "prefix_placeholder": "например: team-a", "prefix_hint": "Если задано, обращайтесь к моделям как prefix/, чтобы выбрать эту запись.", "config_toggle_label": "Включено", "config_disabled_badge": "Отключено", "codex_title": "Конфигурация Codex API", "codex_add_button": "Добавить конфигурацию", "codex_empty_title": "Конфигурации Codex отсутствуют", "codex_empty_desc": "Нажмите кнопку выше, чтобы добавить первую конфигурацию", "codex_item_title": "Конфигурация Codex", "codex_add_modal_title": "Добавление конфигурации Codex API", "codex_add_modal_key_label": "API-ключ:", "codex_add_modal_key_placeholder": "Введите API-ключ Codex", "codex_add_modal_url_label": "Базовый URL (обязательно):", "codex_add_modal_url_placeholder": "например: https://api.example.com", "codex_add_modal_proxy_label": "URL прокси (необязательно):", "codex_add_modal_proxy_placeholder": "например: socks5://proxy.example.com:1080", "codex_edit_modal_title": "Редактирование конфигурации Codex API", "codex_edit_modal_key_label": "API-ключ:", "codex_edit_modal_url_label": "Базовый URL (обязательно):", "codex_edit_modal_proxy_label": "URL прокси (необязательно):", "codex_delete_confirm": "Удалить эту конфигурацию Codex?", "claude_title": "Конфигурация Claude API", "claude_add_button": "Добавить конфигурацию", "claude_empty_title": "Конфигурации Claude отсутствуют", "claude_empty_desc": "Нажмите кнопку выше, чтобы добавить первую конфигурацию", "claude_item_title": "Конфигурация Claude", "claude_add_modal_title": "Добавление конфигурации Claude API", "claude_add_modal_key_label": "API-ключ:", "claude_add_modal_key_placeholder": "Введите API-ключ Claude", "claude_add_modal_url_label": "Базовый URL (необязательно):", "claude_add_modal_url_placeholder": "например: https://api.anthropic.com", "claude_add_modal_proxy_label": "URL прокси (необязательно):", "claude_add_modal_proxy_placeholder": "например: socks5://proxy.example.com:1080", "claude_edit_modal_title": "Редактирование конфигурации Claude API", "claude_edit_modal_key_label": "API-ключ:", "claude_edit_modal_url_label": "Базовый URL (необязательно):", "claude_edit_modal_proxy_label": "URL прокси (необязательно):", "claude_delete_confirm": "Удалить эту конфигурацию Claude?", "claude_models_label": "Пользовательские модели (необязательно):", "claude_models_hint": "Оставьте пустым, чтобы разрешить все модели, или добавьте записи name[, alias], чтобы ограничить/переименовать их.", "claude_models_add_btn": "Добавить модель", "claude_models_count": "Количество моделей", "vertex_title": "Конфигурация Vertex API", "vertex_add_button": "Добавить конфигурацию", "vertex_empty_title": "Конфигурации Vertex отсутствуют", "vertex_empty_desc": "Нажмите кнопку выше, чтобы добавить первую конфигурацию", "vertex_item_title": "Конфигурация Vertex", "vertex_add_modal_title": "Добавление конфигурации Vertex API", "vertex_add_modal_key_label": "API-ключ:", "vertex_add_modal_key_placeholder": "Введите API-ключ Vertex", "vertex_add_modal_url_label": "Базовый URL (обязательно):", "vertex_add_modal_url_placeholder": "например: https://example.com/api", "vertex_add_modal_proxy_label": "URL прокси (необязательно):", "vertex_add_modal_proxy_placeholder": "например: socks5://proxy.example.com:1080", "vertex_edit_modal_title": "Редактирование конфигурации Vertex API", "vertex_edit_modal_key_label": "API-ключ:", "vertex_edit_modal_url_label": "Базовый URL (обязательно):", "vertex_edit_modal_proxy_label": "URL прокси (необязательно):", "vertex_delete_confirm": "Удалить эту конфигурацию Vertex?", "vertex_models_label": "Псевдонимы моделей (требуется псевдоним):", "vertex_models_add_btn": "Добавить сопоставление", "vertex_models_hint": "Каждому псевдониму требуются исходная модель и псевдоним.", "vertex_models_count": "Количество псевдонимов", "ampcode_title": "Интеграция Amp CLI (ampcode)", "ampcode_modal_title": "Настройка Ampcode", "ampcode_upstream_url_label": "Upstream URL", "ampcode_upstream_url_placeholder": "например: https://ampcode.com", "ampcode_upstream_url_hint": "Необязательно. Оставьте пустым, чтобы использовать URL плоскости управления по умолчанию/обнаруженный автоматически.", "ampcode_upstream_api_key_label": "Upstream API-ключ (официальный Amp)", "ampcode_upstream_api_key_placeholder": "Введите sk-amp... (оставьте пустым, чтобы сохранить текущий)", "ampcode_upstream_api_key_hint": "Необязательно. Пустое значение не изменит текущий официальный ключ Amp. Используйте кнопку ниже, чтобы очистить его.", "ampcode_upstream_api_key_current": "Текущий официальный ключ Amp: {{key}}", "ampcode_clear_upstream_api_key": "Очистить официальный ключ", "ampcode_clear_upstream_api_key_confirm": "Очистить upstream API-ключ Ampcode (официальный Amp)?", "ampcode_force_model_mappings_label": "Принудительно применять сопоставления моделей", "ampcode_force_model_mappings_hint": "При включении сопоставления переопределяют локальные проверки доступности API-ключей.", "ampcode_model_mappings_label": "Сопоставления моделей (из → в)", "ampcode_model_mappings_hint": "Переименовывает модели в запросах Amp. Оставьте пустым, чтобы отключить сопоставления.", "ampcode_model_mappings_add_btn": "Добавить сопоставление", "ampcode_model_mappings_from_placeholder": "исходная модель", "ampcode_model_mappings_to_placeholder": "целевая модель", "ampcode_model_mappings_count": "Количество сопоставлений", "ampcode_mappings_overwrite_confirm": "Не удалось загрузить существующие сопоставления. Продолжение может перезаписать или очистить их. Продолжить?", "openai_title": "Совместимые с OpenAI провайдеры", "openai_add_button": "Добавить провайдера", "openai_empty_title": "Провайдеры OpenAI отсутствуют", "openai_empty_desc": "Нажмите кнопку выше, чтобы добавить первого провайдера", "openai_add_modal_title": "Добавление совместимого с OpenAI провайдера", "openai_add_modal_name_label": "Имя провайдера:", "openai_add_modal_name_placeholder": "например: openrouter", "openai_add_modal_url_label": "Базовый URL:", "openai_add_modal_url_placeholder": "например: https://openrouter.ai/api/v1", "openai_add_modal_keys_label": "API-ключи", "openai_edit_modal_keys_label": "API-ключи", "openai_keys_hint": "Добавляйте каждый ключ отдельно с необязательным URL прокси для удобства.", "openai_keys_add_btn": "Добавить ключ", "openai_key_placeholder": "ключ вида sk-...", "openai_proxy_placeholder": "Необязательный URL прокси (например, socks5://...)", "openai_add_modal_models_label": "Список моделей (name[, alias] по строкам):", "openai_models_hint": "Пример: gpt-4o-mini или moonshotai/kimi-k2:free, kimi-k2", "openai_model_name_placeholder": "Имя модели, например moonshotai/kimi-k2:free", "openai_model_alias_placeholder": "Псевдоним модели (необязательно)", "openai_models_add_btn": "Добавить модель", "openai_models_fetch_button": "Получить через /models", "openai_models_fetch_title": "Выбор моделей из /models", "openai_models_fetch_hint": "Вызовите эндпоинт /models, используя указанный выше базовый URL, отправив первый API-ключ как Bearer с дополнительными заголовками.", "openai_models_fetch_url_label": "URL запроса", "openai_models_fetch_refresh": "Обновить", "openai_models_fetch_loading": "Получение моделей из /models...", "openai_models_fetch_empty": "Модели не вернулись. Проверьте эндпоинт или авторизацию.", "openai_models_fetch_error": "Не удалось получить модели", "openai_models_fetch_back": "Вернуться к редактированию", "openai_models_fetch_apply": "Добавить выбранные модели", "openai_models_search_label": "Поиск моделей", "openai_models_search_placeholder": "Фильтр по имени, псевдониму или описанию", "openai_models_search_empty": "Модели по запросу не найдены. Попробуйте другой ключ.", "openai_models_fetch_invalid_url": "Сначала введите корректный базовый URL", "openai_models_fetch_added": "Добавлено новых моделей: {{count}}", "openai_edit_modal_title": "Редактирование совместимого с OpenAI провайдера", "openai_edit_modal_name_label": "Имя провайдера:", "openai_edit_modal_url_label": "Базовый URL:", "openai_edit_modal_models_label": "Список моделей (name[, alias] по строкам):", "openai_delete_confirm": "Удалить этого провайдера OpenAI?", "openai_keys_count": "Количество ключей", "openai_models_count": "Количество моделей", "openai_test_title": "Тест подключения", "openai_test_hint": "Отправьте запрос /chat/completions с текущими настройками, чтобы проверить доступность.", "openai_test_model_placeholder": "Модель для теста", "openai_test_action": "Запустить тест", "openai_test_running": "Отправка тестового запроса...", "openai_test_timeout": "Тестовый запрос превысил тайм-аут {{seconds}} с", "openai_test_success": "Тест выполнен успешно. Модель ответила.", "openai_test_failed": "Тест не выполнен", "openai_test_select_placeholder": "Выберите из текущих моделей", "openai_test_select_empty": "Модели не настроены. Сначала добавьте модели" }, "auth_files": { "title": "Управление файлами авторизации", "title_section": "Файлы авторизации", "description": "Управляйте всеми JSON-файлами авторизации CLI Proxy (например, Qwen, Gemini, Vertex). Загрузка учётных данных сразу включает соответствующую интеграцию AI.", "upload_button": "Загрузить файл", "delete_all_button": "Удалить всё", "empty_title": "Файлы авторизации отсутствуют", "empty_desc": "Нажмите кнопку выше, чтобы загрузить первый файл", "search_empty_title": "Файлы не найдены", "search_empty_desc": "Попробуйте изменить фильтры или очистить строку поиска.", "file_size": "Размер", "file_modified": "Изменён", "download_button": "Скачать", "delete_button": "Удалить", "delete_confirm": "Удалить файл", "delete_all_confirm": "Удалить все файлы авторизации? Это действие нельзя отменить!", "delete_filtered_confirm": "Удалить все файлы авторизации {{type}}? Это действие нельзя отменить!", "upload_error_json": "Допустимы только файлы JSON", "upload_error_size": "Размер файла не может превышать {{maxSize}}", "upload_success": "Файл успешно загружен", "download_success": "Файл успешно скачан", "delete_success": "Файл успешно удалён", "delete_all_success": "Удаление завершено", "delete_filtered_success": "Удалено файлов {{type}}: {{count}}", "delete_filtered_partial": "Удаление файлов {{type}} завершено: успешных {{success}}, ошибок {{failed}}", "delete_filtered_none": "Нет файлов {{type}} для удаления при текущем фильтре", "files_count": "файлов", "pagination_prev": "Предыдущая", "pagination_next": "Следующая", "pagination_info": "Страница {{current}} / {{total}} · {{count}} файлов", "search_label": "Поиск конфигов", "search_placeholder": "Фильтр по имени, типу или провайдеру", "page_size_label": "На странице", "page_size_unit": "элементов", "view_mode_paged": "Постранично", "view_mode_all": "Показать все", "too_many_files_warning": "Слишком много учётных данных. Полный список может повлиять на производительность, используйте постраничный режим.", "filter_all": "Все", "filter_qwen": "Qwen", "filter_gemini": "Gemini", "filter_gemini-cli": "GeminiCLI", "filter_kimi": "Kimi", "filter_aistudio": "AIStudio", "filter_claude": "Claude", "filter_codex": "Codex", "filter_antigravity": "Antigravity", "filter_iflow": "iFlow", "filter_vertex": "Vertex", "filter_empty": "Пусто", "filter_unknown": "Другое", "type_qwen": "Qwen", "type_gemini": "Gemini", "type_gemini-cli": "GeminiCLI", "type_kimi": "Kimi", "type_aistudio": "AIStudio", "type_claude": "Claude", "type_codex": "Codex", "type_antigravity": "Antigravity", "type_iflow": "iFlow", "type_vertex": "Vertex", "type_empty": "Пусто", "type_unknown": "Другое", "type_virtual": "Виртуальный файл авторизации", "models_button": "Модели", "models_title": "Поддерживаемые модели", "models_loading": "Загрузка списка моделей...", "models_empty": "Для этих учётных данных нет доступных моделей", "models_empty_desc": "Возможно, учётные данные ещё не загружены сервером или к ним не привязаны модели.", "models_unsupported": "Функция не поддерживается в текущей версии", "models_unsupported_desc": "Обновите CLI Proxy API до последней версии и повторите попытку", "models_excluded_badge": "Исключена", "models_excluded_hint": "Эта модель исключена OAuth", "status_toggle_label": "Включено", "status_enabled_success": "\"{{name}}\" включён", "status_disabled_success": "\"{{name}}\" отключён", "prefix_proxy_button": "Изменить prefix/proxy_url", "prefix_proxy_loading": "Загрузка учётных данных...", "prefix_proxy_source_label": "JSON учётных данных", "prefix_label": "prefix", "proxy_url_label": "proxy_url", "prefix_placeholder": "", "proxy_url_placeholder": "socks5://username:password@proxy_ip:port/", "prefix_proxy_invalid_json": "Эти учётные данные не являются JSON-объектом и не могут быть изменены.", "prefix_proxy_saved_success": "\"{{name}}\" успешно обновлён", "card_tools_title": "Инструменты", "quota_refresh_single": "Обновить квоту", "quota_refresh_hint": "Обновить квоту только для этих учётных данных", "quota_refresh_success": "Квота для \"{{name}}\" обновлена", "quota_refresh_failed": "Не удалось обновить квоту для \"{{name}}\": {{message}}" }, "antigravity_quota": { "title": "Квота Antigravity", "empty_title": "Файлы авторизации Antigravity отсутствуют", "empty_desc": "Загрузите учётные данные Antigravity, чтобы увидеть оставшуюся квоту.", "idle": "Не загружено. Нажмите \"Обновить квоту\".", "loading": "Загрузка квоты...", "load_failed": "Не удалось загрузить квоту: {{message}}", "missing_auth_index": "В файле авторизации отсутствует auth_index", "empty_models": "Данные по квоте отсутствуют", "refresh_button": "Обновить квоту", "fetch_all": "Получить все" }, "codex_quota": { "title": "Квота Codex", "empty_title": "Файлы авторизации Codex отсутствуют", "empty_desc": "Загрузите учётные данные Codex, чтобы увидеть квоту.", "idle": "Не загружено. Нажмите \"Обновить квоту\".", "loading": "Загрузка квоты...", "load_failed": "Не удалось загрузить квоту: {{message}}", "missing_auth_index": "В файле авторизации отсутствует auth_index", "missing_account_id": "В учётных данных Codex отсутствует идентификатор аккаунта ChatGPT", "empty_windows": "Данные по квоте отсутствуют", "no_access": "У этих учётных данных нет доступа Codex (план: free).", "refresh_button": "Обновить квоту", "fetch_all": "Получить все", "primary_window": "Лимит на 5 часов", "secondary_window": "Недельный лимит", "code_review_primary_window": "Лимит code review на 5 часов", "code_review_secondary_window": "Недельный лимит code review", "plan_label": "Тариф", "plan_plus": "Plus", "plan_team": "Team", "plan_free": "Free" }, "gemini_cli_quota": { "title": "Квота Gemini CLI", "empty_title": "Файлы авторизации Gemini CLI отсутствуют", "empty_desc": "Загрузите учётные данные Gemini CLI, чтобы увидеть оставшуюся квоту.", "idle": "Не загружено. Нажмите \"Обновить квоту\".", "loading": "Загрузка квоты...", "load_failed": "Не удалось загрузить квоту: {{message}}", "missing_auth_index": "В файле авторизации отсутствует auth_index", "missing_project_id": "В учётных данных Gemini CLI отсутствует идентификатор проекта", "empty_buckets": "Данные по квоте отсутствуют", "refresh_button": "Обновить квоту", "fetch_all": "Получить все", "remaining_amount": "Осталось {{count}}" }, "vertex_import": { "title": "Вход с Vertex JSON", "description": "Загрузите JSON ключа сервисного аккаунта Google, чтобы сохранить его как auth-dir/vertex-.json по тем же правилам, что и помощник CLI vertex-import.", "location_label": "Регион (необязательно)", "location_placeholder": "us-central1", "location_hint": "Оставьте пустым, чтобы использовать регион us-central1 по умолчанию.", "file_label": "JSON ключ сервисного аккаунта", "file_hint": "Принимаются только JSON-файлы ключей сервисных аккаунтов Google Cloud.", "file_placeholder": "Файл не выбран", "choose_file": "Выбрать файл", "import_button": "Импортировать учётные данные Vertex", "file_required": "Сначала выберите файл учётных данных .json", "success": "Учётные данные Vertex успешно импортированы", "result_title": "Учётные данные сохранены", "result_project": "ID проекта", "result_email": "Сервисный аккаунт", "result_location": "Регион", "result_file": "Сохранённый файл" }, "oauth_excluded": { "title": "Исключённые модели OAuth", "description": "Исключения по провайдерам отображаются карточками; нажмите \"Изменить\", чтобы настроить. Поддерживаются шаблоны *. Объём зависит от фильтра файлов авторизации.", "add": "Добавить исключение", "add_title": "Добавление исключения для провайдера", "edit_title": "Редактирование исключений для {{provider}}", "refresh": "Обновить", "refreshing": "Обновляется...", "provider_label": "Провайдер", "provider_auto": "Следовать текущему фильтру", "provider_placeholder": "например: gemini-cli", "provider_hint": "По умолчанию используется текущий фильтр; выберите существующего провайдера или введите новое имя.", "models_label": "Модели для исключения", "models_loading": "Загрузка моделей...", "models_unsupported": "Текущая версия CPA не поддерживает загрузку списка моделей.", "models_loaded": "Загружено моделей: {{count}}. Отметьте те, которые нужно исключить.", "no_models_available": "Для этого провайдера нет доступных моделей.", "save": "Сохранить/обновить", "saving": "Сохранение...", "save_success": "Исключения обновлены", "save_failed": "Не удалось обновить исключения", "delete": "Удалить провайдера", "delete_confirm": "Удалить список исключений для {{provider}}?", "delete_success": "Список исключений удалён", "delete_failed": "Не удалось удалить список исключений", "deleting": "Удаление...", "no_models": "Исключённых моделей нет", "model_count": "Исключено моделей: {{count}}", "list_empty_all": "Исключений ещё нет — используйте \"Добавить исключение\".", "list_empty_filtered": "В этом диапазоне исключений нет; нажмите \"Добавить исключение\".", "disconnected": "Подключитесь к серверу, чтобы просматривать исключения", "load_failed": "Не удалось загрузить список исключений", "provider_required": "Сначала укажите провайдера", "scope_all": "Область: все провайдеры", "scope_provider": "Область: {{provider}}", "upgrade_required": "Эта функция требует более новой версии CLI Proxy API (CPA). Обновите систему.", "upgrade_required_title": "Пожалуйста, обновите CLI Proxy API", "upgrade_required_desc": "Текущая версия сервера не поддерживает API исключённых моделей OAuth. Обновите CLI Proxy API (CPA) до последней версии." }, "oauth_model_alias": { "title": "Псевдонимы моделей OAuth", "add": "Добавить псевдоним", "add_title": "Добавление псевдонимов моделей провайдера", "provider_label": "Провайдер", "provider_placeholder": "например: gemini-cli / vertex", "provider_hint": "По умолчанию используется текущий фильтр; выберите существующего провайдера или введите новое имя.", "model_source_loading": "Загрузка моделей...", "model_source_unsupported": "Текущая версия CPA не поддерживает загрузку списка моделей (ручной ввод остаётся доступным).", "model_source_loaded": "Загружено моделей: {{count}}. Используйте выпадающий список \"Исходная модель\" или введите своё значение. Сохранение пустого списка удаляет провайдера. Включите \"Сохранить оригинал\", чтобы оставить исходное имя вместе с псевдонимом.", "alias_label": "Псевдонимы моделей", "alias_name_placeholder": "Исходное имя модели", "alias_placeholder": "Псевдоним (обязательно)", "alias_fork_label": "Сохранить оригинал", "add_alias": "Добавить псевдоним", "save": "Сохранить/обновить", "save_success": "Псевдонимы моделей обновлены", "save_failed": "Не удалось обновить псевдонимы моделей", "delete": "Удалить провайдера", "delete_confirm": "Удалить псевдонимы моделей для {{provider}}?", "delete_link_title": "Убрать сопоставление", "delete_link_confirm": "Удалить сопоставление из {{sourceModel}} ({{provider}}) к псевдониму {{alias}}?", "delete_alias_title": "Удалить псевдоним", "delete_alias_confirm": "Удалить псевдоним {{alias}} и все связанные сопоставления?", "delete_success": "Псевдонимы моделей удалены", "delete_failed": "Не удалось удалить псевдонимы моделей", "no_models": "Псевдонимов нет", "model_count": "Количество псевдонимов: {{count}}", "list_empty_all": "Псевдонимы ещё не созданы — используйте \"Добавить псевдоним\".", "chart_title": "Обзор всех сопоставлений", "diagram_providers": "Провайдеры", "diagram_source_models": "Исходные модели", "diagram_aliases": "Псевдонимы", "diagram_expand": "Развернуть", "diagram_collapse": "Свернуть", "diagram_add_alias": "Добавить псевдоним", "diagram_rename": "Переименовать", "diagram_rename_alias_title": "Переименование псевдонима", "diagram_rename_alias_label": "Новое имя псевдонима", "diagram_rename_placeholder": "Введите имя псевдонима...", "diagram_delete_link": "Убрать связь {{provider}} / {{name}}", "diagram_delete_alias": "Удалить псевдоним", "diagram_please_enter_alias": "Введите имя псевдонима.", "diagram_alias_exists": "Этот псевдоним уже существует.", "diagram_add_alias_title": "Добавление псевдонима", "diagram_add_alias_label": "Имя псевдонима", "diagram_add_placeholder": "Введите новое имя псевдонима...", "diagram_rename_btn": "Переименовать", "diagram_add_btn": "Добавить", "diagram_settings": "Настройки", "diagram_settings_title": "Настройки псевдонима — {{alias}}", "diagram_settings_source_title": "Настройки исходной модели", "diagram_settings_empty": "Для этого псевдонима ещё нет сопоставлений.", "diagram_tap_hint": "На сенсорных устройствах: коснитесь исходной модели, затем псевдонима для связывания.", "view_mode": "Режим просмотра", "view_mode_diagram": "Диаграмма", "view_mode_list": "Список", "provider_required": "Сначала укажите провайдера", "upgrade_required": "Эта функция требует более новой версии CLI Proxy API (CPA). Обновите систему.", "upgrade_required_title": "Пожалуйста, обновите CLI Proxy API", "upgrade_required_desc": "Текущая версия сервера не поддерживает API псевдонимов моделей OAuth. Обновите CLI Proxy API (CPA) до последней версии." }, "auth_login": { "codex_oauth_title": "Codex OAuth", "codex_oauth_button": "Начать вход Codex", "codex_oauth_hint": "Выполните вход в сервис Codex через OAuth и автоматически получите/сохраните файлы авторизации.", "codex_oauth_url_label": "URL авторизации:", "codex_open_link": "Открыть ссылку", "codex_copy_link": "Скопировать ссылку", "codex_oauth_status_waiting": "Ожидание аутентификации...", "codex_oauth_status_success": "Аутентификация успешна!", "codex_oauth_status_error": "Ошибка аутентификации:", "codex_oauth_start_error": "Не удалось запустить Codex OAuth:", "codex_oauth_polling_error": "Не удалось проверить статус аутентификации:", "anthropic_oauth_title": "Anthropic OAuth", "anthropic_oauth_button": "Начать вход Anthropic", "anthropic_oauth_hint": "Выполните вход в сервис Anthropic (Claude) через OAuth и автоматически получите/сохраните файлы авторизации.", "anthropic_oauth_url_label": "URL авторизации:", "anthropic_open_link": "Открыть ссылку", "anthropic_copy_link": "Скопировать ссылку", "anthropic_oauth_status_waiting": "Ожидание аутентификации...", "anthropic_oauth_status_success": "Аутентификация успешна!", "anthropic_oauth_status_error": "Ошибка аутентификации:", "anthropic_oauth_start_error": "Не удалось запустить Anthropic OAuth:", "anthropic_oauth_polling_error": "Не удалось проверить статус аутентификации:", "antigravity_oauth_title": "Antigravity OAuth", "antigravity_oauth_button": "Начать вход Antigravity", "antigravity_oauth_hint": "Выполните вход в сервис Antigravity (Google) через OAuth и автоматически получите/сохраните файлы авторизации.", "antigravity_oauth_url_label": "URL авторизации:", "antigravity_open_link": "Открыть ссылку", "antigravity_copy_link": "Скопировать ссылку", "antigravity_oauth_status_waiting": "Ожидание аутентификации...", "antigravity_oauth_status_success": "Аутентификация успешна!", "antigravity_oauth_status_error": "Ошибка аутентификации:", "antigravity_oauth_start_error": "Не удалось запустить Antigravity OAuth:", "antigravity_oauth_polling_error": "Не удалось проверить статус аутентификации:", "gemini_cli_oauth_title": "Gemini CLI OAuth", "gemini_cli_oauth_button": "Начать вход Gemini CLI", "gemini_cli_oauth_hint": "Выполните вход в сервис Google Gemini CLI через OAuth и автоматически получите/сохраните файлы авторизации.", "gemini_cli_project_id_label": "Google Cloud Project ID (необязательно):", "gemini_cli_project_id_placeholder": "Оставьте пустым, чтобы выбрать первый доступный проект автоматически", "gemini_cli_project_id_hint": "Необязательно. Если не указано, система автоматически выберет первый доступный проект вашей учётной записи.", "gemini_cli_project_id_required": "Укажите идентификатор проекта Google Cloud.", "gemini_cli_oauth_url_label": "URL авторизации:", "gemini_cli_open_link": "Открыть ссылку", "gemini_cli_copy_link": "Скопировать ссылку", "gemini_cli_oauth_status_waiting": "Ожидание аутентификации...", "gemini_cli_oauth_status_success": "Аутентификация успешна!", "gemini_cli_oauth_status_error": "Ошибка аутентификации:", "gemini_cli_oauth_start_error": "Не удалось запустить Gemini CLI OAuth:", "gemini_cli_oauth_polling_error": "Не удалось проверить статус аутентификации:", "kimi_oauth_title": "Kimi OAuth", "kimi_oauth_button": "Начать вход Kimi", "kimi_oauth_hint": "Выполните вход в сервис Kimi через поток авторизации устройства и автоматически получите/сохраните файлы авторизации.", "kimi_oauth_url_label": "URL авторизации:", "kimi_open_link": "Открыть ссылку", "kimi_copy_link": "Скопировать ссылку", "kimi_oauth_status_waiting": "Ожидание аутентификации...", "kimi_oauth_status_success": "Аутентификация успешна!", "kimi_oauth_status_error": "Ошибка аутентификации:", "kimi_oauth_start_error": "Не удалось запустить Kimi OAuth:", "kimi_oauth_polling_error": "Не удалось проверить статус аутентификации:", "qwen_oauth_title": "Qwen OAuth", "qwen_oauth_button": "Начать вход Qwen", "qwen_oauth_hint": "Выполните вход в сервис Qwen через поток авторизации устройства и автоматически получите/сохраните файлы авторизации.", "qwen_oauth_url_label": "URL авторизации:", "qwen_open_link": "Открыть ссылку", "qwen_copy_link": "Скопировать ссылку", "qwen_oauth_status_waiting": "Ожидание аутентификации...", "qwen_oauth_status_success": "Аутентификация успешна!", "qwen_oauth_status_error": "Ошибка аутентификации:", "qwen_oauth_start_error": "Не удалось запустить Qwen OAuth:", "qwen_oauth_polling_error": "Не удалось проверить статус аутентификации:", "oauth_callback_label": "Callback URL", "oauth_callback_placeholder": "http://localhost:1455/auth/callback?code=...&state=...", "oauth_callback_hint": "Режим удалённого браузера: после перенаправления провайдера на http://localhost:... скопируйте полный URL и отправьте его здесь.", "oauth_callback_button": "Отправить Callback URL", "oauth_callback_required": "Сначала вставьте полный URL перенаправления.", "oauth_callback_success": "Callback URL отправлен. Продолжайте ожидать аутентификацию.", "oauth_callback_error": "Не удалось отправить Callback URL:", "oauth_callback_upgrade_hint": "Обновите CLI Proxy API или проверьте подключение.", "oauth_callback_status_success": "Callback URL отправлен, ожидаем аутентификацию...", "oauth_callback_status_error": "Не удалось отправить Callback URL:", "missing_state": "Не удалось получить параметр состояния аутентификации", "iflow_oauth_title": "iFlow OAuth", "iflow_oauth_button": "Начать вход iFlow", "iflow_oauth_hint": "Выполните вход в сервис iFlow через OAuth и автоматически получите/сохраните файлы авторизации.", "iflow_oauth_url_label": "URL авторизации:", "iflow_open_link": "Открыть ссылку", "iflow_copy_link": "Скопировать ссылку", "iflow_oauth_status_waiting": "Ожидание аутентификации...", "iflow_oauth_status_success": "Аутентификация успешна!", "iflow_oauth_status_error": "Ошибка аутентификации:", "iflow_oauth_start_error": "Не удалось запустить iFlow OAuth:", "iflow_oauth_polling_error": "Не удалось проверить статус аутентификации:", "iflow_cookie_title": "Вход iFlow по cookie", "iflow_cookie_label": "Значение cookie:", "iflow_cookie_placeholder": "Введите значение BXAuth, начиная с BXAuth=", "iflow_cookie_hint": "Отправьте существующий cookie, чтобы завершить вход без открытия ссылки авторизации; файл учётных данных будет сохранён автоматически.", "iflow_cookie_key_hint": "Примечание: сначала создайте ключ на платформе.", "iflow_cookie_button": "Отправить вход по cookie", "iflow_cookie_status_success": "Вход по cookie выполнен, учётные данные сохранены.", "iflow_cookie_status_error": "Ошибка входа по cookie:", "iflow_cookie_status_duplicate": "Дублирующая конфигурация:", "iflow_cookie_start_error": "Не удалось отправить вход по cookie:", "iflow_cookie_config_duplicate": "Такая конфигурация уже существует. Удалите файл и повторите, если хотите перезаписать.", "iflow_cookie_required": "Сначала укажите значение cookie.", "iflow_cookie_result_title": "Результат входа по cookie", "iflow_cookie_result_email": "Аккаунт", "iflow_cookie_result_expired": "Истекает", "iflow_cookie_result_path": "Путь сохранения", "iflow_cookie_result_type": "Тип", "remote_access_disabled": "Этот способ входа недоступен при удалённом доступе. Подключитесь с localhost." }, "usage_stats": { "title": "Статистика использования", "total_requests": "Всего запросов", "success_requests": "Успешные запросы", "failed_requests": "Неуспешные запросы", "total_tokens": "Всего токенов", "cached_tokens": "Кэшированные токены", "reasoning_tokens": "Токены рассуждений", "rpm_30m": "RPM", "tpm_30m": "TPM", "rate_30m": "Скорость (последние 30 мин)", "model_name": "Название модели", "model_price_settings": "Настройки стоимости моделей", "saved_prices": "Сохранённые цены", "requests_trend": "Динамика запросов", "tokens_trend": "Динамика токенов", "api_details": "Детали API", "by_hour": "По часам", "by_day": "По дням", "refresh": "Обновить", "export": "Экспорт", "import": "Импорт", "export_success": "Экспорт использования скачан", "import_success": "Импорт завершён: добавлено {{added}}, пропущено {{skipped}}, всего {{total}}, ошибок {{failed}}", "import_invalid": "Недопустимый файл экспорта использования", "chart_line_label_1": "Линия 1", "chart_line_label_2": "Линия 2", "chart_line_label_3": "Линия 3", "chart_line_label_4": "Линия 4", "chart_line_label_5": "Линия 5", "chart_line_label_6": "Линия 6", "chart_line_label_7": "Линия 7", "chart_line_label_8": "Линия 8", "chart_line_label_9": "Линия 9", "chart_line_hidden": "Скрыть", "chart_line_actions_label": "Линии для отображения", "chart_line_add": "Добавить линию", "chart_line_all": "Все", "chart_line_delete": "Удалить линию", "chart_line_hint": "Отображайте до 9 линий моделей одновременно", "no_data": "Данные отсутствуют", "loading_error": "Не удалось загрузить", "api_endpoint": "API-эндпоинт", "requests_count": "Количество запросов", "tokens_count": "Количество токенов", "models": "Статистика моделей", "success_rate": "Успешность", "total_cost": "Общая стоимость", "total_cost_hint": "Основано на настроенной стоимости моделей", "model_price_title": "Стоимость моделей", "model_price_reset": "Сбросить цены", "model_price_model_label": "Модель", "model_price_select_placeholder": "Выберите модель", "model_price_select_hint": "Модели берутся из детальной статистики использования", "model_price_prompt": "Цена prompt", "model_price_completion": "Цена completion", "model_price_cache": "Цена кэша", "model_price_save": "Сохранить цену", "model_price_empty": "Цена для моделей не задана", "model_price_model": "Модель", "model_price_saved": "Цена модели сохранена", "model_price_model_required": "Выберите модель для задания цены", "cost_trend": "Обзор стоимости", "cost_axis_label": "Стоимость ($)", "cost_need_price": "Задайте стоимость модели, чтобы увидеть статистику затрат", "cost_need_usage": "Нет данных использования для расчёта стоимости", "cost_no_data": "Данных о стоимости ещё нет" }, "stats": { "success": "Успех", "failure": "Сбой" }, "logs": { "title": "Просмотр журналов", "refresh_button": "Обновить журналы", "clear_button": "Очистить журналы", "download_button": "Скачать журналы", "error_log_button": "Выбрать журнал ошибок", "error_logs_modal_title": "Журналы ошибок запросов", "error_logs_description": "Выберите файл журнала ошибок запроса для скачивания (создаётся только при отключённом журналировании запросов).", "error_logs_request_log_enabled": "Журналирование запросов включено, поэтому этот список всегда будет пустым. Отключите журналирование запросов и обновите список, чтобы просмотреть журналы ошибок.", "error_logs_empty": "Файлы журнала ошибок запросов не найдены", "error_logs_load_error": "Не удалось загрузить список журналов ошибок", "error_logs_size": "Размер", "error_logs_modified": "Изменён", "error_logs_download": "Скачать", "error_log_download_success": "Журнал ошибок успешно скачан", "request_log_download_title": "Скачать журнал запросов", "request_log_download_confirm": "Скачать журнал запросов с идентификатором {{id}}?", "request_log_download_success": "Журнал запросов успешно скачан", "empty_title": "Журналы недоступны", "empty_desc": "Когда включена опция \"Включить журналирование в файл\", журналы появятся здесь", "log_content": "Содержимое журнала", "loading": "Загрузка журналов...", "load_error": "Не удалось загрузить журналы", "clear_confirm": "Очистить все журналы? Действие нельзя отменить!", "clear_success": "Журналы успешно очищены", "download_success": "Журналы успешно скачаны", "auto_refresh": "Автообновление", "auto_refresh_enabled": "Автообновление включено", "auto_refresh_disabled": "Автообновление выключено", "load_more_hint": "Прокрутите вверх, чтобы загрузить ещё", "hidden_lines": "Скрыто: {{count}} строк", "loaded_lines": "Загружено: {{count}} строк", "filtered_lines": "Отфильтровано: {{count}} строк", "hide_management_logs": "Скрыть журналы {{prefix}}", "show_raw_logs": "Показать исходные журналы", "show_raw_logs_hint": "Показать текст журнала без обработки для удобного копирования в несколько строк", "search_placeholder": "Искать по содержимому или ключевым словам", "search_empty_title": "Подходящих журналов не найдено", "search_empty_desc": "Попробуйте другой запрос или сбросьте фильтры.", "double_click_copy_hint": "Дважды нажмите, чтобы скопировать строку журнала", "copy_success": "Строка журнала скопирована", "copy_failed": "Не удалось скопировать", "lines": "строк", "removed": "Отфильтровано", "upgrade_required_title": "Обновите CLI Proxy API", "upgrade_required_desc": "Текущая версия сервера не поддерживает просмотр журналов. Обновите CLI Proxy API до последней версии, чтобы использовать эту функцию." }, "config_management": { "title": "Панель конфигурации", "editor_title": "Файл конфигурации", "reload": "Перезагрузить", "save": "Сохранить", "description": "Редактируйте config.yaml через визуальный редактор или исходный файл", "status_idle": "Ожидание действия", "status_loading": "Загрузка конфигурации...", "status_loaded": "Конфигурация загружена", "status_dirty": "Есть несохранённые изменения", "status_disconnected": "Подключитесь к серверу, чтобы загрузить конфигурацию", "status_load_failed": "Не удалось загрузить", "status_saving": "Сохранение конфигурации...", "status_saved": "Конфигурация сохранена", "status_save_failed": "Не удалось сохранить", "save_success": "Конфигурация успешно сохранена", "error_yaml_not_supported": "Сервер не вернул YAML. Убедитесь, что доступна конечная точка /config.yaml.", "editor_placeholder": "key: value", "search_placeholder": "Поиск по конфигурации...", "search_button": "Поиск", "search_no_results": "Нет результатов", "search_prev": "Назад", "search_next": "Вперёд", "tabs": { "visual": "Визуальный редактор", "source": "Редактор файла" }, "visual": { "sections": { "server": { "title": "Настройки сервера", "description": "Базовые параметры сервера", "host": "Адрес хоста", "port": "Порт" }, "tls": { "title": "Настройка TLS/SSL", "description": "Параметры безопасного HTTPS-соединения", "enable": "Включить TLS", "enable_desc": "Включить безопасное HTTPS-соединение", "cert": "Путь к сертификату", "key": "Путь к закрытому ключу" }, "remote": { "title": "Удалённое управление", "description": "Настройки удалённого доступа и панели управления", "allow_remote": "Разрешить удалённый доступ", "allow_remote_desc": "Разрешить управление с других хостов", "disable_panel": "Отключить панель", "disable_panel_desc": "Отключить встроенную веб-панель управления", "secret_key": "Ключ управления", "secret_key_placeholder": "Задайте ключ управления", "panel_repo": "Репозиторий панели" }, "auth": { "title": "Настройки аутентификации", "description": "API-ключи и каталог аутентификации", "auth_dir": "Каталог auth-dir", "auth_dir_hint": "Путь к каталогу с файлами аутентификации (поддерживает ~)" }, "system": { "title": "Системные настройки", "description": "Отладка, журналирование, статистика и производительность", "debug": "Режим отладки", "debug_desc": "Включить подробные отладочные журналы", "commercial_mode": "Коммерческий режим", "commercial_mode_desc": "Отключить тяжёлое промежуточное ПО, чтобы снизить расход памяти при высокой нагрузке", "logging_to_file": "Журналировать в файл", "logging_to_file_desc": "Сохранять журналы во вращающиеся файлы", "usage_statistics": "Статистика использования", "usage_statistics_desc": "Собирать статистику использования", "logs_max_size": "Максимальный размер файла журнала (МБ)", "usage_retention_days": "Хранить статистику (дней)", "usage_retention_hint": "0 означает без ограничений (без очистки)" }, "network": { "title": "Сетевые настройки", "description": "Параметры прокси, повторов и маршрутизации", "proxy_url": "URL прокси", "request_retry": "Количество повторов запросов", "max_retry_interval": "Максимальный интервал повтора (сек)", "routing_strategy": "Стратегия маршрутизации", "routing_strategy_hint": "Выберите стратегию подбора учётных данных", "strategy_round_robin": "По кругу", "strategy_fill_first": "Сначала заполнить", "force_model_prefix": "Принудительный префикс модели", "force_model_prefix_desc": "Запросы к моделям без префикса используют только учётные данные без префикса", "ws_auth": "Аутентификация WebSocket", "ws_auth_desc": "Включить аутентификацию WebSocket (/v1/ws)" }, "quota": { "title": "Резерв по квоте", "description": "Стратегия при превышении квоты", "switch_project": "Переключить проект", "switch_project_desc": "Автоматически переходить на другой проект при превышении квоты", "switch_preview_model": "Переключить на preview-модель", "switch_preview_model_desc": "Переключаться на preview-версию модели при превышении квоты" }, "streaming": { "title": "Настройки стриминга", "description": "Параметры keepalive и повторов запуска", "keepalive_seconds": "Период keepalive (сек)", "keepalive_hint": "Установите 0 или оставьте поле пустым, чтобы отключить keepalive", "bootstrap_retries": "Повторы запуска", "bootstrap_hint": "Количество попыток при запуске стрима (до первого байта)", "nonstream_keepalive": "Интервал keepalive для нестиминговых ответов (сек)", "nonstream_keepalive_hint": "Отправлять пустые строки каждые N секунд для нестиминговых ответов, чтобы избежать простоя; установите 0 или оставьте пустым для отключения", "disabled": "Отключено" }, "payload": { "title": "Настройки полезной нагрузки", "description": "Значения по умолчанию, правила переопределения и фильтрации", "default_rules": "Правила по умолчанию", "default_rules_desc": "Использовать эти значения, если параметр не указан в запросе", "override_rules": "Правила переопределения", "override_rules_desc": "Принудительно задавать значения параметров в запросе", "filter_rules": "Правила фильтрации", "filter_rules_desc": "Предварительно фильтровать тело исходящего запроса через JSON Path, автоматически удалять несоответствующие или лишние параметры (санитизация запроса)" } }, "api_keys": { "label": "Список API-ключей (api-keys)", "add": "Добавить API-ключ", "empty": "API-ключи отсутствуют", "hint": "Каждая запись — это API-ключ (в том же стиле, что и на странице управления API-ключами)", "edit_title": "Редактирование API-ключа", "add_title": "Добавление API-ключа", "input_label": "API-ключ", "input_placeholder": "Вставьте API-ключ", "input_hint": "Меняет только содержимое локального файла конфигурации, не синхронизируется с интерфейсом управления API-ключами", "error_empty": "Введите API-ключ", "error_invalid": "API-ключ содержит недопустимые символы" }, "payload_rules": { "rule": "Правило", "models": "Применимые модели", "model_name": "Название модели", "provider_type": "Тип провайдера", "add_model": "Добавить модель", "params": "Настройки параметров", "remove_params": "Удалить параметры", "json_path": "JSON Path (например, temperature)", "json_path_filter": "JSON Path (gjson/sjson), например generationConfig.thinkingConfig.thinkingBudget", "param_type": "Тип параметра", "add_param": "Добавить параметр", "no_rules": "Правил нет", "add_rule": "Добавить правило", "value_string": "Строковое значение", "value_number": "Числовое значение (например, 0.7)", "value_boolean": "true или false", "value_json": "Значение JSON", "value_default": "Значение" }, "common": { "edit": "Изменить", "delete": "Удалить", "cancel": "Отменить", "update": "Обновить", "add": "Добавить" } } }, "quota_management": { "title": "Управление квотами", "description": "Следите за статусом квот OAuth для учётных данных Antigravity, Codex и Gemini CLI.", "refresh_files": "Обновить файлы авторизации", "refresh_files_and_quota": "Обновить файлы и квоты" }, "system_info": { "title": "Информация о центре управления", "connection_status_title": "Статус подключения", "api_status_label": "Статус API:", "config_status_label": "Статус конфигурации:", "last_update_label": "Последнее обновление:", "cache_data": "Данные из кэша", "real_time_data": "Данные в реальном времени", "not_loaded": "Не загружено", "seconds_ago": "секунд назад", "models_title": "Доступные модели", "models_desc": "Показывает ответ /models и автоматически использует сохранённые API-ключи для авторизации.", "models_loading": "Загрузка доступных моделей...", "models_empty": "Сервис /models не вернул модели", "models_error": "Не удалось загрузить список моделей", "models_count": "Доступно моделей: {{count}}", "version_check_title": "Проверка обновлений", "version_check_desc": "Вызовите эндпоинт /latest-version, чтобы сравнить с версией сервера и узнать о доступных обновлениях.", "version_current_label": "Текущая версия", "version_latest_label": "Последняя версия", "version_check_button": "Проверить обновления", "version_check_idle": "Нажмите, чтобы проверить обновления", "version_checking": "Поиск последней версии...", "version_update_available": "Доступно обновление: {{version}}", "version_is_latest": "Установлена последняя версия", "version_check_error": "Не удалось проверить обновление", "version_current_missing": "Версия сервера недоступна; сравнение невозможно", "version_unknown": "Неизвестно", "quick_links_title": "Быстрые ссылки", "quick_links_desc": "Доступ к репозиториям проекта и документации для помощи и обновлений.", "link_main_repo": "Основной репозиторий", "link_main_repo_desc": "Исходный код основной программы CLI Proxy API", "link_webui_repo": "Репозиторий WebUI", "link_webui_repo_desc": "Исходный код фронтенда центра управления", "link_docs": "Документация", "link_docs_desc": "Учебные пособия и руководства по настройке", "clear_login_title": "Локальные данные входа", "clear_login_desc": "Очистите локально сохранённые данные входа и выполните выход. Настройки стоимости статистики использования сохранятся.", "clear_login_button": "Очистить данные входа", "clear_login_confirm": "Очистить локальные данные входа и выйти?" }, "notification": { "debug_updated": "Настройки отладки обновлены", "proxy_updated": "Настройки прокси обновлены", "proxy_cleared": "Настройки прокси очищены", "retry_updated": "Настройки повторов обновлены", "quota_switch_project_updated": "Настройки переключения проектов обновлены", "quota_switch_preview_updated": "Настройки переключения на preview-модель обновлены", "usage_statistics_updated": "Настройки статистики использования обновлены", "logging_to_file_updated": "Настройки журналирования обновлены", "logs_max_total_size_updated": "Лимит размера журналов обновлён", "request_log_updated": "Настройка журналирования запросов обновлена", "force_model_prefix_updated": "Настройка префикса модели обновлена", "ws_auth_updated": "Настройка аутентификации WebSocket обновлена", "routing_strategy_updated": "Стратегия маршрутизации обновлена", "login_storage_cleared": "Локальные данные входа очищены", "api_key_added": "API-ключ успешно добавлен", "api_key_updated": "API-ключ успешно обновлён", "api_key_deleted": "API-ключ успешно удалён", "api_key_invalid_chars": "API-ключ может содержать только буквы, цифры и символы", "gemini_key_added": "Ключ Gemini успешно добавлен", "gemini_key_updated": "Ключ Gemini успешно обновлён", "gemini_key_deleted": "Ключ Gemini успешно удалён", "gemini_multi_input_required": "Введите хотя бы один ключ Gemini", "gemini_multi_failed": "Пакетное добавление Gemini не удалось", "gemini_multi_summary": "Пакетное добавление Gemini завершено: добавлено {{success}}, пропущено {{skipped}}, ошибок {{failed}}", "codex_config_added": "Конфигурация Codex успешно добавлена", "codex_config_updated": "Конфигурация Codex успешно обновлена", "codex_config_deleted": "Конфигурация Codex успешно удалена", "codex_base_url_required": "Введите базовый URL Codex", "claude_config_added": "Конфигурация Claude успешно добавлена", "claude_config_updated": "Конфигурация Claude успешно обновлена", "claude_config_deleted": "Конфигурация Claude успешно удалена", "vertex_config_added": "Конфигурация Vertex успешно добавлена", "vertex_config_updated": "Конфигурация Vertex успешно обновлена", "vertex_config_deleted": "Конфигурация Vertex успешно удалена", "vertex_base_url_required": "Введите базовый URL Vertex", "config_enabled": "Конфигурация включена", "config_disabled": "Конфигурация выключена", "field_required": "Обязательные поля не могут быть пустыми", "openai_provider_required": "Заполните имя провайдера и базовый URL", "openai_provider_added": "Провайдер OpenAI успешно добавлен", "openai_provider_updated": "Провайдер OpenAI успешно обновлён", "openai_provider_deleted": "Провайдер OpenAI успешно удалён", "ampcode_updated": "Настройки Ampcode обновлены", "ampcode_upstream_api_key_cleared": "Переопределение upstream-ключа Ampcode очищено", "openai_model_name_required": "Введите имя модели", "openai_test_url_required": "Укажите корректный базовый URL перед тестированием", "openai_test_key_required": "Добавьте хотя бы один API-ключ перед тестированием", "openai_test_model_required": "Выберите модель для теста", "data_refreshed": "Данные успешно обновлены", "connection_required": "Сначала установите подключение", "refresh_failed": "Не удалось обновить", "update_failed": "Не удалось обновить", "add_failed": "Не удалось добавить", "delete_failed": "Не удалось удалить", "upload_failed": "Не удалось загрузить", "download_failed": "Не удалось скачать", "login_failed": "Вход не выполнен", "please_enter": "Пожалуйста, введите", "please_fill": "Пожалуйста, заполните", "provider_name_url": "имя провайдера и базовый URL", "api_key": "API-ключ", "gemini_api_key": "API-ключ Gemini", "codex_api_key": "API-ключ Codex", "claude_api_key": "API-ключ Claude", "link_copied": "Ссылка скопирована в буфер обмена" }, "language": { "switch": "Язык", "chinese": "中文", "english": "English", "russian": "Русский" }, "theme": { "switch": "Тема", "light": "Светлая", "dark": "Тёмная", "switch_to_light": "Переключиться на светлую тему", "switch_to_dark": "Переключиться на тёмную тему", "auto": "Следовать системе" }, "sidebar": { "toggle_expand": "Развернуть боковую панель", "toggle_collapse": "Свернуть боковую панель" }, "footer": { "api_version": "Версия CLI Proxy API", "build_date": "Время сборки", "version": "Версия интерфейса управления", "author": "Автор" } }