{"language":"ru","translation":{"brand":{"name":"Route Key","label":"label"},"nav":{"home":"Home","dashboard":"Панель","models":"Модели","docs":"Документы","blog":"Блог","about":"О нас","privacy":"Конфиденциальность","terms":"Условия"},"menus":{"dashboard":{"eyebrow":"eyebrow","title":"title","items":{"overview":"overview","overviewDesc":"Сводка квоты, расходов и трафика","wallet":"wallet","walletDesc":"Пополнение баланса, коды и история платежей","apiKeys":"api keys","apiKeysDesc":"Список токенов и состояние ключей","usageLogs":"usage logs","usageLogsDesc":"История запросов и детали оплаты","settings":"settings","settingsDesc":"Параметры аккаунта и консоли"}},"models":{"eyebrow":"eyebrow","title":"title","items":{"catalog":"catalog","catalogDesc":"Описание для catalog desc.","pricing":"pricing","pricingDesc":"Описание для pricing desc.","routing":"routing","routingDesc":"Описание для routing desc.","multimodal":"multimodal","multimodalDesc":"Описание для multimodal desc."}},"docs":{"eyebrow":"eyebrow","title":"title","items":{"quickstart":"quickstart","quickstartDesc":"Описание для quickstart desc.","compatibility":"compatibility","compatibilityDesc":"Описание для compatibility desc.","examples":"examples","examplesDesc":"Описание для examples desc.","billing":"billing","billingDesc":"Описание для billing desc."}},"blog":{"eyebrow":"eyebrow","title":"title","items":{"savings":"savings","savingsDesc":"Описание для savings desc.","routing":"routing","routingDesc":"Описание для routing desc.","models":"models","modelsDesc":"Описание для models desc.","builders":"builders","buildersDesc":"Описание для builders desc."}},"about":{"eyebrow":"eyebrow","title":"title","items":{"origin":"Origin","originDesc":"How Route Key started, when it was founded, and how the product evolved.","team":"Team","teamDesc":"Founder background, core members, and practical delivery capability.","position":"Positioning","positionDesc":"What the site does, which services it provides, and the mission behind it.","mission":"Mission","missionDesc":"Why the product exists and the standards it aims to keep.","forBuilders":"for builders","forBuildersDesc":"Описание для for builders desc.","forTeams":"for teams","forTeamsDesc":"Описание для for teams desc.","partners":"partners","partnersDesc":"Описание для partners desc.","faq":"faq","faqDesc":"Описание для faq desc."}}},"actions":{"exploreModels":"Обзор моделей","readDocs":"Читать docs","copyRequest":"Скопировать запрос","copyFailed":"Copy failed","getYourKey":"Create API key","copied":"Скопировано","viewBlueprint":"view blueprint","inspectPricing":"inspect pricing","changeLanguage":"Сменить язык","switchTheme":"Сменить тему","actions":"Действия","openMenu":"Открыть меню","closeMenu":"Закрыть меню","cancel":"Cancel","close":"Close","confirm":"Confirm","clear":"Clear","reset":"Сброс","refresh":"Обновить","previous":"Назад","next":"Далее","search":"Поиск","done":"Готово"},"hero":{"status":"Живая телеметрия gateway","fallback":"Демо-данные, готовы к backend sync","kicker":"OpenAI-совместимый AI relay","titleA":"Один AI-ключ.","titleB":"Все модели.","accessibleTitle":"OpenAI-совместимый AI API шлюз","definition":"OpenAI-совместимый AI API шлюз","description":"Route Key дает единый API gateway для GPT, Claude, Gemini, DeepSeek, Qwen и других моделей.","discountBadge":"discount badge","promises":{"aggregate":"Основные модели","discount":"Дешевые маршруты","compatible":"Совместимые API-вызовы"},"liveRequests":"live requests","routedToday":"routed today","avgDecision":"avg decision","protectedSpend":"protected spend"},"support":{"eyebrow":"eyebrow","title":"title","description":"OpenAI-совместимый шлюз объединяет доступ к моделям, стоимость, состояние каналов и видимость трафика."},"contactWidget":{"trigger":"Связаться с нами","title":"Связаться с нами","intro":"Выберите подходящий канал связи.","liveChatTitle":"Написать в чат","liveChatDescription":"Помощь по вопросам во время работы с Route Key.","supportTitle":"Поддержка клиентов","supportDescription":"Вопросы аккаунта, оплаты, техники и дальнейшего сопровождения.","supportSubject":"Поддержка Route Key","close":"Закрыть панель контактов"},"siteNotice":{"title":"System announcements","loading":"Loading announcement...","empty":"There is no current announcement.","notifications":"Notifications","timeline":"Timeline","dismissToday":"Hide today","close":"Done"},"messageCenter":{"title":"Message center","markAllRead":"Mark all as read","close":"Close","back":"Back to messages","openLink":"Open link","loading":"Loading messages...","empty":"You are all caught up.","types":{"adminMessage":"Admin message","balanceWarning":"Balance alert","securityAlert":"Security alert","supportTicket":"Support ticket","systemAnnouncement":"Announcement","systemErrorAlert":"Critical alert"}},"aboutPage":{"badge":"О Route Key","title":"Бренд для маршрутизации, контроля и видимости ИИ","description":"Route Key предлагает сдержанный кибер-современный интерфейс для доступа к ИИ-моделям.","heroLabel":"Профиль компании","heroCaption":"История бренда, сила команды и позиционирование продукта.","indexLabel":"Карта раздела","backToTop":"Наверх","signals":{"story":"История бренда","team":"Профиль команды","positioning":"Позиционирование"},"sections":{"story":{"title":"История бренда","content":["Route Key предлагает сдержанный кибер-современный интерфейс для доступа к ИИ-моделям.","История бренда, сила команды и позиционирование продукта."]},"path":{"title":"Наш путь","content":["Route Key предлагает сдержанный кибер-современный интерфейс для доступа к ИИ-моделям.","История бренда, сила команды и позиционирование продукта."]},"team":{"title":"Профиль команды","content":["Профиль команды","История бренда, сила команды и позиционирование продукта."]},"capability":{"title":"Возможности","content":["Возможности","Route Key предлагает сдержанный кибер-современный интерфейс для доступа к ИИ-моделям."]},"positioning":{"title":"Позиционирование","content":["Позиционирование","Route Key предлагает сдержанный кибер-современный интерфейс для доступа к ИИ-моделям."]},"mission":{"title":"Миссия","content":["Миссия","Route Key предлагает сдержанный кибер-современный интерфейс для доступа к ИИ-моделям."]}},"mobile":{"imageAlt":"Профиль компании","title":"Бренд управления маршрутизацией ИИ","lead":"Шлюз для доступа к моделям, затрат и видимости трафика.","briefTitle":"Сигналы бренда в трех слоях","routing":"Routing","routingValue":"Cost + health","security":"Security","securityValue":"Key isolation","ecosystem":"Ecosystem","ecosystemValue":"Multi-vendor","storySummary":"Route Key предлагает сдержанный кибер-современный интерфейс для доступа к ИИ-моделям.","capabilitySummary":"Возможности","missionSummary":"Миссия","statement":"История бренда, сила команды и позиционирование продукта."}},"illustrations":{"motionEyebrow":"motion eyebrow","motionTitle":"motion title","motionDescription":"Сохраняйте формат запросов SDK, пока Route Key сравнивает маршруты, цены и состояние каналов.","motionAlt":"motion alt","routingImageAlt":"routing image alt","pricingImageAlt":"pricing image alt","modelImageAlt":"model image alt","coreLabel":"core label","catalogLabel":"catalog label","policyLabel":"policy label","savingsLabel":"savings label","compatLabel":"compat label","readoutLabel":"readout label"},"footer":{"ariaLabel":"aria label","socialAriaLabel":"Официальные социальные профили Route Key","github":"github","contact":"contact","email":"email","privacy":"privacy","terms":"terms","copyright":"copyright {{year}}","restriction":"restriction","refund":"refund"},"command":{"title":"title","subtitle":"subtitle","inbound":"inbound","policy":"policy","selected":"selected","health":"health","routeScore":"route score","costDelta":"cost delta","failover":"failover","streaming":"streaming","accepted":"accepted","evaluated":"evaluated","dispatched":"dispatched"},"mobile":{"eyebrow":"eyebrow","title":"Один AI-ключ. Все модели.","description":"Описание для description.","quickModels":"Модели","quickDocs":"quick docs","quickBlog":"quick blog","drawerSubtitle":"Панель управления"},"sections":{"stackEyebrow":"stack eyebrow","stackTitle":"stack title","stackDescription":"Описание для stack description.","modelsEyebrow":"models eyebrow","pricingTitle":"pricing title","pricingDescription":"Описание для pricing description.","developerEyebrow":"developer eyebrow","developerTitle":"developer title"},"cards":{"catalog":"Каталог моделей","catalogDesc":"Просматривайте вендоров, контекст, endpoints и состояние моделей.","policy":"Маршрутизация по цене","policyDesc":"Выбор по цене, задержке и доступности перед каждым запросом.","billing":"Один API-ключ","billingDesc":"Одно подключение, много провайдеров, контроль расхода и баланса.","speed":"Быстрый streaming","speedDesc":"Сохраняйте SSE-ответы с низкой задержкой через выбор здорового канала.","privacy":"Контроль приватности","privacyDesc":"Ключи маскируются, логи привязаны к учету и обработке.","failover":"Резервные маршруты","failoverDesc":"Уходите от нездоровых или дорогих маршрутов без изменения кода."},"home":{"offer":{"eyebrow":"Текущее предложение","label":"Экономия","title":"Доступ к моделям со скидкой","description":"Маршруты с учетом цены снижают расход токенов и сохраняют совместимый формат."},"speed":{"label":"Решение","title":"Быстрое решение маршрута","description":"Gateway выбирает здоровый канал до того, как стрим достигнет приложения."},"privacy":{"title":"Приватные ограждения","value":"Ограничено","description":"API-ключи маскируются, а логи показывают использование."},"security":{"title":"Изоляция аккаунта","description":"Токены, биллинг и настройки привязаны к входу New API."},"advantagesEyebrow":"Почему его используют","advantagesTitle":"Ниже стоимость, меньше интеграций, чище контроль","steps":{"createKey":"Создать ключ","createKeyDesc":"Создайте или скопируйте API token в Dashboard.","replaceUrl":"Заменить Base URL","replaceUrlDesc":"Направьте SDK на endpoint Route Key.","sendRequest":"Отправить запрос","sendRequestDesc":"Выберите модель или доверьте выбор здоровой линии политике."},"agentBridge":{"title":"Use Route Key with coding agents","description":"Codex · Claude Code · Gemini CLI · Cursor","action":"Configure agents"},"requestConsole":{"title":"Request console"},"faq":{"eyebrow":"FAQ","title":"Частые вопросы перед production-маршрутизацией","description":"Короткие ответы про модели, совместимость, цены, приватность и скорость.","items":{"models":{"q":"Какие модели можно использовать?","a":"Route Key показывает модели, включённые в pricing backend: GPT, Claude, Gemini, DeepSeek, Qwen и совместимые пользовательские каналы. На странице Models можно сравнить провайдера, длину контекста, endpoint, доступные группы и точный ID модели перед production-трафиком."},"compatibility":{"q":"Нужно ли переписывать SDK?","a":"Обычно нет. Сохраните привычный OpenAI request body и SDK, замените base URL на совместимый endpoint Route Key, задайте API key Route Key и выберите поддерживаемый ID модели. Сначала отправьте короткий запрос без streaming, затем поэтапно добавляйте streaming, tools и длинный контекст."},"pricing":{"q":"Как работает скидка?","a":"Gateway сравнивает routes по group ratio, ценам входных и выходных токенов, кэшу, latency и health. Можно закрепить модель или позволить политике выбрать здоровый более дешёвый route. В Usage Logs сравнивайте модель, токены, группу и стоимость, чтобы видеть фактическую экономию."},"privacy":{"q":"Что с API-ключами и логами?","a":"Ключи маскируются в консоли. В зависимости от настроек приватности Usage Logs показывают статус, модель, стоимость, входные и выходные токены, latency и время. Отдельный ключ для каждого приложения или coding agent упрощает ротацию доступа и точное распределение расходов."},"speed":{"q":"Маршрутизация замедлит ответ?","a":"Решение принимается до dispatch, поэтому неисправный канал можно исключить ещё до отправки запроса. Streaming endpoints сохраняют формат SSE. После запуска проверяйте latency и ошибки, а для сбоев провайдера задайте явный fallback вместо одинаковых бесконечных повторов в каждом клиенте."},"production":{"q":"Это только для экспериментов?","a":"Нет. Создайте отдельный ключ в Dashboard, настройте совместимый endpoint и точный ID модели, затем отправьте короткий тест. Проверьте ответ, quota, модель, токены, latency и стоимость в Usage Logs. После этого добавляйте streaming, concurrency, retries и fallback по одному, чтобы изменения оставались наблюдаемыми и обратимыми."}}}},"labels":{"models":"Модели","vendors":"Вендоры","endpoints":"Endpoints","groups":"Группы","price":"Цена","context":"Контекст","latency":"Задержка","endpoint":"Эндпоинт","updated":"Обновлено","connected":"Подключено","demo":"Демо-режим","live":"Live","trafficControl":"AI traffic control","perMillionTokens":"/ M tokens","savePercent":"Save {{percent}}%","lanes":"{{count}} lanes"},"auth":{"authMode":"auth mode","login":"Войти","register":"Регистрация","loginTitle":"login title","registerTitle":"register title","forgotTitle":"forgot title","resetConfirmTitle":"reset confirm title","loginDescription":"Описание для login description.","registerDescription":"Описание для register description.","forgotDescription":"Описание для forgot description.","resetConfirmDescription":"Описание для reset confirm description.","username":"Имя","usernamePlaceholder":"Введите username placeholder","usernameRequired":"Username is required.","usernameFormat":"Username can only contain letters, numbers, and underscores.","usernameLength":"Username must be {{min}}-{{max}} characters.","email":"Email","emailAddress":"Email Address","emailOptional":"Email Address (optional)","emailOrUsername":"Email or username","emailOrUsernamePlaceholder":"Enter email or username","emailPlaceholder":"Введите email placeholder","password":"Пароль","passwordPlaceholder":"Введите password placeholder","passwordRequired":"Password is required.","passwordRuleLength":"8-64 characters.","passwordRuleTypes":"Используйте надежный смешанный пароль.","passwordRuleNoEdgeSpaces":"No spaces at the beginning or end.","passwordRuleNoIdentity":"Не используйте имя пользователя или email в пароле.","confirmPassword":"Подтвердите пароль","repeatPassword":"Repeat password","repeatPasswordPlaceholder":"Type your password again","showPassword":"show password","hidePassword":"hide password","verificationCode":"verification code","verificationCodePlaceholder":"Введите verification code placeholder","sendCode":"send code","codeCooldown":"code cooldown {{seconds}}","signIn":"Войти","signInWithEmail":"Sign in with Email","signUpWithEmail":"Sign up with Email","continueWith":"Or continue with","google":"Google","github":"GitHub","signInWithProvider":"Sign in with {{provider}}","signUpWithProvider":"Sign up with {{provider}}","oauthStartFailed":"Unable to start provider login. Please try again.","oauthProcessing":"Securing provider session...","oauthSuccess":"Provider session confirmed.","oauthCallbackTitle":"OAuth handshake","oauthCallbackDescription":"Keep this window open while the console verifies the identity token.","oauthCallbackInvalid":"Invalid OAuth callback parameters.","oauthCallbackFailed":"Provider login failed. Please try again.","forgotPassword":"forgot password","sendResetEmail":"send reset email","resetEmailCooldown":"reset email cooldown {{seconds}}","confirmReset":"confirm reset","backToLogin":"back to login","generatedPassword":"generated password","copyPassword":"copy password","createAccount":"Создать аккаунт","needAccount":"need account","haveAccount":"have account","required":"Это поле обязательно.","resetEmailRequired":"Это поле обязательно.","emailRequired":"Это поле обязательно.","emailInvalid":"Операция не выполнена. Попробуйте еще раз.","captchaImageAlt":"Captcha image","captchaPlaceholder":"Enter captcha","passwordTooShort":"password too short {{min}}","passwordTooLong":"password too long {{max}}","confirmPasswordRequired":"Это поле обязательно.","passwordMismatch":"password mismatch","verificationCodeRequired":"Это поле обязательно.","verificationCodeInvalid":"Операция не выполнена. Попробуйте еще раз. {{length}}","failed":"Ошибка аутентификации.","successTitle":"Операция выполнена.","registerReadyTitle":"register ready title","registerReadyLogin":"register ready login","registerDisabled":"Регистрация сейчас отключена.","verificationSentTitle":"Операция выполнена.","verificationSent":"Операция выполнена.","verificationFailed":"Операция не выполнена. Попробуйте еще раз.","resetEmailSentTitle":"Операция выполнена.","resetEmailSent":"Операция выполнена.","resetEmailFailed":"Операция не выполнена. Попробуйте еще раз.","resetLinkInvalid":"Операция не выполнена. Попробуйте еще раз.","passwordResetSuccessTitle":"Операция выполнена.","passwordResetSuccess":"Операция выполнена.","passwordResetFailed":"Операция не выполнена. Попробуйте еще раз.","passwordCopiedTitle":"Операция выполнена.","passwordCopied":"Операция выполнена.","loginSuccess":"Операция выполнена.","registerVerifyTitle":"Security verification","riskEmbeddedBrowserWarning":"Your embedded browser environment may be blocked by risk control. Open this page in a standard browser and try again.","riskNetworkWarning":"The current network environment is still being rejected by risk control. Change network or try again later.","riskVerifyHint":"Additional verification is required before retrying registration.","riskVerifyTitle":"Risk control verification","securityCheckDescription":"Complete the configured security check to continue.","turnstileLoadFailed":"Cloudflare Turnstile failed to load. Check your network or refresh the page.","turnstileTimeout":"Cloudflare Turnstile timed out. Please retry the verification."},"gameCaptcha":{"completed":"Verification complete","failedRetrying":"Verification failed. Refreshing challenge.","failedRetryingWithReason":"{{reason}}. Refreshing challenge.","instruction":"Drag modules to build a safe path and avoid hazards.","invalidPlacement":"This module cannot be placed there.","loading":"Loading challenge...","loadFailed":"Game verification failed to load.","pathNotReady":"The path is not ready. Adjust the modules and retry.","required":"Complete the game verification first.","secureTransportFailed":"This browser does not support secure verification. Please upgrade and retry.","verifyFailed":"Game verification failed.","verifyPath":"Verify path"},"account":{"menu":"menu","apiKeys":"API-ключи","billing":"Баланс и оплата","tickets":"Tickets","settings":"Настройки","logout":"Выйти"},"pages":{"docs":{"eyebrow":"Developer documentation"},"models":{"eyebrow":"Model catalog","endpointEyebrow":"Endpoint spotlight"},"legal":{"navLabel":"Legal navigation","signalLabel":"Legal signals"},"privacy":{"eyebrow":"Privacy policy","title":"Privacy Policy","lead":"How Route Key handles account, API, usage, billing, and support data.","mapLabel":"Privacy sections","signals":{"handling":"Data handling","security":"Security posture","choices":"User choices"}},"terms":{"eyebrow":"Terms of use","title":"Terms of Use","lead":"Service access, account responsibility, billing, and platform obligations.","mapLabel":"Terms sections","signals":{"access":"Service access","obligations":"User obligations","commercial":"Commercial terms"}}},"docsPage":{"title":"Документы","subtitle":"Руководство интеграции","breadcrumbLabel":"Breadcrumb","badge":"Документы","backToTop":"Наверх","heading":"Подключитесь один раз и маршрутизируйте все модели.","description":"A Route Key documentation surface for the compatible endpoints: create keys, replace the base URL, choose models, then inspect usage and billing from Dashboard.","search":"Поиск в docs","searchPlaceholder":"Поиск модели, вендора, тега, endpoint...","itemCount":"{{count}} items","modelsIndexed":"моделей в индексе","endpointCount":"{{count}} эндпоинтов","modelEndpoints":"эндпоинты API моделей","providerCategories":"категории поставщиков","modelApiGroup":"model APIs","referenceDescription":"Используйте Route Key с совместимыми форматами OpenAI, Anthropic, Gemini, Qwen, DeepSeek, Grok и MiniMax.","commonErrors":"Частые ошибки","baseUrl":"base url","categories":{"quickstart":"Quick Start","concepts":"Основные понятия","models":"Выбор модели","reference":"API Reference"},"quickstart":{"createKey":"Create a key","createKeyDesc":"Open Dashboard \u003e API Keys, create or copy a token, and keep the full key private.","setBaseUrl":"Set baseURL","setBaseUrlDesc":"Point your SDK or HTTP client to the Route Key relay URL while keeping familiar request bodies.","pickModel":"Pick a model","pickModelDesc":"Start with a low-cost chat model, then compare pricing, groups and endpoints on the Models page.","verifyLogs":"Verify logs","verifyLogsDesc":"After the first request, check Usage Logs for model, token, latency and cost confirmation."},"quickstartCheck":"First integration checklist","checks":{"key":"Use Authorization: Bearer sk-xxxx","baseUrl":"Replace only the provider base URL","logs":"Confirm the call in Usage Logs"},"concepts":{"apiKey":"API-ключ","apiKeyDesc":"API-ключ","baseUrl":"Base URL","baseUrlDesc":"Route Key сохраняет OpenAI-форматы и меняет только адрес SDK.","modelName":"Имя модели","modelNameDesc":"Имя модели остается в payload, а backend решает маршрутизацию.","billing":"Использование и биллинг","billingDesc":"Стоимость, токены и задержка отображаются в логах."},"modelDefaults":"Model defaults","modelDefaultsDesc":"Выбор модели","fromPricing":"From /api/pricing","routingAdvice":"Routing posture","routingLevels":{"0":"Start with low-cost chat","1":"Рассуждение или код","2":"Использование и биллинг"},"recommendations":{"general":"Обычный чат","generalHint":"Обычный чат","reasoning":"Рассуждение или код","reasoningHint":"Рассуждение или код","longContext":"Long context","longContextHint":"Use when prompts carry large documents or long conversation history."},"referenceList":"{{count}} эндпоинтов","endpointDetails":"Endpoint details","authentication":"Аутентификация","parameters":"Параметры","response":"Ответ","example":"Example","codeExamples":"Code examples","requestExample":"Пример запроса","responseExample":"Пример ответа","curlExample":"Пример cURL","name":"Name","type":"Тип","required":"Обязательно","descriptionLabel":"Description","yes":"Да","no":"Нет","noParameters":"Параметры не требуются.","authBearer":"Authorization: Bearer sk-your-key","authRealtime":"Authorization: Bearer sk-your-key","authSession":"Requires the browser session created by /api/user/login.","authCookieOptional":"Public pricing can usually be read without login; authenticated deployments may require cookies.","contentType":"Content-Type","authorizationHeader":"Authorization","authHeaderHelp":"Add this value to the HTTP request headers.","noAuthRequired":"-","endpointContext":"Контекст эндпоинта","coreConceptsDescription":"Основные понятия","commonErrorsDescription":"Первые сбои часто связаны с аутентификацией, моделью, квотой или форматом.","notes":"Примечания","notesCompatible":"Use the same request shape as the matching provider API when the backend channel is enabled.","errors":{"authenticationTitle":"Аутентификация","unauthorizedDesc":"Аутентификация","accessTitle":"Использование и биллинг","modelDesc":"Имя модели остается в payload, а backend решает маршрутизацию.","quotaTitle":"Использование и биллинг","quotaDesc":"Стоимость, токены и задержка отображаются в логах.","payloadTitle":"Частые ошибки","payloadDesc":"Первые сбои часто связаны с аутентификацией, моделью, квотой или форматом."},"markdownDocs":{"quickstart":"# Быстрый старт\n\nИспользуйте Route Key как совместимый relay для API моделей.\n\n1. Создайте или скопируйте API-ключ в панели.\n2. Замените base URL провайдера на relay URL Route Key.\n3. Сохраните форму запроса и выберите модель.\n4. Проверьте первый вызов в логах.\n","concepts":"# Основные понятия\n\nAPI-ключ, Base URL, имя модели, учет и оплата нужны для отладки интеграции.\n","models":"# Выбор модели\n\nНачните с endpoint с низким риском, затем переходите к более сильным или multimodal моделям.\n","errors":"# Частые ошибки\n\nПервые сбои часто связаны с аутентификацией, именем модели, квотой или формой запроса.\n","referenceOverview":"# API Reference\n\nВызывайте модели форматами, совместимыми с официальными API провайдеров.\n","openai":"# OpenAI-совместимые endpoints\n\nМаршруты покрывают models, chat completions, Responses, images, video, audio, embeddings, moderation, realtime и Codex.\n","anthropic":"# Anthropic endpoints\n\nClaude использует формат Messages.\n","gemini":"# Gemini endpoints\n\nGemini поддерживает generateContent и video tasks.\n","qwen":"# Qwen endpoints\n\nQwen включает chat, Responses, images, embeddings и rerank.\n","deepseek":"# DeepSeek endpoints\n\nDeepSeek поддерживает OpenAI-совместимые chat completions и text completions.\n","grokXai":"# Grok / xAI endpoints\n\nGrok покрывает chat, Responses, images и video.\n","minimax":"# MiniMax endpoints\n\nMiniMax покрывает chat, images и speech synthesis.\n","xunfei":"# Xunfei Spark endpoints\n\nSpark использует OpenAI-совместимый chat completions route.\n"},"endpointCopy":{"openai-models":{"title":"List Models","format":"Official API-compatible models","description":"Lists currently available OpenAI-style models. Anthropic and Gemini model-list requests can be routed by compatible headers when enabled."},"openai-chat":{"title":"Create Chat Completion","format":"OpenAI Chat Completions","description":"Creates a model response from conversation history with streaming, tools, and usage accounting."},"openai-responses":{"title":"Create Response","format":"OpenAI Responses","description":"Creates a Responses API response, including scenarios that need compact response formats."},"openai-images":{"title":"Image Generations","format":"OpenAI Images","description":"Creates images with generation or editing capabilities depending on the upstream model."},"openai-video":{"title":"Create Video","format":"OpenAI Sora Task","description":"Submits a Sora/OpenAI video generation task handled by the relay and upstream channel."},"openai-audio-speech":{"title":"Create Speech","format":"OpenAI Audio","description":"Converts text to speech and returns audio binary content."},"openai-embeddings":{"title":"Create Embeddings","format":"OpenAI Embeddings","description":"Creates text embeddings for retrieval, clustering, and similarity search."},"openai-moderations":{"title":"Create Moderation","format":"OpenAI Moderations","description":"Moderates input text and returns category results."},"openai-realtime":{"title":"Realtime Connection","format":"OpenAI Realtime WebSocket","description":"Opens a WebSocket realtime session and forwards event streams."},"anthropic-messages":{"title":"Create Message","format":"Anthropic Messages","description":"Creates a model response using Claude native Messages format."},"gemini-generate":{"title":"Generate Content","format":"Gemini Native","description":"Creates text or multimodal responses through Gemini native generateContent."},"gemini-images":{"title":"Gemini Image Generation","format":"Gemini Native Image","description":"Creates image content through Gemini multimodal generation."},"gemini-video":{"title":"Gemini / Veo Video Task","format":"Gemini Task Adaptor","description":"Submits Gemini/Veo video tasks and lets the relay manage task status."},"ali-chat":{"title":"Qwen Chat Completion","format":"Ali Official-Compatible","description":"Calls Qwen chat models with a format compatible with the official Qwen API."},"ali-responses":{"title":"Qwen Responses","format":"Ali Responses","description":"Calls Qwen models through the Responses format."},"ali-images":{"title":"Qwen Image","format":"Ali Image","description":"Calls Ali image generation or editing models."},"ali-embeddings":{"title":"Qwen Embeddings","format":"Ali Embeddings","description":"Creates text embeddings with Ali embedding models."},"ali-rerank":{"title":"Qwen Rerank","format":"Ali Rerank","description":"Reranks candidate documents by relevance."},"xunfei-chat":{"title":"Spark Chat Completion","format":"Xunfei Official-Compatible","description":"Calls Xunfei Spark chat models with a format compatible with the official Spark API."},"deepseek-chat":{"title":"DeepSeek Chat Completion","format":"DeepSeek Official-Compatible","description":"Calls DeepSeek chat completion models."},"deepseek-completions":{"title":"DeepSeek Completion","format":"DeepSeek Official-Compatible","description":"Calls DeepSeek models through the text completions format."},"xai-chat":{"title":"Grok Chat Completion","format":"xAI Official-Compatible","description":"Calls Grok chat models with a format compatible with the official Grok API."},"xai-responses":{"title":"Grok Responses","format":"xAI Responses","description":"Calls Grok models through the Responses format."},"xai-images":{"title":"Grok Image Generation","format":"xAI Image Adaptor","description":"Creates images with Grok image generation models."},"xai-video":{"title":"Grok Video Model","format":"xAI Video Model Entry","description":"Submits Grok video generation tasks through the video model entry."},"minimax-chat":{"title":"MiniMax Chat Completion","format":"MiniMax OpenAI-Compatible Route","description":"Calls MiniMax chat models through an OpenAI-compatible route."},"minimax-images":{"title":"MiniMax Image Generation","format":"MiniMax Image Adaptor","description":"Creates images with MiniMax image generation models."},"minimax-audio":{"title":"MiniMax Speech","format":"MiniMax TTS Adaptor","description":"Converts text to speech with MiniMax speech models."},"codex-responses":{"title":"Codex Responses","format":"Codex Responses","description":"Calls Codex models through the Responses format for coding tasks."},"codex-responses-compact":{"title":"Codex Responses Compact","format":"Codex Compact Responses","description":"Calls compact Codex response models for patching and coding workflows."}},"endpointFeatures":{"audio":{"title":"Аудио","description":"Аудио"},"anthropic":{"title":"Messages","description":"Claude Messages"},"chat":{"title":"Чат","description":"Чат"},"codex":{"title":"Codex","description":"Codex Responses"},"completions":{"title":"Completions","description":"Text completions"},"embeddings":{"title":"Embeddings","description":"Embeddings"},"gemini":{"title":"Генерация контента","description":"Генерация контента"},"images":{"title":"Изображения","description":"Изображения"},"models":{"title":"Модели","description":"Модели"},"moderations":{"title":"Moderation","description":"Moderation"},"realtime":{"title":"Реальное время","description":"Реальное время"},"rerank":{"title":"Rerank","description":"Rerank"},"responses":{"title":"Responses","description":"Responses API"},"videos":{"title":"Video","description":"Video generation"}},"params":{"model":"Имя модели","messages":"Чат","input":"Input","instructions":"Instructions","tools":"Tools","stream":"Реальное время","maxOutputTokens":"Max output tokens","prompt":"Prompt","n":"Count","size":"Size","quality":"Quality","responseFormat":"Response format","inputReference":"Reference input","seconds":"Seconds","voice":"Voice","speed":"Speed","encodingFormat":"Encoding format","dimensions":"Dimensions","contents":"Генерация контента","generationConfig":"Generation config","safetySettings":"Safety settings","query":"Query","documents":"Documents","topN":"Top N","temperature":"Temperature","topP":"Top P","maxTokens":"Max tokens","system":"System"},"responseFields":{"data":"Data","id":"ID","object":"Object","choices":"Choices","usage":"Usage","output":"Output","created":"Created","status":"Status","progress":"Progress","binary":"Binary","results":"Results","events":"Events","type":"Тип","content":"Content","candidates":"Candidates","usageMetadata":"Usage","model":"Имя модели","size":"Size"},"reference":{"modelsTitle":"List Models","modelsDesc":"Lists OpenAI-style models available through the relay.","modelsResponse":"Result array or provider-compatible model data.","pricingTitle":"List Pricing","pricingDesc":"Reads model ratios, groups, vendors, and supported endpoint types from the pricing endpoint.","pricingResponse":"Pricing records and group metadata used by the Models page.","userTitle":"Current User","userDesc":"Returns the logged-in user for Dashboard personalization.","userResponse":"Current account profile, quota and usage fields.","compatibleDesc":"OpenAI-compatible {{endpoint}} endpoint routed through compatible channels.","providerResponse":"Provider-compatible response body.","chatTitle":"Create Chat Completion","responsesTitle":"Create Response","messagesTitle":"Create Message","imagesTitle":"Create Image","audioTitle":"Create Audio","embeddingsTitle":"Create Embedding","moderationsTitle":"Create Moderation"}},"modelsPage":{"title":"Сравнение цен AI API","backToTop":"Back to top","description":"Сравните стоимость GPT, Claude, Gemini, DeepSeek, Grok, Qwen и других AI API перед маршрутизацией трафика через Route Key.","pricingGuideEyebrow":"Гид по ценам AI API","pricingGuideTitle":"Сравните стоимость токенов до запуска трафика","pricingGuideIntro":"Цена AI API зависит от входных, выходных и кэшированных токенов, группы оплаты и endpoint. Сравнивайте эти сигналы в одном каталоге.","catalogEyebrow":"Материалы для сравнения","catalogTitle":"Перейти к сравнению цен моделей","catalogIntro":"Используйте живой каталог для текущих сигналов моделей, а подробные сравнения цен и интеграции открывайте в руководствах.","pricingFaqEyebrow":"FAQ по ценам AI API","pricingFaqTitle":"Частые вопросы о стоимости моделей","pricingFaqAriaLabel":"FAQ по ценам AI API","pricingGuideIllustrationAlt":"Иллюстрация цен и маршрутизации AI-моделей","modelIndexTitle":"Полный индекс ID моделей","modelIndexSummary":"Показать все доступные ID моделей: {{count}}","modelIndexDescription":"Разверните индекс, чтобы увидеть все ID из текущего каталога цен. Выберите ID, чтобы отфильтровать живую таблицу моделей.","pricingConcepts":{"inputOutputTitle":"Цена входа, выхода и кэша","inputOutputDescription":"Входные токены включают prompt и контекст, выходные — созданный ответ. Для повторного контекста проверьте цену кэша.","billingTitle":"Оплата за токен или запрос","billingDescription":"Большинство моделей оплачиваются по токенам, но некоторые endpoints используют цену за запрос или другую единицу.","ratioTitle":"Коэффициент группы и модели","ratioDescription":"Коэффициент группы относится к аккаунту или каналу, а коэффициент модели задаёт её собственную корректировку.","providerTitle":"Сравнение GPT, Claude, Gemini, DeepSeek и Qwen","providerDescription":"Фильтры вендора и поиск позволяют сравнить поддерживаемые семейства в одном каталоге.","endpointTitle":"Выберите правильный endpoint","endpointDescription":"Проверьте поддержку chat, responses, embeddings, изображений или аудио для вашего типа запроса.","selectionTitle":"Практичный выбор модели","selectionDescription":"Сначала оцените качество, затем стоимость, контекст, задержку и здоровье. Расширяйте маршрут после небольшого теста."},"pricingGuideLinks":"Перейдите к документации или гиду интеграции, чтобы отправить первый запрос.","integrationGuideLink":"Гид интеграции","filters":"Фильтры","vendor":"vendor","group":"group","billing":"billing","tags":"tags","endpoint":"Эндпоинт","context":"Контекст","search":"Поиск моделей","searchPlaceholder":"Поиск модели, вендора, тега, endpoint...","currency":"currency","unit":"unit","ratio":"ratio","cardView":"Карточки","tableView":"Таблица","resultSummary":"result summary {{shown}} {{total}}","activeFilters":"active filters {{count}}","pageSize":"Размер страницы","copyModel":"Копировать имя модели","noDescription":"Ценовой endpoint не предоставил описание модели.","input":"Вход","output":"Выход","cache":"Кэш","officialPrice":"Офиц.","groupRatio":"Коэффициент группы","modelRatio":"Коэффициент модели","completionRatio":"completion ratio","cacheRatio":"Коэффициент кэша","usedGroup":"Используемая группа","perRequest":"За запрос","perToken":"За токен","priceBasis":"за 1 млн токенов","allVendors":"Все вендоры","allGroups":"Все группы","allBilling":"Все типы оплаты","allTags":"Все теги","allEndpoints":"Все endpoints","model":"model","actions":"Действия","pagination":"pagination {{start}} {{end}} {{total}}","groupPricing":"Цены по группам","selectGroupPreview":"Выберите группу для предпросмотра цены","selectGroupPreviewDescription":"Одна и та же модель может быть доступна в нескольких группах. Выберите группу; цены ниже обновятся с ее коэффициентом.","activeRatio":"Активный коэф.","closeDetails":"Закрыть сведения о модели","basicInfo":"Основная информация","notAvailable":"Недоступно","emptyTitle":"empty title","emptyDescription":"Описание для empty description."},"integrationGuide":{"heroTitle":"Подключение приложений и AI-агентов","heroDescription":"Используйте один API-ключ Route Key и совместимый шлюз для приложений, SDK и инструментов разработки.","beforeKicker":"Перед началом","beforeTitle":"Подготовьте безопасное и воспроизводимое подключение API","beforeDescription":"Route Key использует OpenAI-совместимый формат. Нужны base URL, API-ключ и ID поддерживаемой модели.","apiKeyTitle":"Создайте и защитите API-ключ","apiKeyDescription":"Создайте ключ в Dashboard и используйте отдельный ключ для каждого приложения или инструмента. Храните его в секретах, не в коде и не в логах.","requestValuesTitle":"Три значения запроса","requestValuesDescription":"Base URL выбирает шлюз, Bearer-токен выполняет аутентификацию, а ID модели выбирает включённую модель. Используйте точный ID из Models.","accessTitle":"Проверьте доступ до запуска","accessDescription":"Проверьте баланс или квоту, группу модели и поддержку endpoint. Короткий запрос без streaming быстрее всего выявляет причину ошибки.","stepOneKicker":"Шаг 01","stepOneTitle":"Подключите AI-приложение","stepOneDescription":"Трёх значений достаточно для первого совместимого запроса.","baseUrl":"Base URL","authorization":"Authorization","model":"Модель","modelDescription":"Выберите включённый ID в Models.","firstRequest":"Первый рабочий запрос","verifyKicker":"Проверка подключения","verifyTitle":"Проверьте ответ и Usage Logs","verifyDescription":"Успешный HTTP-ответ подтверждает URL, модель, формат и квоту. Первый тест должен быть коротким и воспроизводимым.","verifyStepOne":"Отправьте короткий запрос и проверьте обычный ответ или поток.","verifyStepTwo":"Запишите ID модели и endpoint, которые вернули ответ.","verifyStepThree":"Проверьте в Usage Logs запрос, токены, задержку и стоимость.","verifyStepFour":"Добавляйте streaming, инструменты, длинный контекст и параллельность по одному.","authErrorTitle":"Ошибки аутентификации 401 или 403","authErrorDescription":"Проверьте префикс Authorization: Bearer, пробелы, состояние ключа и base URL /v1.","modelErrorTitle":"Модель не найдена или недоступна","modelErrorDescription":"Скопируйте включённый ID из Models и проверьте группу и endpoint.","quotaErrorTitle":"Ошибки квоты, баланса или скорости","quotaErrorDescription":"Проверьте кошелёк, ограничения и Usage Logs. Уменьшите параллельность или длину ответа.","stepTwoKicker":"Шаг 02","stepTwoTitle":"Настройте coding agent","stepTwoDescription":"Используйте отдельный ключ для каждого инструмента и скопируйте профиль настройки.","agentSetup":"Настройка Route Key","officialDocs":"Официальная документация","officialDownload":"Официальная загрузка","agentCheckKey":"Создайте отдельный API-ключ Route Key.","agentCheckModel":"Выберите включённую модель в Models.","agentCheckLogs":"Перезапустите инструмент и проверьте Usage Logs.","operationalKicker":"Операционный список","operationalTitle":"Сохраняйте интеграции обслуживаемыми","operationalDescription":"OpenAI-совместимость упрощает миграцию, но нужны отдельные ключи, проверенная модель, настраиваемый base URL и наблюдаемость.","docsLink":"Открыть документацию","modelsLink":"Сравнить модели","faq":{"sdkQuestion":"Можно ли использовать существующий OpenAI SDK?","sdkAnswer":"Обычно да. Сохраните формат SDK, укажите base URL Route Key /v1 и передайте API-ключ Route Key.","keyQuestion":"Нужно ли делиться одним ключом между инструментами?","keyAnswer":"Нет. Отдельный ключ для приложения или агента упрощает логи и ротацию.","costQuestion":"Где искать разницу в стоимости?","costAnswer":"Сравните в Usage Logs модель, коэффициент группы, токены, endpoint и время, затем проверьте каталог цен."}},"dashboard":{"title":"Панель","subtitle":"subtitle","console":"Консоль","overview":"Обзор","overviewDesc":"Сводка квоты, расходов и трафика","wallet":"Кошелек","walletDesc":"Пополнение баланса, коды и история платежей","apiKeys":"API-ключи","apiKeysDesc":"Список токенов и состояние ключей","usageLogs":"Логи","usageLogsDesc":"История запросов и детали оплаты","session":"Сессия","guest":"guest","syncing":"syncing","accountData":"account data","usageStatistics":"Статистика использования","resourceConsumption":"Потребление ресурсов","performanceMetrics":"Метрики производительности","balance":"balance","historicalUsage":"historical usage","periodRequests":"period requests","statisticalRequests":"statistical requests","periodCost":"period cost","statisticalTokens":"statistical tokens","averageRpm":"Средний RPM","averageTpm":"Средний TPM","modelAnalytics":"Аналитика моделей","modelAnalyticsDesc":"Описание для model analytics desc.","quotaDistribution":"Стоимость","callTrend":"Тренд","trendPeak":"Пик","trendTotal":"Итого","trendPoints":"{{count}} точек","unknownModel":"unknown model","noUsageData":"Нет свежих данных использования","apiInfo":"Информация API","apiInfoEmpty":"api info empty","walletBalance":"Баланс кошелька","walletUsed":"wallet used","walletRedeem":"Код погашения","walletRedeemDesc":"Описание для wallet redeem desc.","walletRedeemPlaceholder":"Введите wallet redeem placeholder","walletRedeemAction":"wallet redeem action","walletRedeemSuccess":"Операция выполнена.","walletRedeemFailed":"Операция не выполнена. Попробуйте еще раз.","walletRedeemAdded":"wallet redeem added {{value}}","walletPaymentMethod":"Метод оплаты","walletPaymentDesc":"Описание для wallet payment desc.","walletNoPaymentMethods":"wallet no payment methods","walletMinTopup":"wallet min topup {{value}}","walletMinTopupHint":"Please enter the recharge amount, starting from {{value}} USD.","walletAmount":"wallet amount","walletWaffoAuto":"wallet waffo auto","walletEstimated":"wallet estimated","walletEstimating":"wallet estimating","walletPayAction":"wallet pay action","walletPayConfirmTitle":"Confirm {{asset}} recharge","walletPayConfirmAction":"Confirm and continue","walletPayConfirmCancel":"Back to edit","walletPayConfirmDesc":"Use the {{network}} network and transfer exactly to the address and amount shown on the payment page. Do not round, underpay, overpay, or deduct exchange withdrawal fees. Only one pending {{asset}} order is kept within 30 minutes.","walletPayFailed":"Операция не выполнена. Попробуйте еще раз.","walletRedirecting":"wallet redirecting","walletPaymentOpened":"wallet payment opened","walletRequestFailed":"Операция не выполнена. Попробуйте еще раз.","walletNoPaymentLink":"wallet no payment link","walletUsdtReminderTitle":"{{asset}} recharge notice","walletUsdtConfirmExactAmount":"Please confirm that you will use the {{network}} network and transfer exactly to the address and amount shown on the payment page.","walletUsdtConfirmNetwork":"Network","walletUsdtReminderAmount":"Do not round, underpay, or overpay. Pay exchange withdrawal fees separately and do not deduct them from the payable amount.","walletUsdtReminderSupport":"If the amount does not match, the recharge may not be credited automatically. If it is not credited, keep the TxID and contact support.","walletUsdtConfirmPendingLimit":"After submission, this account can keep only one pending {{asset}} order within 30 minutes.","walletUsdtConfirmNoCancel":"The order cannot be cancelled manually. It will be credited automatically after successful payment, or timeout automatically after 30 minutes if unpaid.","walletHistory":"История пополнений","walletHistoryDesc":"Описание для wallet history desc.","walletSearchOrder":"Поиск номера заказа","walletNoOrders":"wallet no orders","walletPaid":"wallet paid","walletHistoryWindow":"wallet history window","walletHistoryWindowDesc":"Описание для wallet history window desc.","orderNo":"order no","paymentMethod":"payment method","walletStatus":{"success":"Операция выполнена.","pending":"pending","failed":"Операция не выполнена. Попробуйте еще раз.","expired":"expired"},"settings":"Настройки","settingsDesc":"Параметры аккаунта и консоли","tickets":"Tickets","ticketsDesc":"Track support tickets and payment issues","copyFailed":"Copy failed","settingsEmpty":"settings empty","emailBinding":"email binding","emailBindingDesc":"Описание для email binding desc.","currentEmail":"current email","notBound":"not bound","changeEmail":"change email","bindEmail":"Bind Email","emailAddress":"Email Address","emailBindDesc":"Bind an email address to your account.","emailBindChangeDesc":"Current email: {{email}}. Enter a new email to change.","emailBindEmailPlaceholder":"Enter your email","verificationCode":"Verification Code","verificationCodePlaceholder":"Enter code","emailBindCooldown":"{{seconds}}s","emailBindEmailInvalid":"Please enter a valid email address.","emailBindCodeRequired":"Please enter the verification code.","emailBindCodeSent":"Verification code sent","emailBindCodeSentDesc":"Please check your email for the verification code.","emailBindCodeSendFailed":"Failed to send verification code.","emailBound":"Email bound successfully","emailBoundDesc":"Your account email binding has been updated.","emailBindFailed":"Failed to bind email.","accountSecurity":"account security","accountSecurityDesc":"Описание для account security desc.","changePassword":"Изменить пароль","changePasswordDesc":"Описание для change password desc.","currentPassword":"Текущий пароль","currentPasswordPlaceholder":"Введите current password placeholder","newPassword":"new password","newPasswordPlaceholder":"Введите new password placeholder","confirmNewPassword":"confirm new password","confirmNewPasswordPlaceholder":"Введите confirm new password placeholder","passwordRequired":"Это поле обязательно.","passwordSameAsCurrent":"password same as current","passwordChanged":"Операция выполнена.","passwordChangedDesc":"Описание для password changed desc.","passwordChangeFailed":"Операция не выполнена. Попробуйте еще раз.","preferences":"preferences","preferencesDesc":"Описание для preferences desc.","languagePreference":"Настройка языка","languagePreferenceDesc":"Описание для language preference desc.","notificationSettings":"Настройки уведомлений","notificationSettingsDesc":"Описание для notification settings desc.","notificationMethod":"notification method","emailNotification":"email notification","webhookNotification":"webhook notification","barkNotification":"bark notification","gotifyNotification":"gotify notification","notificationEmail":"notification email","notificationEmailPlaceholder":"Введите notification email placeholder","balanceWarningThreshold":"balance warning threshold","balanceWarningThresholdDesc":"Описание для balance warning threshold desc.","webhookUrl":"Webhook URL","webhookUrlPlaceholder":"https://example.com/webhook","webhookSecret":"Webhook Secret","webhookSecretPlaceholder":"Enter secret key","barkUrl":"Bark Push URL","barkUrlPlaceholder":"https://api.day.app/yourkey/{{title}}/{{content}}","barkUrlDesc":"Template variables: {{title}}, {{content}}","gotifyUrl":"Gotify Server URL","gotifyUrlPlaceholder":"https://gotify.example.com","gotifyToken":"Gotify Application Token","gotifyTokenPlaceholder":"Enter application token","gotifyPriority":"Message Priority","settingsValidationFailed":"Check settings","settingsSaveFailed":"Settings save failed","settingsSaveFailedDesc":"Failed to update settings. Please try again.","balanceWarningThresholdInvalid":"Balance warning threshold must be greater than 0.","notificationEmailInvalid":"Enter a valid notification email address.","webhookUrlRequired":"Webhook URL is required.","webhookUrlInvalid":"Enter a valid HTTP or HTTPS Webhook URL.","barkUrlRequired":"Bark push URL is required.","barkUrlInvalid":"Enter a valid HTTP or HTTPS Bark push URL.","gotifyUrlRequired":"Gotify server URL is required.","gotifyUrlInvalid":"Enter a valid HTTP or HTTPS Gotify server URL.","gotifyTokenRequired":"Gotify application token is required.","gotifyPriorityInvalid":"Gotify priority must be between 0 and 10.","privacySettings":"Настройки приватности","privacySettingsDesc":"Описание для privacy settings desc.","acceptModelsWithoutPricing":"accept models without pricing","acceptModelsWithoutPricingDesc":"Описание для accept models without pricing desc.","recordRequestIp":"record request ip","recordRequestIpDesc":"Описание для record request ip desc.","logoutDesc":"Описание для logout desc.","settingsSaved":"Настройки сохранены.","languageSaved":"Настройки сохранены.","notificationSaved":"Настройки сохранены.","privacySaved":"Настройки сохранены.","save":"Сохранить","searchTokens":"Поиск имени токена","searchTokenKey":"Поиск ключа","searchLogs":"Поиск имени модели","startTime":"Время начала","endTime":"Время окончания","allTypes":"Все типы","modelNamePlaceholder":"Введите model name placeholder","groupPlaceholder":"Введите group placeholder","searchTokenName":"search token name","tokenNamePlaceholder":"Введите token name placeholder","requestId":"request id","requestIdPlaceholder":"Введите request id placeholder","timing":"timing","tokenBreakdown":"token breakdown","details":"details","search":"Поиск","addToken":"Добавить токен","copySelectedTokens":"copy selected tokens","deleteSelectedTokens":"delete selected tokens","selectAllTokens":"select all tokens","selectToken":"select token {{name}}","editToken":"edit token","deleteToken":"delete token","enableToken":"enable token","disableToken":"disable token","saveToken":"save token","tokenEditorDesc":"Описание для token editor desc.","tokenGroupPlaceholder":"Введите token group placeholder","tokenMetadataLoadFailed":"Failed to load available groups or models.","groupRatioLabel":"Ratio {{ratio}}","remainAmount":"remain amount","expiredTime":"expired time","expiredTimePlaceholder":"Введите expired time placeholder","expiredTimeSelectPlaceholder":"Select date","unlimitedQuota":"unlimited quota","unlimitedQuotaDesc":"Описание для unlimited quota desc.","crossGroupRetry":"Cross-group retry","crossGroupRetryDesc":"Allow New API to retry through another group when smart fallback is available.","addModelLimit":"Add","availableModels":"Available models","availableModelsPlaceholder":"Select/Search/Add available models, empty means no restrictions.","modelLimits":"model limits","modelLimitsPlaceholder":"Введите model limits placeholder","modelNoMatches":"No matching models.","modelSearchPlaceholder":"Search or add a model","modelSelectedCount":"{{count}} selected","allowIps":"allow ips","allowIpsPlaceholder":"Введите allow ips placeholder","ipWhitelist":"IP whitelist","ipWhitelistPlaceholder":"Single IP (e.g. 192.168.1.1) or CIDR format (e.g. 192.168.1.0/24), multiple entries separated by commas.","tokenNameRequired":"Это поле обязательно.","tokenQuotaRequired":"Это поле обязательно.","tokenExpiredInvalid":"Операция не выполнена. Попробуйте еще раз.","tokenActionSuccess":"Операция выполнена.","tokenActionFailed":"Операция не выполнена. Попробуйте еще раз.","tokenCreated":"Операция выполнена.","tokenUpdated":"Операция выполнена.","tokenDeleted":"Операция выполнена.","tokenEnabled":"Операция выполнена.","tokenDisabled":"Операция выполнена.","tokenBatchCopied":"Операция выполнена. {{count}}","tokenBatchDeleted":"Операция выполнена. {{count}}","selectTokenFirst":"select token first","confirmDeleteToken":"confirm delete token","confirmBatchDeleteTokens":"confirm batch delete tokens {{count}}","name":"name","key":"key","group":"group","quota":"quota","used":"Использовано","remain":"remain","status":"status","actions":"Действия","copyKey":"Копировать ключ","hideKey":"Hide key","keyCopied":"Key copied.","moreActions":"More actions","showKey":"Show key","unlimited":"unlimited","enabled":"Включено","disabled":"Отключено","unknown":"Неизвестно","loading":"Загрузка...","noTokens":"API-ключи не найдены","statQuota":"stat quota","statTokens":"stat tokens","time":"time","type":"type","model":"model","token":"Токен","prompt":"prompt","completion":"completion","cost":"Стоимость","latency":"latency","recharge":"recharge","consume":"consume","manage":"manage","system":"system","error":"error","refund":"refund","noLogs":"Логи не найдены","authGateEyebrow":"Secure control plane","authGateTitle":"Account access required","authGateCopy":"Login or register to inspect balance, tokens, usage logs, and account controls.","signIn":"Sign in","all":"All","optional":"Optional","page":"Page","basicInfo":"Basic info","billing":"Billing","billingProcess":"Billing process","cacheSummary":"Cache summary","cacheTokens":"Cache tokens","category":"Category","channelTest":"Channel test","completedTime":"Completed time","confirmPassword":"Confirm password","contact":"Contact","content":"Content","controlSettings":"Control settings","copied":"Copied","copyAddress":"Copy address","createTicket":"Create ticket","createdTime":"Created time","currentSelection":"Current selection","dateYear":"Year","dateMonth":"Month","dateDay":"Day","dateHour":"Hour","dateMinute":"Minute","downstreamError":"Downstream error","duration":"Duration","emptyData":"No data","info":"Info","input":"Input","invite":"Invite","inviteRewardTransfer":"Invite reward transfer","ip":"IP","log":"Log","logDetails":"Log details","logId":"Log ID","noGroupsMatched":"No groups matched","noTickets":"No tickets found","noTicketsMobileDesc":"Submit a ticket when payment, account, or API issues need support.","nonStream":"Non-stream","onlineTopup":"Online top-up","otherDetails":"Other details","output":"Output","quotaPolicy":"Quota policy","reason":"Reason","reasoningEffort":"Reasoning effort","rechargeAmount":"Recharge amount","refundAmount":"Refund amount","rejectReason":"Reject reason","request":"Request","requestPath":"Request path","runtime":"Runtime","searchGroup":"Search group","selectGroup":"Select group","sendCode":"Send code","spend":"Spend","stream":"Stream","submitSupportTicket":"Submit support ticket","support":"Support","timeFirstWord":"Time","tokenIdentityDesc":"Name the token and choose its account group.","tokenModelScopeDesc":"Limit the models this token can call, or leave empty for no restriction.","tokenNetworkScopeDesc":"Restrict token access by IP address or CIDR when needed.","tokenQuotaPolicyDesc":"Set quota, expiration, and retry behavior for this token.","tokens":"Tokens","uploadAttachment":"Upload attachment","upstreamModel":"Upstream model","upstreamModelUpdateNotifyEnabled":"Model update notification","upstreamModelUpdateNotifyEnabledDesc":"Notify this account when upstream model availability changes.","username":"Username","warning":"Warning","agencyReward":"Agency reward","asyncRetryRebalance":"Async retry rebalance","attachment":"Attachment","attachments":"Attachments","walletRecords":"Wallet records","walletBuiltinExistingOrder":"Pending {{asset}} order exists","walletBuiltinExistingOrderDesc":"Only one pending {{asset}} order can be kept within {{minutes}} minutes. Complete the current order or wait for it to expire.","walletBuiltinTxInvalid":"Enter a valid {{asset}} transaction hash.","walletPaymentSubmitted":"Payment submitted","walletPaymentSubmittedDesc":"We will check the payment status after the transfer is confirmed.","walletPaymentSuccess":"Payment confirmed","walletPaymentSuccessDesc":"The top-up has been credited to your account.","walletPaymentPending":"Payment pending","walletPaymentPendingDesc":"Waiting for the payment network to confirm this order.","walletPaymentTimeoutDesc":"This payment order has expired. Create a new order to continue.","walletPaymentQrCreated":"Payment order created","walletPaymentQrCreatedDesc":"Scan or open the payment page to complete the order.","walletPaymentAmount":"Payment amount","walletPaymentQrTitle":"Complete payment","walletPaymentQrDesc":"Scan the QR code or open the payment app, then complete the exact payment.","walletPaymentCheckPaid":"Check payment","walletPaymentOpenApp":"Open payment app","walletPaymentPendingTitle":"Payment pending","walletBuiltinPaying":"On-chain payment","walletBuiltinPayingTitle":"Complete {{asset}} payment","walletBuiltinReceiveAddress":"Receive address","walletBuiltinQrHint":"Scan with a wallet app that supports {{network}}.","walletBuiltinPaymentAmount":"Payment amount","walletBuiltinPaymentNetwork":"Payment network","walletBuiltinRemainingTime":"Remaining time","walletBuiltinOrderNo":"Order no.","walletBuiltinExpiresAt":"Expires at","walletBuiltinBuyCrypto":"Buy crypto","walletBuiltinStrictTitle":"Pay the exact amount","walletBuiltinStrictDesc":"Use the selected network and transfer the exact amount shown. Do not round, underpay, overpay, or deduct exchange withdrawal fees.","walletBuiltinTxTitle":"Submit transaction hash","walletBuiltinTxDesc":"After transfer, paste the wallet transaction hash so support can match the payment if needed.","walletBuiltinTxLabel":"Transaction hash","walletBuiltinTxPlaceholder":"Enter TxID / transaction hash","walletBuiltinSubmitTx":"Submit TxID","ticketFetchFailed":"Failed to load tickets.","ticketDetailFailed":"Failed to load ticket details.","ticketAttachmentLimit":"You can upload up to {{count}} attachments.","ticketAttachmentTooLarge":"Each attachment must be no larger than {{size}}MB.","ticketAttachmentUploadFailed":"Failed to upload attachment: {{name}}","ticketAttachmentDisabled":"Attachment upload is disabled.","ticketAttachmentHint":"Select files, or paste files from the clipboard directly into the text box to upload automatically.","ticketReplyRequired":"Please enter a reply.","ticketReplyFailed":"Failed to send reply.","ticketReplySuccess":"Reply sent.","ticketCloseFailed":"Failed to close ticket.","ticketClosed":"Ticket closed.","ticketReopenFailed":"Failed to reopen ticket.","ticketReopened":"Ticket reopened.","ticketCreateFailed":"Failed to submit ticket.","ticketCreated":"Ticket submitted.","ticketCreatedDesc":"Support will follow up in the ticket thread.","ticketWriteBlocked":"Ticket writing is currently disabled.","ticketCloseConfirm":"Close this ticket? You can reopen it later if needed.","ticketRequired":"Please complete the required ticket fields.","ticketContactPlaceholder":"Email, Telegram, or another contact method","ticketPaymentRepairTitle":"Self-service recharge repair","ticketPaymentRepairDesc":"If you completed an on-chain transfer, enter the order number and transaction hash. The system will try automatic repair before creating a manual ticket.","ticketPaymentRepairEnable":"I completed the transfer. Try automatic repair first.","ticketPaymentRepairRequired":"Please complete the recharge repair fields.","ticketPaymentRepairSuccess":"Recharge repaired","ticketPaymentRepairSuccessTitle":"Recharge repaired","ticketPaymentRepairSuccessDesc":"The payment was matched and credited automatically.","ticketPaymentRepairFallbackTitle":"Manual ticket created","ticketPaymentRepairFallback":"Automatic repair did not pass, so a manual ticket was created. Reason: {{reason}}","ticketRechargeChain":"Recharge chain","ticketRechargeChainPlaceholder":"Select the transfer chain","ticketRechargeOrderNo":"Recharge order No.","ticketTxHash":"Transaction hash","ticketTxHashPlaceholder":"Enter the transaction hash from your wallet or block explorer","pagination":"pagination {{page}} {{pages}} {{total}}"},"supportTicket":{"ticket":"Ticket","detailTitle":"Ticket detail","detailDesc":"Inspect the ticket and reply.","emptyReplies":"No replies yet","internalNote":"Internal","status":{"open":"Open","pending":"Pending","closed":"Closed"},"filters":{"all":"All"},"fields":{"keyword":"Keyword","status":"Status","category":"Category","ticketNo":"Ticket No.","title":"Title","priority":"Priority","lastReply":"Last reply","actions":"Actions","createdAt":"Created at","contact":"Contact","relatedLogId":"Log ID","relatedOrderNo":"Order No."},"placeholders":{"keyword":"Ticket No., title, log ID, order No.","reply":"Enter reply"},"sections":{"support":"Support","timeline":"Timeline","conversation":"Conversation","nextStep":"Next step","reply":"Reply","meta":"Meta","ticketInfo":"Ticket info"},"actions":{"search":"Search","reset":"Reset","detail":"Detail","close":"Close","reopen":"Reopen","sendReply":"Send reply","uploadAttachment":"Upload attachment","closeTicket":"Close ticket","submitTicket":"Submit ticket"},"attachments":{"hint":"Select files or paste files into the text box to upload."}},"topup":{"support":{"submitTicket":"Submit support ticket","defaultTicketTitle":"Recharge issue for order {{orderNo}}","recordTicketContent":"Please review this recharge order.\nOrder No.: {{orderNo}}\nPayment: {{paymentMethod}}\nAmount: {{amount}}\nStatus: {{status}}"}},"language":{"en":"Английский","fr":"Французский","ja":"Японский","ko":"Корейский","ru":"Русский","vi":"Вьетнамский"},"theme":{"light":"Светлая","dark":"Темная"}}}