omniroute 3.1.3 → 3.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/.next/BUILD_ID +1 -1
- package/app/.next/build-manifest.json +2 -2
- package/app/.next/prerender-manifest.json +3 -3
- package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/agents/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/mcp/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/search-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error.html +2 -2
- package/app/.next/server/app/_global-error.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__051203a6._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__0891af92._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__1f2b0d89._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__46e00e59._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__6e52619e._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__7ace0fcd._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__7fa4d14e._.js +1 -1
- package/app/.next/server/chunks/_05c48915._.js +1 -1
- package/app/.next/server/chunks/_06515a8a._.js +1 -1
- package/app/.next/server/chunks/_2115d8de._.js +1 -1
- package/app/.next/server/chunks/_3ac953eb._.js +1 -1
- package/app/.next/server/chunks/_4b8fd853._.js +1 -1
- package/app/.next/server/chunks/_68683848._.js +1 -1
- package/app/.next/server/chunks/_ee9b677b._.js +1 -1
- package/app/.next/server/chunks/_efd5ede2._.js +1 -1
- package/app/.next/server/chunks/src_4787afd3._.js +1 -1
- package/app/.next/server/chunks/ssr/[root-of-the-server]__9ef96d20._.js +1 -1
- package/app/.next/server/chunks/ssr/[root-of-the-server]__a6942102._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_cs_json_db6f9ebc._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_zh-CN_json_f4112d90._.js +1 -1
- package/app/.next/server/pages/500.html +2 -2
- package/app/.next/server/server-reference-manifest.js +1 -1
- package/app/.next/server/server-reference-manifest.json +1 -1
- package/app/.next/static/chunks/{a9e7753a48031b3b.js → baf0a258e0ffe591.js} +1 -1
- package/app/CHANGELOG.md +24 -0
- package/app/docs/openapi.yaml +1 -1
- package/app/open-sse/utils/aiSdkCompat.ts +9 -2
- package/app/package-lock.json +2 -2
- package/app/package.json +1 -1
- package/app/src/i18n/messages/cs.json +17 -17
- package/app/src/i18n/messages/zh-CN.json +282 -245
- package/app/src/sse/services/auth.ts +23 -0
- package/app/tests/unit/t26-ai-sdk-accept-header-compat.test.mjs +16 -2
- package/package.json +1 -1
- /package/app/.next/static/{-wygEpZPxJod87mjaIL_D → xr28pZiWERP5X_Cmq10cV}/_buildManifest.js +0 -0
- /package/app/.next/static/{-wygEpZPxJod87mjaIL_D → xr28pZiWERP5X_Cmq10cV}/_clientMiddlewareManifest.json +0 -0
- /package/app/.next/static/{-wygEpZPxJod87mjaIL_D → xr28pZiWERP5X_Cmq10cV}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[720020,a=>{a.v(JSON.parse('{"common":{"save":"保存","cancel":"取消","delete":"删除","loading":"正在加载...","error":"发生错误","success":"成功","confirm":"你确定吗?","refresh":"刷新","close":"关闭","add":"添加","edit":"编辑","search":"搜索","back":"返回","next":"下一页","submit":"提交","reset":"重置","copy":"复制","copied":"已复制!","enabled":"启用","disabled":"已禁用","active":"启用中","inactive":"不活跃","noData":"无可用数据","configure":"配置","manage":"管理","name":"名称","actions":"操作","status":"状态","type":"类型","model":"模型","models":"模型","provider":"提供商","account":"账户","time":"时间","details":"详情","created":"已创建","lastUsed":"最后使用","loadMore":"加载更多","noResults":"没有找到结果","reloadPage":"重新加载页面","connected":"已连接","disconnected":"已断开连接","notConfigured":"未配置","testConnection":"测试连接","enable":"启用","disable":"禁用","columns":"列","newest":"最新","oldest":"最早","all":"全部","none":"无","yes":"是的","no":"否","warning":"警告","note":"注意事项","free":"免费","skipToContent":"跳至内容","maintenanceServerIssues":"Server is experiencing issues. Some features may be unavailable.","maintenanceServerUnreachable":"Server is unreachable. Reconnecting...","accept":"accept","accountId":"accountId","alias":"alias","apiKeyId":"apiKeyId","apiKeyName":"apiKeyName","apiKeySecret":"apiKeySecret","authorization":"authorization","content-type":"content-type","content-length":"content-length","cookie":"cookie","file":"file","host":"host","id":"id","import":"import","limit":"limit","offset":"offset","open":"open","origin":"origin","promptTokens":"promptTokens","completionTokens":"completionTokens","totalTokens":"totalTokens","rawModel":"rawModel","scope":"scope","skill":"skill","sortBy":"sortBy","sortOrder":"sortOrder","tab":"tab","text":"text","textarea":"textarea","tool":"tool","toolId":"toolId","web":"web","whereUsed":"whereUsed","whitelist":"whitelist","blacklist":"blacklist","resolve":"resolve","force":"force","base64url":"base64url","hex":"hex","range":"range","component":"component","redirect_uri":"redirect_uri","idempotency-key":"idempotency-key","error_description":"error_description","code":"code","compatible":"compatible","chat-completions":"chat-completions","oauth":"oauth","auth_token":"auth_token","crypto":"crypto","hours":"hours","selfsigned":"selfsigned","proxy_id":"proxy_id","proxyId":"proxyId","connectionId":"connectionId","resolveConnectionId":"resolveConnectionId","resolve_connection_id":"resolve_connection_id","scope_id":"scope_id","scopeId":"scopeId","jwtSecret":"jwtSecret","keytar":"keytar","better-sqlite3":"better-sqlite3","undici":"undici","builder-id":"builder-id","musicDesc":"musicDesc","musicGeneration":"musicGeneration","idc":"idc","cloud-status-changed":"cloud-status-changed","where_used":"where_used","windowMs":"windowMs"},"sidebar":{"home":"首页","dashboard":"仪表板","providers":"提供商","combos":"组合","autoCombo":"自动组合","usage":"用量","analytics":"分析","costs":"成本","health":"健康","limits":"限制与配额","cliTools":"CLI 工具","media":"媒体","settings":"设置","translator":"翻译器","playground":"演练场","searchTools":"搜索工具","agents":"智能体","docs":"文档","issues":"问题反馈","endpoints":"端点","apiManager":"API 管理","logs":"日志","auditLog":"审计日志","shutdown":"停止服务","restart":"重启服务","shutdownConfirm":"确定要停止 OmniRoute 吗?","restartConfirm":"确定要重启 OmniRoute 吗?","version":"v{version}","debug":"调试","system":"系统","help":"帮助","serverDisconnected":"服务器已断开连接","serverDisconnectedMsg":"代理服务器已停止,或正在重启。","expandSidebar":"展开侧边栏","collapseSidebar":"收起侧边栏","themes":"主题","presetColors":"热门配色","createTheme":"创建主题","chooseColor":"选择一种颜色","themeCoral":"珊瑚","themeBlue":"蓝色","themeRed":"红色","themeGreen":"绿色","themeViolet":"紫罗兰","themeOrange":"橙色","themeCyan":"青色","cliToolsShort":"工具"},"themesPage":{"title":"主题","description":"选择预设主题,或仅用一种颜色创建自定义主题","presetColors":"热门配色","customTheme":"自定义主题","customThemeDesc":"点击创建主题,然后选择一种颜色","createTheme":"创建主题","activePreset":"当前主题"},"header":{"logout":"退出登录","language":"语言","providers":"提供商","providerDescription":"管理 AI 提供商连接","combos":"组合","comboDescription":"支持故障回退的模型组合","usage":"用量与分析","usageDescription":"监控 API 用量、Token 消耗和请求日志","analytics":"分析","analyticsDescription":"查看图表、趋势和评测洞察","cliTools":"CLI 工具","cliToolsDescription":"配置 CLI 工具","home":"首页","homeDescription":"欢迎使用 OmniRoute","endpoint":"端点","endpointDescription":"管理代理端点、MCP、A2A 和 API 端点","mcp":"MCP","mcpDescription":"Model Context Protocol 服务管理与工具","a2a":"A2A","a2aDescription":"Agent-to-Agent 协议任务与可观测性","settings":"设置","settingsDescription":"管理你的偏好设置","openaiCompatible":"OpenAI 兼容","anthropicCompatible":"Anthropic 兼容","media":"媒体","mediaDescription":"生成图像、视频和音乐","themes":"主题","themesDescription":"为整个仪表板选择颜色主题"},"home":{"quickStart":"快速入门","quickStartDesc":"4 个步骤快速上手:连接提供商、路由模型并监控全局运行情况。","fullDocs":"完整文档","step1Title":"1. 创建 API 密钥","step1Desc":"前往 <endpoint>Endpoint</endpoint> -> Registered Keys。为每个环境生成一个独立密钥。","step2Title":"2. 连接提供商","step2Desc":"在 <providers>Providers</providers> 中添加账户。支持 OAuth、API Key 和免费套餐。","step3Title":"3. 配置客户端","step3Desc":"在 IDE 或 API 客户端中将基本 URL 设置为 {url}。","step4Title":"4. 监控与优化","step4Desc":"在 <logs>请求日志</logs> 和 <analytics>分析</analytics> 中跟踪 Token、成本与错误。","providersOverview":"提供商概览","configuredOf":"{total} 个可用提供商中已配置 {configured} 个","noModelsAvailable":"该提供商当前没有可用模型。","configureFirst":"首先在 {providers} 中配置连接","configureProvider":"配置提供商","modelAvailable":"{count} 模型可用","modelsAvailable":"{count} 个模型可用","connectionsActive":"{count} 连接处于活动状态","connectionsActivePlural":"{count} 连接处于活动状态","copyModelName":"复制模型名称","documentation":"文档","healthMonitor":"健康监测","reportIssue":"报告问题","activeError":"{active} 有效 · {errors} 错误","oauthLabel":"OAuth","apiKeyLabel":"API密钥","requestsShort":"{count} 次请求","providerModelsTitle":"{provider} - 模型","copiedModel":"已复制:{model}","aliasLabel":"别名","updateNow":"立即更新","updating":"更新中...","updateAvailableDesc":"有新版本可用。点击更新。","updateStarted":"更新已开始..."},"analytics":{"title":"分析","overviewDescription":"监控所有提供商和模型的 API 使用模式、令牌消耗、成本和活动趋势。","evalsDescription":"运行评估套件来测试和验证您的 LLM 端点。比较模型质量、检测回归和基准延迟。","overview":"概述","evals":"评测"},"apiManager":{"title":"API 密钥","createKey":"创建 API 密钥","key":"密钥","revokeKey":"撤销密钥","revokeConfirm":"确定要撤销这个 API 密钥吗?","noKeys":"还没有 API 密钥","noKeysDesc":"创建你的第一个 API 密钥,用于验证发往端点的请求","keyLabel":"密钥标签","permissions":"权限","expiresAt":"过期时间","never":"永不过期","revoke":"撤销","showKey":"显示密钥","hideKey":"隐藏密钥","copyKey":"复制 API 密钥","allModels":"全部模型","selectedModels":"已选模型","readOnly":"只读","fullAccess":"完全访问","keyManagement":"API 密钥管理","keyManagementDesc":"创建和管理用于访问端点的 API 密钥","totalKeys":"密钥总数","restricted":"受限","totalRequests":"请求总数","modelsAvailable":"可用模型","registeredKeys":"已注册密钥","keysRegistered":"已注册 {count} 个密钥","keyRegistered":"已注册 {count} 个密钥","keysSecurityNote":"每个密钥的用量跟踪彼此隔离,并且可以单独撤销。出于安全考虑,密钥创建后会被遮罩显示。","createFirstKey":"创建第一个密钥","name":"名称","usage":"用量","created":"创建时间","actions":"操作","reqs":"请求","neverUsed":"从未使用","deleteConfirm":"删除这个 API 密钥?","usageTips":"使用提示","tipAuth":"在 Authorization 请求头中以 Bearer YOUR_KEY 的形式使用 API 密钥","tipSecure":"密钥只会在创建时显示一次,请妥善保存","tipSeparate":"建议为不同客户端或环境创建独立密钥","tipRestrict":"将密钥限制到特定模型,可提升安全性并更好控制成本","keyName":"密钥名称","keyNamePlaceholder":"例如:生产环境密钥、开发环境密钥","keyNameDesc":"使用清晰的名称标识该密钥的用途","keyCreated":"API 密钥已创建","keyCreatedSuccess":"密钥创建成功!","keyCreatedNote":"请立即复制并保存此密钥,它不会再次显示。","done":"完成","savePermissions":"保存权限","autoResolve":"自动解析","autoResolveDesc":"为这个 API 密钥自动将有歧义的模型名解析到原生提供商。","keyActive":"密钥启用状态","keyActiveDesc":"启用或禁用此 API 密钥。被禁用的密钥会立即返回 403。","accessSchedule":"访问时段","accessScheduleDesc":"将访问限制在一周中的特定日期和时段。","scheduleFrom":"开始时间","scheduleUntil":"结束时间","scheduleDays":"日期","scheduleTimezone":"时区","scheduleTimezoneHint":"使用 IANA 时区名称,例如 America/New_York、Europe/Berlin","scheduleActive":"时段限制","disabled":"已禁用","daySun":"周日","dayMon":"周一","dayTue":"周二","dayWed":"周三","dayThu":"周四","dayFri":"周五","daySat":"周六","allowAll":"允许全部","restrict":"限制访问","allowAllInfo":"该密钥可访问所有可用模型。","restrictInfo":"该密钥可访问 {total} 个模型中的 {selected} 个。","selected":"已选择 {count} 个","all":"全部","clear":"清空","searchModels":"按名称或提供商搜索模型...","noModelsFound":"未找到模型","keyNameRequired":"密钥名称不能为空","keyNameTooLong":"密钥名称长度不能超过 {max} 个字符","keyNameInvalid":"密钥名称只能包含字母、数字、空格、连字符和下划线","invalidKeyName":"密钥名称无效","failedCreateKey":"创建密钥失败","failedCreateKeyRetry":"创建密钥失败,请重试。","invalidKeyId":"密钥 ID 无效","failedDeleteKey":"删除密钥失败","failedDeleteKeyRetry":"删除密钥失败,请重试。","invalidModelsSelection":"模型选择无效","cannotSelectMoreThanModels":"最多只能选择 {max} 个模型","failedUpdatePermissions":"更新权限失败","failedUpdatePermissionsRetry":"更新权限失败,请重试。","unknownProvider":"未知","copyMaskedKey":"复制遮罩后的密钥","modelsCount":"{count} 个模型","lastUsedOn":"最近使用:{date}","editPermissions":"编辑权限","deleteKey":"删除密钥","model":"{count} 个模型","models":"{count} 个模型","permissionsTitle":"权限:{name}","allowAllDesc":"该密钥可访问所有可用模型。","restrictDesc":"该密钥可访问 {totalModels} 个模型中的 {selectedCount} 个。","selectedCount":"已选择 {count} 个","keyOnlyAvailableAtCreation":"Full key available only at creation time — copy it when you first create the key"},"auditLog":{"title":"审核日志","searchPlaceholder":"搜索操作...","action":"操作","actor":"演员","target":"目标","ipAddress":"IP地址","timestamp":"时间戳","noEntries":"未找到审核条目","filterByAction":"按操作过滤...","filterByActor":"按演员筛选...","filterEntriesAria":"过滤审核日志条目","filterByActionTypeAria":"按操作类型过滤","filterByActorAria":"按演员筛选","refreshAuditLogAria":"刷新审核日志","tableAria":"审核日志条目","failedFetchAuditLog":"无法获取审核日志","notAvailable":"—","description":"行政行为和安全事件","showing":"显示 {count} 条目(偏移量 {offset})","previous":"上一页"},"media":{"title":"媒体","subtitle":"生成图像、视频和音乐","model":"模型","prompt":"提示词","generate":"生成","generating":"生成中...","loadingModels":"正在加载可用模型...","noModels":"暂无可用模型。请先配置支持媒体能力的提供商。","error":"生成失败","result":"结果","imageDescription":"使用 OpenAI、xAI、Together、Hyperbolic、SD WebUI、ComfyUI 等根据文本提示生成图像。","videoDescription":"通过 ComfyUI 或 SD WebUI 使用 AnimateDiff、Stable Video Diffusion 创建视频。","musicDescription":"通过 ComfyUI 使用 Stable Audio Open 或 MusicGen 生成音乐。"},"search":{"searchQuery":"搜索词","searchResults":"搜索结果","cachedResult":"已缓存","searchCost":"成本","searchTools":"搜索工具","searchToolsDesc":"支持提供商对比的高级搜索测试","compareProviders":"对比提供商","rerankResults":"结果重排","searchHistory":"搜索历史","urlOverlap":"URL 重叠度","noSearchProviders":"尚未配置搜索提供商。请前往设置添加。","noRerankModels":"没有可用的重排模型","webSearch":"网页搜索","provider":"提供商","searchType":"搜索类型","maxResults":"最大结果数","filters":"筛选条件","country":"国家","language":"语言","timeRange":"时间范围","includeDomains":"包含域名","excludeDomains":"排除域名","safeSearch":"安全搜索","formatted":"格式化视图","rawJson":"JSON","cacheMiss":"未命中缓存","cacheHit":"命中缓存","latency":"延迟","cost":"成本","results":"结果","rerank":"重排","rerankModel":"重排模型","positionDelta":"排名变化","emptyState":"发送搜索请求后即可查看结果","safeSearchOff":"Off","safeSearchModerate":"Moderate","safeSearchStrict":"Strict","queryPlaceholder":"Enter search query...","providerAuto":"auto (cheapest)","searchTypeWeb":"web","searchTypeNews":"news","optionAny":"any","timeRangeDay":"Past day","timeRangeWeek":"Past week","timeRangeMonth":"Past month","timeRangeYear":"Past year","domainPlaceholder":"example.com","requestTimedOut":"Request timed out ({seconds}s)","networkError":"Network error"},"cliTools":{"title":"CLI工具","noActiveProviders":"没有活跃的提供商","noActiveProvidersDesc":"请先添加并连接提供商以配置 CLI 工具。","mapModels":"地图模型","testConnection":"测试连接","connectionStatus":"连接状态","configureEndpoint":"配置端点","instructions":"使用说明","modelMapping":"模型映射","baseUrl":"基本网址","apiKey":"API密钥","configured":"已配置","notConfigured":"未配置","notInstalled":"未安装","custom":"定制","unknown":"未知","lastSavedAt":"最后保存:{date}","never":"从来没有","justNow":"刚才","minutesAgoShort":"{count} 分钟前","hoursAgoShort":"{count} 小时前","daysAgoShort":"{count} 天前","monthsAgoShort":"{count} 个月前","yearsAgoShort":"{count}年前","runtimeCheckFailed":"运行时检查失败","yourApiKeyPlaceholder":"你的 api 密钥","modelPlaceholder":"provider/model-id","configurationSaved":"配置保存成功。","failedToSave":"保存配置失败。","noApiKeysCreateOne":"无 API 密钥 - 在“密钥”页面创建一个","defaultOmnirouteKey":"sk_omniroute(默认)","selectModel":"选择模型","selectModelForAlias":"选择 {alias} 的模型","selectModelForTool":"选择 {tool} 的模型","select":"选择","clear":"清除","comingSoon":"即将推出","checkingRuntime":"正在检查运行时状态...","guideOnlyIntegration":"仅指南集成(无需本地运行时)","cliRuntimeDetected":"CLI 运行时已检测到并准备就绪","cliFoundNotRunnable":"CLI 已找到但无法运行{reason}","cliRuntimeNotDetected":"未检测到 CLI 运行时","binary":"二进制","configPath":"配置路径","configPathShort":"配置","failedCheckRuntimeStatus":"无法检查运行时状态。","copy":"复制","copied":"已复制","copyConfig":"复制配置","saveConfig":"保存配置","selectionSaved":"选择已保存","guide":"指南","detected":"检测到","notReady":"还没准备好","active":"活跃","inactive":"不活跃","startMitm":"启动中间人","stopMitm":"停止中间人","mitmStarted":"MITM 启动成功!","mitmStopped":"MITM 已成功停止!","failedStart":"启动 MITM 失败","failedStop":"停止 MITM 失败","saveMappings":"保存映射","mappingsSaved":"映射已保存!","failedSaveMappings":"保存映射失败","howItWorks":"工作原理:","antigravityHowWorksDesc":"Antigravity 会向 Google 端点发起请求,MITM 会拦截这些请求并重定向到 OmniRoute。","antigravityStep1":"1. 启动 MITM,让请求通过 OmniRoute 路由。","antigravityStep2Prefix":"2. 添加","antigravityStep2Suffix":"添加到您的主机文件中作为 127.0.0.1。","antigravityStep3":"3. 打开 Antigravity,请求就会被代理。","sudoPasswordRequiredTitle":"需要 sudo 密码","sudoPasswordHint":"修改主机文件和系统代理设置需要管理员密码。","enterSudoPassword":"输入 sudo 密码","sudoPasswordRequiredError":"必须提供 sudo 密码。","cancel":"取消","confirm":"确认","settingsApplied":"设置应用成功!","failedApplySettings":"无法应用设置","settingsReset":"设置重置成功!","failedResetSettings":"重置设置失败","backupRestored":"备份已恢复!","failedRestore":"恢复失败","checkingCli":"正在检查 {tool} CLI...","cliNotRunnable":"{tool} CLI 已安装但无法运行","cliNotInstalled":"{tool} CLI 未安装","cliNotDetected":"未检测到 {tool} CLI","cliDetectedReady":"{tool} CLI 已检测到并准备就绪","cliFoundFailedHealthcheck":"找到 {tool} CLI,但运行时运行状况检查失败{reason}。","installCliPrompt":"请安装 {tool} CLI 以使用此功能。","installCodexPrompt":"请先安装 Codex CLI,才能使用自动应用功能。","hide":"隐藏","howToInstall":"如何安装","installationGuide":"安装指南","platforms":"macOS / Linux / Windows:","afterInstallationRun":"安装后,运行","toVerify":"来验证。","current":"当前","baseUrlPlaceholder":"https://.../v1","resetToDefault":"重置为默认值","providerModelPlaceholder":"提供商/模型 ID","apply":"申请","reset":"重置","manualConfig":"手动配置","backups":"备份","configBackups":"配置备份","noBackupsYet":"还没有备份。每次应用或重置之前都会自动创建备份。","restore":"恢复","backupRestoredReloading":"备份已恢复!正在重新加载状态...","failedRestoreBackup":"恢复备份失败","applied":"已应用!","failed":"失败","resetDone":"重置!","omnirouteConfiguredOpenAiCompatible":"OmniRoute 已配置为 OpenAI 兼容提供商","provider":"提供商","model":"模型","providers":"提供商","auth":"授权","noApiKeysAvailable":"没有可用的 API 密钥","usingDefaultOmniroute":"使用默认值:sk_omniroute","updateConfig":"更新配置","applyConfig":"应用配置","noBackupsAvailable":"没有可用的备份。","profileSaved":"个人资料“{name}”已保存!","failedSaveProfile":"保存个人资料失败","profileActivated":"个人资料已激活!","failedActivateProfile":"无法激活个人资料","profiles":"型材","savedProfiles":"保存的配置文件","noProfilesYet":"尚未保存配置文件。将当前配置保存为下面的配置文件。","activate":"激活","deleteProfile":"删除个人资料","profileNamePlaceholder":"个人资料名称(例如个人帐户)","saveCurrent":"保存当前","codexAuthNotePrefix":"Codex 使用","codexAuthNoteMiddle":"与","codexAuthNoteSuffix":"单击“应用”进行自动配置。","claudeManualConfiguration":"Claude CLI - 手动配置","codexManualConfiguration":"Codex CLI - 手动配置","droidManualConfiguration":"Factory Droid - 手动配置","openClawManualConfiguration":"开爪 - 手动配置","clineManualConfiguration":"Cline - 手动配置","kiloManualConfiguration":"千码手动配置","toolDescriptions":{"antigravity":"带 MITM 的 Google Antigravity IDE","claude":"人类克劳德代码 CLI","codex":"OpenAI Codex CLI","droid":"工厂机器人AI助手","openclaw":"开爪AI助手","cline":"Cline AI 编码助手 CLI","kilo":"Kilo Code AI 助手 CLI","cursor":"光标AI代码编辑器","continue":"继续AI助手","opencode":"OpenCode AI 编码智能体(终端)","kiro":"Amazon Kiro — AI 驱动 IDE"},"guides":{"cursor":{"notes":{"0":"使用该功能需要 Cursor Pro 账户。","1":"Cursor 会通过自己的服务器转发请求,因此不支持本地端点。请在设置中启用云端点。"},"steps":{"1":{"title":"打开设置","desc":"转到设置 -> 模型"},"2":{"title":"启用 OpenAI API","desc":"开启 “OpenAI API key” 选项"},"3":{"title":"基本网址"},"4":{"title":"API密钥"},"5":{"title":"添加自定义模型","desc":"点击“查看所有模型”->“添加自定义模型”"},"6":{"title":"选择模型"}}},"continue":{"steps":{"1":{"title":"打开配置","desc":"打开继续配置文件"},"2":{"title":"API密钥"},"3":{"title":"选择模型"},"4":{"title":"添加模型配置","desc":"将以下配置添加到您的模型数组中:"}},"notes":{"0":"Continue 使用 JSON 配置文件。"}},"opencode":{"steps":{"1":{"title":"安装 OpenCode","desc":"通过 npm 安装:npm install -g opencode-ai"},"2":{"title":"API 密钥"},"3":{"title":"设置 Base URL","desc":"opencode config set baseUrl {{baseUrl}}"},"4":{"title":"选择模型"}},"notes":{"0":"OpenCode 需要配置 API 密钥。","1":"将基础 URL 设置为您的 OmniRoute 端点。"}},"kiro":{"steps":{"1":{"title":"打开 Kiro 设置","desc":"前往 Settings → AI Provider"},"2":{"title":"Base URL","desc":"粘贴你的 OmniRoute 端点 URL"},"3":{"title":"API 密钥"},"4":{"title":"选择模型"}},"notes":{"0":"Kiro 需要 Amazon 账户。"}}},"mitmHowWorksDesc":"{toolName} sends requests to its provider endpoint. MITM intercepts and redirects them to OmniRoute.","mitmStep1":"1. Start MITM to route requests through OmniRoute.","mitmStep2Prefix":"2. Add","mitmStep2Suffix":"to your hosts file as 127.0.0.1.","mitmStep3":"3. Open {toolName} and requests will be proxied.","whenToUseLabel":"何时使用","openToolDocs":"打开工具文档","toolUseCases":{"claude":"当您需要强大的规划工作流程和使用 Claude Code 进行长的多文件重构时使用。","codex":"当您的团队在 OpenAI Codex CLI 流程和基于配置文件的身份验证方面实现标准化时使用。","droid":"当您需要专注于快速编码和命令执行循环的轻量级终端代理时使用。","openclaw":"当您需要 Open Claw 风格的编码代理但通过 OmniRoute 策略进行路由时使用。","cline":"当您在编辑器内配置编码代理并希望使用 OmniRoute 模型进行引导设置时使用。","kilo":"当您的工作流程依赖于 Kilo Code 命令和快速迭代编辑时使用。","cursor":"在 Cursor 中编码并且需要通过 OmniRoute 自定义 OpenAI 兼容模型时使用。","continue":"在 IDE 中运行“Continue”并且需要可移植的基于 JSON 的提供程序配置时使用。","opencode":"当您更喜欢通过 OpenCode 进行终端本机代理运行和脚本自动化时使用。","kiro":"在集成 Kiro 并从 OmniRoute 集中控制模型路由时使用。","antigravity":"当必须通过 MITM 拦截 Antigravity/Kiro 流量并将其路由到 OmniRoute 时使用。","copilot":"当您想要 Copilot 聊天风格的 UX 同时强制执行 OmniRoute 键和路由规则时使用。"}},"combos":{"title":"组合","description":"创建支持权重路由与故障回退的模型组合","createCombo":"创建组合","editCombo":"编辑组合","deleteCombo":"删除组合","noModels":"没有模型","noModelsYet":"尚未添加模型","addModel":"添加模型","addModelToCombo":"向组合中添加模型","routingStrategy":"路由策略","maxRetries":"最大重试次数","timeout":"超时时间(毫秒)","healthcheck":"健康检查","priority":"优先级","fallback":"回退","roundRobin":"轮询","random":"随机","leastLatency":"最低延迟","comboName":"组合名称","comboNamePlaceholder":"my-combo","deleteConfirm":"删除这个组合?","noCombosYet":"还没有组合","comboCreated":"组合创建成功","comboUpdated":"组合更新成功","comboDeleted":"组合已删除","failedCreate":"创建组合失败","failedUpdate":"更新组合失败","errorCreating":"创建组合时出错","errorUpdating":"更新组合时出错","errorDeleting":"删除组合时出错","testFailed":"测试请求失败","failedToggle":"切换组合状态失败","testResults":"测试结果 — {name}","resolvedBy":"最终由以下模型处理:","more":"另有 +{count} 个","reqs":"请求","success":"成功","proxyConfigured":"已配置代理","copyComboName":"复制组合名称","enableCombo":"启用组合","disableCombo":"禁用组合","testCombo":"测试组合","duplicate":"复制","proxyConfig":"代理配置","nameRequired":"名称不能为空","nameInvalid":"仅允许字母、数字、-、_、/ 和 .","nameHint":"仅允许字母、数字、-、_、/ 和 .","priorityDesc":"顺序回退:优先尝试模型 1,其次模型 2,以此类推","weightedDesc":"按照权重百分比分配流量,并支持失败回退","roundRobinDesc":"循环分发:每个请求按顺序轮到下一个模型","randomDesc":"均匀随机选择,失败后回退到剩余模型","leastUsedDesc":"优先选择请求数最少的模型,随时间平衡负载","costOptimizedDesc":"根据定价优先路由到最便宜的模型","strictRandom":"严格随机","strictRandomDesc":"洗牌池模式:每个模型使用一次后再重新洗牌","models":"模型","autoBalance":"自动平衡","advancedSettings":"高级设置","retryDelay":"重试延迟(毫秒)","concurrencyPerModel":"每模型并发数","queueTimeout":"排队超时(毫秒)","advancedHint":"留空则使用全局默认值。这些设置会覆盖每个提供商的配置。","moveUp":"上移","moveDown":"下移","removeModel":"移除","saving":"保存中...","weighted":"加权","leastUsed":"最少使用","costOpt":"成本优化","strategyGuideTitle":"如何使用这种策略","strategyGuideWhen":"适用场景","strategyGuideAvoid":"不适用场景","strategyGuideExample":"示例","strategyGuide":{"priority":{"when":"你有一个首选模型,只希望在失败时才切换到备用模型。","avoid":"你需要在多个模型之间分配流量。","example":"主力编码模型 + 发生故障时切换到更便宜的备份模型。"},"weighted":{"when":"你需要在多个模型之间按比例分配流量。","avoid":"你无法长期维护准确的权重。","example":"80% 稳定模型 + 20% 金丝雀模型的发布方案。"},"round-robin":{"when":"你希望流量分布可预测且均匀。","avoid":"模型之间的延迟或成本差异很大。","example":"同一模型挂在多个账号上,用于分摊吞吐。"},"random":{"when":"你只需要简单分流,且不想做太多配置。","avoid":"你需要严格的流量保证。","example":"对等模型之间的快速原型验证。"},"least-used":{"when":"你希望根据实时负载动态均衡。","avoid":"流量太低,无法体现按使用量均衡的价值。","example":"混合负载场景下,某个模型常常更容易过载。"},"cost-optimized":{"when":"降低成本是你的首要目标。","avoid":"定价数据缺失或已经过期。","example":"后台任务或批处理作业,优先考虑更低成本。"}},"advancedHelp":{"maxRetries":"请求失败前最多会尝试多少次重试。","retryDelay":"两次重试之间的初始等待时间。值越大越能降低突发压力。","timeout":"请求被中止前允许的最长持续时间。","healthcheck":"路由决策时跳过不健康的模型或提供商。","concurrencyPerModel":"轮询模式下每个模型允许的最大并发请求数。","queueTimeout":"请求在队列中等待超时前允许停留的最长时间。"},"templatesTitle":"快捷模板","templatesDescription":"先套用一个初始模板,再按需调整模型和配置。","templateApply":"应用模板","templateHighAvailability":"高可用","templateHighAvailabilityDesc":"优先级路由,配合健康检查和安全重试。","templateCostSaver":"节省成本","templateCostSaverDesc":"面向预算优先场景的成本优化路由。","templateBalanced":"均衡负载","templateBalancedDesc":"使用最少使用策略,随时间均衡需求。","usageGuideHide":"隐藏","usageGuideDontShowAgain":"不再显示","usageGuideShow":"显示指南","quickTestTitle":"组合已准备好验证","quickTestDescription":"现在运行一次测试,确认回退与延迟行为是否符合预期。","testNow":"立即测试","pricingCoverage":"定价覆盖率","pricingCoverageHint":"成本优化策略在组合内所有模型都有定价信息时效果最佳。","pricingAvailable":"已有定价","pricingMissing":"无定价","pricingAvailableShort":"已定价","pricingMissingShort":"无定价","warningRoundRobinSingleModel":"轮询策略至少有 2 个模型时才最有价值。","warningCostOptimizedPartialPricing":"在 {total} 个模型中,只有 {priced} 个有定价信息。路由可能只具备部分成本感知能力。","warningCostOptimizedNoPricing":"该组合未找到任何定价数据。成本优化策略的路由结果可能不符合预期。","readinessTitle":"可以保存了吗?","readinessDescription":"在创建或更新组合前,请先检查以下项目。","readinessCheckName":"组合名称有效","readinessCheckModels":"至少选择了一个模型","readinessCheckWeights":"加权总和为 100%","readinessCheckWeightsOptional":"当前策略无需权重规则","readinessCheckPricing":"已有定价数据","readinessCheckPricingOptional":"当前策略无需定价规则","saveBlockedTitle":"以下问题修复前无法保存:","saveBlockName":"请先填写组合名称。","saveBlockModels":"请至少添加一个模型。","saveBlockWeighted":"请将权重总和设置为 100%(当前:{total}%)。","saveBlockPricing":"请至少为一个模型补充定价信息,或改用其他策略。","recommendationsLabel":"推荐配置","applyRecommendations":"应用推荐","recommendationsUpdated":"已为 {strategy} 更新推荐配置。","recommendationsApplied":"推荐配置已应用到当前组合。","strategyRecommendations":{"priority":{"title":"稳妥基线","description":"使用一个主模型,并保持回退链路简短且可靠。","tip1":"把最可靠的模型放在第一位。","tip2":"保留 1 到 2 个质量相近的备用模型。","tip3":"开启安全重试,吸收临时性的提供商故障。"},"weighted":{"title":"可控流量分配","description":"非常适合金丝雀发布和模型渐进迁移。","tip1":"建议从 90/10 这样的保守配比开始。","tip2":"始终保持总权重为 100%,并在调整后自动平衡。","tip3":"在提高金丝雀权重前,先观察成功率和延迟。"},"round-robin":{"title":"可预测的负载分摊","description":"适合模型能力接近、且需要平滑分布流量的场景。","tip1":"至少使用 2 个模型。","tip2":"设置并发限制,避免突发流量打满单个模型。","tip3":"结合队列超时,在饱和时快速失败。"},"random":{"title":"低配置快速分散","description":"适用于不需要严格保证、只想简单分流的场景。","tip1":"尽量选择延迟特征相近的模型。","tip2":"保留重试机制,以吸收随机命中的失败。","tip3":"更适合实验场景,不建议用于严格 SLA。"},"least-used":{"title":"自适应均衡","description":"优先路由到使用更少的模型,随着时间降低热点。","tip1":"持续稳定流量下效果更好。","tip2":"结合健康检查,能获得更稳妥的均衡效果。","tip3":"跟踪各模型用量,验证分布改善情况。"},"cost-optimized":{"title":"预算优先路由","description":"在具备定价元数据时,优先路由到成本更低的模型。","tip1":"确保所有已选模型都具备定价信息。","tip2":"为高难度提示保留一个质量更高的回退模型。","tip3":"适合批处理或后台任务等成本是主要指标的场景。"}},"templateFreeStack":"免费栈($0)","templateFreeStackDesc":"在所有免费提供商之间进行轮询:Kiro(Claude)、iFlow(5 个模型)、Qwen(4 个模型)、Gemini CLI。零成本,编码不中断。"},"costs":{"title":"成本","budget":"预算","totalCost":"总成本","breakdown":"成本明细","noData":"无成本数据","byModel":"按模型","byProvider":"按提供商"},"endpoint":{"title":"API 端点","available":"可用端点","cloudProxy":"云代理","disableConfirm":"确定要禁用云代理吗?","baseUrl":"Base URL","apiKeyLabel":"API 密钥","registeredKeys":"已注册密钥","chatCompletions":"Chat Completions","responses":"Responses","listModels":"列出模型","usingCloudProxy":"当前使用云代理","usingLocalServer":"当前使用本地服务器","machineId":"机器 ID:{id}...","disableCloud":"禁用云端","enableCloud":"启用云端","modelsAcrossEndpoints":"{endpoints} 个端点共提供 {models} 个模型","chatDesc":"支持所有提供商的流式与非流式聊天","embeddings":"Embeddings","embeddingsDesc":"用于搜索和 RAG 流程的文本向量","imageGeneration":"图像生成","imageDesc":"根据文本提示生成图像","rerank":"重排","rerankDesc":"按与查询的相关性重新排序文档","audioTranscription":"音频转录","audioTranscriptionDesc":"将音频文件转录为文本(Whisper)","textToSpeech":"文本转语音","textToSpeechDesc":"将文本转换为自然语音","moderations":"内容审核","moderationsDesc":"内容安全审核与分类","responsesDesc":"适用于 Codex 和高级智能体工作流的 OpenAI Responses API","listModelsDesc":"列出所有已连接提供商下的可用模型","settingsApiDesc":"通过 API 读取和修改 OmniRoute 配置","settingsApi":"设置 API","categoryCore":"核心 API","categoryMedia":"媒体与多模态","categorySearch":"搜索与发现","categoryUtility":"工具与管理","webSearch":"网页搜索","webSearchDesc":"统一接入多个提供商的网页搜索,支持自动故障转移与缓存","searchProvider":"搜索提供商","searchProviderDesc":"该提供商会用于 `POST /v1/search` 的网页搜索。无需配置模型,只要连接 API 密钥即可使用。","enableCloudTitle":"启用云代理","whatYouGet":"启用后可获得","cloudBenefitAccess":"从世界任何地方访问你的 API","cloudBenefitShare":"方便与团队共享端点","cloudBenefitPorts":"无需开放端口或配置防火墙","cloudBenefitEdge":"全球边缘网络加速","cloudSessionNote":"云端会保留你的认证会话 1 天;若未使用,将自动删除。","cloudUnstableNote":"目前云端在部分 Claude Code OAuth 场景下仍不够稳定。","cloudConnected":"云代理已连接!","connectingToCloud":"正在连接云端...","verifyingConnection":"正在验证连接...","connecting":"连接中...","verifying":"验证中...","connected":"已连接!","disableCloudTitle":"禁用云代理","disableWarning":"所有认证会话都会从云端删除。","syncingData":"正在同步最新数据...","disablingCloud":"正在禁用云端...","syncing":"同步中...","disabling":"禁用中...","cloudConnectedVerified":"云代理已连接并验证成功!","connectedVerificationPending":"已连接,等待验证","connectedVerificationPendingWithError":"已连接,等待验证:{error}","cloudDisabledSuccess":"云端已成功禁用","syncedSuccess":"同步成功","failedDisable":"禁用云端失败","failedEnable":"启用云端失败","cloudRequestTimeout":"云端请求超时","cloudRequestFailed":"云端请求失败","cloudWorkerUnreachable":"无法连接到云 Worker。请确认云服务已运行(在 `/cloud` 中执行 `npm run dev`)。","connectionFailed":"连接失败","syncFailed":"同步云端数据失败","providerModelsTitle":"{provider} — 模型","noModelsForProvider":"该提供商当前没有可用模型。","chat":"聊天","embedding":"向量","image":"图像","custom":"自定义","modelsCount":"{count} 个模型","sectionTitle":"集成入口","sectionDescription":"OpenAI 兼容 API 与操作协议端点","tabApis":"OpenAI 兼容 API","tabProtocols":"协议","tabsAria":"端点分区","protocolsTitle":"协议","protocolsDescription":"MCP 和 A2A 是一等端点,具备专用的可观测与控制能力。","mcpCardTitle":"MCP 服务","mcpCardDescription":"基于 stdio 的 Model Context Protocol","a2aCardTitle":"A2A 服务","a2aCardDescription":"Agent2Agent JSON-RPC 端点","protocolToolsLabel":"工具数","protocolTasksLabel":"任务数","protocolActiveStreamsLabel":"活跃流数","protocolLastActivity":"最近活动","quickStart":"快速开始","openMcpDashboard":"打开 MCP 管理","openA2aDashboard":"打开 A2A 管理","mcpQuickStartTitle":"MCP 快速开始","mcpQuickStartStep1":"通过 `omniroute --mcp` 启动 MCP 服务。","mcpQuickStartStep2":"将你的 MCP 客户端配置为通过 stdio 传输连接。","mcpQuickStartStep3":"调用 `omniroute_get_health`、`omniroute_list_combos` 等工具验证连通性。","a2aQuickStartTitle":"A2A 快速开始","a2aQuickStartStep1":"通过 `/.well-known/agent.json` 发现 Agent Card。","a2aQuickStartStep2":"向 `POST /a2a` 发送 `message/send` 或 `message/stream` JSON-RPC 请求。","a2aQuickStartStep3":"使用 `tasks/get` 与 `tasks/cancel` 跟踪和控制任务。","completionsLegacy":"Completions(旧版)","completionsLegacyDesc":"旧版 OpenAI 文本补全接口,同时接受 `prompt` 字符串和 `messages` 数组格式"},"endpoints":{"tabProxy":"端点代理","tabApiEndpoints":"API 端点","apiEndpointsTitle":"API 端点","apiEndpointsDescription":"可被其他应用程序和服务使用的后端API端点。","comingSoon":"即将推出","plannedFeatures":"计划的功能","featureRestApi":"REST API目录与交互式文档","featureWebhooks":"Webhook配置和事件订阅","featureSwagger":"OpenAPI / Swagger规范自动生成","featureAuth":"每个端点的API密钥和OAuth范围管理"},"mcpDashboard":{"loading":"正在加载 MCP 仪表板...","activate":"启用","deactivate":"停用","confirmSwitchCombo":"确定要将组合“{combo}”设为{action}吗?","switchComboFailed":"切换组合状态失败。","switchComboSuccess":"组合“{combo}”已更新。","confirmApplyProfile":"确定要应用弹性配置“{profile}”吗?","applyProfileFailed":"应用弹性配置失败。","applyProfileSuccess":"已应用配置“{profile}”。","confirmResetBreakers":"确定要重置全部断路器吗?","resetBreakersFailed":"重置断路器失败。","resetBreakersSuccess":"断路器已重置。","processStatus":"进程状态","online":"在线","offline":"离线","pid":"PID","sessionUptime":"会话运行时长","lastHeartbeat":"最近心跳","activity24h":"近 24 小时活动","totalCalls":"调用总数","successRate":"成功率","avgLatency":"平均延迟","topTools":"热门工具","noToolCalls24h":"最近 24 小时没有工具调用。","runtimeDetails":"运行时详情","transport":"传输方式","scopesEnforced":"已启用作用域控制","yes":"是","no":"否","lastCall":"最近调用","heartbeatPath":"心跳文件路径","operationalControls":"运行控制","switchCombo":"切换组合","inactive":"未启用","active":"已启用","activateCombo":"启用组合","deactivateCombo":"停用组合","applyResilienceProfile":"应用弹性配置","profileAggressive":"激进","profileBalanced":"平衡","profileConservative":"保守","applyProfile":"应用配置","resetCircuitBreakers":"重置断路器","resetCircuitBreakersHelp":"清除当前断路器状态及提供商失败计数。","resetAllBreakers":"重置全部断路器","toolsAndScopes":"工具与作用域","tableTool":"工具","tableScopes":"作用域","tablePhase":"阶段","tableAudit":"审计","auditLog":"审计日志","auditSummary":"调用数:{total}|第 {page} / {totalPages} 页","allTools":"全部工具","allResults":"全部结果","success":"成功","failure":"失败","apiKeyIdPlaceholder":"apiKeyId","loadingAuditEntries":"正在加载审计记录...","noAuditEntriesForFilters":"当前筛选条件下没有审计记录。","tableTimestamp":"时间戳","tableDuration":"耗时","tableResult":"结果","tableApiKey":"API 密钥","failed":"失败","previous":"上一页","next":"下一页"},"a2aDashboard":{"loading":"正在加载 A2A 仪表板...","confirmCancelTask":"确定要取消任务 {taskId} 吗?","cancelTaskFailed":"取消任务失败。","cancelTaskSuccess":"任务 {taskId} 已取消。","smokeSendFailed":"`message/send` 冒烟测试失败。","smokeSendSuccessWithTask":"`message/send` 调用成功(任务 {taskId})。","smokeSendSuccess":"`message/send` 调用成功。","smokeStreamFailed":"`message/stream` 冒烟测试失败。","smokeStreamSuccessWithTask":"`message/stream` 调用成功(任务 {taskId}{stateSuffix})。","smokeStreamNoTaskId":"`message/stream` 完成,但未返回任务 ID。","health":"健康状态","ok":"正常","totalTasks":"任务总数","activeStreams":"活跃流数","lastTask":"最近任务","taskStateOverview":"任务状态概览","state":{"submitted":"已提交","working":"处理中","completed":"已完成","failed":"失败","cancelled":"已取消"},"agentCard":"智能体卡片","version":"版本","url":"URL","capabilities":"能力","agentCardNotAvailable":"Agent Card 不可用。","quickValidation":"快速验证","quickValidationDescription":"通过实时 `/a2a` 端点执行冒烟调用。","runMessageSend":"运行 message/send","runMessageStream":"运行 message/stream","taskManagement":"任务管理","taskSummary":"任务总数:{total}|第 {page} / {totalPages} 页","allStates":"全部状态","allSkills":"全部技能","loadingTasks":"正在加载任务...","noTasksForFilters":"当前筛选条件下没有任务。","tableTask":"任务","tableSkill":"技能","tableState":"状态","tableUpdated":"更新时间","tableActions":"操作","view":"查看","cancel":"取消","previous":"上一页","next":"下一页","taskDetail":"任务详情","close":"关闭","metadata":"元数据","events":"事件","artifacts":"产物"},"health":{"title":"系统健康状况","description":"实时监控您的 OmniRoute 实例","healthy":"健康","degraded":"降级","down":"下线","uptime":"正常运行时间","memory":"内存","memoryRss":"记忆 (RSS)","heap":"堆","cpu":"中央处理器","database":"数据库","version":"版本","lastCheck":"最后检查","providerHealth":"提供商健康","systemMetrics":"系统指标","tokenHealth":"令牌健康","refreshAll":"全部刷新","checkNow":"立即查看","loadingHealth":"正在加载健康数据...","failedToLoad":"无法加载健康数据:{error}","retry":"重试","allOperational":"所有系统均可运行","issuesDetected":"检测到系统问题","updatedAt":"更新了 {time}","latency":"延迟","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","millisecondsShort":"{value}ms","notAvailable":"—","totalRequests":"请求总数","noDataYet":"还没有数据","promptCache":"提示缓存","entries":"参赛作品","hitRate":"命中率","hitsMisses":"命中/未命中","signatureCache":"签名缓存","signatureDefaults":"默认值","signatureTool":"工具","signatureFamily":"家庭","signatureSession":"会话","recovering":"正在恢复中","noCBData":"没有可用的断路器数据。先提出一些要求。","providerHealthStatusAria":"提供商健康状况","issuesLabel":"检测到的问题","operational":"运营中","providers":"提供商","healthyCount":"{count} 健康","nodeVersion":"节点 {version}","failures":"{count} 失败","failuresPlural":"{count} 失败","lastFailure":"最后","rateLimitStatus":"速率限制状态","activeLimiters":"{count} 主动限制器","activeLimitersPlural":"{count} 主动限制器","queued":"排队","queuedCount":"{count} 已排队","running":"跑步","runningCount":"{count} 正在运行","ok":"好的","activeLockouts":"主动锁定","resetConfirm":"将所有断路器重置为正常状态?这将清除所有故障计数并将所有提供商恢复到运行状态。","resetAllTitle":"将所有断路器重置为正常状态","resetting":"正在重置...","resetAll":"全部重置","until":"直到 {time}","activeProviders":"{count} active","monitoredProviders":"{count} monitored","configuredProvidersLabel":"在仪表板中配置","configuredProvidersHint":"凭证保存在 /dashboard/providers 中的提供者,无论运行时状态如何。","activeProvidersHint":"当前启用路由请求的已配置提供程序。","monitoredProvidersHint":"目前由断路器运行状况监控器跟踪提供者。"},"limits":{"title":"限制和配额","rateLimit":"速率限制","remaining":"剩余","requestsPerMinute":"请求/分钟","tokensPerMinute":"令牌/分钟","dailyLimit":"每日限额"},"logs":{"title":"日志","requestLogs":"请求日志","proxyLogs":"代理日志","auditLog":"审核日志","console":"控制台","auditLogDesc":"行政行为和安全事件","loading":"正在加载...","refresh":"刷新","filterByAction":"按操作过滤...","filterByActor":"按演员筛选...","filterEntriesAria":"过滤审核日志条目","filterByActionTypeAria":"按操作类型过滤","filterByActorAria":"按演员筛选","refreshAuditLogAria":"刷新审核日志","tableAria":"审核日志条目","failedFetchAuditLog":"无法获取审核日志","showing":"显示 {count} 条目(偏移量 {offset})","search":"搜索","timestamp":"时间戳","action":"操作","actor":"演员","target":"目标","details":"详情","ipAddress":"IP地址","notAvailable":"—","noEntries":"未找到审核日志条目","previous":"上一页","next":"下一页"},"onboarding":{"welcome":"欢迎","security":"安全","test":"测试","ready":"准备好了!","setPassword":"设置密码","addProvider":"添加您的第一个提供商","getStarted":"开始使用","skip":"跳过","skipWizard":"完全跳过向导","skipPassword":"跳过密码设置","skipAndContinue":"跳过并继续","passwordLabel":"密码","confirmPassword":"确认密码","enterPassword":"输入密码","confirmPasswordPlaceholder":"确认密码","passwordsMismatch":"密码不匹配","setupComplete":"设置完成!","goToDashboard":"转到仪表板→","welcomeDesc":"OmniRoute 是您的本地 AI API 代理。它通过负载平衡、故障转移和使用情况跟踪将请求路由到多个 AI 提供商。","multiProvider":"多提供商","usageTracking":"使用情况追踪","apiKeyMgmt":"API密钥管理","securityDesc":"设置密码以保护您的仪表板,或暂时跳过。","providerDesc":"连接您的第一个人工智能提供商。您可以稍后添加更多。","apiKeyRequired":"API 密钥(必填)","customUrlOptional":"自定义 URL(可选)","testDesc":"让我们验证您的提供商连接是否有效。","runTest":"运行连接测试","testingConnection":"测试连接...","connectionSuccessful":"连接成功!您的提供商已准备就绪。","noProviderFound":"未找到提供商。您可以稍后从仪表板添加一个。","testFailed":"测试失败,但您可以稍后配置。","couldNotTest":"现在无法测试。您可以从仪表板进行测试。","doneDesc":"你都准备好了!您的 OmniRoute 实例已配置并准备好代理 AI 请求。","yourEndpoint":"您的端点:","continue":"继续","retry":"重试","failedSetPassword":"设置密码失败。再试一次。","failedAddProvider":"添加提供商失败。再试一次。","connectionError":"连接错误。请再试一次。","provider":"提供商"},"providers":{"title":"提供商","addProvider":"添加提供商","editProvider":"编辑提供商","deleteProvider":"删除提供商","noProviders":"没有配置提供商","modelAvailability":"模型可用性","accounts":"账户","newAccount":"新账户","deleteConfirm":"您确定要删除该提供商吗?","testing":"测试...","testConnection":"测试连接","testSuccess":"连接成功","testFailed":"连接失败","available":"可用","cooldown":"冷却时间","unavailable":"不可用","unknown":"未知","oauthLabel":"OAuth","compatibleLabel":"兼容","chat":"聊天","responses":"回应","messages":"留言","oauthProviders":"OAuth 提供商","freeProviders":"免费提供商","apiKeyProviders":"API 密钥提供商","compatibleProviders":"API 密钥兼容提供商","testAll":"测试全部","testAllOAuth":"测试所有 OAuth 连接","testAllFree":"测试所有免费连接","testAllApiKey":"测试所有 API 密钥连接","testAllCompatible":"测试所有兼容连接","connected":"{count} 已连接","errorCount":"{count} 错误 ({code})","errorCountNoCode":"{count} 错误","noConnections":"无连接","disabled":"已禁用","enableProvider":"启用提供商","disableProvider":"禁用提供商","testResults":"测试结果","noCompatibleYet":"尚未添加兼容的提供商","compatibleHint":"使用上面的按钮添加 OpenAI 或 Anthropic 兼容端点","addOpenAICompatible":"添加 OpenAI 兼容","addAnthropicCompatible":"添加 Anthropic 兼容端点","addNewProvider":"添加新提供商","backToProviders":"返回提供商","configureNewProvider":"配置新的 AI 提供商以与您的应用程序一起使用。","providerLabel":"提供商","selectProvider":"选择提供商","selectedProvider":"选定的提供商","authMethod":"认证方式","apiKeyLabel":"API密钥","apiKeyRequired":"需要 API 密钥","selectProviderRequired":"请选择提供商","enterApiKey":"输入您的 API 密钥","apiKeySecure":"您的 API 密钥将被加密并安全存储。","oauth2Connect":"使用 OAuth2 连接","oauth2Label":"OAuth2","oauth2Desc":"使用 OAuth2 身份验证连接您的帐户。","displayName":"显示名称","displayNamePlaceholder":"例如,生产 API、开发环境","displayNameHint":"可选。用于标识此配置的友好名称。","active":"活跃","activeDescription":"启用此提供商以在您的应用程序中使用","cancel":"取消","createProvider":"创建提供商","failedCreate":"创建提供商失败","errorOccurred":"发生错误。请再试一次。","modelStatus":"模型状态","allModelsOperational":"所有模型运行正常","modelsWithIssues":"{count} 有问题的模型","allModelsNormal":"所有模型当前响应正常。","cooldownCleared":"{model} 的冷却时间已清除","failedClearCooldown":"无法清除冷却时间","loadingAvailability":"正在加载模型可用性...","clearCooldown":"清除","clearing":"清算...","until":"直到 {time}","providerTestFailed":"提供商测试失败","providerTestTimeout":"提供商测试超时,可能是同时测试的连接过多","modeTest":"{mode} 测试","passedCount":"{count} 通过","failedCount":"{count} 失败","testedCount":"{count} 已测试","millisecondsAbbr":"{value}ms","okShort":"好的","errorShort":"错误","noActiveConnectionsInGroup":"未找到该组的活动连接。","allTestsPassed":"所有 {total} 测试均已通过","testSummary":"{passed}/{total} 通过,{failed} 失败","nameLabel":"名称","prefixLabel":"前缀","baseUrlLabel":"基本网址","apiTypeLabel":"API类型","prefixHint":"必填。模型名称使用的唯一前缀。","nameHint":"必填。该节点的友好标签。","baseUrlHint":"必填。 提供商 API 基本 URL。","anthropicPrefixPlaceholder":"交流产品","openaiPrefixPlaceholder":"OC-产品","anthropicBaseUrlPlaceholder":"https://api.anthropic.com/v1","openaiBaseUrlPlaceholder":"https://api.openai.com/v1","validateConnection":"验证连接","validating":"正在验证...","connectionValid":"连接有效!","connectionFailed":"连接失败。检查 URL 和密钥。","testKeyLabel":"测试 API 密钥","testKeyPlaceholder":"sk-...(仅用于验证)","providerNotFound":"未找到提供商","deleteConnectionConfirm":"删除这个连接吗?","failedSetAlias":"设置别名失败","failedSaveConnection":"保存连接失败","failedSaveConnectionRetry":"无法保存连接。请再试一次。","failedRetestConnection":"重新测试连接失败","deleteCompatibleNodeConfirm":"删除此 {type} 兼容节点?","anthropicCompatibleDetails":"Anthropic 兼容详情","openaiCompatibleDetails":"OpenAI 兼容详情","messagesApi":"Messages API","responsesApi":"Responses API","chatCompletions":"聊天完成","importingModels":"正在导入...","importFromModels":"从 /models 导入","autoSync":"自动同步","autoSyncTooltip":"每 24 小时自动刷新模型列表(可通过 MODEL_SYNC_INTERVAL_HOURS 配置)","autoSyncEnabled":"自动同步已启用 — 模型将定期刷新","autoSyncDisabled":"自动同步已禁用","autoSyncToggleFailed":"切换自动同步失败","clearAllModels":"清除所有模型","clearAllModelsConfirm":"您确定要删除此提供商的所有模型吗?","clearAllModelsSuccess":"所有模型已清除","clearAllModelsFailed":"清除模型失败","addConnectionToImport":"添加连接以启用导入。","noModelsConfigured":"尚未配置模型","connectionCount":"{count} 连接","fetchingModels":"正在获取可用模型...","failedFetchModels":"获取模型失败","noModelsFound":"未找到模型","importFailed":"导入失败","noNewModelsAdded":"没有添加新模型。","adding":"添加...","importingModelsTitle":"导入模型","copyModel":"复制模型","removeModel":"删除模型","rateLimitProtected":"受保护","rateLimitUnprotected":"无保护","enableRateLimitProtection":"单击启用速率限制保护","disableRateLimitProtection":"单击以禁用速率限制保护","productionKey":"生产密钥","enterNewApiKey":"输入新的 API 密钥","optional":"可选","anthropicCompatibleName":"Anthropic 兼容","openaiCompatibleName":"兼容 OpenAI","failedImportModels":"导入模型失败","noModelsReturnedFromEndpoint":"/models 端点没有返回任何模型。","importingModelsProgress":"正在导入 {current} 个模型(共 {total} 个)...","foundModelsStartingImport":"找到 {count} 模型。开始导入...","importingModelById":"正在导入 {modelId}...","importSuccessCount":"成功导入 {count, plural, one {# 个模型} other {# 个模型}}!","noNewModelsAddedExisting":"没有添加新模型(全部已存在)。","importDoneCount":"✓ 完成!共导入 {count, plural, one {# 个模型。} other {# 个模型。}}","unexpectedErrorOccurred":"发生意外错误","connectionCountLabel":"{count} 个连接","messagesPath":"消息","responsesPath":"回应","chatCompletionsPath":"聊天/完成","add":"添加","edit":"编辑","delete":"删除","anthropic":"Anthropic","openai":"开放人工智能","singleConnectionPerCompatible":"每个兼容节点仅允许一个连接。如果需要更多连接,请添加另一个节点。","connections":"连接","providerProxyTitleConfigured":"提供商代理:{host}","configured":"配置的","providerProxyConfigureHint":"为该提供商的所有连接配置代理","providerProxy":"提供商代理","noConnectionsYet":"还没有连接","addFirstConnectionHint":"添加您的第一个连接以开始使用","addConnection":"添加连接","availableModels":"可用模型","builtInModels":"内置模型","builtInModelsHint":"该提供商的注册表模型。点击铅笔可设置兼容选项。","pageAutoRefresh":"页面会自动刷新...","statusDisabled":"已禁用","statusConnected":"已连接","statusRuntimeIssue":"运行时问题","statusAuthFailed":"验证失败","statusRateLimited":"速率有限","statusNetworkIssue":"网络问题","statusTestUnsupported":"测试不受支持","statusUnavailable":"不可用","statusFailed":"失败了","statusError":"错误","oauthAccount":"OAuth 帐户","errorTypeRuntime":"本地运行时","errorTypeUpstreamAuth":"上游授权","errorTypeMissingCredential":"缺少凭证","errorTypeRefreshFailed":"刷新失败","errorTypeTokenExpired":"令牌已过期","errorTypeRateLimited":"速率有限","errorTypeUpstreamUnavailable":"上游不可用","errorTypeNetworkError":"网络错误","errorTypeTestUnsupported":"测试不支持","errorTypeUpstreamError":"上游错误","proxySourceGlobal":"全球","proxySourceProvider":"提供商","proxySourceKey":"密钥","proxyConfiguredBySource":"代理 ({source}):{host}","autoPriority":"自动:{priority}","proxy":"代理","retestAuthentication":"重新测试认证","retest":"重新测试","disableConnection":"禁用连接","enableConnection":"启用连接","reauthenticateConnection":"重新验证此连接","proxyConfig":"代理配置","aliasExistsAlert":"别名“{alias}”已存在。请使用不同的模型或编辑现有别名。","openRouterAnyModelHint":"OpenRouter 支持任意模型。添加模型并创建别名后即可快速访问。","modelIdFromOpenRouter":"模型 ID(来自 OpenRouter)","openRouterModelPlaceholder":"anthropic/claude-3-opus","customModels":"自定义模型","customModelsHint":"添加默认列表中没有的模型 ID,这些模型也能参与路由。","normalizeToolCallIdLabel":"将工具调用 ID 规范为 9 位(如 Mistral)","preserveDeveloperRoleLabel":"保留 Responses 的 developer 角色(不映射为 system)","compatAdjustmentsTitle":"兼容性","compatButtonLabel":"兼容性","compatToolIdShort":"工具 ID 9 位","compatDeveloperShort":"Developer 角色","compatDoNotPreserveDeveloper":"不保留 developer 角色","compatBadgeNoPreserve":"不保留","compatProtocolLabel":"客户端请求协议","compatProtocolHint":"以下选项在 OmniRoute 识别到该请求形态(OpenAI Chat、Responses API 或 Anthropic Messages)时生效。","compatProtocolOpenAI":"OpenAI Chat Completions","compatProtocolOpenAIResponses":"OpenAI Responses API","compatProtocolClaude":"Anthropic Messages","compatUpstreamHeadersLabel":"上游额外请求头","compatUpstreamHeadersHint":"与修改厂商连接/API 配置同属高权限能力,仅可信管理员应使用。这些头会在 OmniRoute 按厂商 API Key 自动加好鉴权头之后再合并。若「名称」与系统已加的头相同(例如都叫 Authorization),则以你填的值为准,会整段替换自动那条(含 Bearer 令牌),上游请求里不再使用面板里保存的密钥来生成 Authorization。填错可能导致 401,请谨慎。每个请求头单独一行;部分网关需要额外 Authentication 等可在此加。鼠标移入或聚焦「值」可暂时看明文。点空白处、关闭本面板或切走焦点即保存。","compatUpstreamHeaderName":"请求头名称","compatUpstreamHeaderValue":"值","compatUpstreamAddRow":"添加请求头","compatUpstreamRemoveRow":"删除此行","compatBadgeUpstreamHeaders":"请求头","modelId":"模型 ID","customModelPlaceholder":"例如:gpt-4.5-turbo","loading":"正在加载...","removeCustomModel":"删除自定义模型","noCustomModels":"尚未添加自定义模型。","allSuggestedAliasesExist":"所有建议别名都已存在。请选择其他模型,或删除冲突的别名。","failedSaveCustomModel":"保存自定义模型失败","modelAddedSuccess":"模型 {modelId} 添加成功","failedAddModelTryAgain":"添加模型失败,请重试。","failedSaveImportedModel":"无法将导入的模型保存到自定义数据库","failedImportModelsTryAgain":"导入模型失败。请再试一次。","failedRemoveModelFromDatabase":"无法从数据库中删除模型","modelRemovedSuccess":"模型删除成功","failedDeleteModelTryAgain":"删除模型失败。请再试一次。","compatibleModelsDescription":"可手动添加 {type} 兼容模型,或从 `/models` 端点导入。","anthropicCompatibleModelPlaceholder":"claude-3-opus-20240229","openaiCompatibleModelPlaceholder":"gpt-4o","apiKeyValidationFailed":"API 密钥验证失败。请检查您的密钥并重试。","addProviderApiKeyTitle":"添加 {provider} API 密钥","checking":"正在检查...","check":"检查","valid":"有效","invalid":"无效","creating":"创造...","validationChecksAnthropicCompatible":"验证会通过检查 API 密钥来确认 {provider} 是否可用。","validationChecksOpenAiCompatible":"验证会通过你填写的 Base URL 上的 `/models` 接口来检查 {provider}。","priorityLabel":"优先级","saving":"正在保存...","save":"保存","editConnection":"编辑连接","accountName":"账户名称","email":"电子邮件","healthCheckMinutes":"健康检查(分钟)","healthCheckHint":"主动令牌刷新间隔。 0 = 禁用。","groupLabel":"环境","groupPlaceholder":"例如:eKaizen、Personal","failedTestConnection":"测试连接失败","failed":"失败","leaveBlankKeepCurrentApiKey":"留空以保留当前的 API 密钥。","editCompatibleTitle":"编辑 {type} 兼容","compatibleBaseUrlHint":"{type} 兼容 API 的根 URL。若端点路径是自定义的,请在高级设置中配置。","apiKeyForCheck":"API 密钥(用于检查)","compatibleProdPlaceholder":"{type} 兼容(产品)","tokenRefreshed":"Token 刷新成功","tokenRefreshFailed":"Token 刷新失败","advancedSettings":"高级设置","chatPathLabel":"聊天端点路径","chatPathPlaceholder":"/chat/completions","chatPathHint":"为非标准 API 的提供商自定义聊天路径(例如:/v4/chat/completions)","modelsPathLabel":"模型端点路径","modelsPathPlaceholder":"/models","modelsPathHint":"为验证流程自定义模型路径(例如:/v4/models)"},"settings":{"title":"设置","general":"一般","security":"安全","appearance":"外观","routing":"路由","cache":"缓存","resilience":"韧性","systemPrompt":"系统提示","thinkingBudget":"思考预算","proxy":"代理","pricing":"定价","storage":"存储","policies":"政策","ipFilter":"IP过滤器","comboDefaults":"组合默认值","fallbackChains":"后备链","changePassword":"更改密码","enablePassword":"启用密码","darkMode":"深色模式","lightMode":"灯光模式","systemTheme":"系统主题","enableCache":"启用缓存","cacheTTL":"缓存生存时间","maxCacheSize":"最大缓存大小","clearCache":"清除缓存","cacheHits":"缓存命中","cacheMisses":"缓存未命中","hitRate":"命中率","cacheEntries":"缓存条目","circuitBreaker":"断路器","retryPolicy":"重试政策","maxRetries":"最大重试次数","retryDelay":"重试延迟","timeoutMs":"超时(毫秒)","enableSystemPrompt":"启用系统提示","systemPromptText":"系统提示文字","enableThinking":"激发思考","maxThinkingTokens":"最大思考令牌","enableProxy":"启用代理","proxyUrl":"代理网址","pricingRates":"定价格式","currentPricing":"当前定价概述","loadingPricing":"正在加载定价数据...","noPricing":"无可用定价数据","input":"输入","output":"输出","cached":"缓存","reasoning":"推理","cacheCreation":"缓存创建","customPricing":"定制定价","databaseSize":"数据库大小","backupDb":"备份数据库","restoreDb":"恢复数据库","exportData":"导出数据","importData":"导入数据","clearData":"清除所有数据","clearDataConfirm":"这将永久删除所有数据。你确定吗?","enableRequestLogs":"启用请求日志","logRetention":"日志保留","ipWhitelist":"IP白名单","ipBlacklist":"IP黑名单","addIP":"添加IP","savedSuccessfully":"设置保存成功","ai":"人工智能","advanced":"高级","localMode":"本地模式 - 所有数据都存储在您的计算机上","settingsSectionsAria":"设置部分","switchThemes":"在浅色和深色主题之间切换","themeSelectionAria":"主题选择","themeLight":"光","themeDark":"黑暗","themeSystem":"系统","hideHealthLogs":"隐藏健康检查日志","hideHealthLogsDesc":"开启后,将抑制服务器控制台中的 [HealthCheck] 消息","themeAccent":"主题颜色","themeAccentDesc":"选择预设颜色,或使用单一颜色创建你自己的主题","themeCreate":"创建主题","themeCustom":"自定义主题","themeBlue":"蓝色","themeRed":"红色","themeGreen":"绿色","themeViolet":"紫色","themeOrange":"橙色","themeCyan":"青色","promptCache":"提示缓存","flushCache":"刷新缓存","flushing":"法拉盛…","size":"尺寸","hits":"点击数","evictions":"驱逐","loadingCacheStats":"正在加载缓存统计信息...","globalProxy":"全球代理","globalProxyDesc":"为所有 API 调用配置全局出站代理。单独的提供商、组合和键可以覆盖此设置。","noGlobalProxy":"没有配置全局代理","globalLabel":"全球","configure":"配置","globalSystemPrompt":"全局系统提示","systemPromptDesc":"在代理级别注入所有请求","saved":"已保存","systemPromptPlaceholder":"输入系统提示符注入所有请求...","systemPromptHint":"此提示会添加到每个请求的系统消息之前。用于全局说明、安全指南或响应格式规则。","chars":"{count} 字符","thinkingBudgetTitle":"思考预算","thinkingBudgetDesc":"控制所有请求中 AI 推理令牌的使用","passthrough":"直通","passthroughDesc":"没有变化——客户控制思维预算","auto":"汽车","autoDesc":"放弃所有思考配置——让提供商决定","custom":"定制","customDesc":"为所有请求设置固定的令牌预算","adaptive":"自适应","adaptiveDesc":"根据请求复杂性调整预算","effortNone":"无(0 代币)","effortLow":"低(1K 代币)","effortMedium":"中型(10K 代币)","effortHigh":"高(128K 代币)","tokenBudget":"代币预算","tokens":"代币","baseEffortLevel":"基本努力水平","adaptiveHint":"自适应模式根据消息计数、工具使用情况和提示长度从此基本级别进行扩展。","requireLogin":"需要登录","requireLoginDesc":"当打开时,仪表板需要密码。当关闭时,无需登录即可访问。","currentPassword":"当前密码","enterCurrentPassword":"输入当前密码","newPassword":"新密码","enterNewPassword":"输入新密码","confirmPassword":"确认新密码","confirmPasswordPlaceholder":"确认新密码","passwordsNoMatch":"密码不匹配","passwordUpdated":"密码更新成功","failedUpdatePassword":"更新密码失败","errorOccurred":"发生错误","updatePassword":"更新密码","setPassword":"设置密码","apiEndpointProtection":"API端点保护","requireAuthModels":"/models 需要 API 密钥","requireAuthModelsDesc":"开启后,`/v1/models` 对未认证请求返回 404,从而阻止未授权用户发现模型。","blockedProviders":"被阻止的提供商","blockedProvidersDesc":"在 `/v1/models` 响应中隐藏指定提供商。被隐藏的提供商不会出现在模型列表中。","providersBlocked":"{count} 提供商被阻止/模型","blockProviderTitle":"区块 {provider}","unblockProviderTitle":"解锁 {provider}","cliFingerprint":"CLI 指纹匹配","cliFingerprintDesc":"在代理请求时模拟原生 CLI 二进制的请求特征。会重新排列请求头和请求体字段,使其与官方 CLI 工具更一致,同时保留你的代理 IP。","cliFingerprintEnabled":"已有 {count} 个提供商启用了 CLI 指纹","enableFingerprintTitle":"为 {provider} 启用指纹","disableFingerprintTitle":"为 {provider} 禁用指纹","routingStrategy":"路由策略","fillFirst":"先填写","fillFirstDesc":"按优先顺序使用帐户","roundRobin":"循环赛","roundRobinDesc":"循环浏览所有帐户","p2c":"P2C","p2cDesc":"随机选2个,使用更健康的一个","random":"随机","randomDesc":"每个请求随机帐户","leastUsed":"最少使用","leastUsedDesc":"选择最近最少使用的帐户","costOpt":"成本选择","costOptDesc":"更喜欢最便宜的可用帐户","strictRandom":"严格随机","strictRandomDesc":"洗牌池模式:每个账户使用一次后再重新洗牌","stickyLimit":"粘性限制","stickyLimitDesc":"切换前每个账户的通话次数","modelAliases":"模型别名","modelAliasesTitle":"模型别名","modelAliasesDesc":"重新映射模型名称的通配符模式 • 使用 * 和 ?","addCustomAlias":"添加自定义别名","deprecatedModelId":"已弃用的模型 ID","newModelId":"新模型 ID","customAliases":"自定义别名","builtInAliases":"内置别名","backgroundDegradationTitle":"后台任务降级","backgroundDegradationDesc":"自动检测后台任务(标题、摘要)并路由到更便宜的模型","enableDegradation":"启用后台任务降级","enableDegradationHint":"启用后,标题生成和摘要等后台任务会自动路由到更便宜的模型","tasksDetected":"检测到的任务","degradationMap":"模型降级映射","premiumModel":"高级模型","cheapModel":"低成本模型","detectionPatterns":"检测模式","newPattern":"例如:\\"生成标题\\"","aliasPatternPlaceholder":"克劳德十四行诗-*","aliasTargetPlaceholder":"克劳德十四行诗-4-20250514","pattern":"图案","targetModel":"目标模型","add":"+ 添加","session":"会话","sessionDetailsAria":"会话详情","status":"状态","authenticated":"已认证","guest":"嘉宾","loginTime":"登录时间","sessionAge":"会话年龄","browser":"浏览器","clearLocalData":"清除本地数据","logout":"退出","clearLocalDataConfirm":"清除所有本地数据?这将重置您的首选项。","unknown":"未知","systemActor":"系统","ipAccessControl":"IP访问控制","ipAccessControlDesc":"阻止或允许特定 IP 地址","ipModeDisabled":"已禁用","ipModeBlacklist":"黑名单","ipModeWhitelist":"白名单","ipModeWhitelistPriority":"WL优先级","addIpAddress":"添加IP地址","ipAddressPlaceholder":"192.168.1.0/24 或 10.0.*.*","block":"+ 块","allow":"+ 允许","blocked":"已被阻止 ({count})","allowed":"允许 ({count})","temporaryBans":"临时禁令 ({count})","minLeft":"还剩 {min}m","auditLog":"审核日志","searchAuditLogs":"搜索审核日志...","failedLoadAuditLog":"无法加载审核日志","noAuditEvents":"未找到审核事件","action":"操作","actor":"演员","details":"详情","time":"时间","fallbackChainsTitle":"后备链","fallbackChainsDesc":"定义每个模型的提供商后备顺序","addChain":"+ 添加链","modelName":"模型名称","modelNamePlaceholder":"克劳德十四行诗-4-20250514","providersCommaSeparated":"提供商(用逗号分隔,按优先级排序)","providersCommaSeparatedPlaceholder":"anthropic, openai, gemini","createChain":"创建链","noFallbackChains":"无后备链","noFallbackChainsDesc":"创建一条链路,用于定义某个模型的提供商回退顺序。","loadingFallbackChains":"正在加载后备链...","deleteChainConfirm":"删除“{model}”的后备链?","chainCreated":"为 {model} 创建的链","chainDeleted":"已删除 {model} 链","failedCreateChain":"创建链失败","failedDeleteChain":"删除链失败","deleteChain":"删除链","fillModelAndProviders":"请填写模型名称和提供商","addAtLeastOneProvider":"添加至少一个提供商","comboDefaultsTitle":"组合默认值","globalComboConfig":"全局组合配置","defaultStrategy":"默认策略","defaultStrategyDesc":"应用于没有明确策略的新组合","comboStrategyAria":"组合策略","priority":"优先级","weighted":"加权","maxRetriesLabel":"最大重试次数","retryDelayLabel":"重试延迟(毫秒)","timeoutLabel":"超时(毫秒)","healthCheck":"健康检查","healthCheckDesc":"预先检查提供商的可用性","trackMetrics":"跟踪指标","trackMetricsDesc":"记录每个组合请求指标","providerOverrides":"提供商覆盖","providerOverridesDesc":"覆盖每个提供商的超时和重试。提供商设置会覆盖全局默认设置。","providerMaxRetriesAria":"{provider} 最大重试次数","providerTimeoutAria":"{provider} 超时毫秒","removeProviderOverrideAria":"删除 {provider} 覆盖","newProviderNamePlaceholder":"例如谷歌、开放式...","newProviderNameAria":"新的提供商名称","retries":"重试","ms":"女士","saveComboDefaults":"保存组合默认值","maxNestingDepth":"最大嵌套深度","concurrencyPerModel":"并发/模型","queueTimeout":"队列超时(毫秒)","providerProfiles":"提供商简介","providerProfilesDesc":"为 OAuth(基于会话)和 API Key(计费型)提供商分别设置弹性策略。由于速率限制更低,OAuth 提供商通常采用更严格的阈值。","oauthProviders":"OAuth 提供商","apiKeyProviders":"API 密钥提供商","transientCooldown":"短暂冷却","rateLimitCooldown":"速率限制冷却","maxBackoffLevel":"最大退避级别","cbThreshold":"CB阈值","cbResetTime":"CB 复位时间","rateLimiting":"速率限制","rateLimitingDesc":"API 密钥提供商会自动受到安全默认值的速率限制。限制是从响应标头中学习的,并随着时间的推移进行调整。","defaultSafetyNet":"默认安全网","rpm":"转速","minGap":"最小间隙","maxConcurrent":"最大并发数","activeLimiters":"有源限制器","noActiveLimiters":"尚无活动的速率限制器。","reservoir":"水库","running":"跑步","queued":"排队","circuitBreakers":"断路器","breakerStateClosed":"关闭","breakerStateOpen":"打开","breakerStateHalfOpen":"半开式","tripped":"{count} 已触发","healthy":"{count} 健康","resetAll":"全部重置","noCircuitBreakers":"尚未激活断路器。当请求流经组合管道时,它们会自动创建。","failures":"{count} 失败","policiesLocked":"策略和锁定标识符","allOperational":"所有系统均可运行——无停工或断路器跳闸","loadingPolicies":"正在加载政策...","lockedIdentifiers":"锁定标识符","unlockedIdentifier":"解锁:{identifier}","sinceDate":"自 {date} 起","forceUnlock":"强制解锁","unlocking":"解锁...","failedUnlock":"解锁失败","failedLoadWithStatus":"加载失败:{status}","failedLoadResilience":"无法加载弹性状态","saveFailed":"保存失败","resetFailed":"重置失败","loadingResilience":"正在加载弹性状态...","retry":"重试","systemStorage":"系统与存储","allDataLocal":"所有数据都存储在本地计算机上","databasePath":"数据库路径","exportDatabase":"导出数据库","exportAll":"全部导出 (.tar.gz)","importDatabase":"导入数据库","confirmDbImport":"确认数据库导入","confirmDbImportDesc":"这会将所有当前数据替换为 {file} 中的内容。导入前将自动创建备份。","yesImport":"是的,导入","lastBackup":"上次备份","noBackupYet":"还没有备份","backupNow":"立即备份","backupRestore":"备份与恢复","viewBackups":"查看备份","hide":"隐藏","backupRetentionDesc":"数据库快照会在还原之前自动创建,并且在数据更改时每 15 分钟自动创建一次。保留:24 小时 + 30 每日备份,智能轮换。","loadingBackups":"正在加载备份...","noBackupsYet":"尚无可用的备份。当数据发生变化时,将自动创建备份。","backupsAvailable":"{count} 可用备份","refresh":"刷新","confirm":"确认?","yes":"是的","no":"否","restore":"恢复","invalidFileType":"文件类型无效,仅接受 `.sqlite` 文件。","exportFailed":"导出失败","exportFailedWithError":"导出失败:{error}","fullExportFailedWithError":"完全导出失败:{error}","backupCreated":"创建备份:{file}","restoreSuccess":"恢复了! {connections} 连接、{nodes} 节点、{combos} 组合、{apiKeys} API 密钥。","importSuccess":"数据库导入! {connections} 连接、{nodes} 节点、{combos} 组合、{apiKeys} API 密钥。","justNow":"刚才","minutesAgo":"{count} 分钟前","hoursAgo":"{count} 小时前","daysAgo":"{count} 天前","backupReasonManual":"手动","backupReasonPreRestore":"预恢复","connectionsCount":"{count} 个连接","noChangesSinceBackup":"自上次备份以来没有任何变化","backupFailed":"备份失败","restoreFailed":"恢复失败","importFailed":"导入失败","errorDuringRestore":"恢复期间发生错误","errorDuringImport":"导入时发生错误","modelPricing":"模型定价","modelPricingDesc":"配置每个模型的成本费率 • 所有费率均以美元/100 万代币为单位","providers":"提供商","registry":"登记处","priced":"定价","searchProvidersModels":"搜索提供商或模型...","showAll":"显示全部","noProvidersMatch":"没有与您的搜索匹配的提供商。","howPricingWorks":"定价如何运作","cacheWrite":"缓存写入","unsaved":"未保存","resetDefaults":"重置默认值","saveProvider":"保存提供商","saving":"正在保存...","model":"模型","models":"模型","moreProviders":"{count} 更多提供商","withPricing":"配置定价","policiesCircuitBreakers":"政策与断路器","activeIssuesDetected":"检测到活跃问题","off":"关闭","resetPricingConfirm":"将 {provider} 的所有定价重置为默认值?","pricingDescInput":"输入:发送到模型的令牌","pricingDescOutput":"输出:生成的代币","pricingDescCached":"缓存:重用输入(约输入率的 50%)","pricingDescReasoning":"推理:思考标记(回到输出)","pricingDescCacheWrite":"缓存写入:创建缓存条目(回退到输入)","pricingDescFormula":"成本 = (输入 × 输入率) + (输出 × 输出率) + (缓存 × 缓存率) 每百万代币。","pricingSettingsTitle":"定价设置","totalModels":"模型总数","active":"活跃","costCalculation":"成本计算","costCalculationDesc":"成本是根据为每个模型配置的令牌使用情况和定价费率计算的。","pricingFormat":"定价格式","pricingFormatDesc":"所有费率均以美元/100 万代币为单位(每百万代币美元)。","tokenTypes":"代币类型","inputTokenDesc":"标准提示标记","outputTokenDesc":"完成/响应标记","cachedTokenDesc":"缓存输入令牌(通常为输入速率的 50%)","reasoningTokenDesc":"特殊推理/思维标记(回退到输出率)","cacheCreationTokenDesc":"用于创建缓存条目的令牌(回退到输入速率)","customPricingNote":"你可以覆盖特定模型的默认定价。自定义覆盖会优先于自动检测到的定价。","editPricing":"编辑定价","viewFullDetails":"查看完整详情","themeCoral":"珊瑚色","routingAdvancedGuideTitle":"高级路线指导","routingAdvancedGuideHint1":"使用 Fill First 实现可预测的优先级,使用 Round Robin 实现公平性,使用 P2C 实现延迟弹性。","routingAdvancedGuideHint2":"如果提供商的质量/成本各不相同,请从“成本选择”开始进行后台工作,并从“最少使用”开始进行平衡磨损。","comboDefaultsGuideTitle":"如何调整组合默认值","comboDefaultsGuideHint1":"在低延迟流中保持较低的重试次数;仅增加长生成任务的超时。","comboDefaultsGuideHint2":"当一个提供程序需要与全局默认值不同的超时/重试行为时,请使用提供程序覆盖。"},"translator":{"title":"翻译者","metaTitle":"翻译游乐场 |全方位路由","metaDescription":"调试、测试和可视化提供商之间的 API 格式转换","playgroundTitle":"翻译游乐场","playground":"游乐场","realtime":"实时翻译活动","chatTester":"聊天测试仪","testBench":"测试台","liveMonitor":"实时监控","modeDescriptionPlayground":"粘贴任意 API 请求体,查看 OmniRoute 如何在不同提供商格式之间进行转换(OpenAI ↔ Claude ↔ Gemini ↔ Responses API)。","modeDescriptionChatTester":"通过 OmniRoute 发送真实聊天请求,并检查完整往返流程:输入、转换后的请求、提供商响应以及转换后的输出。","modeDescriptionTestBench":"运行预定义的场景并比较提供商和模型之间的兼容性。","modeDescriptionLiveMonitor":"实时查看请求流经 OmniRoute 时产生的翻译事件。","modeDescriptionFallback":"调试、测试并可视化 OmniRoute 如何在提供商之间转换 API 请求。","recentTranslations":"最近的翻译","noTranslations":"还没有翻译","source":"来源","target":"目标","time":"时间","model":"模型","status":"状态","latency":"延迟","totalTranslations":"总翻译数","successful":"成功","errors":"错误","avgLatency":"平均延迟","millisecondsShort":"{value}ms","notAvailableSymbol":"—","liveAutoRefreshing":"直播 — 自动刷新","paused":"已暂停","eventsAppearHint":"请求流经 OmniRoute 时,翻译事件会显示在这里。你可以通过下面任一方式生成事件:","chatTesterTab":"聊天测试选项卡","testBenchTab":"测试台选项卡","externalApiCalls":"外部API调用","ideCliIntegrations":"IDE/CLI 集成","inMemoryNote":"注意:事件存储在内存中,并在服务器重新启动时重置。","ok":"好的","errorShort":"错误率","formatConverter":"格式转换器","formatConverterDescription":"粘贴或输入 JSON 请求体。翻译器会自动识别源格式并将其转换为目标格式。你可以借此调试 OmniRoute 在各种格式之间的转换行为(OpenAI ↔ Claude ↔ Gemini ↔ Responses API)。","input":"输入","output":"输出","auto":"汽车","swapFormats":"交换格式","translateAction":"翻译","clear":"清除","inputPlaceholder":"在此处粘贴请求正文或选择下面的模板...","exampleTemplates":"示例模板","exampleTemplatesHint":"— 点击加载","templateLoadHint":"模板以 {format} 格式加载请求。更改源格式以以不同的格式加载。","compatibilityTester":"兼容性测试仪","compatibilityReport":"兼容性报告","testBenchDescription":"运行预定义的场景(简单聊天、工具调用等)以验证翻译和提供商兼容性。选择源格式和目标提供商,然后运行所有测试以查看兼容性百分比。使用它来查找哪些功能可以跨提供商使用。","targetProvider":"目标提供商","runAllTests":"运行所有测试","runTest":"运行测试","reRun":"重新运行","running":"运行...","passed":"通过了","failed":"失败了","passedIconLabel":"✅ 通过","chunks":"块","scenarioSimpleChat":"简单聊天","scenarioToolCalling":"工具调用","scenarioMultiTurn":"多圈","scenarioThinking":"思考","scenarioSystemPrompt":"系统提示","scenarioStreaming":"流媒体","templateNames":{"simple-chat":"简单聊天","tool-calling":"工具调用","multi-turn":"多圈","thinking":"思考","system-prompt":"系统提示","streaming":"流媒体"},"templateDescriptions":{"simple-chat":"基本短信","tool-calling":"函数/工具调用","multi-turn":"与历史对话","thinking":"扩展思维/推理","system-prompt":"复杂系统指令","streaming":"SSE 流请求"},"templatePayloads":{"simpleChat":{"system":"你是一个有用的助手。","userGreeting":"你好!你今天怎么样?"},"toolCalling":{"userWeather":"圣保罗 的天气怎么样?","toolDescription":"获取某个位置的当前天气","cityNameDescription":"城市名称"},"multiTurn":{"system":"你是一名编码助理。","userInitial":"请用 Python 写一个对数组进行排序的函数。","assistantExample":"这是一个简单的排序函数:\\n\\n```python\\ndef sort_array(arr):\\n return sorted(arr)\\n```","userFollowUp":"现在将其按降序排序。"},"thinking":{"question":"前 100 个质数之和是多少?"},"systemPrompt":{"systemInstruction":"你是一名专注于分布式系统的高级软件工程师。请使用行业最佳实践简洁作答,并在合适时提供代码示例。回复请使用 Markdown 格式。","question":"如何实现断路器模式?"},"streaming":{"prompt":"给我讲一个关于机器人学习绘画的小故事。"}},"openaiCompatibleLabel":"OpenAI 兼容","anthropicCompatibleLabel":"Anthropic 兼容","noTemplateForFormat":"没有此格式的模板","translationFailed":"翻译失败:{error}","pipelineDebugger":"管道调试器","translationPipeline":"翻译管道","pipelineVisualization":"管道可视化","pipelineVisualizationHint":"发送消息以查看您的请求如何经过检测 → 翻译 → 提供商调用。","chatTesterDescription":"以特定客户端格式发送消息并检查翻译管道的每个步骤。","chatTesterFlow":"客户端请求 → 格式检测 → OpenAI 中间格式 → 提供商格式 → 响应","clickStepToInspect":"单击任意步骤即可检查该阶段的数据。","clientFormat":"客户端格式","provider":"提供商","modelPlaceholder":"选择或输入模型名称...","sendMessageToSeePipeline":"发送消息查看翻译管道","chatMessageHintPrefix":"您的消息将被格式化为","chatMessageHintSuffix":"请求,通过管道进行翻译,然后发送给选定的提供商。","youWithFormat":"您 ({format})","assistant":"助理","typeMessage":"输入消息...","send":"发送","clientRequest":"客户端请求","clientRequestDescription":"您的客户端发送的请求正文","formatDetected":"检测到格式","formatDetectedDescription":"OmniRoute 会根据请求结构自动识别 API 格式","openaiIntermediate":"OpenAI 中间格式","openaiIntermediateDescription":"所有格式都会先归一化为 OpenAI 格式(通用桥接层)","providerFormat":"提供商格式","providerFormatDescription":"随后再把 OpenAI 格式转换为提供商原生格式","providerResponse":"提供商回应","providerResponseRawDescription":"来自提供商 API 的原始响应","providerResponseSseDescription":"来自提供商 API 的原始 SSE 流","unexpectedError":"发生意外错误","error":"错误","errorMessage":"错误:{message}","requestFailed":"请求失败","noTextExtracted":"(未提取文字)","liveMonitorDescriptionPrefix":"这里会显示 API 调用流经 OmniRoute 时产生的翻译事件。事件来自内存缓冲区(重启后会重置)。使用","liveMonitorDescriptionSuffix":",或外部 API 调用来生成事件。"},"usage":{"title":"用量","loggerTab":"记录器","proxyTab":"代理","budgetManagement":"预算管理","budgetSaved":"已保存预算限制","budgetSaveFailed":"未能节省预算","loadingBudgetData":"正在加载预算数据...","noApiKeysTitle":"没有 API 密钥","noApiKeysDescription":"首先添加 API 密钥以设置预算限制。","apiKey":"API密钥","todaysSpend":"今天的花费","thisMonth":"本月","setLimits":"设定限制","dailyLimitUsd":"每日限额(美元)","monthlyLimitUsd":"每月限额(美元)","warningThresholdPercent":"警告阈值 (%)","dailyLimitPlaceholder":"例如5.00","monthlyLimitPlaceholder":"例如50.00","warningThresholdPlaceholder":"80","saveLimits":"保存限制","budgetOk":"预算正常 — 剩余 {remaining}","budgetExceeded":"超出预算 - 请求可能被阻止","totalRequests":"请求总数","noDataYet":"还没有数据","latency":"延迟","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","promptCache":"提示缓存","systemHealth":"系统健康状况","entries":"参赛作品","activeCount":"{count} 活跃","openCircuitBreakersDetected":"检测到断路器开路","hitRate":"命中率","hitsMisses":"命中/未命中","circuitBreakers":"断路器","lockedIPs":"锁定IP","lockoutsAutoRefreshHint":"每个模型速率限制锁定 • 自动刷新 10 秒","lockedCount":"{count} 个锁定","timeLeft":"剩余 {time}","howItWorks":"工作原理","howItWorksSubtitle":"了解评估如何验证您的 LLM 回答","define":"定义","defineStepDescription":"使用包含、正则表达式或完全匹配等策略创建带有输入提示和预期输出标准的测试用例。","run":"运行","runStepDescription":"通过 OmniRoute 对你的 LLM 端点执行测试用例。每个案例都会作为真实 API 请求发送。","evaluate":"评估","evaluateStepDescription":"将响应与预期标准进行比较。查看每种情况的通过/失败情况以及延迟指标和详细反馈。","evalSuites":"评估套件","evalSuitesHint":"点击套件可查看测试用例,然后运行以评估你的 LLM 端点","evalsLoading":"正在加载评估套件...","noEvalSuitesFound":"未找到评估套件","noEvalSuitesDescription":"评测套件可以通过 API 或代码定义。它们会使用包含、正则表达式、精确匹配和自定义函数等策略,根据预期结果验证模型输出。","columnCase":"案例","columnStatus":"状态","columnLatency":"延迟","columnDetails":"详情","columnModel":"模型","columnStrategy":"策略","columnExpected":"预期","statsSuites":"套件","statsTestCases":"测试用例","statsModels":"模型","statsCoverage":"覆盖范围","statsStrategiesCount":"{count} 策略","evaluationStrategies":"评估策略","modelsUnderTest":"测试中的模型","searchSuitesPlaceholder":"搜索套件...","passSuffix":"通过","casesCount":"{count} 个案例","runEval":"运行评估","runningProgress":"正在运行 {current}/{total}...","passRate":"通过率","summaryBreakdown":"{passed} 通过 · {failed} 失败 · {total} 总计","passedIconLabel":"✅ 通过","failedIconLabel":"❌ 失败","detailsContains":"包含:“{term}”","detailsRegex":"正则表达式:{pattern}","detailsExpected":"预期:“{expected}”","noResultsYet":"还没有结果","testCasesCount":"测试用例 ({count})","noTestCasesDefined":"没有定义测试用例","runEvalHint":"点击“运行评测”即可对你的 LLM 端点执行所有案例。每次测试都会通过 OmniRoute 发送真实请求。","notifyNoTestCases":"没有为此套件定义测试用例","notifyAllCasesPassed":"所有 {total} 案例均已通过 ✅","notifySomeCasesFailed":"{passed}/{total} 通过,{failed} 失败","notifyEvalRunFailed":"评估运行失败","notifyEvalTitle":"评估:{name}","modelEvals":"模型评估","evalsHeroDescription":"通过运行预定义评测套件来测试和验证你的 LLM 端点。每个套件都包含多个测试用例,会经由 OmniRoute 发送真实提示,并将响应与预期标准进行比较,帮助你发现回归、比较模型,并确保跨提供商的响应质量。","qualityValidation":"质量验证","modelComparison":"模型对比","regressionDetection":"回归检测","latencyBenchmarks":"延迟基准","modelLockouts":"模型锁定","noLockouts":"当前没有被锁定的模型","activeSessions":"活跃会话","noSessions":"没有活动会话","sessionsHint":"会话显示为请求流经代理","sessionsTrackedHint":"通过请求指纹跟踪 • 自动刷新 5 秒","session":"会话","age":"年龄","requests":"请求","connection":"连接方式","durationMillisecondsShort":"{value}ms","durationSecondsShort":"{value}s","durationMinutesShort":"{value}m","durationHoursShort":"{value}h","reasonSeparator":" - ","notAvailableSymbol":"-","providerLimits":"提供商限制","noProviders":"没有连接提供商","connectProvidersForQuota":"通过 OAuth 连接提供商,以跟踪 API 配额限制和使用情况。","accountsCount":"{count} 个账户","filteredFromCount":"(从 {count} 过滤)","autoRefresh":"自动刷新","refreshAll":"全部刷新","loadingQuotas":"正在加载...","account":"账户","modelQuotas":"模型配额","lastUsed":"最后使用","actions":"操作","refreshQuota":"刷新配额","today":"今天","tomorrow":"明天","dayTimeFormat":"{day}、{time}","inDuration":"在 {duration} 中","notApplicable":"不适用","rawPlanWithValue":"原始计划:{plan}","noPlanFromProvider":"提供商没有计划","noQuotaData":"无配额数据","ungrouped":"未分组","viewFlat":"平铺视图","viewByEnvironment":"按环境分组","noQuotaDataAvailable":"无可用配额数据","noAccountsForTierFilter":"未找到适用于层过滤器的帐户","tierAll":"全部","tierEnterprise":"企业","tierTeam":"团队","tierBusiness":"商务","tierUltra":"超","tierPro":"专业版","tierPlus":"加号","tierFree":"免费","tierUnknown":"未知"},"modals":{"waitingAuth":"等待授权","verificationUrl":"验证网址","yourCode":"你的代码","remoteAccess":"远程访问:","connectedSuccess":"连接成功!","connectionFailed":"连接失败","chooseAuthMethod":"选择您的身份验证方法:","awsBuilderId":"AWS 构建器 ID","awsIamIdentity":"AWS IAM 身份中心","googleAccount":"谷歌帐户","githubAccount":"GitHub 帐户","importToken":"导入令牌","pasteToken":"从 Kiro IDE 粘贴刷新令牌。","awsRegion":"AWS 区域","autoDetecting":"自动检测令牌...","readingFromCache":"从 AWS SSO 缓存中读取","readingFromCursor":"从 Cursor IDE 数据库读取","initializing":"正在初始化...","pricingConfig":"定价配置","loadingPricing":"正在加载定价数据...","pricingRatesFormat":"定价格式","noPricingData":"无可用定价数据","noModelsFound":"没有找到模型"},"loggers":{"allProviders":"所有提供商","allModels":"所有模型","allAccounts":"所有账户","allApiKeys":"所有 API 密钥","allTypes":"所有类型","allLevels":"所有级别","modelAZ":"模型 A-Z","modelZA":"Z-A型","loadingLogs":"正在加载日志...","loadingProxyLogs":"正在加载代理日志...","noLogEntries":"未找到日志条目","noPayloadData":"此日志条目没有可用的有效负载数据。","proxyEvent":"代理事件","proxy":"代理","level":"等级","directNative":"直接(本地)","combo":"组合","inputTokens":"我:","outputTokens":"哦:"},"stats":{"usageOverview":"使用概述","outputTokens":"输出代币","totalCost":"总成本","usageByModel":"按模型使用","usageByAccount":"按帐户使用情况","failedToLoad":"无法加载使用情况统计信息。","tokenHealth":"令牌健康","totalOAuth":"总 OAuth","healthy":"健康","warning":"警告","errored":"出错了","lastCheck":"最后检查","noData":"无数据","share":"分享","unableToLoad":"无法加载系统指标","product":"产品展示","resources":"资源","company":"公司简介"},"auth":{"welcome":"欢迎","signIn":"登录","enterPassword":"输入您的密码以继续","password":"密码","unifiedProxy":"统一AI API代理","unifiedAiApiProxy":"统一AI API代理","unifiedAiApiProxyDesc":"通过单个端点将请求路由到多个 AI 提供商。内置负载平衡、故障转移和使用情况跟踪。","passwordNotEnabled":"未启用密码保护","loading":"正在加载...","invalidPassword":"密码无效","errorOccurredRetry":"发生错误。请再试一次。","configureInstance":"让我们配置您的 OmniRoute 实例","runOnboardingWizard":"运行入门向导来设置您的密码并连接您的第一个 AI 提供商。","startOnboarding":"开始入职","secureYourInstance":"保护您的实例","setPasswordDescription":"设置密码以保护您的仪表板并保护您的 API 端点免遭未经授权的访问。","configurePassword":"配置密码","continue":"继续","windowWillClose":"该窗口将自动关闭...","closeTabNow":"您现在可以关闭此选项卡。","copyUrlManual":"请复制地址栏中的 URL 并将其粘贴到应用程序中。","accessDeniedDescription":"您无权访问此资源。检查您的 API 密钥或联系管理员。","goToDashboard":"转到仪表板","featureMultiProviderTitle":"多提供商","featureMultiProviderDesc":"OpenAI、Anthropic、Google 等","featureLoadBalancingTitle":"负载均衡","featureLoadBalancingDesc":"智能分配请求","featureUsageTrackingTitle":"使用情况追踪","featureUsageTrackingDesc":"监控成本和代币","resetPassword":"重置密码","resetDescription":"选择一种方法来恢复对仪表板的访问权限","stopServer":"停止 OmniRoute 服务器","processing":"处理中...","pleaseWait":"我们正在完成授权,请稍候。","authSuccess":"授权成功!","copyUrl":"复制此网址","accessDenied":"访问被拒绝","methodCliTitle":"方法 1:CLI 重置","methodCliDescription":"在运行 OmniRoute 的服务器上运行以下命令:","methodCliHint":"这将提示您设置新密码。必须首先停止服务器。","methodManualTitle":"方法二:手动复位","methodManualDescription":"从数据库中删除密码并在启动时设置新密码:","setPasswordInYour":"在您的密码中设置一个新密码","fileLabelSuffix":"文件:","newPasswordPlaceholder":"你的新密码","deleteSettingsFile":"删除","orRemovePasswordHashField":"或删除passwordHash字段","restartServerWithNewPassword":"重新启动服务器 - 它将使用新密码","backToLogin":"返回登录","forgotPassword":"忘记密码?","defaultPasswordHint":"默认密码:123456(除非已设置 INITIAL_PASSWORD)","waitingForAuthorization":"Waiting for authorization...","waitingForGoogleAuthorization":"Waiting for Google authorization...","waitingForOpenAIAuthorization":"Waiting for OpenAI authorization...","waitingForAntigravityAuthorization":"Waiting for Antigravity authorization...","waitingForIFlowAuthorization":"Waiting for iFlow authorization...","exchangingCodeForTokens":"Exchanging code for tokens..."},"landing":{"brandName":"全方位路由","navigateHome":"导航至主页","toggleMenu":"切换菜单","featuresLink":"特点","docsLink":"文档","github":"GitHub","versionLive":"v1.0 现已上线","oneEndpoint":"一个端点","allProviders":"所有人工智能提供商","heroDescription":"带 Web 仪表板的 AI 端点代理,是 CLIProxyAPI 的 JavaScript 版本。可与 Claude Code、OpenAI Codex、Cline、RooCode 等 CLI 工具无缝配合。","getStarted":"开始使用","viewOnGithub":"在 GitHub 上查看","powerfulFeatures":"强大的功能","featuresSubtitle":"在一个地方管理 AI 基础设施所需的一切,专为规模化而构建。","featureUnifiedEndpointTitle":"统一端点","featureUnifiedEndpointDesc":"通过单一标准 API URL 访问所有提供商。","featureEasySetupTitle":"轻松设置","featureEasySetupDesc":"使用 npx 命令在几分钟内启动并运行。","featureModelFallbackTitle":"模型回退","featureModelFallbackDesc":"发生故障或高延迟时自动切换提供商。","featureUsageTrackingTitle":"使用情况追踪","featureUsageTrackingDesc":"所有模型的详细分析和成本监控。","featureOAuthApiKeysTitle":"OAuth 与 API 密钥","featureOAuthApiKeysDesc":"在一个保管库中安全地管理凭据。","featureCloudSyncTitle":"云同步","featureCloudSyncDesc":"立即跨设备同步您的配置。","featureCliSupportTitle":"CLI 支持","featureCliSupportDesc":"适用于 Claude Code、Codex、Cline、Cursor 等工具。","featureDashboardTitle":"仪表板","featureDashboardDesc":"用于实时流量分析的可视化仪表板。","howItWorks":"OmniRoute 工作原理","howItWorksDescription":"数据从您的应用程序通过我们的智能路由层无缝流向最适合该工作的提供商。","howItWorksStep1Title":"1. CLI 和 SDK","howItWorksStep1Description":"您的请求从您最喜欢的工具或我们的统一 SDK 开始。只需更改基本 URL 即可。","howItWorksStep2Title":"2. OmniRoute 中枢","howItWorksStep2Description":"我们的引擎分析提示、检查提供商的运行状况以及最低延迟或成本的路线。","howItWorksStep3Title":"3.人工智能提供商","howItWorksStep3Description":"请求会被立即转发给 OpenAI、Anthropic、Gemini 或其他提供商完成处理。","getStartedIn30Seconds":"30 秒内开始","getStartedDescription":"安装 OmniRoute,通过 Web 仪表板配置你的提供商,然后开始路由 AI 请求。","installOmniRoute":"安装 OmniRoute","installStepDescription":"运行 npx 命令立即启动服务器","openDashboard":"打开仪表板","openDashboardStepDescription":"通过 Web 界面配置提供商和 API 密钥","routeRequests":"路线请求","routeRequestsStepDescription":"将您的 CLI 工具指向 {endpoint}","terminal":"终端","copy":"复制","copied":"✓ 已复制","startingOmniRoute":"正在启动 OmniRoute...","serverRunningOnLabel":"服务器运行于","dashboardLabel":"仪表板","readyToRoute":"准备好路线! ✓","configureProvidersNote":"📝 在仪表板中配置提供商或使用环境变量","dataLocation":"数据位置:","dataLocationMacLinux":" macOS/Linux:","dataLocationWindows":" 窗户:","product":"产品展示","dashboardLink":"仪表板","changelog":"变更日志","resources":"资源","documentation":"文档","npm":"国家公共管理","legal":"法律","mitLicense":"麻省理工学院许可证","footerTagline":"AI 生成的统一端点。轻松连接、路由和管理您的 AI 提供商。","copyright":"© {year} OmniRoute。保留所有权利。","flowToolClaudeCode":"克劳德·科德","flowToolOpenAICodex":"OpenAI Codex","flowToolCline":"克莱因","flowToolCursor":"光标","flowProviderOpenAI":"开放人工智能","flowProviderAnthropic":"Anthropic","flowProviderGemini":"双子座","flowProviderGithubCopilot":"GitHub Copilot","interactiveDiagram":"桌面上可见的交互式图表","ctaTitle":"准备好简化您的人工智能基础设施了吗?","ctaDescription":"加入更多开发者,一起用 OmniRoute 简化 AI 集成流程。开源且可免费开始使用。","startFree":"免费开始","readDocumentation":"阅读文档"},"docs":{"title":"文档","quickStart":"快速入门","features":"特点","supportedProviders":"支持的提供商","supportedProvidersToc":"提供商","commonUseCases":"常见用例","clientCompatibility":"客户端兼容性","protocolsToc":"协议","apiReference":"API参考","managementApiReference":"管理 API 参考","managementApiDescription":"用于代理注册表、作用域绑定以及旧版代理迁移的自动化接口。","method":"方法","path":"路径","notes":"注释","modelPrefixes":"模型前缀","prefix":"前缀","troubleshooting":"故障排除","supportsChat":"支持聊天和响应端点。","oauthAutoRefresh":"支持自动刷新 Token 的 OAuth 连接。","fullStreaming":"所有模型都支持完整流式输出。","docsLabel":"文档","docsHeroDescription":"面向多提供商 LLM 的 AI 网关。一个端点即可统一接入 OpenAI、Anthropic、Gemini、GitHub Copilot、Claude Code、Cursor 等 20+ 提供商。","openDashboard":"打开仪表板","endpointPage":"端点页面","github":"GitHub","reportIssue":"报告问题","onThisPage":"在此页面上","documentationVersion":"文档 - v{version}","quickStartStep1Title":"1.安装并运行","quickStartStep1Prefix":"运行","quickStartStep1Middle":"或者从 GitHub 克隆并运行","quickStartStep2Title":"2. 创建API密钥","quickStartStep2Text":"转至端点 -> 注册密钥。每个环境生成一个密钥。","quickStartStep3Title":"3. 连接提供商","quickStartStep3Text":"通过 OAuth 登录、API 密钥或免费套餐自动接入来添加提供商账户。","quickStartStep4Title":"4. 设置客户端基本 URL","quickStartStep4Prefix":"将您的 IDE 或 API 客户端指向","quickStartStep4Suffix":"例如使用提供商前缀","featureRoutingTitle":"多提供商路由","featureRoutingText":"通过单一 OpenAI 兼容端点将请求路由到 30+ AI 提供商,支持聊天、Responses、音频和图像 API。","featureCombosTitle":"组合和平衡","featureCombosText":"使用后备链和平衡策略创建模型组合:循环、优先级、随机、最少使用和成本优化。","featureUsageTitle":"使用情况和成本跟踪","featureUsageText":"实时令牌计数、每个提供商/模型的成本计算以及按 API 密钥和帐户划分的详细使用情况细分。","featureAnalyticsTitle":"分析仪表板","featureAnalyticsText":"可视化分析,包含随时间变化的请求、令牌、错误、延迟、成本和模型受欢迎程度的图表。","featureHealthTitle":"健康监测","featureHealthText":"实时健康检查、提供商状态、断路器状态以及具有指数退避功能的自动速率限制检测。","featureCliTitle":"CLI工具","featureCliText":"可在仪表板中管理 IDE 配置、导出/导入备份、发现 Codex 配置文件并修改设置。","featureSecurityTitle":"安全和政策","featureSecurityText":"API 密钥身份验证、IP 过滤、提示注入防护、域策略、会话管理和审核日志记录。","featureCloudSyncTitle":"云同步","featureCloudSyncText":"将配置同步到 Cloudflare Workers,以便通过加密凭据和自动故障转移实现远程访问。","providersAcrossConnectionTypes":"跨三种连接类型的 {count} 提供商。","manageProviders":"管理提供商","providersCount":"{count} 提供商","providerTypeFree":"免费套餐","providerTypeOAuth":"OAuth","providerTypeApiKey":"API密钥","useCaseSingleEndpointTitle":"许多提供商的单一端点","useCaseSingleEndpointText":"将客户端统一指向一个 Base URL,再通过模型前缀进行路由(例如:gh/、cc/、kr/、openai/)。","useCaseFallbackTitle":"使用组合进行回退和模型切换","useCaseFallbackText":"在仪表板中创建组合模型,并在提供商内部轮换时保持客户端配置稳定。","useCaseUsageVisibilityTitle":"使用情况、成本和调试可见性","useCaseUsageVisibilityText":"在“使用情况”和“分析”选项卡中按提供商、帐户和 API 密钥跟踪令牌和成本。","clientCherryStudioTitle":"樱桃工作室","baseUrlLabel":"基本网址","chatEndpointLabel":"聊天端点","modelRecommendationLabel":"模型建议:显式前缀","clientCodexTitle":"Codex / GitHub Copilot 模型","clientCodexBullet1":"使用模型 ID","clientCodexBullet2":"Codex 系列模型会自动路由到","clientCodexBullet3":"非法典模型继续","clientCursorTitle":"光标集成开发环境","clientCursorBullet1":"使用","clientCursorBullet1Suffix":"光标模型的前缀。","clientCursorBullet2":"OAuth 连接方式:在 Providers 页面中登录。","clientClaudeTitle":"克劳德·代码 / 反重力","clientClaudeBullet1Prefix":"使用","clientClaudeBullet1Middle":"(克劳德)或","clientClaudeBullet1Suffix":"(反重力)前缀。","protocolsTitle":"协议:MCP 与 A2A","protocolsDescription":"除了 OpenAI 兼容 API 之外,OmniRoute 还提供两类操作协议:用于工具执行的 MCP,以及用于智能体协作工作流的 A2A。","protocolMcpTitle":"MCP(Model Context Protocol)","protocolMcpDesc":"通过 stdio 使用 MCP,让客户端发现并调用 OmniRoute 工具,同时具备审计可见性。","protocolMcpStep1":"使用 `omniroute --mcp` 启动 MCP 传输。","protocolMcpStep2":"将你的 MCP 客户端指向 stdio 传输。","protocolMcpStep3":"调用 `omniroute_get_health` 和 `omniroute_list_combos` 验证连通性。","protocolA2aTitle":"A2A(Agent2Agent)","protocolA2aDesc":"使用 A2A JSON-RPC 以同步方式或通过 SSE 流式方式提交任务。","protocolA2aStep1":"读取 `/.well-known/agent.json` 进行智能体发现。","protocolA2aStep2":"向 `POST /a2a` 发送 `message/send` 或 `message/stream` 请求。","protocolA2aStep3":"通过 `tasks/get` 和 `tasks/cancel` 管理任务生命周期。","protocolTroubleshootingTitle":"协议故障排查","protocolTroubleshooting1":"如果 MCP 状态为离线,请确认 stdio 进程正在运行,且心跳文件持续更新。","protocolTroubleshooting2":"如果 A2A 任务长时间停留在 `working`,请检查 `/api/a2a/tasks/:id` 和流事件中是否出现终态。","protocolTroubleshooting3":"可使用 `/dashboard/mcp` 和 `/dashboard/a2a` 进行运行控制并查看审计信息。","endpointChatNote":"OpenAI 兼容聊天端点(默认)。","endpointResponsesNote":"Responses API 端点(Codex、o 系列)。","endpointModelsNote":"所有连接的提供商的模型目录。","endpointAudioNote":"音频转录(Deepgram、AssemblyAI)。","endpointImagesNote":"图像生成(NanoBanana)。","endpointRewriteChatNote":"为没有 /v1 的客户端重写帮助程序。","endpointRewriteResponsesNote":"重写不带 /v1 的响应帮助程序。","endpointRewriteModelsNote":"重写模型发现助手,无需 /v1。","mgmtProxiesListNote":"列出已保存的代理注册项(支持分页)。","mgmtProxiesCreateNote":"在注册表中创建可复用的代理项。","mgmtProxiesHealthNote":"基于代理日志获取每个已保存代理的 24 小时 / 滚动健康指标。","mgmtProxiesBulkAssignNote":"一次请求即可为多个 scope ID 统一分配或清除同一个代理。","mgmtAssignmentsListNote":"按 scope、scope_id 或 proxy_id 列出代理绑定关系。","mgmtAssignmentsUpdateNote":"为 global/provider/account/combo 作用域分配或清除代理。","mgmtLegacyMigrationNote":"将旧版 proxyConfig 映射导入为注册表绑定关系。","modelPrefixesDescriptionStart":"在模型名称之前使用提供商前缀可路由到特定提供商。示例:","modelPrefixesDescriptionEnd":"会被路由到 GitHub Copilot。","provider":"提供商","type":"类型","troubleshootingModelRouting":"如果客户端在模型路由上失败,请使用显式 provider/model(例如:gh/gpt-5.1-codex)。","troubleshootingAmbiguousModels":"如果您收到不明确的模型错误,请选择提供商前缀而不是裸模型 ID。","troubleshootingCodexFamily":"对于 GitHub Codex 系列模型,请保持模型名为 `gh/codex-model`;路由器会自动选择 `/responses`。","troubleshootingTestConnection":"在从 IDE 或外部客户端进行测试之前,请使用仪表板 > 提供商 > 测试连接。","troubleshootingCircuitBreaker":"如果提供商显示断路器已打开,请等待冷却或查看运行状况页面以了解详细信息。","troubleshootingOAuth":"对于 OAuth 提供商,如果 Token 过期,请重新认证,并检查提供商卡片上的状态指示器。","endpointSpeechNote":"语音生成(ElevenLabs、OpenAI TTS)。","endpointEmbeddingsNote":"文本嵌入生成(OpenAI、Cohere、Voyage)。"},"legal":{"privacyPolicy":"隐私政策","termsOfService":"服务条款","providerConfigurations":"提供商配置","apiKeys":"API 密钥","usageLogs":"使用日志","applicationSettings":"应用程序设置","viewExportAnalytics":"查看和导出使用情况分析","clearHistory":"随时清除使用记录","configureRetention":"配置日志保留策略","backupRestore":"备份和恢复您的数据库","privacyMetadataTitle":"隐私政策 |全方位路由","privacyMetadataDescription":"OmniRoute AI API 代理路由器的隐私政策。","termsMetadataTitle":"服务条款 |全方位路由","termsMetadataDescription":"OmniRoute AI API 代理路由器的服务条款。","backToHome":"回到家","lastUpdated":"最后更新:{date}","policyLastUpdatedDate":"2026 年 2 月 13 日","listSeparator":"-","questionsVisit":"有问题吗?访问我们的","githubRepository":"GitHub 仓库","privacySection1Title":"1. 本地优先架构","privacySection1Text":"OmniRoute 是一款本地优先的应用。所有数据处理和存储都只发生在你的设备上,不存在集中式服务器收集你的信息。","privacySection2Title":"2. 我们存储的数据","privacyDataStoredIn":"以下数据存储在本地","privacyDataProviderConfigurationsDesc":"连接 URL、提供商类型和优先级设置","privacyDataApiKeysDesc":"加密并存储在本地,以便与人工智能提供商进行身份验证","privacyDataUsageLogsDesc":"请求计数、令牌使用情况、模型名称、时间戳和响应时间","privacyDataApplicationSettingsDesc":"主题偏好、路由策略和组合配置","privacySection3Title":"3. 无遥测","privacySection3Text":"OmniRoute 不收集遥测、分析或崩溃报告。不会向我们或任何第三方发送数据。你的使用模式、API 调用和配置都会保持私密。","privacySection4Title":"4. 第三方人工智能提供商","privacySection4Text":"当你通过 OmniRoute 发起 API 调用时,请求会被转发到你配置的 AI 提供商(例如:OpenAI、Anthropic、Google)。这些提供商有各自的隐私政策,请查阅:","privacyOpenAiPolicy":"OpenAI 隐私政策","privacyAnthropicPolicy":"Anthropic 隐私政策","privacyGooglePolicy":"谷歌隐私政策","privacySection5Title":"5. 云同步(可选)","privacySection5Text":"如果您启用可选的云同步功能,提供商配置和 API 密钥可能会传输到配置的云端点。此功能默认处于禁用状态,需要明确选择加入。","privacySection6Title":"6. 日志记录","privacyLoggingIntro":"可以通过仪表板设置配置请求日志。您可以:","privacySection7Title":"7. 您的权利","privacySection7TextStart":"由于所有数据都存储在本地,因此您拥有完全的控制权。您可以随时删除您的数据,方法是删除","privacySection7TextEnd":"目录或使用仪表板中的数据库备份和恢复功能。","termsSection1Title":"1. 概述","termsSection1Text":"OmniRoute 是一款本地优先的 AI API 代理路由器,完全运行在你的设备上。它通过负载均衡、故障回退和用量跟踪,将请求路由到多个 AI 提供商。","termsSection2Title":"2. 用户的责任","termsResponsibilityApiKeys":"你需要自行负责管理自己的 API 密钥,以及第三方 AI 提供商(OpenAI、Anthropic、Google 等)的凭证。","termsResponsibilityCompliance":"你必须遵守通过 OmniRoute 访问的每个 AI 提供商的服务条款。","termsResponsibilitySecurity":"你需要负责本地 OmniRoute 安装的安全,包括设置密码和限制网络访问。","termsSection3Title":"3. 工作原理","termsSection3Text":"OmniRoute 充当中间代理。发送到 OmniRoute 的 API 调用会被转换后转发到你配置的 AI 提供商。除必要的协议转换外,OmniRoute 不会修改你的请求或响应内容。","termsSection4Title":"4. 数据处理","termsDataStoredLocally":"所有数据都保存在你本机上的 SQLite 数据库中。","termsNoTransmission":"除非你明确启用云同步功能,否则 OmniRoute 不会将任何数据传输到外部服务器。","termsDataLocationText":"使用日志、API 密钥和配置存储在","termsSection5Title":"5. 免责声明","termsSection5Text":"OmniRoute 按“原样”提供,不附带任何形式的保证。我们不对 API 使用成本、服务中断或数据丢失造成的任何损失负责。请始终为配置做好备份。","termsSection6Title":"6. 开源","termsSection6Text":"OmniRoute 是开源软件。您可以根据其许可条款自由检查、修改和分发它。"},"agents":{"title":"CLI 智能体","description":"发现系统中已安装的 CLI 智能体,并支持添加自定义智能体以便自动检测。","refresh":"刷新","installed":"已安装","notFound":"未找到","builtIn":"内置","custom":"自定义","remove":"移除","addCustomAgent":"添加自定义智能体","addCustomAgentDesc":"注册任意 CLI 工具用于检测,刷新时会自动扫描。","agentName":"智能体名称","binaryName":"可执行文件名","versionCommand":"版本命令","spawnArgs":"启动参数","addAgent":"添加智能体","scanning":"Scanning system for CLI agents...","opencodeIntegration":"OpenCode Integration","opencodeDetected":"opencode {version} detected","opencodeDesc":"Generate a ready-to-use {configFile} with your OmniRoute base URL and all available models — drop it in your project root and run {command}.","downloadConfig":"Download {file}","downloaded":"Downloaded!","setupGuideTitle":"Setup guide","openCliTools":"Open CLI Tools","setupGuideDetectCliTitle":"Detect installed CLIs","setupGuideDetectCliDesc":"Click Refresh after installing or updating a CLI so OmniRoute can rescan binaries and versions.","setupGuideCustomAgentTitle":"Register custom binary","setupGuideCustomAgentDesc":"Use Add Custom Agent when your CLI is not in the built-in list. Provide binary name and version command.","setupGuideCommandMissingTitle":"Fix \'command not found\'","setupGuideCommandMissingDesc":"Ensure the CLI command exists in PATH, open a new terminal session, and rerun Refresh."},"autoCombo":{"title":"自动组合引擎","statusNormal":"正常","statusIncident":"事件模式","modePack":"模式包","providerScores":"提供商得分","noAutoCombo":"尚未配置自动组合。","excludedProviders":"已排除的提供商","noExclusions":"当前没有被排除的提供商。","factorQuota":"配额","factorHealth":"健康度","factorCost":"成本","factorLatency":"延迟","factorTaskFit":"任务匹配度","factorStability":"稳定性","factorTierPriority":"套餐优先级","factorTierPriorityDesc":"优先选择配额等级更高的账户(Ultra/Pro 高于 Free)","scoreFactorBreakdown":"评分因子","modePackShipFast":"快速交付","modePackCostSaver":"节省成本","modePackQualityFirst":"质量优先","modePackOfflineFriendly":"离线友好"},"templateNames":{"simple-chat":"Simple Chat","streaming":"Streaming","system-prompt":"System Prompt","thinking":"Thinking","tool-calling":"Tool Calling","multi-turn":"Multi-turn"},"templateDescriptions":{"simple-chat":"Basic chat template","streaming":"Streaming template","system-prompt":"System prompt template","thinking":"Thinking template","tool-calling":"Tool calling template","multi-turn":"Multi-turn template"}}'))}];
|
|
1
|
+
module.exports=[720020,a=>{a.v(JSON.parse('{"common":{"save":"保存","cancel":"取消","delete":"删除","loading":"正在加载...","error":"发生错误","success":"成功","confirm":"你确定吗?","refresh":"刷新","close":"关闭","add":"添加","edit":"编辑","search":"搜索","back":"返回","next":"下一页","submit":"提交","reset":"重置","copy":"复制","copied":"已复制!","enabled":"启用","disabled":"已禁用","active":"启用中","inactive":"不活跃","noData":"无可用数据","configure":"配置","manage":"管理","name":"名称","actions":"操作","status":"状态","type":"类型","model":"模型","models":"模型","provider":"提供商","account":"账户","time":"时间","details":"详情","created":"已创建","lastUsed":"最后使用","loadMore":"加载更多","noResults":"没有找到结果","reloadPage":"重新加载页面","connected":"已连接","disconnected":"已断开连接","notConfigured":"未配置","testConnection":"测试连接","enable":"启用","disable":"禁用","columns":"列","newest":"最新","oldest":"最早","all":"全部","none":"无","yes":"是的","no":"否","warning":"警告","note":"注意事项","free":"免费","skipToContent":"跳至内容","maintenanceServerIssues":"服务器当前存在异常,部分功能可能暂时不可用。","maintenanceServerUnreachable":"服务器暂时无法连接,正在重新连接...","accept":"接受","accountId":"Account ID","alias":"别名","apiKeyId":"API Key ID","apiKeyName":"API Key 名称","apiKeySecret":"API Key 密钥","authorization":"Authorization","content-type":"Content Type","content-length":"Content Length","cookie":"Cookie","file":"文件","host":"Host","id":"ID","import":"导入","limit":"限制","offset":"偏移量","open":"打开","origin":"来源","promptTokens":"输入 Tokens","completionTokens":"输出 Tokens","totalTokens":"总 Tokens","rawModel":"原始模型","scope":"作用域","skill":"技能","sortBy":"排序依据","sortOrder":"排序顺序","tab":"标签页","text":"文本","textarea":"文本域","tool":"工具","toolId":"工具 ID","web":"网页","whereUsed":"使用位置","whitelist":"白名单","blacklist":"黑名单","resolve":"解析","force":"强制","base64url":"Base64 URL","hex":"Hex","range":"范围","component":"组件","redirect_uri":"Redirect URI","idempotency-key":"Idempotency Key","error_description":"Error Description","code":"代码","compatible":"兼容","chat-completions":"Chat Completions","oauth":"OAuth","auth_token":"Auth Token","crypto":"加密","hours":"小时","selfsigned":"自签名","proxy_id":"Proxy ID","proxyId":"Proxy ID","connectionId":"Connection ID","resolveConnectionId":"解析 Connection ID","resolve_connection_id":"解析 Connection ID","scope_id":"Scope ID","scopeId":"Scope ID","jwtSecret":"JWT Secret","keytar":"keytar","better-sqlite3":"better-sqlite3","undici":"undici","builder-id":"Builder ID","musicDesc":"音乐描述","musicGeneration":"音乐生成","idc":"IDC","cloud-status-changed":"云状态已变更","where_used":"使用位置","windowMs":"时间窗口(ms)","social-github":"GitHub","social-google":"Google","TOOL_ALLOWLIST":"工具允许列表","TOOL_DENYLIST":"工具拒绝列表","Failed to save pricing":"保存定价失败","Failed to reset pricing":"重置定价失败","apikey":"API Key","http":"HTTP"},"sidebar":{"home":"首页","dashboard":"仪表板","providers":"提供商","combos":"组合","autoCombo":"自动组合","usage":"用量","analytics":"分析","costs":"成本","health":"健康","limits":"限制与配额","cliTools":"CLI 工具","media":"媒体","settings":"设置","translator":"翻译器","playground":"演练场","searchTools":"搜索工具","agents":"智能体","docs":"文档","issues":"问题反馈","endpoints":"端点","apiManager":"API 管理","logs":"日志","auditLog":"审计日志","shutdown":"停止服务","restart":"重启服务","shutdownConfirm":"确定要停止 OmniRoute 吗?","restartConfirm":"确定要重启 OmniRoute 吗?","version":"v{version}","debug":"调试","system":"系统","help":"帮助","serverDisconnected":"服务器已断开连接","serverDisconnectedMsg":"代理服务器已停止,或正在重启。","expandSidebar":"展开侧边栏","collapseSidebar":"收起侧边栏","themes":"主题","presetColors":"热门配色","createTheme":"创建主题","chooseColor":"选择一种颜色","themeCoral":"珊瑚","themeBlue":"蓝色","themeRed":"红色","themeGreen":"绿色","themeViolet":"紫罗兰","themeOrange":"橙色","themeCyan":"青色","cliToolsShort":"工具"},"themesPage":{"title":"主题","description":"选择预设主题,或仅用一种颜色创建自定义主题","presetColors":"热门配色","customTheme":"自定义主题","customThemeDesc":"点击创建主题,然后选择一种颜色","createTheme":"创建主题","activePreset":"当前主题"},"header":{"logout":"退出登录","language":"语言","providers":"提供商","providerDescription":"管理 AI 提供商连接","combos":"组合","comboDescription":"支持故障回退的模型组合","usage":"用量与分析","usageDescription":"监控 API 用量、Token 消耗和请求日志","analytics":"分析","analyticsDescription":"查看图表、趋势和评测洞察","cliTools":"CLI 工具","cliToolsDescription":"配置 CLI 工具","home":"首页","homeDescription":"欢迎使用 OmniRoute","endpoint":"端点","endpointDescription":"管理代理端点、MCP、A2A 和 API 端点","mcp":"MCP","mcpDescription":"Model Context Protocol 服务管理与工具","a2a":"A2A","a2aDescription":"Agent-to-Agent 协议任务与可观测性","settings":"设置","settingsDescription":"管理你的偏好设置","openaiCompatible":"OpenAI 兼容","anthropicCompatible":"Anthropic 兼容","media":"媒体","mediaDescription":"生成图像、视频和音乐","themes":"主题","themesDescription":"为整个仪表板选择颜色主题"},"home":{"quickStart":"快速入门","quickStartDesc":"4 个步骤快速上手:连接提供商、路由模型并监控全局运行情况。","fullDocs":"完整文档","step1Title":"1. 创建 API 密钥","step1Desc":"前往 <endpoint>Endpoint</endpoint> -> Registered Keys。为每个环境生成一个独立密钥。","step2Title":"2. 连接提供商","step2Desc":"在 <providers>Providers</providers> 中添加账户。支持 OAuth、API Key 和免费套餐。","step3Title":"3. 配置客户端","step3Desc":"在 IDE 或 API 客户端中将基本 URL 设置为 {url}。","step4Title":"4. 监控与优化","step4Desc":"在 <logs>请求日志</logs> 和 <analytics>分析</analytics> 中跟踪 Token、成本与错误。","providersOverview":"提供商概览","configuredOf":"{total} 个可用提供商中已配置 {configured} 个","noModelsAvailable":"该提供商当前没有可用模型。","configureFirst":"首先在 {providers} 中配置连接","configureProvider":"配置提供商","modelAvailable":"{count} 模型可用","modelsAvailable":"{count} 个模型可用","connectionsActive":"{count} 连接处于活动状态","connectionsActivePlural":"{count} 连接处于活动状态","copyModelName":"复制模型名称","documentation":"文档","healthMonitor":"健康监测","reportIssue":"报告问题","activeError":"{active} 有效 · {errors} 错误","oauthLabel":"OAuth","apiKeyLabel":"API密钥","requestsShort":"{count} 次请求","providerModelsTitle":"{provider} - 模型","copiedModel":"已复制:{model}","aliasLabel":"别名","updateNow":"立即更新","updating":"更新中...","updateAvailableDesc":"有新版本可用。点击更新。","updateStarted":"更新已开始..."},"analytics":{"title":"分析","overviewDescription":"监控所有提供商和模型的 API 使用模式、令牌消耗、成本和活动趋势。","evalsDescription":"运行评估套件来测试和验证您的 LLM 端点。比较模型质量、检测回归和基准延迟。","overview":"概述","evals":"评测"},"apiManager":{"title":"API 密钥","createKey":"创建 API 密钥","key":"密钥","revokeKey":"撤销密钥","revokeConfirm":"确定要撤销这个 API 密钥吗?","noKeys":"还没有 API 密钥","noKeysDesc":"创建你的第一个 API 密钥,用于验证发往端点的请求","keyLabel":"密钥标签","permissions":"权限","expiresAt":"过期时间","never":"永不过期","revoke":"撤销","showKey":"显示密钥","hideKey":"隐藏密钥","copyKey":"复制 API 密钥","allModels":"全部模型","selectedModels":"已选模型","readOnly":"只读","fullAccess":"完全访问","keyManagement":"API 密钥管理","keyManagementDesc":"创建和管理用于访问端点的 API 密钥","totalKeys":"密钥总数","restricted":"受限","totalRequests":"请求总数","modelsAvailable":"可用模型","registeredKeys":"已注册密钥","keysRegistered":"已注册 {count} 个密钥","keyRegistered":"已注册 {count} 个密钥","keysSecurityNote":"每个密钥的用量跟踪彼此隔离,并且可以单独撤销。出于安全考虑,密钥创建后会被遮罩显示。","createFirstKey":"创建第一个密钥","name":"名称","usage":"用量","created":"创建时间","actions":"操作","reqs":"请求","neverUsed":"从未使用","deleteConfirm":"删除这个 API 密钥?","usageTips":"使用提示","tipAuth":"在 Authorization 请求头中以 Bearer YOUR_KEY 的形式使用 API 密钥","tipSecure":"密钥只会在创建时显示一次,请妥善保存","tipSeparate":"建议为不同客户端或环境创建独立密钥","tipRestrict":"将密钥限制到特定模型,可提升安全性并更好控制成本","keyName":"密钥名称","keyNamePlaceholder":"例如:生产环境密钥、开发环境密钥","keyNameDesc":"使用清晰的名称标识该密钥的用途","keyCreated":"API 密钥已创建","keyCreatedSuccess":"密钥创建成功!","keyCreatedNote":"请立即复制并保存此密钥,它不会再次显示。","done":"完成","savePermissions":"保存权限","autoResolve":"自动解析","autoResolveDesc":"为这个 API 密钥自动将有歧义的模型名解析到原生提供商。","keyActive":"密钥启用状态","keyActiveDesc":"启用或禁用此 API 密钥。被禁用的密钥会立即返回 403。","accessSchedule":"访问时段","accessScheduleDesc":"将访问限制在一周中的特定日期和时段。","scheduleFrom":"开始时间","scheduleUntil":"结束时间","scheduleDays":"日期","scheduleTimezone":"时区","scheduleTimezoneHint":"使用 IANA 时区名称,例如 America/New_York、Europe/Berlin","scheduleActive":"时段限制","disabled":"已禁用","daySun":"周日","dayMon":"周一","dayTue":"周二","dayWed":"周三","dayThu":"周四","dayFri":"周五","daySat":"周六","allowAll":"允许全部","restrict":"限制访问","allowAllInfo":"该密钥可访问所有可用模型。","restrictInfo":"该密钥可访问 {total} 个模型中的 {selected} 个。","selected":"已选择 {count} 个","all":"全部","clear":"清空","searchModels":"按名称或提供商搜索模型...","noModelsFound":"未找到模型","keyNameRequired":"密钥名称不能为空","keyNameTooLong":"密钥名称长度不能超过 {max} 个字符","keyNameInvalid":"密钥名称只能包含字母、数字、空格、连字符和下划线","invalidKeyName":"密钥名称无效","failedCreateKey":"创建密钥失败","failedCreateKeyRetry":"创建密钥失败,请重试。","invalidKeyId":"密钥 ID 无效","failedDeleteKey":"删除密钥失败","failedDeleteKeyRetry":"删除密钥失败,请重试。","invalidModelsSelection":"模型选择无效","cannotSelectMoreThanModels":"最多只能选择 {max} 个模型","failedUpdatePermissions":"更新权限失败","failedUpdatePermissionsRetry":"更新权限失败,请重试。","unknownProvider":"未知","copyMaskedKey":"复制遮罩后的密钥","modelsCount":"{count, plural, one {# 个模型} other {# 个模型}}","lastUsedOn":"最近使用:{date}","editPermissions":"编辑权限","deleteKey":"删除密钥","model":"{count} 个模型","models":"{count} 个模型","permissionsTitle":"权限:{name}","allowAllDesc":"该密钥可访问所有可用模型。","restrictDesc":"该密钥可访问 {totalModels} 个模型中的 {selectedCount} 个。","selectedCount":"已选择 {count} 个","keyOnlyAvailableAtCreation":"完整密钥仅会在创建时显示一次,请在首次创建时立即复制保存"},"auditLog":{"title":"审核日志","searchPlaceholder":"搜索操作...","action":"操作","actor":"操作人","target":"目标","ipAddress":"IP地址","timestamp":"时间戳","noEntries":"未找到审核条目","filterByAction":"按操作过滤...","filterByActor":"按操作人筛选...","filterEntriesAria":"过滤审核日志条目","filterByActionTypeAria":"按操作类型过滤","filterByActorAria":"按操作人筛选","refreshAuditLogAria":"刷新审核日志","tableAria":"审核日志条目","failedFetchAuditLog":"无法获取审核日志","notAvailable":"—","description":"行政行为和安全事件","showing":"显示 {count} 条目(偏移量 {offset})","previous":"上一页"},"media":{"title":"媒体","subtitle":"生成图像、视频和音乐","model":"模型","prompt":"提示词","generate":"生成","generating":"生成中...","loadingModels":"正在加载可用模型...","noModels":"暂无可用模型。请先配置支持媒体能力的提供商。","error":"生成失败","result":"结果","imageDescription":"使用 OpenAI、xAI、Together、Hyperbolic、SD WebUI、ComfyUI 等根据文本提示生成图像。","videoDescription":"通过 ComfyUI 或 SD WebUI 使用 AnimateDiff、Stable Video Diffusion 创建视频。","musicDescription":"通过 ComfyUI 使用 Stable Audio Open 或 MusicGen 生成音乐。"},"search":{"searchQuery":"搜索词","searchResults":"搜索结果","cachedResult":"已缓存","searchCost":"成本","searchTools":"搜索工具","searchToolsDesc":"支持提供商对比的高级搜索测试","compareProviders":"对比提供商","rerankResults":"结果重排","searchHistory":"搜索历史","urlOverlap":"URL 重叠度","noSearchProviders":"尚未配置搜索提供商。请前往设置添加。","noRerankModels":"没有可用的重排模型","webSearch":"网页搜索","provider":"提供商","searchType":"搜索类型","maxResults":"最大结果数","filters":"筛选条件","country":"国家","language":"语言","timeRange":"时间范围","includeDomains":"包含域名","excludeDomains":"排除域名","safeSearch":"安全搜索","formatted":"格式化视图","rawJson":"JSON","cacheMiss":"未命中缓存","cacheHit":"命中缓存","latency":"延迟","cost":"成本","results":"结果","rerank":"重排","rerankModel":"重排模型","positionDelta":"排名变化","emptyState":"发送搜索请求后即可查看结果","safeSearchOff":"关闭","safeSearchModerate":"中等","safeSearchStrict":"严格","queryPlaceholder":"输入搜索词...","providerAuto":"自动(最低成本)","searchTypeWeb":"网页","searchTypeNews":"新闻","optionAny":"任意","timeRangeDay":"过去一天","timeRangeWeek":"过去一周","timeRangeMonth":"过去一个月","timeRangeYear":"过去一年","domainPlaceholder":"example.com","requestTimedOut":"请求超时({seconds}s)","networkError":"网络错误"},"cliTools":{"title":"CLI 工具","noActiveProviders":"当前没有活跃的提供商","noActiveProvidersDesc":"请先添加并连接提供商以配置 CLI 工具。","mapModels":"映射模型","testConnection":"测试连接","connectionStatus":"连接状态","configureEndpoint":"配置端点","instructions":"使用说明","modelMapping":"模型映射","baseUrl":"Base URL","apiKey":"API密钥","configured":"已配置","notConfigured":"未配置","notInstalled":"未安装","custom":"自定义","unknown":"未知","lastSavedAt":"最后保存:{date}","never":"从来没有","justNow":"刚才","minutesAgoShort":"{count} 分钟前","hoursAgoShort":"{count} 小时前","daysAgoShort":"{count} 天前","monthsAgoShort":"{count} 个月前","yearsAgoShort":"{count}年前","runtimeCheckFailed":"运行时检查失败","yourApiKeyPlaceholder":"你的 API 密钥","modelPlaceholder":"provider/model-id","configurationSaved":"配置保存成功。","failedToSave":"保存配置失败。","noApiKeysCreateOne":"无 API 密钥 - 在“密钥”页面创建一个","defaultOmnirouteKey":"sk_omniroute(默认)","selectModel":"选择模型","selectModelForAlias":"选择 {alias} 的模型","selectModelForTool":"选择 {tool} 的模型","select":"选择","clear":"清除","comingSoon":"即将推出","checkingRuntime":"正在检查运行时状态...","guideOnlyIntegration":"仅指南集成(无需本地运行时)","cliRuntimeDetected":"CLI 运行时已检测到并准备就绪","cliFoundNotRunnable":"CLI 已找到但无法运行{reason}","cliRuntimeNotDetected":"未检测到 CLI 运行时","binary":"二进制","configPath":"配置路径","configPathShort":"配置","failedCheckRuntimeStatus":"无法检查运行时状态。","copy":"复制","copied":"已复制","copyConfig":"复制配置","saveConfig":"保存配置","selectionSaved":"选择已保存","guide":"指南","detected":"检测到","notReady":"还没准备好","active":"活跃","inactive":"不活跃","startMitm":"启动中间人","stopMitm":"停止中间人","mitmStarted":"MITM 启动成功!","mitmStopped":"MITM 已成功停止!","failedStart":"启动 MITM 失败","failedStop":"停止 MITM 失败","saveMappings":"保存映射","mappingsSaved":"映射已保存!","failedSaveMappings":"保存映射失败","howItWorks":"工作原理:","antigravityHowWorksDesc":"Antigravity 会向 Google 端点发起请求,MITM 会拦截这些请求并重定向到 OmniRoute。","antigravityStep1":"1. 启动 MITM,让请求通过 OmniRoute 路由。","antigravityStep2Prefix":"2. 添加","antigravityStep2Suffix":"添加到您的主机文件中作为 127.0.0.1。","antigravityStep3":"3. 打开 Antigravity,请求就会被代理。","sudoPasswordRequiredTitle":"需要 sudo 密码","sudoPasswordHint":"修改主机文件和系统代理设置需要管理员密码。","enterSudoPassword":"输入 sudo 密码","sudoPasswordRequiredError":"必须提供 sudo 密码。","cancel":"取消","confirm":"确认","settingsApplied":"设置应用成功!","failedApplySettings":"无法应用设置","settingsReset":"设置重置成功!","failedResetSettings":"重置设置失败","backupRestored":"备份已恢复!","failedRestore":"恢复失败","checkingCli":"正在检查 {tool} CLI...","cliNotRunnable":"{tool} CLI 已安装但无法运行","cliNotInstalled":"{tool} CLI 未安装","cliNotDetected":"未检测到 {tool} CLI","cliDetectedReady":"{tool} CLI 已检测到并准备就绪","cliFoundFailedHealthcheck":"找到 {tool} CLI,但运行时运行状况检查失败{reason}。","installCliPrompt":"请安装 {tool} CLI 以使用此功能。","installCodexPrompt":"请先安装 Codex CLI,才能使用自动应用功能。","hide":"隐藏","howToInstall":"如何安装","installationGuide":"安装指南","platforms":"macOS / Linux / Windows:","afterInstallationRun":"安装后,运行","toVerify":"来验证。","current":"当前","baseUrlPlaceholder":"https://.../v1","resetToDefault":"重置为默认值","providerModelPlaceholder":"提供商/模型 ID","apply":"应用","reset":"重置","manualConfig":"手动配置","backups":"备份","configBackups":"配置备份","noBackupsYet":"还没有备份。每次应用或重置之前都会自动创建备份。","restore":"恢复","backupRestoredReloading":"备份已恢复!正在重新加载状态...","failedRestoreBackup":"恢复备份失败","applied":"已应用!","failed":"失败","resetDone":"重置!","omnirouteConfiguredOpenAiCompatible":"OmniRoute 已配置为 OpenAI 兼容提供商","provider":"提供商","model":"模型","providers":"提供商","auth":"授权","noApiKeysAvailable":"没有可用的 API 密钥","usingDefaultOmniroute":"使用默认值:sk_omniroute","updateConfig":"更新配置","applyConfig":"应用配置","noBackupsAvailable":"没有可用的备份。","profileSaved":"配置档案“{name}”已保存!","failedSaveProfile":"保存配置档案失败","profileActivated":"配置档案已激活!","failedActivateProfile":"激活配置档案失败","profiles":"配置档案","savedProfiles":"保存的配置文件","noProfilesYet":"尚未保存配置文件。将当前配置保存为下面的配置文件。","activate":"激活","deleteProfile":"删除配置档案","profileNamePlaceholder":"配置档案名称(例如:个人账户)","saveCurrent":"保存当前","codexAuthNotePrefix":"Codex 使用","codexAuthNoteMiddle":"与","codexAuthNoteSuffix":"单击“应用”进行自动配置。","claudeManualConfiguration":"Claude CLI - 手动配置","codexManualConfiguration":"Codex CLI - 手动配置","droidManualConfiguration":"Factory Droid - 手动配置","openClawManualConfiguration":"OpenClaw - 手动配置","clineManualConfiguration":"Cline - 手动配置","kiloManualConfiguration":"Kilo - 手动配置","toolDescriptions":{"antigravity":"带 MITM 的 Google Antigravity IDE","claude":"Claude Code CLI","codex":"OpenAI Codex CLI","droid":"Factory Droid AI 助手","openclaw":"OpenClaw AI 助手","cline":"Cline AI 编码助手 CLI","kilo":"Kilo Code AI 助手 CLI","cursor":"Cursor AI 代码编辑器","continue":"继续AI助手","opencode":"OpenCode AI 编码智能体(终端)","kiro":"Amazon Kiro - AI 驱动 IDE"},"guides":{"cursor":{"notes":{"0":"使用该功能需要 Cursor Pro 账户。","1":"Cursor 会通过自己的服务器转发请求,因此不支持本地端点。请在设置中启用云端点。"},"steps":{"1":{"title":"打开设置","desc":"转到设置 -> 模型"},"2":{"title":"启用 OpenAI API","desc":"开启 “OpenAI API key” 选项"},"3":{"title":"Base URL"},"4":{"title":"API密钥"},"5":{"title":"添加自定义模型","desc":"点击“查看所有模型”->“添加自定义模型”"},"6":{"title":"选择模型"}}},"continue":{"steps":{"1":{"title":"打开配置","desc":"打开继续配置文件"},"2":{"title":"API密钥"},"3":{"title":"选择模型"},"4":{"title":"添加模型配置","desc":"将以下配置添加到您的模型数组中:"}},"notes":{"0":"Continue 使用 JSON 配置文件。"}},"opencode":{"steps":{"1":{"title":"安装 OpenCode","desc":"通过 npm 安装:npm install -g opencode-ai"},"2":{"title":"API 密钥"},"3":{"title":"设置 Base URL","desc":"opencode config set baseUrl {{baseUrl}}"},"4":{"title":"选择模型"}},"notes":{"0":"OpenCode 需要配置 API 密钥。","1":"将基础 URL 设置为您的 OmniRoute 端点。"}},"kiro":{"steps":{"1":{"title":"打开 Kiro 设置","desc":"前往 Settings → AI Provider"},"2":{"title":"Base URL","desc":"粘贴你的 OmniRoute 端点 URL"},"3":{"title":"API 密钥"},"4":{"title":"选择模型"}},"notes":{"0":"Kiro 需要 Amazon 账户。"}}},"mitmHowWorksDesc":"{toolName} 会先向原始提供商端点发起请求,随后由 MITM 拦截并重定向到 OmniRoute。","mitmStep1":"1. 启动 MITM,让请求经由 OmniRoute 路由。","mitmStep2Prefix":"2. 将","mitmStep2Suffix":"添加到你的 hosts 文件,并指向 127.0.0.1。","mitmStep3":"3. 打开 {toolName},后续请求就会自动通过代理转发。","whenToUseLabel":"何时使用","openToolDocs":"打开工具文档","toolUseCases":{"claude":"当您需要强大的规划工作流程和使用 Claude Code 进行长的多文件重构时使用。","codex":"当您的团队在 OpenAI Codex CLI 流程和基于配置文件的身份验证方面实现标准化时使用。","droid":"当您需要专注于快速编码和命令执行循环的轻量级终端代理时使用。","openclaw":"当您需要 Open Claw 风格的编码代理但通过 OmniRoute 策略进行路由时使用。","cline":"当您在编辑器内配置编码代理并希望使用 OmniRoute 模型进行引导设置时使用。","kilo":"当您的工作流程依赖于 Kilo Code 命令和快速迭代编辑时使用。","cursor":"在 Cursor 中编码并且需要通过 OmniRoute 自定义 OpenAI 兼容模型时使用。","continue":"在 IDE 中运行“Continue”并且需要可移植的基于 JSON 的提供程序配置时使用。","opencode":"当您更喜欢通过 OpenCode 进行终端本机代理运行和脚本自动化时使用。","kiro":"在集成 Kiro 并从 OmniRoute 集中控制模型路由时使用。","antigravity":"当必须通过 MITM 拦截 Antigravity/Kiro 流量并将其路由到 OmniRoute 时使用。","copilot":"当您想要 Copilot 聊天风格的 UX 同时强制执行 OmniRoute 键和路由规则时使用。"}},"combos":{"title":"组合","description":"创建支持权重路由与故障回退的模型组合","createCombo":"创建组合","editCombo":"编辑组合","deleteCombo":"删除组合","noModels":"没有模型","noModelsYet":"尚未添加模型","addModel":"添加模型","addModelToCombo":"向组合中添加模型","routingStrategy":"路由策略","maxRetries":"最大重试次数","timeout":"超时时间(毫秒)","healthcheck":"健康检查","priority":"优先级","fallback":"回退","roundRobin":"轮询","random":"随机","leastLatency":"最低延迟","comboName":"组合名称","comboNamePlaceholder":"my-combo","deleteConfirm":"删除这个组合?","noCombosYet":"还没有组合","comboCreated":"组合创建成功","comboUpdated":"组合更新成功","comboDeleted":"组合已删除","failedCreate":"创建组合失败","failedUpdate":"更新组合失败","errorCreating":"创建组合时出错","errorUpdating":"更新组合时出错","errorDeleting":"删除组合时出错","testFailed":"测试请求失败","failedToggle":"切换组合状态失败","testResults":"测试结果 — {name}","resolvedBy":"最终由以下模型处理:","more":"另有 +{count} 个","reqs":"请求","success":"成功","proxyConfigured":"已配置代理","copyComboName":"复制组合名称","enableCombo":"启用组合","disableCombo":"禁用组合","testCombo":"测试组合","duplicate":"复制","proxyConfig":"代理配置","nameRequired":"名称不能为空","nameInvalid":"仅允许字母、数字、-、_、/ 和 .","nameHint":"仅允许字母、数字、-、_、/ 和 .","priorityDesc":"顺序回退:优先尝试模型 1,其次模型 2,以此类推","weightedDesc":"按照权重百分比分配流量,并支持失败回退","roundRobinDesc":"循环分发:每个请求按顺序轮到下一个模型","randomDesc":"均匀随机选择,失败后回退到剩余模型","leastUsedDesc":"优先选择请求数最少的模型,随时间平衡负载","costOptimizedDesc":"根据定价优先路由到最便宜的模型","strictRandom":"严格随机","strictRandomDesc":"洗牌池模式:每个模型使用一次后再重新洗牌","models":"模型","autoBalance":"自动平衡","advancedSettings":"高级设置","retryDelay":"重试延迟(毫秒)","concurrencyPerModel":"每模型并发数","queueTimeout":"排队超时(毫秒)","advancedHint":"留空则使用全局默认值。这些设置会覆盖每个提供商的配置。","moveUp":"上移","moveDown":"下移","removeModel":"移除","saving":"保存中...","weighted":"加权","leastUsed":"最少使用","costOpt":"成本优化","strategyGuideTitle":"如何使用这种策略","strategyGuideWhen":"适用场景","strategyGuideAvoid":"不适用场景","strategyGuideExample":"示例","strategyGuide":{"priority":{"when":"你有一个首选模型,只希望在失败时才切换到备用模型。","avoid":"你需要在多个模型之间分配流量。","example":"主力编码模型 + 发生故障时切换到更便宜的备份模型。"},"weighted":{"when":"你需要在多个模型之间按比例分配流量。","avoid":"你无法长期维护准确的权重。","example":"80% 稳定模型 + 20% 金丝雀模型的发布方案。"},"round-robin":{"when":"你希望流量分布可预测且均匀。","avoid":"模型之间的延迟或成本差异很大。","example":"同一模型挂在多个账号上,用于分摊吞吐。"},"random":{"when":"你只需要简单分流,且不想做太多配置。","avoid":"你需要严格的流量保证。","example":"对等模型之间的快速原型验证。"},"least-used":{"when":"你希望根据实时负载动态均衡。","avoid":"流量太低,无法体现按使用量均衡的价值。","example":"混合负载场景下,某个模型常常更容易过载。"},"cost-optimized":{"when":"降低成本是你的首要目标。","avoid":"定价数据缺失或已经过期。","example":"后台任务或批处理作业,优先考虑更低成本。"}},"advancedHelp":{"maxRetries":"请求失败前最多会尝试多少次重试。","retryDelay":"两次重试之间的初始等待时间。值越大越能降低突发压力。","timeout":"请求被中止前允许的最长持续时间。","healthcheck":"路由决策时跳过不健康的模型或提供商。","concurrencyPerModel":"轮询模式下每个模型允许的最大并发请求数。","queueTimeout":"请求在队列中等待超时前允许停留的最长时间。"},"templatesTitle":"快捷模板","templatesDescription":"先套用一个初始模板,再按需调整模型和配置。","templateApply":"应用模板","templateHighAvailability":"高可用","templateHighAvailabilityDesc":"优先级路由,配合健康检查和安全重试。","templateCostSaver":"节省成本","templateCostSaverDesc":"面向预算优先场景的成本优化路由。","templateBalanced":"均衡负载","templateBalancedDesc":"使用最少使用策略,随时间均衡需求。","usageGuideHide":"隐藏","usageGuideDontShowAgain":"不再显示","usageGuideShow":"显示指南","quickTestTitle":"组合已准备好验证","quickTestDescription":"现在运行一次测试,确认回退与延迟行为是否符合预期。","testNow":"立即测试","pricingCoverage":"定价覆盖率","pricingCoverageHint":"成本优化策略在组合内所有模型都有定价信息时效果最佳。","pricingAvailable":"已有定价","pricingMissing":"无定价","pricingAvailableShort":"已定价","pricingMissingShort":"无定价","warningRoundRobinSingleModel":"轮询策略至少有 2 个模型时才最有价值。","warningCostOptimizedPartialPricing":"在 {total} 个模型中,只有 {priced} 个有定价信息。路由可能只具备部分成本感知能力。","warningCostOptimizedNoPricing":"该组合未找到任何定价数据。成本优化策略的路由结果可能不符合预期。","readinessTitle":"可以保存了吗?","readinessDescription":"在创建或更新组合前,请先检查以下项目。","readinessCheckName":"组合名称有效","readinessCheckModels":"至少选择了一个模型","readinessCheckWeights":"加权总和为 100%","readinessCheckWeightsOptional":"当前策略无需权重规则","readinessCheckPricing":"已有定价数据","readinessCheckPricingOptional":"当前策略无需定价规则","saveBlockedTitle":"以下问题修复前无法保存:","saveBlockName":"请先填写组合名称。","saveBlockModels":"请至少添加一个模型。","saveBlockWeighted":"请将权重总和设置为 100%(当前:{total}%)。","saveBlockPricing":"请至少为一个模型补充定价信息,或改用其他策略。","recommendationsLabel":"推荐配置","applyRecommendations":"应用推荐","recommendationsUpdated":"已为 {strategy} 更新推荐配置。","recommendationsApplied":"推荐配置已应用到当前组合。","strategyRecommendations":{"priority":{"title":"稳妥基线","description":"使用一个主模型,并保持回退链路简短且可靠。","tip1":"把最可靠的模型放在第一位。","tip2":"保留 1 到 2 个质量相近的备用模型。","tip3":"开启安全重试,吸收临时性的提供商故障。"},"weighted":{"title":"可控流量分配","description":"非常适合金丝雀发布和模型渐进迁移。","tip1":"建议从 90/10 这样的保守配比开始。","tip2":"始终保持总权重为 100%,并在调整后自动平衡。","tip3":"在提高金丝雀权重前,先观察成功率和延迟。"},"round-robin":{"title":"可预测的负载分摊","description":"适合模型能力接近、且需要平滑分布流量的场景。","tip1":"至少使用 2 个模型。","tip2":"设置并发限制,避免突发流量打满单个模型。","tip3":"结合队列超时,在饱和时快速失败。"},"random":{"title":"低配置快速分散","description":"适用于不需要严格保证、只想简单分流的场景。","tip1":"尽量选择延迟特征相近的模型。","tip2":"保留重试机制,以吸收随机命中的失败。","tip3":"更适合实验场景,不建议用于严格 SLA。"},"least-used":{"title":"自适应均衡","description":"优先路由到使用更少的模型,随着时间降低热点。","tip1":"持续稳定流量下效果更好。","tip2":"结合健康检查,能获得更稳妥的均衡效果。","tip3":"跟踪各模型用量,验证分布改善情况。"},"cost-optimized":{"title":"预算优先路由","description":"在具备定价元数据时,优先路由到成本更低的模型。","tip1":"确保所有已选模型都具备定价信息。","tip2":"为高难度提示保留一个质量更高的回退模型。","tip3":"适合批处理或后台任务等成本是主要指标的场景。"}},"templateFreeStack":"免费栈($0)","templateFreeStackDesc":"在所有免费提供商之间进行轮询:Kiro(Claude)、iFlow(5 个模型)、Qwen(4 个模型)、Gemini CLI。零成本,编码不中断。"},"costs":{"title":"成本","budget":"预算","totalCost":"总成本","breakdown":"成本明细","noData":"无成本数据","byModel":"按模型","byProvider":"按提供商"},"endpoint":{"title":"API 端点","available":"可用端点","cloudProxy":"云代理","disableConfirm":"确定要禁用云代理吗?","baseUrl":"Base URL","apiKeyLabel":"API 密钥","registeredKeys":"已注册密钥","chatCompletions":"Chat Completions","responses":"Responses","listModels":"列出模型","usingCloudProxy":"当前使用云代理","usingLocalServer":"当前使用本地服务器","machineId":"机器 ID:{id}...","disableCloud":"禁用云端","enableCloud":"启用云端","modelsAcrossEndpoints":"{endpoints} 个端点共提供 {models} 个模型","chatDesc":"支持所有提供商的流式与非流式聊天","embeddings":"Embeddings","embeddingsDesc":"用于搜索和 RAG 流程的文本向量","imageGeneration":"图像生成","imageDesc":"根据文本提示生成图像","rerank":"重排","rerankDesc":"按与查询的相关性重新排序文档","audioTranscription":"音频转录","audioTranscriptionDesc":"将音频文件转录为文本(Whisper)","textToSpeech":"文本转语音","textToSpeechDesc":"将文本转换为自然语音","moderations":"内容审核","moderationsDesc":"内容安全审核与分类","responsesDesc":"适用于 Codex 和高级智能体工作流的 OpenAI Responses API","listModelsDesc":"列出所有已连接提供商下的可用模型","settingsApiDesc":"通过 API 读取和修改 OmniRoute 配置","settingsApi":"设置 API","categoryCore":"核心 API","categoryMedia":"媒体与多模态","categorySearch":"搜索与发现","categoryUtility":"工具与管理","webSearch":"网页搜索","webSearchDesc":"统一接入多个提供商的网页搜索,支持自动故障转移与缓存","searchProvider":"搜索提供商","searchProviderDesc":"该提供商会用于 `POST /v1/search` 的网页搜索。无需配置模型,只要连接 API 密钥即可使用。","enableCloudTitle":"启用云代理","whatYouGet":"启用后可获得","cloudBenefitAccess":"从世界任何地方访问你的 API","cloudBenefitShare":"方便与团队共享端点","cloudBenefitPorts":"无需开放端口或配置防火墙","cloudBenefitEdge":"全球边缘网络加速","cloudSessionNote":"云端会保留你的认证会话 1 天;若未使用,将自动删除。","cloudUnstableNote":"目前云端在部分 Claude Code OAuth 场景下仍不够稳定。","cloudConnected":"云代理已连接!","connectingToCloud":"正在连接云端...","verifyingConnection":"正在验证连接...","connecting":"连接中...","verifying":"验证中...","connected":"已连接!","disableCloudTitle":"禁用云代理","disableWarning":"所有认证会话都会从云端删除。","syncingData":"正在同步最新数据...","disablingCloud":"正在禁用云端...","syncing":"同步中...","disabling":"禁用中...","cloudConnectedVerified":"云代理已连接并验证成功!","connectedVerificationPending":"已连接,等待验证","connectedVerificationPendingWithError":"已连接,等待验证:{error}","cloudDisabledSuccess":"云端已成功禁用","syncedSuccess":"同步成功","failedDisable":"禁用云端失败","failedEnable":"启用云端失败","cloudRequestTimeout":"云端请求超时","cloudRequestFailed":"云端请求失败","cloudWorkerUnreachable":"无法连接到云 Worker。请确认云服务已运行(在 `/cloud` 中执行 `npm run dev`)。","connectionFailed":"连接失败","syncFailed":"同步云端数据失败","providerModelsTitle":"{provider} — 模型","noModelsForProvider":"该提供商当前没有可用模型。","chat":"聊天","embedding":"向量","image":"图像","custom":"自定义","modelsCount":"{count, plural, one {# 个模型} other {# 个模型}}","sectionTitle":"集成入口","sectionDescription":"OpenAI 兼容 API 与操作协议端点","tabApis":"OpenAI 兼容 API","tabProtocols":"协议","tabsAria":"端点分区","protocolsTitle":"协议","protocolsDescription":"MCP 和 A2A 是一等端点,具备专用的可观测与控制能力。","mcpCardTitle":"MCP 服务","mcpCardDescription":"基于 stdio 的 Model Context Protocol","a2aCardTitle":"A2A 服务","a2aCardDescription":"Agent2Agent JSON-RPC 端点","protocolToolsLabel":"工具数","protocolTasksLabel":"任务数","protocolActiveStreamsLabel":"活跃流数","protocolLastActivity":"最近活动","quickStart":"快速开始","openMcpDashboard":"打开 MCP 管理","openA2aDashboard":"打开 A2A 管理","mcpQuickStartTitle":"MCP 快速开始","mcpQuickStartStep1":"通过 `omniroute --mcp` 启动 MCP 服务。","mcpQuickStartStep2":"将你的 MCP 客户端配置为通过 stdio 传输连接。","mcpQuickStartStep3":"调用 `omniroute_get_health`、`omniroute_list_combos` 等工具验证连通性。","a2aQuickStartTitle":"A2A 快速开始","a2aQuickStartStep1":"通过 `/.well-known/agent.json` 发现 Agent Card。","a2aQuickStartStep2":"向 `POST /a2a` 发送 `message/send` 或 `message/stream` JSON-RPC 请求。","a2aQuickStartStep3":"使用 `tasks/get` 与 `tasks/cancel` 跟踪和控制任务。","completionsLegacy":"Completions(旧版)","completionsLegacyDesc":"旧版 OpenAI 文本补全接口,同时接受 `prompt` 字符串和 `messages` 数组格式"},"endpoints":{"tabProxy":"端点代理","tabApiEndpoints":"API 端点","apiEndpointsTitle":"API 端点","apiEndpointsDescription":"可被其他应用程序和服务使用的后端API端点。","comingSoon":"即将推出","plannedFeatures":"计划的功能","featureRestApi":"REST API目录与交互式文档","featureWebhooks":"Webhook配置和事件订阅","featureSwagger":"OpenAPI / Swagger规范自动生成","featureAuth":"每个端点的API密钥和OAuth范围管理"},"mcpDashboard":{"loading":"正在加载 MCP 仪表板...","activate":"启用","deactivate":"停用","confirmSwitchCombo":"确定要将组合“{combo}”设为{action}吗?","switchComboFailed":"切换组合状态失败。","switchComboSuccess":"组合“{combo}”已更新。","confirmApplyProfile":"确定要应用弹性配置“{profile}”吗?","applyProfileFailed":"应用弹性配置失败。","applyProfileSuccess":"已应用配置“{profile}”。","confirmResetBreakers":"确定要重置全部断路器吗?","resetBreakersFailed":"重置断路器失败。","resetBreakersSuccess":"断路器已重置。","processStatus":"进程状态","online":"在线","offline":"离线","pid":"PID","sessionUptime":"会话运行时长","lastHeartbeat":"最近心跳","activity24h":"近 24 小时活动","totalCalls":"调用总数","successRate":"成功率","avgLatency":"平均延迟","topTools":"热门工具","noToolCalls24h":"最近 24 小时没有工具调用。","runtimeDetails":"运行时详情","transport":"传输方式","scopesEnforced":"已启用作用域控制","yes":"是","no":"否","lastCall":"最近调用","heartbeatPath":"心跳文件路径","operationalControls":"运行控制","switchCombo":"切换组合","inactive":"未启用","active":"已启用","activateCombo":"启用组合","deactivateCombo":"停用组合","applyResilienceProfile":"应用弹性配置","profileAggressive":"激进","profileBalanced":"平衡","profileConservative":"保守","applyProfile":"应用配置","resetCircuitBreakers":"重置断路器","resetCircuitBreakersHelp":"清除当前断路器状态及提供商失败计数。","resetAllBreakers":"重置全部断路器","toolsAndScopes":"工具与作用域","tableTool":"工具","tableScopes":"作用域","tablePhase":"阶段","tableAudit":"审计","auditLog":"审计日志","auditSummary":"调用数:{total}|第 {page} / {totalPages} 页","allTools":"全部工具","allResults":"全部结果","success":"成功","failure":"失败","apiKeyIdPlaceholder":"apiKeyId","loadingAuditEntries":"正在加载审计记录...","noAuditEntriesForFilters":"当前筛选条件下没有审计记录。","tableTimestamp":"时间戳","tableDuration":"耗时","tableResult":"结果","tableApiKey":"API 密钥","failed":"失败","previous":"上一页","next":"下一页"},"a2aDashboard":{"loading":"正在加载 A2A 仪表板...","confirmCancelTask":"确定要取消任务 {taskId} 吗?","cancelTaskFailed":"取消任务失败。","cancelTaskSuccess":"任务 {taskId} 已取消。","smokeSendFailed":"`message/send` 冒烟测试失败。","smokeSendSuccessWithTask":"`message/send` 调用成功(任务 {taskId})。","smokeSendSuccess":"`message/send` 调用成功。","smokeStreamFailed":"`message/stream` 冒烟测试失败。","smokeStreamSuccessWithTask":"`message/stream` 调用成功(任务 {taskId}{stateSuffix})。","smokeStreamNoTaskId":"`message/stream` 完成,但未返回任务 ID。","health":"健康状态","ok":"正常","totalTasks":"任务总数","activeStreams":"活跃流数","lastTask":"最近任务","taskStateOverview":"任务状态概览","state":{"submitted":"已提交","working":"处理中","completed":"已完成","failed":"失败","cancelled":"已取消"},"agentCard":"智能体卡片","version":"版本","url":"URL","capabilities":"能力","agentCardNotAvailable":"Agent Card 不可用。","quickValidation":"快速验证","quickValidationDescription":"通过实时 `/a2a` 端点执行冒烟调用。","runMessageSend":"运行 message/send","runMessageStream":"运行 message/stream","taskManagement":"任务管理","taskSummary":"任务总数:{total}|第 {page} / {totalPages} 页","allStates":"全部状态","allSkills":"全部技能","loadingTasks":"正在加载任务...","noTasksForFilters":"当前筛选条件下没有任务。","tableTask":"任务","tableSkill":"技能","tableState":"状态","tableUpdated":"更新时间","tableActions":"操作","view":"查看","cancel":"取消","previous":"上一页","next":"下一页","taskDetail":"任务详情","close":"关闭","metadata":"元数据","events":"事件","artifacts":"产物"},"health":{"title":"系统健康状况","description":"实时监控您的 OmniRoute 实例","healthy":"健康","degraded":"降级","down":"下线","uptime":"正常运行时间","memory":"内存","memoryRss":"内存(RSS)","heap":"堆","cpu":"CPU","database":"数据库","version":"版本","lastCheck":"最后检查","providerHealth":"提供商健康","systemMetrics":"系统指标","tokenHealth":"令牌健康","refreshAll":"全部刷新","checkNow":"立即查看","loadingHealth":"正在加载健康数据...","failedToLoad":"无法加载健康数据:{error}","retry":"重试","allOperational":"所有系统均可运行","issuesDetected":"检测到系统问题","updatedAt":"更新了 {time}","latency":"延迟","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","millisecondsShort":"{value}ms","notAvailable":"—","totalRequests":"请求总数","noDataYet":"还没有数据","promptCache":"提示缓存","entries":"条目","hitRate":"命中率","hitsMisses":"命中/未命中","signatureCache":"签名缓存","signatureDefaults":"默认值","signatureTool":"工具","signatureFamily":"家庭","signatureSession":"会话","recovering":"正在恢复中","noCBData":"当前没有可用的断路器数据,请先发起一些请求。","providerHealthStatusAria":"提供商健康状况","issuesLabel":"检测到的问题","operational":"运行中","providers":"提供商","healthyCount":"{count} 健康","nodeVersion":"节点 {version}","failures":"{count} 失败","failuresPlural":"{count} 失败","lastFailure":"最近一次","rateLimitStatus":"速率限制状态","activeLimiters":"{count} 主动限制器","activeLimitersPlural":"{count} 主动限制器","queued":"排队中","queuedCount":"{count} 已排队","running":"运行中","runningCount":"{count} 正在运行","ok":"正常","activeLockouts":"主动锁定","resetConfirm":"将所有断路器重置为正常状态?这将清除所有故障计数并将所有提供商恢复到运行状态。","resetAllTitle":"将所有断路器重置为正常状态","resetting":"正在重置...","resetAll":"全部重置","until":"直到 {time}","activeProviders":"{count} 个活跃","monitoredProviders":"{count} 个监控中","configuredProvidersLabel":"在仪表板中配置","configuredProvidersHint":"指已在 /dashboard/providers 中配置凭证的提供商,无论当前运行时状态如何。","activeProvidersHint":"指当前已启用并可参与请求路由的已配置提供商。","monitoredProvidersHint":"指当前由断路器健康监控器持续跟踪的提供商。"},"limits":{"title":"限制和配额","rateLimit":"速率限制","remaining":"剩余","requestsPerMinute":"请求/分钟","tokensPerMinute":"令牌/分钟","dailyLimit":"每日限额"},"logs":{"title":"日志","requestLogs":"请求日志","proxyLogs":"代理日志","auditLog":"审核日志","console":"控制台","auditLogDesc":"行政行为和安全事件","loading":"正在加载...","refresh":"刷新","filterByAction":"按操作过滤...","filterByActor":"按操作人筛选...","filterEntriesAria":"过滤审核日志条目","filterByActionTypeAria":"按操作类型过滤","filterByActorAria":"按操作人筛选","refreshAuditLogAria":"刷新审核日志","tableAria":"审核日志条目","failedFetchAuditLog":"无法获取审核日志","showing":"显示 {count} 条目(偏移量 {offset})","search":"搜索","timestamp":"时间戳","action":"操作","actor":"操作人","target":"目标","details":"详情","ipAddress":"IP地址","notAvailable":"—","noEntries":"未找到审核日志条目","previous":"上一页","next":"下一页"},"onboarding":{"welcome":"欢迎","security":"安全","test":"测试","ready":"准备好了!","setPassword":"设置密码","addProvider":"添加您的第一个提供商","getStarted":"开始使用","skip":"跳过","skipWizard":"完全跳过向导","skipPassword":"跳过密码设置","skipAndContinue":"跳过并继续","passwordLabel":"密码","confirmPassword":"确认密码","enterPassword":"输入密码","confirmPasswordPlaceholder":"确认密码","passwordsMismatch":"密码不匹配","setupComplete":"设置完成!","goToDashboard":"转到仪表板→","welcomeDesc":"OmniRoute 是您的本地 AI API 代理。它通过负载平衡、故障转移和使用情况跟踪将请求路由到多个 AI 提供商。","multiProvider":"多提供商","usageTracking":"使用情况追踪","apiKeyMgmt":"API密钥管理","securityDesc":"设置密码以保护您的仪表板,或暂时跳过。","providerDesc":"连接你的第一个 AI 提供商。你之后还可以继续添加。","apiKeyRequired":"API 密钥(必填)","customUrlOptional":"自定义 URL(可选)","testDesc":"让我们验证您的提供商连接是否有效。","runTest":"运行连接测试","testingConnection":"测试连接...","connectionSuccessful":"连接成功!您的提供商已准备就绪。","noProviderFound":"未找到提供商。您可以稍后从仪表板添加一个。","testFailed":"测试失败,但您可以稍后配置。","couldNotTest":"现在无法测试。您可以从仪表板进行测试。","doneDesc":"你都准备好了!您的 OmniRoute 实例已配置并准备好代理 AI 请求。","yourEndpoint":"您的端点:","continue":"继续","retry":"重试","failedSetPassword":"设置密码失败。再试一次。","failedAddProvider":"添加提供商失败。再试一次。","connectionError":"连接错误。请再试一次。","provider":"提供商"},"providers":{"title":"提供商","addProvider":"添加提供商","editProvider":"编辑提供商","deleteProvider":"删除提供商","noProviders":"没有配置提供商","modelAvailability":"模型可用性","accounts":"账户","newAccount":"新账户","deleteConfirm":"您确定要删除该提供商吗?","testing":"测试...","testConnection":"测试连接","testSuccess":"连接成功","testFailed":"连接失败","available":"可用","cooldown":"冷却时间","unavailable":"不可用","unknown":"未知","oauthLabel":"OAuth","compatibleLabel":"兼容","chat":"聊天","responses":"回应","messages":"留言","oauthProviders":"OAuth 提供商","freeProviders":"免费提供商","apiKeyProviders":"API 密钥提供商","compatibleProviders":"API 密钥兼容提供商","testAll":"测试全部","testAllOAuth":"测试所有 OAuth 连接","testAllFree":"测试所有免费连接","testAllApiKey":"测试所有 API 密钥连接","testAllCompatible":"测试所有兼容连接","connected":"{count} 已连接","errorCount":"{count} 错误 ({code})","errorCountNoCode":"{count} 错误","noConnections":"无连接","disabled":"已禁用","enableProvider":"启用提供商","disableProvider":"禁用提供商","testResults":"测试结果","noCompatibleYet":"尚未添加兼容的提供商","compatibleHint":"使用上面的按钮添加 OpenAI 或 Anthropic 兼容端点","addOpenAICompatible":"添加 OpenAI 兼容","addAnthropicCompatible":"添加 Anthropic 兼容端点","addNewProvider":"添加新提供商","backToProviders":"返回提供商","configureNewProvider":"配置新的 AI 提供商以与您的应用程序一起使用。","providerLabel":"提供商","selectProvider":"选择提供商","selectedProvider":"选定的提供商","authMethod":"认证方式","apiKeyLabel":"API密钥","apiKeyRequired":"需要 API 密钥","selectProviderRequired":"请选择提供商","enterApiKey":"输入您的 API 密钥","apiKeySecure":"您的 API 密钥将被加密并安全存储。","oauth2Connect":"使用 OAuth2 连接","oauth2Label":"OAuth2","oauth2Desc":"使用 OAuth2 身份验证连接您的帐户。","displayName":"显示名称","displayNamePlaceholder":"例如,生产 API、开发环境","displayNameHint":"可选。用于标识此配置的友好名称。","active":"活跃","activeDescription":"启用此提供商以在您的应用程序中使用","cancel":"取消","createProvider":"创建提供商","failedCreate":"创建提供商失败","errorOccurred":"发生错误。请再试一次。","modelStatus":"模型状态","allModelsOperational":"所有模型运行正常","modelsWithIssues":"{count} 有问题的模型","allModelsNormal":"所有模型当前响应正常。","cooldownCleared":"{model} 的冷却时间已清除","failedClearCooldown":"无法清除冷却时间","loadingAvailability":"正在加载模型可用性...","clearCooldown":"清除","clearing":"清算...","until":"直到 {time}","providerTestFailed":"提供商测试失败","providerTestTimeout":"提供商测试超时,可能是同时测试的连接过多","modeTest":"{mode} 测试","passedCount":"{count} 通过","failedCount":"{count} 失败","testedCount":"{count} 已测试","millisecondsAbbr":"{value}ms","okShort":"好的","errorShort":"错误","noActiveConnectionsInGroup":"未找到该组的活动连接。","allTestsPassed":"所有 {total} 测试均已通过","testSummary":"{passed}/{total} 通过,{failed} 失败","nameLabel":"名称","prefixLabel":"前缀","baseUrlLabel":"Base URL","apiTypeLabel":"API类型","prefixHint":"必填。模型名称使用的唯一前缀。","nameHint":"必填。该节点的友好标签。","baseUrlHint":"必填。 提供商 API 基本 URL。","anthropicPrefixPlaceholder":"ac-prod","openaiPrefixPlaceholder":"oc-prod","anthropicBaseUrlPlaceholder":"https://api.anthropic.com/v1","openaiBaseUrlPlaceholder":"https://api.openai.com/v1","validateConnection":"验证连接","validating":"正在验证...","connectionValid":"连接有效!","connectionFailed":"连接失败。检查 URL 和密钥。","testKeyLabel":"测试 API 密钥","testKeyPlaceholder":"sk-...(仅用于验证)","providerNotFound":"未找到提供商","deleteConnectionConfirm":"删除这个连接吗?","failedSetAlias":"设置别名失败","failedSaveConnection":"保存连接失败","failedSaveConnectionRetry":"无法保存连接。请再试一次。","failedRetestConnection":"重新测试连接失败","deleteCompatibleNodeConfirm":"删除此 {type} 兼容节点?","anthropicCompatibleDetails":"Anthropic 兼容详情","openaiCompatibleDetails":"OpenAI 兼容详情","messagesApi":"Messages API","responsesApi":"Responses API","chatCompletions":"聊天完成","importingModels":"正在导入...","importFromModels":"从 /models 导入","autoSync":"自动同步","autoSyncTooltip":"每 24 小时自动刷新模型列表(可通过 MODEL_SYNC_INTERVAL_HOURS 配置)","autoSyncEnabled":"自动同步已启用 — 模型将定期刷新","autoSyncDisabled":"自动同步已禁用","autoSyncToggleFailed":"切换自动同步失败","clearAllModels":"清除所有模型","clearAllModelsConfirm":"您确定要删除此提供商的所有模型吗?","clearAllModelsSuccess":"所有模型已清除","clearAllModelsFailed":"清除模型失败","addConnectionToImport":"添加连接以启用导入。","noModelsConfigured":"尚未配置模型","connectionCount":"{count} 连接","fetchingModels":"正在获取可用模型...","failedFetchModels":"获取模型失败","noModelsFound":"未找到模型","importFailed":"导入失败","noNewModelsAdded":"没有添加新模型。","adding":"添加...","importingModelsTitle":"导入模型","copyModel":"复制模型","removeModel":"删除模型","rateLimitProtected":"受保护","rateLimitUnprotected":"无保护","enableRateLimitProtection":"单击启用速率限制保护","disableRateLimitProtection":"单击以禁用速率限制保护","productionKey":"生产密钥","enterNewApiKey":"输入新的 API 密钥","optional":"可选","anthropicCompatibleName":"Anthropic 兼容","openaiCompatibleName":"OpenAI 兼容","failedImportModels":"导入模型失败","noModelsReturnedFromEndpoint":"/models 端点没有返回任何模型。","importingModelsProgress":"正在导入 {current} 个模型(共 {total} 个)...","foundModelsStartingImport":"找到 {count} 模型。开始导入...","importingModelById":"正在导入 {modelId}...","importSuccessCount":"成功导入 {count, plural, one {# 个模型} other {# 个模型}}!","noNewModelsAddedExisting":"没有添加新模型(全部已存在)。","importDoneCount":"✓ 完成!{count, plural, one {已导入 # 个模型。} other {已导入 # 个模型。}}","unexpectedErrorOccurred":"发生意外错误","connectionCountLabel":"{count, plural, one {# 个连接} other {# 个连接}}","messagesPath":"messages","responsesPath":"responses","chatCompletionsPath":"chat/completions","add":"添加","edit":"编辑","delete":"删除","anthropic":"Anthropic","openai":"OpenAI","singleConnectionPerCompatible":"每个兼容节点仅允许一个连接。如果需要更多连接,请添加另一个节点。","connections":"连接","providerProxyTitleConfigured":"提供商代理:{host}","configured":"已配置","providerProxyConfigureHint":"为该提供商的所有连接配置代理","providerProxy":"提供商代理","noConnectionsYet":"还没有连接","addFirstConnectionHint":"添加您的第一个连接以开始使用","addConnection":"添加连接","availableModels":"可用模型","builtInModels":"内置模型","builtInModelsHint":"该提供商的注册表模型。点击铅笔可设置兼容选项。","pageAutoRefresh":"页面会自动刷新...","statusDisabled":"已禁用","statusConnected":"已连接","statusRuntimeIssue":"运行时问题","statusAuthFailed":"验证失败","statusRateLimited":"被限流","statusNetworkIssue":"网络问题","statusTestUnsupported":"测试不受支持","statusUnavailable":"不可用","statusFailed":"失败","statusError":"错误","oauthAccount":"OAuth 帐户","errorTypeRuntime":"本地运行时","errorTypeUpstreamAuth":"上游授权","errorTypeMissingCredential":"缺少凭证","errorTypeRefreshFailed":"刷新失败","errorTypeTokenExpired":"令牌已过期","errorTypeRateLimited":"速率有限","errorTypeUpstreamUnavailable":"上游不可用","errorTypeNetworkError":"网络错误","errorTypeTestUnsupported":"测试不支持","errorTypeUpstreamError":"上游错误","proxySourceGlobal":"全局","proxySourceProvider":"提供商","proxySourceKey":"密钥","proxyConfiguredBySource":"代理 ({source}):{host}","autoPriority":"自动:{priority}","proxy":"代理","retestAuthentication":"重新验证身份","retest":"重新测试","disableConnection":"禁用连接","enableConnection":"启用连接","reauthenticateConnection":"重新验证此连接","proxyConfig":"代理配置","aliasExistsAlert":"别名“{alias}”已存在。请使用不同的模型或编辑现有别名。","openRouterAnyModelHint":"OpenRouter 支持任意模型。添加模型并创建别名后即可快速访问。","modelIdFromOpenRouter":"模型 ID(来自 OpenRouter)","openRouterModelPlaceholder":"anthropic/claude-3-opus","customModels":"自定义模型","customModelsHint":"添加默认列表中没有的模型 ID,这些模型也能参与路由。","normalizeToolCallIdLabel":"将工具调用 ID 规范为 9 位(如 Mistral)","preserveDeveloperRoleLabel":"保留 Responses 的 developer 角色(不映射为 system)","compatAdjustmentsTitle":"兼容性","compatButtonLabel":"兼容性","compatToolIdShort":"工具 ID 9 位","compatDeveloperShort":"developer 角色","compatDoNotPreserveDeveloper":"不保留 developer 角色","compatBadgeNoPreserve":"不保留","compatProtocolLabel":"客户端请求协议","compatProtocolHint":"以下选项在 OmniRoute 识别到该请求形态(OpenAI Chat、Responses API 或 Anthropic Messages)时生效。","compatProtocolOpenAI":"OpenAI Chat Completions","compatProtocolOpenAIResponses":"OpenAI Responses API","compatProtocolClaude":"Anthropic Messages","compatUpstreamHeadersLabel":"上游额外请求头","compatUpstreamHeadersHint":"与修改厂商连接/API 配置同属高权限能力,仅可信管理员应使用。这些头会在 OmniRoute 按厂商 API Key 自动加好鉴权头之后再合并。若「名称」与系统已加的头相同(例如都叫 Authorization),则以你填的值为准,会整段替换自动那条(含 Bearer 令牌),上游请求里不再使用面板里保存的密钥来生成 Authorization。填错可能导致 401,请谨慎。每个请求头单独一行;部分网关需要额外 Authentication 等可在此加。鼠标移入或聚焦「值」可暂时看明文。点空白处、关闭本面板或切走焦点即保存。","compatUpstreamHeaderName":"请求头名称","compatUpstreamHeaderValue":"值","compatUpstreamAddRow":"添加请求头","compatUpstreamRemoveRow":"删除此行","compatBadgeUpstreamHeaders":"请求头","modelId":"模型 ID","customModelPlaceholder":"例如:gpt-4.5-turbo","loading":"正在加载...","removeCustomModel":"删除自定义模型","noCustomModels":"尚未添加自定义模型。","allSuggestedAliasesExist":"所有建议别名都已存在。请选择其他模型,或删除冲突的别名。","failedSaveCustomModel":"保存自定义模型失败","modelAddedSuccess":"模型 {modelId} 添加成功","failedAddModelTryAgain":"添加模型失败,请重试。","failedSaveImportedModel":"无法将导入的模型保存到自定义数据库","failedImportModelsTryAgain":"导入模型失败。请再试一次。","failedRemoveModelFromDatabase":"无法从数据库中删除模型","modelRemovedSuccess":"模型删除成功","failedDeleteModelTryAgain":"删除模型失败。请再试一次。","compatibleModelsDescription":"可手动添加 {type} 兼容模型,或从 `/models` 端点导入。","anthropicCompatibleModelPlaceholder":"claude-3-opus-20240229","openaiCompatibleModelPlaceholder":"gpt-4o","apiKeyValidationFailed":"API 密钥验证失败。请检查您的密钥并重试。","addProviderApiKeyTitle":"添加 {provider} API 密钥","checking":"正在检查...","check":"检查","valid":"有效","invalid":"无效","creating":"创造...","validationChecksAnthropicCompatible":"验证会通过检查 API 密钥来确认 {provider} 是否可用。","validationChecksOpenAiCompatible":"验证会通过你填写的 Base URL 上的 `/models` 接口来检查 {provider}。","priorityLabel":"优先级","saving":"正在保存...","save":"保存","editConnection":"编辑连接","accountName":"账户名称","email":"电子邮件","healthCheckMinutes":"健康检查(分钟)","healthCheckHint":"主动令牌刷新间隔。 0 = 禁用。","groupLabel":"环境","groupPlaceholder":"例如:eKaizen、Personal","failedTestConnection":"测试连接失败","failed":"失败","leaveBlankKeepCurrentApiKey":"留空以保留当前的 API 密钥。","editCompatibleTitle":"编辑 {type} 兼容","compatibleBaseUrlHint":"{type} 兼容 API 的根 URL。若端点路径是自定义的,请在高级设置中配置。","apiKeyForCheck":"API 密钥(用于检查)","compatibleProdPlaceholder":"{type} 兼容(产品)","tokenRefreshed":"Token 刷新成功","tokenRefreshFailed":"Token 刷新失败","advancedSettings":"高级设置","chatPathLabel":"聊天端点路径","chatPathPlaceholder":"/chat/completions","chatPathHint":"为非标准 API 的提供商自定义聊天路径(例如:/v4/chat/completions)","modelsPathLabel":"模型端点路径","modelsPathPlaceholder":"/models","modelsPathHint":"为验证流程自定义模型路径(例如:/v4/models)"},"settings":{"title":"设置","general":"常规","security":"安全","appearance":"外观","routing":"路由","cache":"缓存","resilience":"韧性","systemPrompt":"系统提示","thinkingBudget":"思考预算","proxy":"代理","pricing":"定价","storage":"存储","policies":"政策","ipFilter":"IP过滤器","comboDefaults":"组合默认值","fallbackChains":"后备链","changePassword":"更改密码","enablePassword":"启用密码","darkMode":"深色模式","lightMode":"浅色模式","systemTheme":"系统主题","enableCache":"启用缓存","cacheTTL":"缓存生存时间","maxCacheSize":"最大缓存大小","clearCache":"清除缓存","cacheHits":"缓存命中","cacheMisses":"缓存未命中","hitRate":"命中率","cacheEntries":"缓存条目","circuitBreaker":"断路器","retryPolicy":"重试政策","maxRetries":"最大重试次数","retryDelay":"重试延迟","timeoutMs":"超时(毫秒)","enableSystemPrompt":"启用系统提示","systemPromptText":"系统提示文字","enableThinking":"激发思考","maxThinkingTokens":"最大思考令牌","enableProxy":"启用代理","proxyUrl":"代理网址","pricingRates":"定价费率格式","currentPricing":"当前定价概述","loadingPricing":"正在加载定价数据...","noPricing":"无可用定价数据","input":"输入","output":"输出","cached":"缓存","reasoning":"推理","cacheCreation":"缓存创建","customPricing":"定制定价","databaseSize":"数据库大小","backupDb":"备份数据库","restoreDb":"恢复数据库","exportData":"导出数据","importData":"导入数据","clearData":"清除所有数据","clearDataConfirm":"这将永久删除所有数据。你确定吗?","enableRequestLogs":"启用请求日志","logRetention":"日志保留","ipWhitelist":"IP白名单","ipBlacklist":"IP黑名单","addIP":"添加IP","savedSuccessfully":"设置保存成功","ai":"人工智能","advanced":"高级","localMode":"本地模式 - 所有数据都存储在你的设备上","settingsSectionsAria":"设置部分","switchThemes":"在浅色和深色主题之间切换","themeSelectionAria":"主题选择","themeLight":"浅色","themeDark":"深色","themeSystem":"系统","hideHealthLogs":"隐藏健康检查日志","hideHealthLogsDesc":"开启后,将抑制服务器控制台中的 [HealthCheck] 消息","themeAccent":"主题颜色","themeAccentDesc":"选择预设颜色,或使用单一颜色创建你自己的主题","themeCreate":"创建主题","themeCustom":"自定义主题","themeBlue":"蓝色","themeRed":"红色","themeGreen":"绿色","themeViolet":"紫色","themeOrange":"橙色","themeCyan":"青色","promptCache":"提示缓存","flushCache":"刷新缓存","flushing":"正在刷新...","size":"尺寸","hits":"命中次数","evictions":"驱逐","loadingCacheStats":"正在加载缓存统计信息...","globalProxy":"全局代理","globalProxyDesc":"为所有 API 调用配置全局出站代理。单独的提供商、组合和键可以覆盖此设置。","noGlobalProxy":"没有配置全局代理","globalLabel":"全局","configure":"配置","globalSystemPrompt":"全局系统提示","systemPromptDesc":"在代理级别注入所有请求","saved":"已保存","systemPromptPlaceholder":"输入系统提示符注入所有请求...","systemPromptHint":"此提示会添加到每个请求的系统消息之前。用于全局说明、安全指南或响应格式规则。","chars":"{count} 字符","thinkingBudgetTitle":"思考预算","thinkingBudgetDesc":"控制所有请求中 AI 推理令牌的使用","passthrough":"直通","passthroughDesc":"没有变化——客户控制思维预算","auto":"自动","autoDesc":"放弃所有思考配置——让提供商决定","custom":"定制","customDesc":"为所有请求设置固定的令牌预算","adaptive":"自适应","adaptiveDesc":"根据请求复杂性调整预算","effortNone":"无(0 代币)","effortLow":"低(1K 代币)","effortMedium":"中型(10K 代币)","effortHigh":"高(128K 代币)","tokenBudget":"代币预算","tokens":"Tokens","baseEffortLevel":"基本努力水平","adaptiveHint":"自适应模式根据消息计数、工具使用情况和提示长度从此基本级别进行扩展。","requireLogin":"需要登录","requireLoginDesc":"当打开时,仪表板需要密码。当关闭时,无需登录即可访问。","currentPassword":"当前密码","enterCurrentPassword":"输入当前密码","newPassword":"新密码","enterNewPassword":"输入新密码","confirmPassword":"确认新密码","confirmPasswordPlaceholder":"确认新密码","passwordsNoMatch":"密码不匹配","passwordUpdated":"密码更新成功","failedUpdatePassword":"更新密码失败","errorOccurred":"发生错误","updatePassword":"更新密码","setPassword":"设置密码","apiEndpointProtection":"API端点保护","requireAuthModels":"/models 需要 API 密钥","requireAuthModelsDesc":"开启后,`/v1/models` 对未认证请求返回 404,从而阻止未授权用户发现模型。","blockedProviders":"被阻止的提供商","blockedProvidersDesc":"在 `/v1/models` 响应中隐藏指定提供商。被隐藏的提供商不会出现在模型列表中。","providersBlocked":"{count} 提供商被阻止/模型","blockProviderTitle":"区块 {provider}","unblockProviderTitle":"解锁 {provider}","cliFingerprint":"CLI 指纹匹配","cliFingerprintDesc":"在代理请求时模拟原生 CLI 二进制的请求特征。会重新排列请求头和请求体字段,使其与官方 CLI 工具更一致,同时保留你的代理 IP。","cliFingerprintEnabled":"已有 {count} 个提供商启用了 CLI 指纹","enableFingerprintTitle":"为 {provider} 启用指纹","disableFingerprintTitle":"为 {provider} 禁用指纹","routingStrategy":"路由策略","fillFirst":"先填写","fillFirstDesc":"按优先顺序使用帐户","roundRobin":"循环赛","roundRobinDesc":"循环浏览所有帐户","p2c":"P2C","p2cDesc":"随机选2个,使用更健康的一个","random":"随机","randomDesc":"每个请求随机帐户","leastUsed":"最少使用","leastUsedDesc":"选择最近最少使用的帐户","costOpt":"成本选择","costOptDesc":"更喜欢最便宜的可用帐户","strictRandom":"严格随机","strictRandomDesc":"洗牌池模式:每个账户使用一次后再重新洗牌","stickyLimit":"粘性限制","stickyLimitDesc":"切换前每个账户的通话次数","modelAliases":"模型别名","modelAliasesTitle":"模型别名","modelAliasesDesc":"重新映射模型名称的通配符模式 • 使用 * 和 ?","addCustomAlias":"添加自定义别名","deprecatedModelId":"已弃用的模型 ID","newModelId":"新模型 ID","customAliases":"自定义别名","builtInAliases":"内置别名","backgroundDegradationTitle":"后台任务降级","backgroundDegradationDesc":"自动检测后台任务(标题、摘要)并路由到更便宜的模型","enableDegradation":"启用后台任务降级","enableDegradationHint":"启用后,标题生成和摘要等后台任务会自动路由到更便宜的模型","tasksDetected":"检测到的任务","degradationMap":"模型降级映射","premiumModel":"高级模型","cheapModel":"低成本模型","detectionPatterns":"检测模式","newPattern":"例如:\\"生成标题\\"","aliasPatternPlaceholder":"claude-sonnet-*","aliasTargetPlaceholder":"claude-sonnet-4-20250514","pattern":"图案","targetModel":"目标模型","add":"+ 添加","session":"会话","sessionDetailsAria":"会话详情","status":"状态","authenticated":"已认证","guest":"嘉宾","loginTime":"登录时间","sessionAge":"会话年龄","browser":"浏览器","clearLocalData":"清除本地数据","logout":"退出","clearLocalDataConfirm":"清除所有本地数据?这将重置您的首选项。","unknown":"未知","systemActor":"系统","ipAccessControl":"IP访问控制","ipAccessControlDesc":"阻止或允许特定 IP 地址","ipModeDisabled":"已禁用","ipModeBlacklist":"黑名单","ipModeWhitelist":"白名单","ipModeWhitelistPriority":"WL优先级","addIpAddress":"添加IP地址","ipAddressPlaceholder":"192.168.1.0/24 或 10.0.*.*","block":"+ 块","allow":"+ 允许","blocked":"已被阻止 ({count})","allowed":"允许 ({count})","temporaryBans":"临时禁令 ({count})","minLeft":"还剩 {min}m","auditLog":"审核日志","searchAuditLogs":"搜索审核日志...","failedLoadAuditLog":"无法加载审核日志","noAuditEvents":"未找到审核事件","action":"操作","actor":"操作人","details":"详情","time":"时间","fallbackChainsTitle":"后备链","fallbackChainsDesc":"定义每个模型的提供商后备顺序","addChain":"+ 添加链","modelName":"模型名称","modelNamePlaceholder":"claude-sonnet-4-20250514","providersCommaSeparated":"提供商(用逗号分隔,按优先级排序)","providersCommaSeparatedPlaceholder":"anthropic, openai, gemini","createChain":"创建链","noFallbackChains":"无后备链","noFallbackChainsDesc":"创建一条链路,用于定义某个模型的提供商回退顺序。","loadingFallbackChains":"正在加载后备链...","deleteChainConfirm":"删除“{model}”的后备链?","chainCreated":"为 {model} 创建的链","chainDeleted":"已删除 {model} 链","failedCreateChain":"创建链失败","failedDeleteChain":"删除链失败","deleteChain":"删除链","fillModelAndProviders":"请填写模型名称和提供商","addAtLeastOneProvider":"添加至少一个提供商","comboDefaultsTitle":"组合默认值","globalComboConfig":"全局组合配置","defaultStrategy":"默认策略","defaultStrategyDesc":"应用于没有明确策略的新组合","comboStrategyAria":"组合策略","priority":"优先级","weighted":"加权","maxRetriesLabel":"最大重试次数","retryDelayLabel":"重试延迟(毫秒)","timeoutLabel":"超时(毫秒)","healthCheck":"健康检查","healthCheckDesc":"预先检查提供商的可用性","trackMetrics":"跟踪指标","trackMetricsDesc":"记录每个组合请求指标","providerOverrides":"提供商覆盖","providerOverridesDesc":"覆盖每个提供商的超时和重试。提供商设置会覆盖全局默认设置。","providerMaxRetriesAria":"{provider} 最大重试次数","providerTimeoutAria":"{provider} 超时毫秒","removeProviderOverrideAria":"删除 {provider} 覆盖","newProviderNamePlaceholder":"例如谷歌、开放式...","newProviderNameAria":"新的提供商名称","retries":"重试","ms":"女士","saveComboDefaults":"保存组合默认值","maxNestingDepth":"最大嵌套深度","concurrencyPerModel":"并发/模型","queueTimeout":"队列超时(毫秒)","providerProfiles":"提供商简介","providerProfilesDesc":"为 OAuth(基于会话)和 API Key(计费型)提供商分别设置弹性策略。由于速率限制更低,OAuth 提供商通常采用更严格的阈值。","oauthProviders":"OAuth 提供商","apiKeyProviders":"API 密钥提供商","transientCooldown":"短暂冷却","rateLimitCooldown":"速率限制冷却","maxBackoffLevel":"最大退避级别","cbThreshold":"CB阈值","cbResetTime":"CB 复位时间","rateLimiting":"速率限制","rateLimitingDesc":"API 密钥提供商会自动受到安全默认值的速率限制。限制是从响应标头中学习的,并随着时间的推移进行调整。","defaultSafetyNet":"默认安全网","rpm":"转速","minGap":"最小间隙","maxConcurrent":"最大并发数","activeLimiters":"有源限制器","noActiveLimiters":"尚无活动的速率限制器。","reservoir":"水库","running":"运行中","queued":"排队中","circuitBreakers":"断路器","breakerStateClosed":"关闭","breakerStateOpen":"打开","breakerStateHalfOpen":"半开式","tripped":"{count} 已触发","healthy":"{count} 健康","resetAll":"全部重置","noCircuitBreakers":"尚未激活断路器。当请求流经组合管道时,它们会自动创建。","failures":"{count} 失败","policiesLocked":"策略和锁定标识符","allOperational":"所有系统均可运行——无停工或断路器跳闸","loadingPolicies":"正在加载政策...","lockedIdentifiers":"锁定标识符","unlockedIdentifier":"解锁:{identifier}","sinceDate":"自 {date} 起","forceUnlock":"强制解锁","unlocking":"解锁...","failedUnlock":"解锁失败","failedLoadWithStatus":"加载失败:{status}","failedLoadResilience":"无法加载弹性状态","saveFailed":"保存失败","resetFailed":"重置失败","loadingResilience":"正在加载弹性状态...","retry":"重试","systemStorage":"系统与存储","allDataLocal":"所有数据都存储在本地计算机上","databasePath":"数据库路径","exportDatabase":"导出数据库","exportAll":"全部导出 (.tar.gz)","importDatabase":"导入数据库","confirmDbImport":"确认数据库导入","confirmDbImportDesc":"这会将所有当前数据替换为 {file} 中的内容。导入前将自动创建备份。","yesImport":"是的,导入","lastBackup":"上次备份","noBackupYet":"还没有备份","backupNow":"立即备份","backupRestore":"备份与恢复","viewBackups":"查看备份","hide":"隐藏","backupRetentionDesc":"数据库快照会在还原之前自动创建,并且在数据更改时每 15 分钟自动创建一次。保留:24 小时 + 30 每日备份,智能轮换。","loadingBackups":"正在加载备份...","noBackupsYet":"尚无可用的备份。当数据发生变化时,将自动创建备份。","backupsAvailable":"{count} 可用备份","refresh":"刷新","confirm":"确认?","yes":"是的","no":"否","restore":"恢复","invalidFileType":"文件类型无效,仅接受 `.sqlite` 文件。","exportFailed":"导出失败","exportFailedWithError":"导出失败:{error}","fullExportFailedWithError":"完全导出失败:{error}","backupCreated":"创建备份:{file}","restoreSuccess":"恢复了! {connections} 连接、{nodes} 节点、{combos} 组合、{apiKeys} API 密钥。","importSuccess":"数据库导入! {connections} 连接、{nodes} 节点、{combos} 组合、{apiKeys} API 密钥。","justNow":"刚才","minutesAgo":"{count} 分钟前","hoursAgo":"{count} 小时前","daysAgo":"{count} 天前","backupReasonManual":"手动","backupReasonPreRestore":"预恢复","connectionsCount":"{count, plural, one {# 个连接} other {# 个连接}}","noChangesSinceBackup":"自上次备份以来没有任何变化","backupFailed":"备份失败","restoreFailed":"恢复失败","importFailed":"导入失败","errorDuringRestore":"恢复期间发生错误","errorDuringImport":"导入时发生错误","modelPricing":"模型定价","modelPricingDesc":"配置每个模型的成本费率 • 所有费率均以美元/100 万代币为单位","providers":"提供商","registry":"登记处","priced":"定价","searchProvidersModels":"搜索提供商或模型...","showAll":"显示全部","noProvidersMatch":"没有与您的搜索匹配的提供商。","howPricingWorks":"定价如何运作","cacheWrite":"缓存写入","unsaved":"未保存","resetDefaults":"重置默认值","saveProvider":"保存提供商","saving":"正在保存...","model":"模型","models":"模型","moreProviders":"{count} 更多提供商","withPricing":"配置定价","policiesCircuitBreakers":"政策与断路器","activeIssuesDetected":"检测到活跃问题","off":"关闭","resetPricingConfirm":"将 {provider} 的所有定价重置为默认值?","pricingDescInput":"输入:发送到模型的令牌","pricingDescOutput":"输出:生成的代币","pricingDescCached":"缓存:重用输入(约输入率的 50%)","pricingDescReasoning":"推理:思考标记(回到输出)","pricingDescCacheWrite":"缓存写入:创建缓存条目(回退到输入)","pricingDescFormula":"成本 = (输入 × 输入率) + (输出 × 输出率) + (缓存 × 缓存率) 每百万代币。","pricingSettingsTitle":"定价设置","totalModels":"模型总数","active":"活跃","costCalculation":"成本计算","costCalculationDesc":"成本是根据为每个模型配置的令牌使用情况和定价费率计算的。","pricingFormat":"定价格式","pricingFormatDesc":"所有费率均以美元/100 万代币为单位(每百万代币美元)。","tokenTypes":"代币类型","inputTokenDesc":"标准提示标记","outputTokenDesc":"完成/响应标记","cachedTokenDesc":"缓存输入令牌(通常为输入速率的 50%)","reasoningTokenDesc":"特殊推理/思维标记(回退到输出率)","cacheCreationTokenDesc":"用于创建缓存条目的令牌(回退到输入速率)","customPricingNote":"你可以覆盖特定模型的默认定价。自定义覆盖会优先于自动检测到的定价。","editPricing":"编辑定价","viewFullDetails":"查看完整详情","themeCoral":"珊瑚色","routingAdvancedGuideTitle":"高级路线指导","routingAdvancedGuideHint1":"使用 Fill First 实现可预测的优先级,使用 Round Robin 实现公平性,使用 P2C 实现延迟弹性。","routingAdvancedGuideHint2":"如果提供商的质量/成本各不相同,请从“成本选择”开始进行后台工作,并从“最少使用”开始进行平衡磨损。","comboDefaultsGuideTitle":"如何调整组合默认值","comboDefaultsGuideHint1":"在低延迟流中保持较低的重试次数;仅增加长生成任务的超时。","comboDefaultsGuideHint2":"当一个提供程序需要与全局默认值不同的超时/重试行为时,请使用提供程序覆盖。"},"translator":{"title":"翻译者","metaTitle":"翻译游乐场 | OmniRoute","metaDescription":"调试、测试和可视化提供商之间的 API 格式转换","playgroundTitle":"翻译游乐场","playground":"游乐场","realtime":"实时翻译活动","chatTester":"聊天测试仪","testBench":"测试台","liveMonitor":"实时监控","modeDescriptionPlayground":"粘贴任意 API 请求体,查看 OmniRoute 如何在不同提供商格式之间进行转换(OpenAI ↔ Claude ↔ Gemini ↔ Responses API)。","modeDescriptionChatTester":"通过 OmniRoute 发送真实聊天请求,并检查完整往返流程:输入、转换后的请求、提供商响应以及转换后的输出。","modeDescriptionTestBench":"运行预定义的场景并比较提供商和模型之间的兼容性。","modeDescriptionLiveMonitor":"实时查看请求流经 OmniRoute 时产生的翻译事件。","modeDescriptionFallback":"调试、测试并可视化 OmniRoute 如何在提供商之间转换 API 请求。","recentTranslations":"最近的翻译","noTranslations":"还没有翻译","source":"来源","target":"目标","time":"时间","model":"模型","status":"状态","latency":"延迟","totalTranslations":"总翻译数","successful":"成功","errors":"错误","avgLatency":"平均延迟","millisecondsShort":"{value}ms","notAvailableSymbol":"—","liveAutoRefreshing":"直播 — 自动刷新","paused":"已暂停","eventsAppearHint":"请求流经 OmniRoute 时,翻译事件会显示在这里。你可以通过下面任一方式生成事件:","chatTesterTab":"聊天测试选项卡","testBenchTab":"测试台选项卡","externalApiCalls":"外部API调用","ideCliIntegrations":"IDE/CLI 集成","inMemoryNote":"注意:事件存储在内存中,并在服务器重新启动时重置。","ok":"好的","errorShort":"错误率","formatConverter":"格式转换器","formatConverterDescription":"粘贴或输入 JSON 请求体。翻译器会自动识别源格式并将其转换为目标格式。你可以借此调试 OmniRoute 在各种格式之间的转换行为(OpenAI ↔ Claude ↔ Gemini ↔ Responses API)。","input":"输入","output":"输出","auto":"汽车","swapFormats":"交换格式","translateAction":"翻译","clear":"清除","inputPlaceholder":"在此处粘贴请求正文或选择下面的模板...","exampleTemplates":"示例模板","exampleTemplatesHint":"— 点击加载","templateLoadHint":"模板以 {format} 格式加载请求。更改源格式以以不同的格式加载。","compatibilityTester":"兼容性测试仪","compatibilityReport":"兼容性报告","testBenchDescription":"运行预定义的场景(简单聊天、工具调用等)以验证翻译和提供商兼容性。选择源格式和目标提供商,然后运行所有测试以查看兼容性百分比。使用它来查找哪些功能可以跨提供商使用。","targetProvider":"目标提供商","runAllTests":"运行所有测试","runTest":"运行测试","reRun":"重新运行","running":"运行...","passed":"通过了","failed":"失败了","passedIconLabel":"✅ 通过","chunks":"块","scenarioSimpleChat":"简单聊天","scenarioToolCalling":"工具调用","scenarioMultiTurn":"多圈","scenarioThinking":"思考","scenarioSystemPrompt":"系统提示","scenarioStreaming":"流媒体","templateNames":{"simple-chat":"简单聊天","tool-calling":"工具调用","multi-turn":"多圈","thinking":"思考","system-prompt":"系统提示","streaming":"流媒体"},"templateDescriptions":{"simple-chat":"基本短信","tool-calling":"函数/工具调用","multi-turn":"与历史对话","thinking":"扩展思维/推理","system-prompt":"复杂系统指令","streaming":"SSE 流请求"},"templatePayloads":{"simpleChat":{"system":"你是一个有用的助手。","userGreeting":"你好!你今天怎么样?"},"toolCalling":{"userWeather":"圣保罗 的天气怎么样?","toolDescription":"获取某个位置的当前天气","cityNameDescription":"城市名称"},"multiTurn":{"system":"你是一名编码助理。","userInitial":"请用 Python 写一个对数组进行排序的函数。","assistantExample":"这是一个简单的排序函数:\\n\\n```python\\ndef sort_array(arr):\\n return sorted(arr)\\n```","userFollowUp":"现在将其按降序排序。"},"thinking":{"question":"前 100 个质数之和是多少?"},"systemPrompt":{"systemInstruction":"你是一名专注于分布式系统的高级软件工程师。请使用行业最佳实践简洁作答,并在合适时提供代码示例。回复请使用 Markdown 格式。","question":"如何实现断路器模式?"},"streaming":{"prompt":"给我讲一个关于机器人学习绘画的小故事。"}},"openaiCompatibleLabel":"OpenAI 兼容","anthropicCompatibleLabel":"Anthropic 兼容","noTemplateForFormat":"没有此格式的模板","translationFailed":"翻译失败:{error}","pipelineDebugger":"管道调试器","translationPipeline":"翻译管道","pipelineVisualization":"管道可视化","pipelineVisualizationHint":"发送消息以查看您的请求如何经过检测 → 翻译 → 提供商调用。","chatTesterDescription":"以特定客户端格式发送消息并检查翻译管道的每个步骤。","chatTesterFlow":"客户端请求 → 格式检测 → OpenAI 中间格式 → 提供商格式 → 响应","clickStepToInspect":"单击任意步骤即可检查该阶段的数据。","clientFormat":"客户端格式","provider":"提供商","modelPlaceholder":"选择或输入模型名称...","sendMessageToSeePipeline":"发送消息查看翻译管道","chatMessageHintPrefix":"您的消息将被格式化为","chatMessageHintSuffix":"请求,通过管道进行翻译,然后发送给选定的提供商。","youWithFormat":"您 ({format})","assistant":"助理","typeMessage":"输入消息...","send":"发送","clientRequest":"客户端请求","clientRequestDescription":"您的客户端发送的请求正文","formatDetected":"检测到格式","formatDetectedDescription":"OmniRoute 会根据请求结构自动识别 API 格式","openaiIntermediate":"OpenAI 中间格式","openaiIntermediateDescription":"所有格式都会先归一化为 OpenAI 格式(通用桥接层)","providerFormat":"提供商格式","providerFormatDescription":"随后再把 OpenAI 格式转换为提供商原生格式","providerResponse":"提供商回应","providerResponseRawDescription":"来自提供商 API 的原始响应","providerResponseSseDescription":"来自提供商 API 的原始 SSE 流","unexpectedError":"发生意外错误","error":"错误","errorMessage":"错误:{message}","requestFailed":"请求失败","noTextExtracted":"(未提取文字)","liveMonitorDescriptionPrefix":"这里会显示 API 调用流经 OmniRoute 时产生的翻译事件。事件来自内存缓冲区(重启后会重置)。使用","liveMonitorDescriptionSuffix":",或外部 API 调用来生成事件。"},"usage":{"title":"用量","loggerTab":"记录器","proxyTab":"代理","budgetManagement":"预算管理","budgetSaved":"已保存预算限制","budgetSaveFailed":"未能节省预算","loadingBudgetData":"正在加载预算数据...","noApiKeysTitle":"没有 API 密钥","noApiKeysDescription":"首先添加 API 密钥以设置预算限制。","apiKey":"API密钥","todaysSpend":"今天的花费","thisMonth":"本月","setLimits":"设定限制","dailyLimitUsd":"每日限额(美元)","monthlyLimitUsd":"每月限额(美元)","warningThresholdPercent":"警告阈值 (%)","dailyLimitPlaceholder":"例如5.00","monthlyLimitPlaceholder":"例如50.00","warningThresholdPlaceholder":"80","saveLimits":"保存限制","budgetOk":"预算正常 — 剩余 {remaining}","budgetExceeded":"超出预算 - 请求可能被阻止","totalRequests":"请求总数","noDataYet":"还没有数据","latency":"延迟","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","promptCache":"提示缓存","systemHealth":"系统健康状况","entries":"条目","activeCount":"{count} 活跃","openCircuitBreakersDetected":"检测到断路器开路","hitRate":"命中率","hitsMisses":"命中/未命中","circuitBreakers":"断路器","lockedIPs":"锁定IP","lockoutsAutoRefreshHint":"每个模型速率限制锁定 • 自动刷新 10 秒","lockedCount":"{count, plural, one {# 个锁定} other {# 个锁定}}","timeLeft":"剩余 {time}","howItWorks":"工作原理","howItWorksSubtitle":"了解评估如何验证您的 LLM 回答","define":"定义","defineStepDescription":"使用包含、正则表达式或完全匹配等策略创建带有输入提示和预期输出标准的测试用例。","run":"运行","runStepDescription":"通过 OmniRoute 对你的 LLM 端点执行测试用例。每个案例都会作为真实 API 请求发送。","evaluate":"评估","evaluateStepDescription":"将响应与预期标准进行比较。查看每种情况的通过/失败情况以及延迟指标和详细反馈。","evalSuites":"评估套件","evalSuitesHint":"点击套件可查看测试用例,然后运行以评估你的 LLM 端点","evalsLoading":"正在加载评估套件...","noEvalSuitesFound":"未找到评估套件","noEvalSuitesDescription":"评测套件可以通过 API 或代码定义。它们会使用包含、正则表达式、精确匹配和自定义函数等策略,根据预期结果验证模型输出。","columnCase":"案例","columnStatus":"状态","columnLatency":"延迟","columnDetails":"详情","columnModel":"模型","columnStrategy":"策略","columnExpected":"预期","statsSuites":"套件","statsTestCases":"测试用例","statsModels":"模型","statsCoverage":"覆盖范围","statsStrategiesCount":"{count} 策略","evaluationStrategies":"评估策略","modelsUnderTest":"测试中的模型","searchSuitesPlaceholder":"搜索套件...","passSuffix":"通过","casesCount":"{count, plural, one {# 个案例} other {# 个案例}}","runEval":"运行评估","runningProgress":"正在运行 {current}/{total}...","passRate":"通过率","summaryBreakdown":"{passed} 通过 · {failed} 失败 · {total} 总计","passedIconLabel":"✅ 通过","failedIconLabel":"❌ 失败","detailsContains":"包含:“{term}”","detailsRegex":"正则表达式:{pattern}","detailsExpected":"预期:“{expected}”","noResultsYet":"还没有结果","testCasesCount":"测试用例 ({count})","noTestCasesDefined":"没有定义测试用例","runEvalHint":"点击“运行评测”即可对你的 LLM 端点执行所有案例。每次测试都会通过 OmniRoute 发送真实请求。","notifyNoTestCases":"没有为此套件定义测试用例","notifyAllCasesPassed":"所有 {total} 案例均已通过 ✅","notifySomeCasesFailed":"{passed}/{total} 通过,{failed} 失败","notifyEvalRunFailed":"评估运行失败","notifyEvalTitle":"评估:{name}","modelEvals":"模型评估","evalsHeroDescription":"通过运行预定义评测套件来测试和验证你的 LLM 端点。每个套件都包含多个测试用例,会经由 OmniRoute 发送真实提示,并将响应与预期标准进行比较,帮助你发现回归、比较模型,并确保跨提供商的响应质量。","qualityValidation":"质量验证","modelComparison":"模型对比","regressionDetection":"回归检测","latencyBenchmarks":"延迟基准","modelLockouts":"模型锁定","noLockouts":"当前没有被锁定的模型","activeSessions":"活跃会话","noSessions":"没有活动会话","sessionsHint":"会话显示为请求流经代理","sessionsTrackedHint":"通过请求指纹跟踪 • 自动刷新 5 秒","session":"会话","age":"年龄","requests":"请求","connection":"连接方式","durationMillisecondsShort":"{value}ms","durationSecondsShort":"{value}s","durationMinutesShort":"{value}m","durationHoursShort":"{value}h","reasonSeparator":" - ","notAvailableSymbol":"-","providerLimits":"提供商限制","noProviders":"没有连接提供商","connectProvidersForQuota":"通过 OAuth 连接提供商,以跟踪 API 配额限制和使用情况。","accountsCount":"{count, plural, one {# 个账户} other {# 个账户}}","filteredFromCount":"(从 {count} 过滤)","autoRefresh":"自动刷新","refreshAll":"全部刷新","loadingQuotas":"正在加载...","account":"账户","modelQuotas":"模型配额","lastUsed":"最后使用","actions":"操作","refreshQuota":"刷新配额","today":"今天","tomorrow":"明天","dayTimeFormat":"{day}、{time}","inDuration":"在 {duration} 中","notApplicable":"不适用","rawPlanWithValue":"原始计划:{plan}","noPlanFromProvider":"提供商没有计划","noQuotaData":"无配额数据","ungrouped":"未分组","viewFlat":"平铺视图","viewByEnvironment":"按环境分组","noQuotaDataAvailable":"无可用配额数据","noAccountsForTierFilter":"未找到适用于层过滤器的帐户","tierAll":"全部","tierEnterprise":"企业","tierTeam":"团队","tierBusiness":"商务","tierUltra":"超","tierPro":"专业版","tierPlus":"加号","tierFree":"免费","tierUnknown":"未知"},"modals":{"waitingAuth":"等待授权","verificationUrl":"验证网址","yourCode":"你的代码","remoteAccess":"远程访问:","connectedSuccess":"连接成功!","connectionFailed":"连接失败","chooseAuthMethod":"选择您的身份验证方法:","awsBuilderId":"AWS 构建器 ID","awsIamIdentity":"AWS IAM 身份中心","googleAccount":"谷歌帐户","githubAccount":"GitHub 帐户","importToken":"导入令牌","pasteToken":"从 Kiro IDE 粘贴刷新令牌。","awsRegion":"AWS 区域","autoDetecting":"自动检测令牌...","readingFromCache":"从 AWS SSO 缓存中读取","readingFromCursor":"从 Cursor IDE 数据库读取","initializing":"正在初始化...","pricingConfig":"定价配置","loadingPricing":"正在加载定价数据...","pricingRatesFormat":"定价格式","noPricingData":"无可用定价数据","noModelsFound":"没有找到模型"},"loggers":{"allProviders":"所有提供商","allModels":"所有模型","allAccounts":"所有账户","allApiKeys":"所有 API 密钥","allTypes":"所有类型","allLevels":"所有级别","modelAZ":"模型 A-Z","modelZA":"Z-A型","loadingLogs":"正在加载日志...","loadingProxyLogs":"正在加载代理日志...","noLogEntries":"未找到日志条目","noPayloadData":"此日志条目没有可用的有效负载数据。","proxyEvent":"代理事件","proxy":"代理","level":"等级","directNative":"直接(本地)","combo":"组合","inputTokens":"我:","outputTokens":"哦:"},"stats":{"usageOverview":"使用概述","outputTokens":"输出代币","totalCost":"总成本","usageByModel":"按模型使用","usageByAccount":"按帐户使用情况","failedToLoad":"无法加载使用情况统计信息。","tokenHealth":"令牌健康","totalOAuth":"总 OAuth","healthy":"健康","warning":"警告","errored":"出错了","lastCheck":"最后检查","noData":"无数据","share":"分享","unableToLoad":"无法加载系统指标","product":"产品","resources":"资源","company":"公司"},"auth":{"welcome":"欢迎","signIn":"登录","enterPassword":"输入您的密码以继续","password":"密码","unifiedProxy":"统一 AI API 代理","unifiedAiApiProxy":"统一 AI API 代理","unifiedAiApiProxyDesc":"通过单个端点将请求路由到多个 AI 提供商。内置负载平衡、故障转移和使用情况跟踪。","passwordNotEnabled":"未启用密码保护","loading":"正在加载...","invalidPassword":"密码无效","errorOccurredRetry":"发生错误。请再试一次。","configureInstance":"开始配置你的 OmniRoute 实例","runOnboardingWizard":"运行入门向导来设置您的密码并连接您的第一个 AI 提供商。","startOnboarding":"开始引导","secureYourInstance":"保护您的实例","setPasswordDescription":"设置密码以保护您的仪表板并保护您的 API 端点免遭未经授权的访问。","configurePassword":"配置密码","continue":"继续","windowWillClose":"该窗口将自动关闭...","closeTabNow":"您现在可以关闭此选项卡。","copyUrlManual":"请复制地址栏中的 URL 并将其粘贴到应用程序中。","accessDeniedDescription":"您无权访问此资源。检查您的 API 密钥或联系管理员。","goToDashboard":"转到仪表板","featureMultiProviderTitle":"多提供商","featureMultiProviderDesc":"OpenAI、Anthropic、Google 等","featureLoadBalancingTitle":"负载均衡","featureLoadBalancingDesc":"智能分配请求","featureUsageTrackingTitle":"使用情况追踪","featureUsageTrackingDesc":"监控成本和代币","resetPassword":"重置密码","resetDescription":"选择一种方法来恢复对仪表板的访问权限","stopServer":"停止 OmniRoute 服务器","processing":"处理中...","pleaseWait":"我们正在完成授权,请稍候。","authSuccess":"授权成功!","copyUrl":"复制此网址","accessDenied":"访问被拒绝","methodCliTitle":"方法 1:CLI 重置","methodCliDescription":"在运行 OmniRoute 的服务器上运行以下命令:","methodCliHint":"这将提示您设置新密码。必须首先停止服务器。","methodManualTitle":"方法 2:手动重置","methodManualDescription":"从数据库中删除密码并在启动时设置新密码:","setPasswordInYour":"在以下位置设置新密码:","fileLabelSuffix":"文件:","newPasswordPlaceholder":"your_new_password","deleteSettingsFile":"删除","orRemovePasswordHashField":"或删除 passwordHash 字段","restartServerWithNewPassword":"重启服务器,系统会使用新密码","backToLogin":"返回登录","forgotPassword":"忘记密码?","defaultPasswordHint":"默认密码:123456(除非已设置 INITIAL_PASSWORD)","Authorization":"Authorization","Content-Disposition":"Content-Disposition","waitingForAuthorization":"正在等待授权...","waitingForGoogleAuthorization":"正在等待 Google 授权...","waitingForOpenAIAuthorization":"正在等待 OpenAI 授权...","waitingForAntigravityAuthorization":"正在等待 Antigravity 授权...","waitingForIFlowAuthorization":"正在等待 iFlow 授权...","exchangingCodeForTokens":"正在用授权码换取 Tokens..."},"landing":{"brandName":"OmniRoute","navigateHome":"导航至主页","toggleMenu":"切换菜单","featuresLink":"特点","docsLink":"文档","github":"GitHub","versionLive":"v1.0 现已上线","oneEndpoint":"一个端点","allProviders":"所有 AI 提供商","heroDescription":"带 Web 仪表板的 AI 端点代理,是 CLIProxyAPI 的 JavaScript 版本。可与 Claude Code、OpenAI Codex、Cline、RooCode 等 CLI 工具无缝配合。","getStarted":"开始使用","viewOnGithub":"在 GitHub 上查看","powerfulFeatures":"强大的功能","featuresSubtitle":"在一个地方管理 AI 基础设施所需的一切,专为规模化而构建。","featureUnifiedEndpointTitle":"统一端点","featureUnifiedEndpointDesc":"通过单一标准 API URL 访问所有提供商。","featureEasySetupTitle":"轻松设置","featureEasySetupDesc":"使用 npx 命令在几分钟内启动并运行。","featureModelFallbackTitle":"模型回退","featureModelFallbackDesc":"发生故障或高延迟时自动切换提供商。","featureUsageTrackingTitle":"使用情况追踪","featureUsageTrackingDesc":"所有模型的详细分析和成本监控。","featureOAuthApiKeysTitle":"OAuth 与 API 密钥","featureOAuthApiKeysDesc":"在一个保管库中安全地管理凭据。","featureCloudSyncTitle":"云同步","featureCloudSyncDesc":"立即跨设备同步您的配置。","featureCliSupportTitle":"CLI 支持","featureCliSupportDesc":"适用于 Claude Code、Codex、Cline、Cursor 等工具。","featureDashboardTitle":"仪表板","featureDashboardDesc":"用于实时流量分析的可视化仪表板。","howItWorks":"OmniRoute 工作原理","howItWorksDescription":"数据从您的应用程序通过我们的智能路由层无缝流向最适合该工作的提供商。","howItWorksStep1Title":"1. CLI 和 SDK","howItWorksStep1Description":"您的请求从您最喜欢的工具或我们的统一 SDK 开始。只需更改基本 URL 即可。","howItWorksStep2Title":"2. OmniRoute 中枢","howItWorksStep2Description":"我们的引擎分析提示、检查提供商的运行状况以及最低延迟或成本的路线。","howItWorksStep3Title":"3. AI 提供商","howItWorksStep3Description":"请求会被立即转发给 OpenAI、Anthropic、Gemini 或其他提供商完成处理。","getStartedIn30Seconds":"30 秒内开始","getStartedDescription":"安装 OmniRoute,通过 Web 仪表板配置你的提供商,然后开始路由 AI 请求。","installOmniRoute":"安装 OmniRoute","installStepDescription":"运行 npx 命令立即启动服务器","openDashboard":"打开仪表板","openDashboardStepDescription":"通过 Web 界面配置提供商和 API 密钥","routeRequests":"路由请求","routeRequestsStepDescription":"将您的 CLI 工具指向 {endpoint}","terminal":"终端","copy":"复制","copied":"✓ 已复制","startingOmniRoute":"正在启动 OmniRoute...","serverRunningOnLabel":"服务器运行于","dashboardLabel":"仪表板","readyToRoute":"已准备好开始路由! ✓","configureProvidersNote":"📝 在仪表板中配置提供商或使用环境变量","dataLocation":"数据位置:","dataLocationMacLinux":" macOS/Linux:","dataLocationWindows":" Windows:","product":"产品","dashboardLink":"仪表板","changelog":"变更日志","resources":"资源","documentation":"文档","npm":"npm","legal":"法律","mitLicense":"MIT 许可证","footerTagline":"AI 生成的统一端点。轻松连接、路由和管理您的 AI 提供商。","copyright":"© {year} OmniRoute。保留所有权利。","flowToolClaudeCode":"Claude Code","flowToolOpenAICodex":"OpenAI Codex","flowToolCline":"Cline","flowToolCursor":"Cursor","flowProviderOpenAI":"OpenAI","flowProviderAnthropic":"Anthropic","flowProviderGemini":"Gemini","flowProviderGithubCopilot":"GitHub Copilot","interactiveDiagram":"可交互流程图","ctaTitle":"准备好简化你的 AI 基础设施了吗?","ctaDescription":"加入更多开发者,一起用 OmniRoute 简化 AI 集成流程。开源且可免费开始使用。","startFree":"免费开始","readDocumentation":"阅读文档"},"docs":{"title":"文档","quickStart":"快速入门","features":"特点","supportedProviders":"支持的提供商","supportedProvidersToc":"提供商","commonUseCases":"常见用例","clientCompatibility":"客户端兼容性","protocolsToc":"协议","apiReference":"API参考","managementApiReference":"管理 API 参考","managementApiDescription":"用于代理注册表、作用域绑定以及旧版代理迁移的自动化接口。","method":"方法","path":"路径","notes":"注释","modelPrefixes":"模型前缀","prefix":"前缀","troubleshooting":"故障排除","supportsChat":"支持聊天和响应端点。","oauthAutoRefresh":"支持自动刷新 Token 的 OAuth 连接。","fullStreaming":"所有模型都支持完整流式输出。","docsLabel":"文档","docsHeroDescription":"面向多提供商 LLM 的 AI 网关。一个端点即可统一接入 OpenAI、Anthropic、Gemini、GitHub Copilot、Claude Code、Cursor 等 20+ 提供商。","openDashboard":"打开仪表板","endpointPage":"端点页面","github":"GitHub","reportIssue":"报告问题","onThisPage":"在此页面上","documentationVersion":"文档 - v{version}","quickStartStep1Title":"1.安装并运行","quickStartStep1Prefix":"运行","quickStartStep1Middle":"或者从 GitHub 克隆并运行","quickStartStep2Title":"2. 创建API密钥","quickStartStep2Text":"转至端点 -> 注册密钥。每个环境生成一个密钥。","quickStartStep3Title":"3. 连接提供商","quickStartStep3Text":"通过 OAuth 登录、API 密钥或免费套餐自动接入来添加提供商账户。","quickStartStep4Title":"4. 设置客户端基本 URL","quickStartStep4Prefix":"将您的 IDE 或 API 客户端指向","quickStartStep4Suffix":"例如使用提供商前缀","featureRoutingTitle":"多提供商路由","featureRoutingText":"通过单一 OpenAI 兼容端点将请求路由到 30+ AI 提供商,支持聊天、Responses、音频和图像 API。","featureCombosTitle":"组合和平衡","featureCombosText":"使用后备链和平衡策略创建模型组合:循环、优先级、随机、最少使用和成本优化。","featureUsageTitle":"使用情况和成本跟踪","featureUsageText":"实时令牌计数、每个提供商/模型的成本计算以及按 API 密钥和帐户划分的详细使用情况细分。","featureAnalyticsTitle":"分析仪表板","featureAnalyticsText":"可视化分析,包含随时间变化的请求、令牌、错误、延迟、成本和模型受欢迎程度的图表。","featureHealthTitle":"健康监测","featureHealthText":"实时健康检查、提供商状态、断路器状态以及具有指数退避功能的自动速率限制检测。","featureCliTitle":"CLI工具","featureCliText":"可在仪表板中管理 IDE 配置、导出/导入备份、发现 Codex 配置文件并修改设置。","featureSecurityTitle":"安全和政策","featureSecurityText":"API 密钥身份验证、IP 过滤、提示注入防护、域策略、会话管理和审核日志记录。","featureCloudSyncTitle":"云同步","featureCloudSyncText":"将配置同步到 Cloudflare Workers,以便通过加密凭据和自动故障转移实现远程访问。","providersAcrossConnectionTypes":"跨三种连接类型的 {count} 提供商。","manageProviders":"管理提供商","providersCount":"{count} 提供商","providerTypeFree":"免费套餐","providerTypeOAuth":"OAuth","providerTypeApiKey":"API密钥","useCaseSingleEndpointTitle":"许多提供商的单一端点","useCaseSingleEndpointText":"将客户端统一指向一个 Base URL,再通过模型前缀进行路由(例如:gh/、cc/、kr/、openai/)。","useCaseFallbackTitle":"使用组合进行回退和模型切换","useCaseFallbackText":"在仪表板中创建组合模型,并在提供商内部轮换时保持客户端配置稳定。","useCaseUsageVisibilityTitle":"使用情况、成本和调试可见性","useCaseUsageVisibilityText":"在“使用情况”和“分析”选项卡中按提供商、帐户和 API 密钥跟踪令牌和成本。","clientCherryStudioTitle":"樱桃工作室","baseUrlLabel":"Base URL","chatEndpointLabel":"聊天端点","modelRecommendationLabel":"模型建议:显式前缀","clientCodexTitle":"Codex / GitHub Copilot 模型","clientCodexBullet1":"使用模型 ID","clientCodexBullet2":"Codex 系列模型会自动路由到","clientCodexBullet3":"非法典模型继续","clientCursorTitle":"Cursor IDE","clientCursorBullet1":"使用","clientCursorBullet1Suffix":"Cursor 模型前缀。","clientCursorBullet2":"OAuth 连接方式:在 Providers 页面中登录。","clientClaudeTitle":"Claude Code / Antigravity","clientClaudeBullet1Prefix":"使用","clientClaudeBullet1Middle":"(Claude)或","clientClaudeBullet1Suffix":"(Antigravity)前缀。","protocolsTitle":"协议:MCP 与 A2A","protocolsDescription":"除了 OpenAI 兼容 API 之外,OmniRoute 还提供两类操作协议:用于工具执行的 MCP,以及用于智能体协作工作流的 A2A。","protocolMcpTitle":"MCP(Model Context Protocol)","protocolMcpDesc":"通过 stdio 使用 MCP,让客户端发现并调用 OmniRoute 工具,同时具备审计可见性。","protocolMcpStep1":"使用 `omniroute --mcp` 启动 MCP 传输。","protocolMcpStep2":"将你的 MCP 客户端指向 stdio 传输。","protocolMcpStep3":"调用 `omniroute_get_health` 和 `omniroute_list_combos` 验证连通性。","protocolA2aTitle":"A2A(Agent2Agent)","protocolA2aDesc":"使用 A2A JSON-RPC 以同步方式或通过 SSE 流式方式提交任务。","protocolA2aStep1":"读取 `/.well-known/agent.json` 进行智能体发现。","protocolA2aStep2":"向 `POST /a2a` 发送 `message/send` 或 `message/stream` 请求。","protocolA2aStep3":"通过 `tasks/get` 和 `tasks/cancel` 管理任务生命周期。","protocolTroubleshootingTitle":"协议故障排查","protocolTroubleshooting1":"如果 MCP 状态为离线,请确认 stdio 进程正在运行,且心跳文件持续更新。","protocolTroubleshooting2":"如果 A2A 任务长时间停留在 `working`,请检查 `/api/a2a/tasks/:id` 和流事件中是否出现终态。","protocolTroubleshooting3":"可使用 `/dashboard/mcp` 和 `/dashboard/a2a` 进行运行控制并查看审计信息。","endpointChatNote":"OpenAI 兼容聊天端点(默认)。","endpointResponsesNote":"Responses API 端点(Codex、o 系列)。","endpointModelsNote":"所有连接的提供商的模型目录。","endpointAudioNote":"音频转录(Deepgram、AssemblyAI)。","endpointImagesNote":"图像生成(NanoBanana)。","endpointRewriteChatNote":"为没有 /v1 的客户端重写帮助程序。","endpointRewriteResponsesNote":"重写不带 /v1 的响应帮助程序。","endpointRewriteModelsNote":"重写模型发现助手,无需 /v1。","mgmtProxiesListNote":"列出已保存的代理注册项(支持分页)。","mgmtProxiesCreateNote":"在注册表中创建可复用的代理项。","mgmtProxiesHealthNote":"基于代理日志获取每个已保存代理的 24 小时 / 滚动健康指标。","mgmtProxiesBulkAssignNote":"一次请求即可为多个 scope ID 统一分配或清除同一个代理。","mgmtAssignmentsListNote":"按 scope、scope_id 或 proxy_id 列出代理绑定关系。","mgmtAssignmentsUpdateNote":"为 global/provider/account/combo 作用域分配或清除代理。","mgmtLegacyMigrationNote":"将旧版 proxyConfig 映射导入为注册表绑定关系。","modelPrefixesDescriptionStart":"在模型名称之前使用提供商前缀可路由到特定提供商。示例:","modelPrefixesDescriptionEnd":"会被路由到 GitHub Copilot。","provider":"提供商","type":"类型","troubleshootingModelRouting":"如果客户端在模型路由上失败,请使用显式 provider/model(例如:gh/gpt-5.1-codex)。","troubleshootingAmbiguousModels":"如果您收到不明确的模型错误,请选择提供商前缀而不是裸模型 ID。","troubleshootingCodexFamily":"对于 GitHub Codex 系列模型,请保持模型名为 `gh/codex-model`;路由器会自动选择 `/responses`。","troubleshootingTestConnection":"在从 IDE 或外部客户端进行测试之前,请使用仪表板 > 提供商 > 测试连接。","troubleshootingCircuitBreaker":"如果提供商显示断路器已打开,请等待冷却或查看运行状况页面以了解详细信息。","troubleshootingOAuth":"对于 OAuth 提供商,如果 Token 过期,请重新认证,并检查提供商卡片上的状态指示器。","endpointSpeechNote":"语音生成(ElevenLabs、OpenAI TTS)。","endpointEmbeddingsNote":"文本嵌入生成(OpenAI、Cohere、Voyage)。"},"legal":{"privacyPolicy":"隐私政策","termsOfService":"服务条款","providerConfigurations":"提供商配置","apiKeys":"API 密钥","usageLogs":"使用日志","applicationSettings":"应用程序设置","viewExportAnalytics":"查看和导出使用情况分析","clearHistory":"随时清除使用记录","configureRetention":"配置日志保留策略","backupRestore":"备份和恢复您的数据库","privacyMetadataTitle":"隐私政策 | OmniRoute","privacyMetadataDescription":"OmniRoute AI API 代理路由器的隐私政策。","termsMetadataTitle":"服务条款 | OmniRoute","termsMetadataDescription":"OmniRoute AI API 代理路由器的服务条款。","backToHome":"返回首页","lastUpdated":"最后更新:{date}","policyLastUpdatedDate":"2026 年 2 月 13 日","listSeparator":"-","questionsVisit":"有问题吗?访问我们的","githubRepository":"GitHub 仓库","privacySection1Title":"1. 本地优先架构","privacySection1Text":"OmniRoute 是一款本地优先的应用。所有数据处理和存储都只发生在你的设备上,不存在集中式服务器收集你的信息。","privacySection2Title":"2. 我们存储的数据","privacyDataStoredIn":"以下数据存储在本地","privacyDataProviderConfigurationsDesc":"连接 URL、提供商类型和优先级设置","privacyDataApiKeysDesc":"已加密并存储在本地,用于与 AI 提供商进行身份验证","privacyDataUsageLogsDesc":"请求计数、令牌使用情况、模型名称、时间戳和响应时间","privacyDataApplicationSettingsDesc":"主题偏好、路由策略和组合配置","privacySection3Title":"3. 无遥测","privacySection3Text":"OmniRoute 不收集遥测、分析或崩溃报告。不会向我们或任何第三方发送数据。你的使用模式、API 调用和配置都会保持私密。","privacySection4Title":"4. 第三方 AI 提供商","privacySection4Text":"当你通过 OmniRoute 发起 API 调用时,请求会被转发到你配置的 AI 提供商(例如:OpenAI、Anthropic、Google)。这些提供商有各自的隐私政策,请查阅:","privacyOpenAiPolicy":"OpenAI 隐私政策","privacyAnthropicPolicy":"Anthropic 隐私政策","privacyGooglePolicy":"谷歌隐私政策","privacySection5Title":"5. 云同步(可选)","privacySection5Text":"如果您启用可选的云同步功能,提供商配置和 API 密钥可能会传输到配置的云端点。此功能默认处于禁用状态,需要明确选择加入。","privacySection6Title":"6. 日志记录","privacyLoggingIntro":"可以通过仪表板设置配置请求日志。您可以:","privacySection7Title":"7. 您的权利","privacySection7TextStart":"由于所有数据都存储在本地,因此您拥有完全的控制权。您可以随时删除您的数据,方法是删除","privacySection7TextEnd":"目录或使用仪表板中的数据库备份和恢复功能。","termsSection1Title":"1. 概述","termsSection1Text":"OmniRoute 是一款本地优先的 AI API 代理路由器,完全运行在你的设备上。它通过负载均衡、故障回退和用量跟踪,将请求路由到多个 AI 提供商。","termsSection2Title":"2. 用户的责任","termsResponsibilityApiKeys":"你需要自行负责管理自己的 API 密钥,以及第三方 AI 提供商(OpenAI、Anthropic、Google 等)的凭证。","termsResponsibilityCompliance":"你必须遵守通过 OmniRoute 访问的每个 AI 提供商的服务条款。","termsResponsibilitySecurity":"你需要负责本地 OmniRoute 安装的安全,包括设置密码和限制网络访问。","termsSection3Title":"3. 工作原理","termsSection3Text":"OmniRoute 充当中间代理。发送到 OmniRoute 的 API 调用会被转换后转发到你配置的 AI 提供商。除必要的协议转换外,OmniRoute 不会修改你的请求或响应内容。","termsSection4Title":"4. 数据处理","termsDataStoredLocally":"所有数据都保存在你本机上的 SQLite 数据库中。","termsNoTransmission":"除非你明确启用云同步功能,否则 OmniRoute 不会将任何数据传输到外部服务器。","termsDataLocationText":"使用日志、API 密钥和配置存储在","termsSection5Title":"5. 免责声明","termsSection5Text":"OmniRoute 按“原样”提供,不附带任何形式的保证。我们不对 API 使用成本、服务中断或数据丢失造成的任何损失负责。请始终为配置做好备份。","termsSection6Title":"6. 开源","termsSection6Text":"OmniRoute 是开源软件。您可以根据其许可条款自由检查、修改和分发它。"},"agents":{"title":"CLI 智能体","description":"发现系统中已安装的 CLI 智能体,并支持添加自定义智能体以便自动检测。","refresh":"刷新","installed":"已安装","notFound":"未找到","builtIn":"内置","custom":"自定义","remove":"移除","addCustomAgent":"添加自定义智能体","addCustomAgentDesc":"注册任意 CLI 工具用于检测,刷新时会自动扫描。","agentName":"智能体名称","binaryName":"可执行文件名","versionCommand":"版本命令","spawnArgs":"启动参数","addAgent":"添加智能体","scanning":"正在扫描系统中的 CLI 智能体...","opencodeIntegration":"OpenCode 集成","opencodeDetected":"已检测到 opencode {version}","opencodeDesc":"生成可直接使用的 {configFile},其中会填入你的 OmniRoute Base URL 和全部可用模型。将它放到项目根目录后运行 {command} 即可。","downloadConfig":"下载 {file}","downloaded":"已下载!","setupGuideTitle":"设置指南","openCliTools":"打开 CLI Tools","setupGuideDetectCliTitle":"检测已安装的 CLI","setupGuideDetectCliDesc":"安装或更新 CLI 后点击“刷新”,让 OmniRoute 重新扫描可执行文件和版本信息。","setupGuideCustomAgentTitle":"注册自定义可执行文件","setupGuideCustomAgentDesc":"如果你的 CLI 不在内置列表中,请使用“添加自定义智能体”,并填写可执行文件名与版本命令。","setupGuideCommandMissingTitle":"修复“command not found”","setupGuideCommandMissingDesc":"请确认 CLI 命令已存在于 PATH 中,重新打开一个终端会话后再次点击“刷新”。"},"autoCombo":{"title":"自动组合引擎","statusNormal":"正常","statusIncident":"事件模式","modePack":"模式包","providerScores":"提供商得分","noAutoCombo":"尚未配置自动组合。","excludedProviders":"已排除的提供商","noExclusions":"当前没有被排除的提供商。","factorQuota":"配额","factorHealth":"健康度","factorCost":"成本","factorLatency":"延迟","factorTaskFit":"任务匹配度","factorStability":"稳定性","factorTierPriority":"套餐优先级","factorTierPriorityDesc":"优先选择配额等级更高的账户(Ultra/Pro 高于 Free)","scoreFactorBreakdown":"评分因子","modePackShipFast":"快速交付","modePackCostSaver":"节省成本","modePackQualityFirst":"质量优先","modePackOfflineFriendly":"离线友好"},"templateNames":{"simple-chat":"简单对话","streaming":"流式响应","system-prompt":"系统提示词","thinking":"思考模式","tool-calling":"工具调用","multi-turn":"多轮对话"},"templateDescriptions":{"simple-chat":"带系统消息的基础对话模板","streaming":"用于流式响应的模板","system-prompt":"带自定义系统提示词的模板","thinking":"带推理/思考预算的模板","tool-calling":"用于工具/函数调用的模板","multi-turn":"用于多轮对话的模板"},"templatePayloads":{"simpleChat":{"system":"你是一名乐于助人的 AI 助手。","userGreeting":"你好!今天我可以帮你做些什么?"},"streaming":{"prompt":"写一个关于"},"systemPrompt":{"question":"生命的意义是什么?","systemInstruction":"请给出一个深思熟虑、带有哲学意味的回答。"},"thinking":{"question":"请解释量子计算"},"toolCalling":{"cityNameDescription":"需要查询天气的城市名称","toolDescription":"获取某个地点的当前天气","userWeather":"东京现在天气怎么样?"},"multiTurn":{"system":"你是一名乐于助人的助手。","assistantExample":"我很乐意帮助你处理这件事。","userInitial":"我需要帮助来处理","userFollowUp":"你可以再详细说明一下吗?"}}}'))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_i18n_messages_zh-CN_json_f4112d90._.js.map
|