| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381 |
- {
- "basic": {
- "identity": {
- "title": "Идентификация провайдера",
- "desc": "Укажите уникальное имя для идентификации этого провайдера"
- },
- "endpoint": {
- "title": "API Endpoint",
- "desc": "Настройте базовый URL для API запросов"
- },
- "endpointPool": {
- "title": "Пул эндпоинтов",
- "desc": "Управляйте эндпоинтами для этого типа провайдера"
- },
- "auth": {
- "title": "Аутентификация",
- "desc": "Укажите API ключ для аутентификации"
- }
- },
- "apiTest": {
- "desc": "Проверяет доступность модели у провайдера. По умолчанию соответствует типу провайдера, выбранному в настройках маршрутизации.",
- "summary": "Проверка связности провайдера и модели",
- "testLabel": "Тест модели провайдера",
- "title": "Тест модели провайдера"
- },
- "circuitBreaker": {
- "desc": "Автоматическое отключение при серии неудач для защиты качества сервиса",
- "failureThreshold": {
- "desc": "Сколько подряд неудач для срабатывания",
- "label": "Порог неудач",
- "placeholder": "5",
- "warning": "Значение 0 отключает предохранитель - используйте с осторожностью"
- },
- "maxRetryAttempts": {
- "desc": "Общее число попыток (включая первую) перед переключением на другого провайдера. Оставьте пустым для значения по умолчанию.",
- "label": "Максимум попыток на провайдера",
- "placeholder": "2"
- },
- "openDuration": {
- "desc": "Через сколько перейти в полураскрытое состояние",
- "label": "Длительность блокировки (мин)",
- "placeholder": "30"
- },
- "successThreshold": {
- "desc": "Сколько успешных запросов в полураскрытом режиме для полного восстановления",
- "label": "Порог восстановления",
- "placeholder": "2"
- },
- "summary": "{failureThreshold} неудач / {openDuration} мин. блокировки / {successThreshold} успеха для восстановления / до {maxRetryAttempts} попыток на провайдера",
- "title": "Предохранитель"
- },
- "mcpPassthrough": {
- "desc": "При включении передаёт вызовы инструментов MCP указанному AI-провайдеру (например, minimax для распознавания изображений, веб-поиска)",
- "hint": "Подсказка: сквозная передача MCP позволяет клиенту Claude Code использовать возможности инструментов, предоставляемых сторонними AI-провайдерами (например, распознавание изображений, веб-поиск)",
- "select": {
- "custom": {
- "desc": "Сквозная передача в пользовательский сервис MCP (зарезервировано, не реализовано)",
- "label": "Пользовательский"
- },
- "glm": {
- "desc": "Сквозная передача в сервис GLM MCP (поддержка анализа изображений, видео и т.д.)",
- "label": "GLM"
- },
- "label": "Тип сквозной передачи",
- "minimax": {
- "desc": "Сквозная передача в сервис minimax MCP (поддержка распознавания изображений, веб-поиска и т.д.)",
- "label": "Minimax"
- },
- "none": {
- "desc": "Не включать сквозную передачу MCP (по умолчанию)",
- "label": "Отключено"
- },
- "placeholder": "Выберите тип сквозной передачи"
- },
- "summary": {
- "custom": "Пользовательский (Зарезервировано)",
- "glm": "GLM",
- "minimax": "Minimax",
- "none": "Отключено"
- },
- "title": "Конфигурация сквозной передачи MCP",
- "urlAuto": "Автоматически извлечено: {url}",
- "urlDesc": "Базовый URL сервиса MCP. Оставьте пустым для автоматического извлечения из URL провайдера",
- "urlLabel": "URL сквозной передачи MCP",
- "urlPlaceholder": "https://api.minimaxi.com"
- },
- "proxy": {
- "desc": "Настройте прокси для улучшения соединения (поддержка HTTP, HTTPS, SOCKS4, SOCKS5)",
- "fallback": {
- "desc": "При включении будет предпринята попытка прямого соединения при сбое прокси",
- "label": "Откат к прямому соединению при сбое прокси"
- },
- "summary": {
- "configured": "Прокси настроен",
- "fallback": " (включён откат)",
- "none": "Не настроено"
- },
- "test": {
- "desc": "Проверка доступа к URL провайдера через прокси (запрос HEAD, без списания средств)",
- "label": "Проверка соединения"
- },
- "title": "Прокси",
- "url": {
- "formats": "Поддерживаемые форматы:",
- "label": "URL прокси",
- "optional": "(необязательно)",
- "placeholder": "например: http://proxy.example.com:8080 или socks5://127.0.0.1:1080"
- }
- },
- "rateLimit": {
- "title": "Ограничения",
- "desc": "Настройка лимитов расходов для контроля затрат в разных временных окнах",
- "dailyResetMode": {
- "desc": {
- "fixed": "Сбрасывать квоту каждый день в фиксированное время",
- "rolling": "Считать от первой заявки, сброс через 24 часа"
- },
- "label": "Режим ежедневного сброса",
- "options": {
- "fixed": "Фиксированное время",
- "rolling": "Скользящее окно (24 часа)"
- }
- },
- "dailyResetTime": {
- "label": "Время ежедневного сброса (HH:mm)"
- },
- "limit5h": {
- "label": "Лимит за 5 часов (USD)",
- "placeholder": "Пусто — без ограничений"
- },
- "limitConcurrent": {
- "label": "Лимит параллельных сессий",
- "placeholder": "0 — без ограничений"
- },
- "limitDaily": {
- "label": "Дневной лимит расходов (USD)",
- "placeholder": "Пусто — без ограничений"
- },
- "limitMonthly": {
- "label": "Месячный лимит (USD)",
- "placeholder": "Пусто — без ограничений"
- },
- "limitTotal": {
- "label": "Общий лимит (USD)",
- "placeholder": "Пусто — без ограничений"
- },
- "limitWeekly": {
- "label": "Недельный лимит (USD)",
- "placeholder": "Пусто — без ограничений"
- },
- "summary": {
- "concurrent": "Параллельно: {count}",
- "daily": "день: {amount} (сброс {resetTime})",
- "fiveHour": "5ч: ${amount}",
- "monthly": "Месяц: ${amount}",
- "none": "Без ограничений",
- "total": "Всего: ${amount}",
- "weekly": "Неделя: ${amount}"
- },
- "title": "Ограничения"
- },
- "limits": {
- "timeBased": "Временные ограничения",
- "dailyReset": "Настройки ежедневного сброса",
- "otherLimits": "Другие ограничения"
- },
- "routing": {
- "cacheTtl": {
- "desc": "Принудительно задать TTL кэша промптов; влияет только на запросы с cache_control.",
- "label": "Переопределение Cache TTL",
- "options": {
- "1h": "1 час",
- "5m": "5 минут",
- "inherit": "Не переопределять (следовать клиенту)"
- }
- },
- "swapCacheTtlBilling": {
- "label": "Инверсия тарификации Cache TTL",
- "desc": "Инвертировать TTL кэша на входе: токены 1h обрабатываются как 5 мин и наоборот. Влияет на бейдж, стоимость и все сохраняемые метрики."
- },
- "codexOverrides": {
- "title": "Переопределение параметров Codex",
- "desc": "Переопределение параметров запросов Codex (Responses API) на уровне провайдера",
- "parallelToolCalls": {
- "help": "Управляет тем, разрешены ли параллельные вызовы инструментов. \"inherit\" следует запросу клиента. Отключение может снизить параллельность вызовов инструментов.",
- "label": "Переопределение параллельных tool calls",
- "options": {
- "false": "Принудительно отключить",
- "inherit": "Не переопределять (следовать клиенту)",
- "true": "Принудительно включить"
- }
- },
- "reasoningEffort": {
- "help": "Управляет тем, сколько усилий модель тратит на рассуждения перед ответом. \"inherit\" следует запросу клиента, остальные значения принудительно задают reasoning.effort. Примечание: \"none\" поддерживается только моделями GPT-5.1, а \"xhigh\" — только GPT-5.1-Codex-Max. Неподдерживаемые значения приведут к ошибке у апстрима.",
- "label": "Переопределение уровня рассуждений",
- "options": {
- "high": "high",
- "inherit": "Не переопределять (следовать клиенту)",
- "low": "low",
- "medium": "medium (по умолчанию)",
- "minimal": "minimal",
- "none": "none (только GPT-5.1)",
- "xhigh": "xhigh (только GPT-5.1-Codex-Max)"
- }
- },
- "reasoningSummary": {
- "help": "Управляет тем, возвращает ли Responses API сводку рассуждений. auto — кратко, detailed — подробнее. \"inherit\" следует запросу клиента.",
- "label": "Переопределение сводки рассуждений",
- "options": {
- "auto": "auto",
- "detailed": "detailed",
- "inherit": "Не переопределять (следовать клиенту)"
- }
- },
- "textVerbosity": {
- "help": "Управляет подробностью ответа. low — короче, high — подробнее. \"inherit\" следует запросу клиента.",
- "label": "Переопределение подробности текста",
- "options": {
- "high": "high",
- "inherit": "Не переопределять (следовать клиенту)",
- "low": "low",
- "medium": "medium (по умолчанию)"
- }
- }
- },
- "anthropicOverrides": {
- "maxTokens": {
- "label": "Переопределение Max Tokens",
- "help": "Переопределяет max_tokens в теле запроса. Диапазон: 1-64000. 'Наследовать' следует запросу клиента.",
- "options": {
- "inherit": "Без переопределения (следовать клиенту)",
- "custom": "Пользовательское"
- },
- "placeholder": "напр. 32000"
- },
- "thinkingBudget": {
- "label": "Переопределение бюджета размышлений",
- "help": "Переопределяет thinking.budget_tokens в теле запроса. Диапазон: 1024-32000. При установке принудительно включает thinking.type = 'enabled'. Если также включено адаптивное мышление и модель совпадает, адаптивное имеет приоритет.",
- "options": {
- "inherit": "Без переопределения (следовать клиенту)",
- "custom": "Пользовательское"
- },
- "placeholder": "напр. 10240",
- "maxOutButton": "Максимум (32000)"
- },
- "adaptiveThinking": {
- "label": "Адаптивное мышление",
- "help": "Включить режим адаптивного мышления. При включении и совпадении модели имеет приоритет над бюджетом размышлений. Несовпадающие модели используют переопределение бюджета.",
- "effort": {
- "label": "Уровень усилий",
- "help": "Управляет глубиной рассуждений. Выше = глубже.",
- "options": {
- "low": "Низкий",
- "medium": "Средний",
- "high": "Высокий (Рекомендуется)",
- "max": "Максимальный"
- }
- },
- "modelMatchMode": {
- "label": "Сопоставление моделей",
- "help": "Какие модели используют адаптивное мышление.",
- "options": {
- "all": "Все модели",
- "specific": "Только определённые модели"
- }
- },
- "models": {
- "label": "Целевые модели",
- "help": "Модели с адаптивным мышлением. Несовпадающие модели передаются без изменений.",
- "placeholder": "напр. claude-opus-4-6",
- "addButton": "Добавить модель"
- }
- }
- },
- "geminiOverrides": {
- "title": "Переопределение параметров Gemini",
- "desc": "Переопределение параметров запроса Gemini API на уровне провайдера",
- "googleSearch": {
- "label": "Google Search (веб-доступ)",
- "options": {
- "inherit": "Без переопределения (следовать клиенту)",
- "enabled": "Принудительно включено",
- "disabled": "Принудительно отключено"
- }
- }
- },
- "context1m": {
- "desc": "Настройка поддержки контекстного окна 1M. Применяется только к моделям Sonnet (claude-sonnet-4-5, claude-sonnet-4). При включении применяется многоуровневая тарификация.",
- "label": "Контекстное окно 1M",
- "options": {
- "disabled": "Отключено",
- "forceEnable": "Принудительно включить",
- "inherit": "Наследовать (следовать клиенту)"
- }
- },
- "modelRedirects": {
- "label": "Перенаправление моделей",
- "optional": "(необязательно)"
- },
- "modelWhitelist": {
- "allowAll": "✓ Разрешить все модели (рекомендуется)",
- "desc": "Ограничьте модели, которые может обслуживать провайдер. По умолчанию доступны все модели данного типа.",
- "label": "Разрешённые модели",
- "moreModels": "+{count} ещё",
- "optional": "(необязательно)",
- "selectedOnly": "Разрешены только выбранные {count} моделей. Другие модели не будут направляться к этому провайдеру.",
- "title": "Список разрешённых моделей"
- },
- "preserveClientIp": {
- "desc": "Передавать x-forwarded-for / x-real-ip в апстрим (может раскрыть реальный IP клиента)",
- "help": "По умолчанию выключено для приватности. Включайте только если апстриму нужен IP пользователя.",
- "label": "Пробрасывать IP клиента"
- },
- "providerType": {
- "desc": "(определяет политику выбора)",
- "label": "Тип провайдера",
- "placeholder": "Выберите тип провайдера"
- },
- "providerTypeDesc": "Выберите формат API провайдера.",
- "providerTypeDisabledNote": "Примечание: функции типа OpenAI Compatible находятся в разработке и пока недоступны",
- "scheduleParams": {
- "costMultiplier": {
- "desc": "Множитель при расчёте стоимости. Официальный=1.0, дешевле на 20%=0.8, дороже на 20%=1.2 (до 4 знаков после запятой)",
- "label": "Множитель стоимости",
- "placeholder": "1.0"
- },
- "group": {
- "desc": "Тег группы. Выберите из списка или введите новое имя и нажмите Enter для создания (макс. 50 символов). Только пользователи с соответствующим providerGroup могут использовать этого провайдера.",
- "label": "Группа провайдера",
- "placeholder": "напр. premium, economy"
- },
- "groupPriorities": {
- "label": "Приоритет по группам",
- "desc": "Переопределение глобального приоритета для определённых групп. Оставьте пустым для использования глобального приоритета выше.",
- "placeholder": "Использовать глобальный приоритет",
- "noGroups": "Сначала задайте тег группы для настройки приоритетов по группам"
- },
- "priority": {
- "desc": "Меньше — выше приоритет (0 — наивысший). Система выбирает только из провайдеров с максимальным приоритетом. Рекомендации: основной=0, резерв=1, аварийный=2",
- "label": "Приоритет",
- "placeholder": "0"
- },
- "title": "Параметры выбора",
- "weight": {
- "desc": "Взвешенное случайное распределение. В пределах одного приоритета больший вес увеличивает вероятность выбора. Пример 1:2:3 ≈ 16%:33%:50%",
- "label": "Вес",
- "placeholder": "1"
- }
- },
- "summary": {
- "models": "{count} моделей в белом списке",
- "none": "Не настроено",
- "redirects": "{count} правил перенаправления"
- },
- "title": "Маршрутизация"
- },
- "timeout": {
- "desc": "Установить время ожидания запроса, 0 означает отключение тайм-аута",
- "disableHint": "Установите 0 для отключения тайм-аута (только для сценариев отката канарейки, не рекомендуется)",
- "nonStreamingTotal": {
- "core": "true",
- "desc": "Полный тайм-аут непотоковой передачи, диапазон 60-1200 секунд, 0 для отключения (по умолчанию: без ограничений)",
- "label": "Полный тайм-аут непотоковой передачи (секунды)",
- "placeholder": "0"
- },
- "streamingFirstByte": {
- "core": "true",
- "desc": "Тайм-аут первого байта потоковой передачи, диапазон 1-180 секунд, 0 для отключения (по умолчанию: без ограничений)",
- "label": "Тайм-аут первого байта потока (секунды)",
- "placeholder": "0"
- },
- "streamingIdle": {
- "core": "true",
- "desc": "Тайм-аут простоя потоковой передачи, диапазон 60-600 секунд, 0 для отключения (по умолчанию: без ограничений)",
- "label": "Тайм-аут простоя потока (секунды)",
- "placeholder": "0"
- },
- "summary": "1 байт: {streaming}с | поток: {idle}с | не поток: {nonStreaming}с",
- "title": "Конфигурация тайм-аута"
- }
- }
|