{"language":"zh-TW","translation":{"brand":{"name":"Route Key","label":"AI 路由控制平面"},"nav":{"home":"首頁","dashboard":"工作台","models":"模型","docs":"文件","blog":"部落格","about":"關於","privacy":"隱私","terms":"條款"},"menus":{"dashboard":{"eyebrow":"工作區","title":"控制台總覽、API 金鑰與用量記錄","items":{"overview":"總覽","overviewDesc":"檢視帳戶額度、用量與模型分佈。","wallet":"錢包","walletDesc":"儲值餘額、兌換碼並檢視儲值訂單。","apiKeys":"API 金鑰","apiKeysDesc":"檢視 Token 狀態、餘額並複製遮罩後的金鑰。","usageLogs":"用量記錄","usageLogsDesc":"檢查近期請求記錄、成本、Token 與延遲。","settings":"設定","settingsDesc":"讓帳戶入口與主控台保持一致。"}},"models":{"eyebrow":"模型存取","title":"GPT、Claude、Gemini、DeepSeek、Grok、Qwen 等","items":{"catalog":"模型目錄","catalogDesc":"比較供應商、上下文視窗、端點、健康度與路由狀態。","pricing":"即時價格","pricingDesc":"在請求路由前顯示模型倍率與計費群組。","routing":"智慧路由","routingDesc":"指定模型,或讓策略依價格、速度與可用性選擇。","multimodal":"多模態 API","multimodalDesc":"支援聊天、Responses、圖片、音訊與自訂上游端點。"}},"docs":{"eyebrow":"開發者上手","title":"替換 Base URL,保留既有工作流","items":{"quickstart":"快速開始","quickstartDesc":"用一把 API 金鑰搭配 OpenAI 相容請求格式。","compatibility":"SDK 相容","compatibilityDesc":"盡可能保留既有 SDK、工具與請求格式。","examples":"程式碼範例","examplesDesc":"複製 cURL、JavaScript 與伺服端常用片段。","billing":"帳單指南","billingDesc":"理解額度、群組、Token 價格與用量記錄。"}},"blog":{"eyebrow":"產品思考","title":"打造更低成本、更可靠 AI 應用的指南","items":{"savings":"成本手冊","savingsDesc":"團隊如何在不重寫應用的情況下降低 Token 支出。","routing":"路由筆記","routingDesc":"價格、延遲、可用性與品質之間的實務取捨。","models":"模型更新","modelsDesc":"追蹤新支援的供應商、別名與端點能力。","builders":"建構者故事","buildersDesc":"聊天機器人、AI 應用、內容流程與內部工具案例。"}},"about":{"eyebrow":"公司簡介","title":"品牌、團隊與定位","items":{"origin":"起源","originDesc":"Route Key 如何開始、成立時間與產品演進。","team":"團隊","teamDesc":"創辦背景、核心成員與實際交付能力。","position":"定位","positionDesc":"網站提供的服務、產品能力與背後使命。","mission":"使命","missionDesc":"產品存在的原因,以及希望維持的標準。"}}},"actions":{"exploreModels":"瀏覽模型","readDocs":"閱讀文件","copyRequest":"複製請求","copyFailed":"複製失敗","getYourKey":"建立 API 金鑰","copied":"已複製","viewBlueprint":"查看 API 藍圖","inspectPricing":"查看價格","changeLanguage":"切換語言","switchTheme":"切換主題","actions":"操作","openMenu":"開啟選單","closeMenu":"關閉選單","cancel":"取消","close":"關閉","confirm":"確認","clear":"清除","reset":"重設","refresh":"重新整理","previous":"上一頁","next":"下一頁","search":"搜尋","done":"完成"},"hero":{"status":"即時閘道遙測","fallback":"示範資料,已準備同步後端","kicker":"OpenAI 相容路由層","titleA":"路由每一個","titleB":"請求。","accessibleTitle":"OpenAI 相容 AI API 閘道","definition":"OpenAI 相容 AI API 閘道","description":"Route Key 將分散的模型端點整合為清晰、可觀測的路由層。保留熟悉的 API 形狀,並依健康度、成本與延遲調度 GPT、Claude、Gemini、DeepSeek、Qwen 與自訂通道。","discountBadge":"成本訊號","promises":{"aggregate":"統一模型存取","discount":"價格感知路由","compatible":"即插即用相容"},"liveRequests":"即時請求","routedToday":"已路由請求","avgDecision":"平均決策時間","protectedSpend":"節省支出"},"support":{"eyebrow":"模型路由網格","title":"GPT、Claude、Gemini、DeepSeek、Qwen 與私有通道","description":"以同一帳戶使用聊天、推理、長上下文、多模態與區域模型容量。"},"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":"專注於 AI 路由、控制與可視化的品牌","description":"Route Key 以克制的賽博現代介面呈現 AI 模型存取與平台營運。","heroLabel":"公司簡介","heroCaption":"在同一處了解品牌故事、團隊實力與產品定位。","indexLabel":"關於導覽","backToTop":"返回頂部","signals":{"story":"品牌故事","team":"團隊概況","positioning":"產品定位"},"sections":{"story":{"title":"品牌故事","content":["Route Key 以克制的賽博現代介面呈現 AI 模型存取與平台營運。","在同一處了解品牌故事、團隊實力與產品定位。"]},"path":{"title":"發展歷程","content":["Route Key 以克制的賽博現代介面呈現 AI 模型存取與平台營運。","在同一處了解品牌故事、團隊實力與產品定位。"]},"team":{"title":"團隊概況","content":["團隊概況","在同一處了解品牌故事、團隊實力與產品定位。"]},"capability":{"title":"能力範圍","content":["能力範圍","Route Key 以克制的賽博現代介面呈現 AI 模型存取與平台營運。"]},"positioning":{"title":"產品定位","content":["產品定位","Route Key 以克制的賽博現代介面呈現 AI 模型存取與平台營運。"]},"mission":{"title":"使命","content":["使命","Route Key 以克制的賽博現代介面呈現 AI 模型存取與平台營運。"]}},"mobile":{"imageAlt":"公司簡介","title":"AI 路由控制品牌","lead":"整合模型存取、成本策略與流量可視化的閘道。","briefTitle":"三層品牌訊號","routing":"Routing","routingValue":"Cost + health","security":"Security","securityValue":"Key isolation","ecosystem":"Ecosystem","ecosystemValue":"Multi-vendor","storySummary":"Route Key 以克制的賽博現代介面呈現 AI 模型存取與平台營運。","capabilitySummary":"能力範圍","missionSummary":"使命","statement":"在同一處了解品牌故事、團隊實力與產品定位。"}},"illustrations":{"motionEyebrow":"策略飛行路徑","motionTitle":"請求只進入一次,策略選擇最佳路由。","motionDescription":"SDK 保留原有請求形狀,Route Key 在閘道後方解析目錄中繼資料、通道價格、串流連續性與故障切換狀態。","motionAlt":"動畫路由圖,顯示 API 請求穿過目錄、策略、節省與相容節點","routingImageAlt":"精簡工作台插圖,顯示請求被路由到高亮模型通道","pricingImageAlt":"精簡分析插圖,顯示下降的 AI 成本曲線","modelImageAlt":"精簡模型目錄插圖,顯示帳戶模組周圍的 AI 能力卡片","coreLabel":"閘道","catalogLabel":"目錄","policyLabel":"策略","savingsLabel":"節省","compatLabel":"相容","readoutLabel":"路由差值"},"footer":{"ariaLabel":"網站頁尾","socialAriaLabel":"Route Key 官方社群帳號","github":"GitHub","contact":"聯絡","email":"電子郵件","privacy":"隱私","terms":"條款","copyright":"Copyright {{year}} Route Key. All rights reserved.","restriction":"Route Key 禁止位於中國大陸的使用者使用。若發現來自中國大陸使用,Route Key 可能暫停或終止帳戶,","refund":"且已支付費用或剩餘餘額不予退款。"},"command":{"title":"流量控制台","subtitle":"策略會在你的應用察覺前選擇健康路由。","inbound":"進站","policy":"策略","selected":"已選","health":"健康度","routeScore":"路由分數","costDelta":"成本差值","failover":"故障切換","streaming":"串流","accepted":"已接收","evaluated":"已評估","dispatched":"已派送"},"mobile":{"eyebrow":"AI 路由控制平面","title":"路由每一個請求。","description":"使用一個相容閘道,依成本、延遲與健康度調度 GPT、Claude、Gemini、DeepSeek、Qwen 與自訂通道。","quickModels":"模型","quickDocs":"文件","quickBlog":"部落格","drawerSubtitle":"控制平面"},"sections":{"stackEyebrow":"控制平面","stackTitle":"更冷冽的 AI API 流量駕駛艙","stackDescription":"Route Key 將應用程式碼與供應商分散狀態分離:一個相容入口、即時模型情報、策略派送、金鑰遮罩、串流連續性,以及控制台級用量遙測。","modelsEyebrow":"通道情報","pricingTitle":"在流量移動前檢視模型路由","pricingDescription":"模型矩陣揭示供應商、上下文、端點、價格狀態與延遲訊號,讓團隊可指定路由或交給策略決策。","developerEyebrow":"整合面板","developerTitle":"替換端點,保留工作流"},"cards":{"catalog":"通道目錄","catalogDesc":"在一個緊湊矩陣中對應供應商、端點、上下文視窗與健康狀態。","policy":"策略派送","policyDesc":"在派送前依價格、延遲與可用性解析每一次請求。","billing":"金鑰保險庫","billingDesc":"連接一次,遮罩憑證,並在同一控制台追蹤額度與餘額。","speed":"串流連續性","speedDesc":"閘道選擇健康通道時,仍保持 SSE 形式回應不中斷。","privacy":"範圍化遙測","privacyDesc":"記錄聚焦於帳戶可視性、成本、Token 與請求診斷。","failover":"冷備援通道","failoverDesc":"不改應用程式碼,也能避開昂貴或不健康的路由。"},"home":{"offer":{"eyebrow":"成本姿態","label":"差值","title":"價格感知路由","description":"策略可優先選擇低成本且健康的通道,同時保留相容請求格式。"},"speed":{"label":"決策","title":"亞秒級策略決策","description":"閘道策略會在回應串流抵達應用前選擇健康通道。"},"privacy":{"title":"隱私防護邊界","value":"範圍化","description":"API 金鑰會被遮罩,帳戶資料留在控制台後方,記錄聚焦於用量可視性。"},"security":{"title":"帳戶隔離","description":"使用者 Token、帳單與偏好都綁定在已登入帳戶。"},"advantagesEyebrow":"營運姿態","advantagesTitle":"更少供應商漂移,更清晰流量控制","steps":{"createKey":"簽發金鑰","createKeyDesc":"從工作台建立或複製 API Token。","replaceUrl":"替換 Base URL","replaceUrlDesc":"將 SDK 指向 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":"常見問題","title":"請求進入閘道前的常見問題","description":"給正在確認模型覆蓋、相容性、價格、隱私與串流行為的團隊的簡短答案。","items":{"models":{"q":"我可以使用哪些模型?","a":"Route Key 會公開價格後端已啟用的模型,包含主流 GPT、Claude、Gemini、DeepSeek、Qwen,以及相容的自訂通道。前往模型頁面即可比較供應商、上下文長度、端點支援、可用群組與精確模型 ID,再決定要送出正式流量。"},"compatibility":{"q":"需要重寫 SDK 程式碼嗎?","a":"通常不需要。保留熟悉的 OpenAI 請求 body 與 SDK 程式碼,將 Base URL 換成 Route Key 相容端點,設定 API 金鑰並選擇支援的模型 ID。先用短小的非串流請求確認回應,再逐步加入串流、工具與長上下文,能較快定位整合問題。"},"pricing":{"q":"折扣如何運作?","a":"閘道會依群組倍率、輸入與輸出 Token 價格、快取、延遲與健康度比較可用路由。需要一致性時可以固定模型,也可以讓策略挑選健康且成本較低的路由。請在用量記錄中比較模型、Token、群組與成本,確認節省是真實可量化的。"},"privacy":{"q":"API 金鑰與記錄會如何處理?","a":"金鑰在控制台中以遮罩顯示。依照隱私設定,用量記錄可查看狀態、模型、成本、輸入輸出 Token、延遲與時間。為每個應用程式或 coding agent 使用獨立金鑰,方便輪替權限,也能清楚歸屬每個工作負載的用量。"},"speed":{"q":"路由會拖慢回應嗎?","a":"路由在派送前決定,因此可以在送出請求前避開異常通道。串流端點仍會維持 SSE 回應格式,同時由閘道選擇健康路由。上線後請觀察延遲與錯誤,並為供應商故障設定明確的備援策略,避免每個客戶端都無限制重試。"},"production":{"q":"這只適合實驗嗎?","a":"不是。先在工作台建立獨立 API 金鑰,設定相容端點與精確模型 ID,再送出短小測試。於用量記錄確認回應、額度、模型、Token、延遲與成本,接著逐步加入串流、並行、重試與備援,讓正式環境的變更可觀察也可回復。"}}}},"labels":{"models":"模型","vendors":"供應商","endpoints":"端點","groups":"群組","price":"價格","context":"上下文","latency":"延遲","endpoint":"端點","updated":"更新時間","connected":"已連線","demo":"示範模式","live":"即時","trafficControl":"AI 流量控制","perMillionTokens":"/ 百萬 Token","savePercent":"節省 {{percent}}%","lanes":"{{count}} 條通道"},"auth":{"authMode":"驗證模式","login":"登入","register":"註冊","loginTitle":"登入工作台","registerTitle":"建立帳戶","forgotTitle":"找回密碼","resetConfirmTitle":"確認重設密碼","loginDescription":"使用你的帳戶開啟控制台。","registerDescription":"透過帳戶端點完成註冊。","forgotDescription":"輸入綁定帳戶的電子郵件,我們會寄送重設連結。","resetConfirmDescription":"確認電子郵件重設連結,並產生新的臨時密碼。","username":"使用者名稱","usernamePlaceholder":"輸入使用者名稱","usernameRequired":"請輸入使用者名稱。","usernameFormat":"使用者名稱只能包含英文字母、數字與底線。","usernameLength":"使用者名稱需為 {{min}}-{{max}} 個字元。","email":"電子郵件","emailAddress":"電子郵件地址","emailOptional":"電子郵件地址(選填)","emailOrUsername":"電子郵件或使用者名稱","emailOrUsernamePlaceholder":"輸入電子郵件或使用者名稱","emailPlaceholder":"[email protected]","password":"密碼","passwordPlaceholder":"輸入密碼","passwordRequired":"請輸入密碼。","passwordRuleLength":"8-64 個字元。","passwordRuleTypes":"請使用強度足夠的混合密碼。","passwordRuleNoEdgeSpaces":"開頭與結尾不可有空白。","passwordRuleNoIdentity":"密碼中請勿使用使用者名稱或電子郵件。","confirmPassword":"確認密碼","repeatPassword":"再次輸入密碼","repeatPasswordPlaceholder":"再次輸入密碼","showPassword":"顯示密碼","hidePassword":"隱藏密碼","verificationCode":"驗證碼","verificationCodePlaceholder":"後端未要求時可留空","sendCode":"傳送驗證碼","codeCooldown":"{{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":"忘記密碼?","sendResetEmail":"傳送重設郵件","resetEmailCooldown":"{{seconds}} 秒後重送","confirmReset":"確認重設","backToLogin":"返回登入","generatedPassword":"產生的密碼","copyPassword":"複製","createAccount":"建立帳戶","needAccount":"沒有帳戶?註冊","haveAccount":"已有帳戶?登入","required":"請輸入使用者名稱與密碼。","resetEmailRequired":"重設密碼需要電子郵件。","emailRequired":"啟用電子郵件驗證時必須填寫電子郵件。","emailInvalid":"請輸入有效的電子郵件地址。","captchaImageAlt":"Captcha image","captchaPlaceholder":"Enter captcha","passwordTooShort":"密碼長度至少需為 {{min}} 個字元。","passwordTooLong":"密碼長度最多為 {{max}} 個字元。","confirmPasswordRequired":"請確認密碼。","passwordMismatch":"兩次輸入的密碼不一致。","verificationCodeRequired":"請輸入驗證碼。","verificationCodeInvalid":"驗證碼必須為 {{length}} 個字元。","failed":"驗證失敗,請重試。","successTitle":"已登入","registerReadyTitle":"註冊成功","registerReadyLogin":"請登入以繼續。","registerDisabled":"目前暫停註冊。","verificationSentTitle":"驗證碼已傳送","verificationSent":"請查看電子郵件中的驗證碼。","verificationFailed":"驗證碼傳送失敗,請重試。","resetEmailSentTitle":"重設郵件已傳送","resetEmailSent":"請開啟收件匣中的密碼重設連結。","resetEmailFailed":"重設郵件傳送失敗,請重試。","resetLinkInvalid":"重設連結無效,請重新申請。","passwordResetSuccessTitle":"密碼已重設","passwordResetSuccess":"已產生新的臨時密碼,並在可用時複製到剪貼簿。","passwordResetFailed":"密碼重設失敗,請重新申請。","passwordCopiedTitle":"密碼已複製","passwordCopied":"產生的密碼已複製到剪貼簿。","loginSuccess":"工作台已就緒。","registerVerifyTitle":"安全驗證","riskEmbeddedBrowserWarning":"目前內嵌瀏覽器環境可能被風控阻擋,請改用一般瀏覽器重試。","riskNetworkWarning":"目前網路環境仍被風控拒絕,請更換網路或稍後再試。","riskVerifyHint":"重試註冊前需要完成額外驗證。","riskVerifyTitle":"風控驗證","securityCheckDescription":"完成已設定的安全檢查以繼續。","turnstileLoadFailed":"Cloudflare Turnstile 載入失敗,請檢查網路或重新整理頁面。","turnstileTimeout":"Cloudflare Turnstile 已逾時,請重新驗證。"},"gameCaptcha":{"completed":"驗證完成","failedRetrying":"驗證失敗,正在重新整理挑戰。","failedRetryingWithReason":"{{reason}}。正在重新整理挑戰。","instruction":"拖曳模組建立安全路徑並避開危險。","invalidPlacement":"此模組不能放在這裡。","loading":"正在載入挑戰...","loadFailed":"遊戲驗證載入失敗。","pathNotReady":"路徑尚未就緒,請調整模組後重試。","required":"請先完成遊戲驗證。","secureTransportFailed":"此瀏覽器不支援安全驗證,請升級後重試。","verifyFailed":"遊戲驗證失敗。","verifyPath":"驗證路徑"},"account":{"menu":"帳戶選單","apiKeys":"API 金鑰","billing":"餘額與帳單","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":"Route Key 文件涵蓋相容端點:建立金鑰、替換 Base URL、選擇模型,並從工作台查看用量與帳單。","search":"搜尋文件","searchPlaceholder":"搜尋端點、分類、方法...","itemCount":"{{count}} 個項目","modelsIndexed":"個模型已索引","endpointCount":"{{count}} 個端點","modelEndpoints":"模型 API 端點","providerCategories":"供應商分類","modelApiGroup":"model APIs","referenceDescription":"使用 Route Key 搭配 OpenAI、Anthropic、Gemini、Qwen、DeepSeek、Grok、MiniMax 等相容格式。","commonErrors":"常見錯誤","baseUrl":"Base URL setup","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 中,由後端決定路由。","billing":"用量與帳務","billingDesc":"成本、Token 與延遲會顯示在用量記錄中。"},"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 中,由後端決定路由。","quotaTitle":"用量與帳務","quotaDesc":"成本、Token 與延遲會顯示在用量記錄中。","payloadTitle":"常見錯誤","payloadDesc":"首次失敗多半來自驗證、模型、額度或請求格式。"},"markdownDocs":{"quickstart":"# Quick Start\n\nUse Route Key as a compatible relay for mainstream model APIs. The usual integration path is:\n\n1. Create or copy an API key from Dashboard.\n2. Replace the provider base URL with the Route Key relay URL.\n3. Keep the familiar request body and choose a supported model name.\n4. Confirm the request in Usage Logs after the first call.\n\n## OpenAI SDK-compatible setup\n\n```ts\nimport OpenAI from 'openai'\n\nconst client = new OpenAI({\n apiKey: 'sk-your-key',\n baseURL: 'https://api.routekey.ai/v1',\n})\n```\n\n## First request checklist\n\n| Check | What to confirm |\n| --- | --- |\n| API key | Send `Authorization: Bearer sk-your-key` with every model call. |\n| Base URL | Replace only the provider base URL, not the request shape. |\n| Model | Copy a model name from the Models page or model list response. |\n| Logs | Confirm tokens, status, route, and cost in Usage Logs. |\n","concepts":"# Core Concepts\n\nThese are the pieces new users usually need to understand before debugging an integration.\n\n## API key\n\nAn API key authenticates requests to every supported model route. Keep it private and send it with the `Authorization` header.\n\n## Base URL\n\nThe relay keeps provider-compatible request shapes. In most SDKs, you only change the base URL and keep the rest of your code familiar.\n\n## Model name\n\nKeep the requested model in the payload. Route Key resolves route availability, pricing, and channel behavior behind the gateway.\n\n## Usage and billing\n\nCosts, token counts, request status, and latency appear in Dashboard after requests complete.\n","models":"# Choosing a Model\n\nStart with the lowest-risk endpoint that proves your integration works, then move to stronger or multimodal models only when needed.\n\n| Scenario | Suggested starting point |\n| --- | --- |\n| General chat | `gpt-4o-mini`, `qwen-plus`, or another low-cost chat model. |\n| Reasoning or coding | A stronger reasoning or Codex model after the first request works. |\n| Long context | A model with a larger context window from the Models page. |\n| Images, audio, video | Use the matching endpoint category in API Reference. |\n| Production traffic | Compare pricing groups and route health before scaling usage. |\n","errors":"# Common Errors and Fixes\n\nMost first-run failures are caused by authentication, model names, quota, or request shape.\n\n| Code | Meaning | Fix |\n| --- | --- | --- |\n| `401` | Authentication failed | Check that `Authorization` uses `Bearer` plus your Route Key API key. |\n| `403` | No access or balance | Check key status, account balance, model access, and billing settings. |\n| `429` | Rate limited | Reduce concurrency, retry with backoff, or review account limits. |\n| `5xx` | Upstream or routing failure | Retry later and inspect Usage Logs for route status and provider errors. |\n","referenceOverview":"# API Reference\n\nCall model services with request formats compatible with each provider's official API. Use this section after your first request works, or when you need provider-specific endpoint details.\n\nThe reference below is generated from structured endpoint data so methods, paths, parameters, response fields, and examples stay consistent across provider categories.\n","openai":"# OpenAI-compatible Endpoints\n\nOpenAI-compatible routes cover model listing, chat completions, Responses, image generation, video tasks, speech, embeddings, moderation, realtime sessions, and Codex response workflows.\n\nUse these endpoints when your application already uses OpenAI-style SDKs or request bodies.\n","anthropic":"# Anthropic Endpoints\n\nClaude models use the Messages request shape. This route keeps the native `messages`, `max_tokens`, `system`, `tools`, and `stream` fields visible in the parameter table.\n","gemini":"# Gemini Endpoints\n\nGemini routes support native `generateContent` payloads plus video task submission through compatible relay endpoints.\n","qwen":"# Qwen Endpoints\n\nQwen routes include chat completions, Responses, image generation, embeddings, and rerank operations.\n","deepseek":"# DeepSeek Endpoints\n\nDeepSeek supports OpenAI-compatible chat completions and text completions. Use chat completions for most integrations and completions for legacy prompt-style workloads.\n","grokXai":"# Grok / xAI Endpoints\n\nGrok routes cover chat, Responses, image generation, and video generation entries.\n","minimax":"# MiniMax Endpoints\n\nMiniMax routes include chat completions, image generation, and speech synthesis through compatible relay endpoints.\n","xunfei":"# Xunfei Spark Endpoints\n\nSpark models use an OpenAI-compatible chat completions route for standard text conversations.\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":"返回頂部","description":"在透過 Route Key 路由流量前,先比較 GPT、Claude、Gemini、DeepSeek、Grok、Qwen 等 AI API 的成本訊號。","pricingGuideEyebrow":"AI API 價格指南","pricingGuideTitle":"在正式流量前比較 Token 成本","pricingGuideIntro":"AI API 價格不只一個數字,應同時比較輸入、輸出、快取、計費群組與端點,才能選擇符合品質與預算的模型。","catalogEyebrow":"比較資源","catalogTitle":"繼續閱讀模型價格比較","catalogIntro":"先用即時目錄查看目前模型訊號,再打開比較指南或整合指南,深入評估價格與接入流程。","pricingFaqEyebrow":"AI API 價格常見問題","pricingFaqTitle":"常見模型成本問題","pricingFaqAriaLabel":"AI API 價格常見問題","pricingGuideIllustrationAlt":"AI 模型價格與路由示意圖","modelIndexTitle":"完整模型 ID 索引","modelIndexSummary":"瀏覽全部 {{count}} 個可用模型 ID","modelIndexDescription":"展開索引即可查看價格目錄目前回傳的所有模型 ID。選擇 ID 可篩選即時模型表格。","pricingConcepts":{"inputOutputTitle":"輸入、輸出與快取價格","inputOutputDescription":"輸入 Token 包含提示與內容,輸出 Token 是生成結果;重複內容還要確認快取價格。","billingTitle":"按 Token 或按請求計費","billingDescription":"多數模型按 Token 計費,部分端點則使用每次請求費用或不同額度單位。","ratioTitle":"群組倍率與模型倍率","ratioDescription":"群組倍率代表帳戶或通道乘數,模型倍率則是模型本身的調整值。","providerTitle":"比較 GPT、Claude、Gemini、DeepSeek 與 Qwen","providerDescription":"使用供應商與搜尋篩選,在同一目錄比較支援的模型系列。","endpointTitle":"選擇正確端點","endpointDescription":"確認端點支援 chat、responses、embeddings、圖片或音訊等請求類型。","selectionTitle":"實用的模型選擇流程","selectionDescription":"先確認品質,再比較成本、內容長度、延遲與健康狀態;小規模測試後再擴大。"},"pricingGuideLinks":"接著閱讀開發者文件或整合指南,送出第一個請求。","integrationGuideLink":"整合指南","filters":"篩選","vendor":"供應商","group":"群組","billing":"計費","tags":"標籤","endpoint":"端點","context":"內容長度","search":"搜尋模型","searchPlaceholder":"搜尋模型、供應商、標籤、端點...","currency":"幣別","unit":"Token 單位","ratio":"倍率","cardView":"卡片檢視","tableView":"表格檢視","resultSummary":"{{shown}} / {{total}} 個模型","activeFilters":"{{count}} 個篩選條件","pageSize":"每頁數量","copyModel":"複製模型名稱","noDescription":"價格端點未提供模型描述。","input":"輸入","output":"輸出","cache":"快取","officialPrice":"官方","groupRatio":"群組倍率","modelRatio":"模型倍率","completionRatio":"輸出倍率","cacheRatio":"快取倍率","usedGroup":"使用群組","perRequest":"每次請求","perToken":"每個 Token","priceBasis":"每百萬 Token","allVendors":"所有供應商","allGroups":"所有群組","allBilling":"所有計費","allTags":"所有標籤","allEndpoints":"所有端點","model":"模型","actions":"操作","pagination":"{{start}}-{{end}} / {{total}}","groupPricing":"群組價格","selectGroupPreview":"選擇群組以預覽價格","selectGroupPreviewDescription":"同一模型可能開放給多個帳戶群組。先選擇群組,價格會依群組倍率更新。","activeRatio":"目前倍率","closeDetails":"關閉模型詳細資料","basicInfo":"基本資訊","notAvailable":"不可用","emptyTitle":"沒有符合的模型","emptyDescription":"請更換搜尋關鍵字或重設篩選。"},"integrationGuide":{"heroTitle":"連接應用程式與程式代理","heroDescription":"使用一組 Route Key API 金鑰與相容閘道,連接應用程式、SDK 與程式工具。","beforeKicker":"開始之前","beforeTitle":"準備安全且可重現的 API 連線","beforeDescription":"Route Key 使用 OpenAI 相容請求格式,大多數 SDK 只需要 base URL、API 金鑰與支援的模型 ID。","apiKeyTitle":"建立並保護 API 金鑰","apiKeyDescription":"從工作台建立金鑰,為每個應用程式或工具使用專用金鑰,並放在環境變數或秘密管理器中,勿寫入程式碼與記錄。","requestValuesTitle":"理解請求的三個值","requestValuesDescription":"Base URL 選擇閘道、Bearer token 驗證請求、模型 ID 選擇啟用模型。請使用 Models 頁面的完整 ID。","accessTitle":"全面上線前確認存取","accessDescription":"確認餘額或額度、模型群組與端點支援的請求類型。短小的非串流請求最容易找出問題。","stepOneKicker":"步驟 01","stepOneTitle":"連接 AI 應用程式","stepOneDescription":"三個值就能送出第一個相容請求。","baseUrl":"Base URL","authorization":"Authorization","model":"模型","modelDescription":"從 Models 選擇啟用的完整 ID。","firstRequest":"第一個可用請求","verifyKicker":"確認連線","verifyTitle":"確認第一個回應並查看用量記錄","verifyDescription":"成功的 HTTP 回應代表 URL、模型、格式與額度一致。第一個測試應保持短小且可重現。","verifyStepOne":"送出短請求,檢查一般回應或串流內容。","verifyStepTwo":"記錄回應的模型 ID 與端點,方便重現設定。","verifyStepThree":"在用量記錄確認請求、Token、延遲與成本。","verifyStepFour":"逐項加入串流、工具、長內容與並行請求。","authErrorTitle":"401 或 403 驗證錯誤","authErrorDescription":"確認 Authorization: Bearer 前綴、空白、金鑰狀態與 /v1 base URL。","modelErrorTitle":"找不到模型或無法使用","modelErrorDescription":"從 Models 複製啟用的模型 ID,並確認群組與端點。","quotaErrorTitle":"額度、餘額或速率錯誤","quotaErrorDescription":"檢查錢包、帳戶限制與用量記錄,降低測試的並行數或輸出長度。","stepTwoKicker":"步驟 02","stepTwoTitle":"設定程式代理","stepTwoDescription":"每個工具使用專用金鑰,再複製對應的設定檔。","agentSetup":"Route Key 相容設定","officialDocs":"官方文件","officialDownload":"官方下載","agentCheckKey":"建立專用 Route Key API 金鑰。","agentCheckModel":"在 Models 選擇啟用模型。","agentCheckLogs":"重新啟動工具並確認用量記錄。","operationalKicker":"營運檢查清單","operationalTitle":"讓每個整合都容易維護","operationalDescription":"OpenAI 相容性可減少遷移工作,但仍需要每個工具的金鑰、測試過的模型、可設定的 base URL 與可觀測性。","docsLink":"閱讀開發者文件","modelsLink":"比較支援的模型","faq":{"sdkQuestion":"可以使用現有的 OpenAI SDK 嗎?","sdkAnswer":"通常可以。保留 SDK 請求格式,將 base URL 設為 Route Key /v1,並傳入 Route Key API 金鑰。","keyQuestion":"多個工具應共用一組金鑰嗎?","keyAnswer":"不應該。每個應用程式或代理使用獨立金鑰,方便查看記錄與輪替。","costQuestion":"要在哪裡調查成本差異?","costAnswer":"在用量記錄比較模型、群組倍率、輸入輸出 Token、端點與時間,再查看價格目錄。"}},"dashboard":{"title":"工作台","subtitle":"帳戶與用量總覽","console":"控制台","overview":"總覽","overviewDesc":"額度、支出與流量摘要","wallet":"錢包","walletDesc":"儲值餘額、兌換碼與儲值訂單","apiKeys":"API 金鑰","apiKeysDesc":"Token 清單與金鑰狀態","usageLogs":"用量記錄","usageLogsDesc":"請求歷史與計費明細","session":"工作階段","guest":"訪客帳戶","syncing":"同步中","accountData":"帳戶資料","usageStatistics":"用量摘要","resourceConsumption":"資源消耗","performanceMetrics":"效能指標","balance":"餘額","historicalUsage":"歷史用量","periodRequests":"7 日請求","statisticalRequests":"統計請求","periodCost":"7 日成本","statisticalTokens":"統計 Token","averageRpm":"平均 RPM","averageTpm":"平均 TPM","modelAnalytics":"模型用量","modelAnalyticsDesc":"來自資料端點的用量分佈。","quotaDistribution":"成本","callTrend":"趨勢","trendPeak":"峰值","trendTotal":"總計","trendPoints":"{{count}} 個點","unknownModel":"未知模型","noUsageData":"沒有近期用量資料","apiInfo":"API details","apiInfoEmpty":"The API info panel follows the console entry and is ready for backend metadata.","walletBalance":"錢包餘額","walletUsed":"已用餘額","walletRedeem":"兌換碼","walletRedeemDesc":"將兌換碼套用到此帳戶。","walletRedeemPlaceholder":"輸入兌換碼","walletRedeemAction":"兌換","walletRedeemSuccess":"已兌換","walletRedeemFailed":"兌換失敗","walletRedeemAdded":"已增加 {{value}} 到餘額。","walletPaymentMethod":"付款方式","walletPaymentDesc":"選擇已啟用的付款提供者。","walletNoPaymentMethods":"沒有已啟用的付款方式","walletMinTopup":"最低 {{value}}","walletMinTopupHint":"請輸入儲值金額,最低 {{value}} 美元起。","walletAmount":"金額","walletWaffoAuto":"自動選擇","walletEstimated":"預估付款","walletEstimating":"估算中","walletPayAction":"繼續付款","walletPayConfirmTitle":"確認 {{asset}} 儲值","walletPayConfirmAction":"確認並繼續","walletPayConfirmCancel":"返回編輯","walletPayConfirmDesc":"請使用 {{network}} 網路,並依付款頁顯示的地址與金額精準轉帳。請勿四捨五入、少付、多付或扣除交易所提領手續費。30 分鐘內僅保留一筆待付款 {{asset}} 訂單。","walletPayFailed":"付款失敗","walletRedirecting":"正在跳轉","walletPaymentOpened":"付款頁已在新分頁開啟。","walletRequestFailed":"請求失敗,請重試。","walletNoPaymentLink":"付款回應未包含跳轉連結。","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":"來自儲值端點的近期錢包訂單。","walletSearchOrder":"搜尋訂單編號","walletNoOrders":"沒有找到儲值訂單","walletPaid":"已支付","walletHistoryWindow":"Recent records","walletHistoryWindowDesc":"The backend returns user top-up records within its configured recent history window.","orderNo":"訂單編號","paymentMethod":"付款方式","walletStatus":{"success":"成功","pending":"處理中","failed":"失敗","expired":"已逾期"},"settings":"設定","settingsDesc":"帳戶偏好與工作區設定","tickets":"工單","ticketsDesc":"追蹤支援工單與付款問題","copyFailed":"複製失敗","settingsEmpty":"Settings are linked to the console and will appear here when profile options are available.","emailBinding":"電子郵件綁定","emailBindingDesc":"Bind the email address used for verification and notifications.","currentEmail":"目前電子郵件","notBound":"未綁定","changeEmail":"變更電子郵件","bindEmail":"綁定電子郵件","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":"帳戶安全","accountSecurityDesc":"Keep your sign-in password current. If you used email recovery, use the temporary password as your current password.","changePassword":"變更密碼","changePasswordDesc":"Update the password for your account.","currentPassword":"Current password","currentPasswordPlaceholder":"Enter current password","newPassword":"New password","newPasswordPlaceholder":"Enter new password","confirmNewPassword":"Confirm new password","confirmNewPasswordPlaceholder":"Enter new password again","passwordRequired":"Current password and new password are required.","passwordSameAsCurrent":"New password must be different from the current password.","passwordChanged":"Password changed","passwordChangedDesc":"Your account password has been updated.","passwordChangeFailed":"Failed to change password. Please try again.","preferences":"偏好設定","preferencesDesc":"Interface and account-level preferences.","languagePreference":"語言偏好","languagePreferenceDesc":"選擇偏好的介面語言並儲存在本機。","notificationSettings":"通知設定","notificationSettingsDesc":"Configure local notification preferences for this account.","notificationMethod":"Notification Method","emailNotification":"Email Notification","webhookNotification":"Webhook Notification","barkNotification":"Bark Notification","gotifyNotification":"Gotify Notification","notificationEmail":"Notification Email","notificationEmailPlaceholder":"Leave empty to use bound account email","balanceWarningThreshold":"Balance Warning Threshold","balanceWarningThresholdDesc":"Send a notification when your account quota balance falls below this value. 500000 equals $1 by default.","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":"Control request handling preferences where supported by the backend.","acceptModelsWithoutPricing":"Accept models without pricing","acceptModelsWithoutPricingDesc":"Allow calls when a model has no configured price. Enable only if you trust the site pricing policy.","recordRequestIp":"Record request and error log IP","recordRequestIpDesc":"When enabled, consume and error logs record the client IP address.","logoutDesc":"登出目前帳戶並返回登入頁。","settingsSaved":"設定已儲存","languageSaved":"語言偏好已更新。","notificationSaved":"通知偏好已儲存到你的帳戶。","privacySaved":"隱私偏好已儲存到你的帳戶。","save":"儲存","searchTokens":"搜尋 Token 名稱","searchTokenKey":"搜尋金鑰","searchLogs":"搜尋模型名稱","startTime":"開始時間","endTime":"結束時間","allTypes":"所有類型","modelNamePlaceholder":"Model Name","groupPlaceholder":"Group","searchTokenName":"Search token name","tokenNamePlaceholder":"Token Name","requestId":"Request ID","requestIdPlaceholder":"Request ID","timing":"Timing","tokenBreakdown":"Token Breakdown","details":"Details","search":"搜尋","addToken":"新增金鑰","copySelectedTokens":"複製已選","deleteSelectedTokens":"刪除已選","selectAllTokens":"全選 Token","selectToken":"Select {{name}}","editToken":"編輯 Token","deleteToken":"刪除 Token","enableToken":"啟用","disableToken":"停用","saveToken":"儲存 Token","tokenEditorDesc":"Create or update an account token with quota, group, and access limits.","tokenGroupPlaceholder":"Default account group","tokenMetadataLoadFailed":"Failed to load available groups or models.","groupRatioLabel":"Ratio {{ratio}}","remainAmount":"Remaining amount","expiredTime":"Expiration time","expiredTimePlaceholder":"Never expires","expiredTimeSelectPlaceholder":"Select date","unlimitedQuota":"Unlimited quota","unlimitedQuotaDesc":"When enabled, this token is not limited by its own remaining quota.","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":"Select models, empty means unlimited","modelNoMatches":"No matching models.","modelSearchPlaceholder":"Search or add a model","modelSelectedCount":"{{count}} selected","allowIps":"IP whitelist","allowIpsPlaceholder":"Single IP (e.g. 192.168.1.1) or CIDR format (e.g. 192.168.1.0/24), multiple entries separated by commas.","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":"Token name is required.","tokenQuotaRequired":"Enter a quota amount greater than 0.","tokenExpiredInvalid":"Expiration time format is invalid.","tokenActionSuccess":"Token updated","tokenActionFailed":"Token action failed","tokenCreated":"Token created. Copy it from the list when needed.","tokenUpdated":"Token updated.","tokenDeleted":"Token deleted.","tokenEnabled":"Token enabled.","tokenDisabled":"Token disabled.","tokenBatchCopied":"Copied {{count}} selected tokens.","tokenBatchDeleted":"Deleted {{count}} selected tokens.","selectTokenFirst":"Select at least one token first.","confirmDeleteToken":"Delete this token? This action cannot be undone.","confirmBatchDeleteTokens":"Delete {{count}} selected tokens? This action cannot be undone.","name":"名稱","key":"金鑰","group":"群組","quota":"額度","used":"已用","remain":"剩餘","status":"狀態","actions":"操作","copyKey":"複製金鑰","hideKey":"隱藏金鑰","keyCopied":"金鑰已複製。","moreActions":"更多操作","showKey":"顯示金鑰","unlimited":"無限制","enabled":"已啟用","disabled":"已停用","unknown":"未知","loading":"正在載入資料...","noTokens":"沒有 API 金鑰","statQuota":"統計額度","statTokens":"統計 Token","time":"時間","type":"類型","model":"模型","token":"Token","prompt":"提示","completion":"輸出","cost":"成本","latency":"延遲","recharge":"儲值","consume":"消耗","manage":"管理","system":"系統","error":"錯誤","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":"第 {{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":"English","fr":"Français","ja":"日本語","ko":"한국어","ru":"Русский","vi":"Tiếng Việt","jp":"日本語","kr":"한국어","zh-TW":"繁體中文"},"theme":{"light":"淺色","dark":"深色"}}}