{
  "common": {
    "save": "保存",
    "cancel": "取消",
    "delete": "删除",
    "loading": "正在加载...",
    "error": "发生错误",
    "success": "成功",
    "confirm": "你确定吗？",
    "refresh": "刷新",
    "close": "关闭",
    "add": "添加",
    "edit": "编辑",
    "search": "搜索",
    "back": "返回",
    "next": "下一页",
    "submit": "提交",
    "reset": "重置",
    "copy": "复制",
    "copied": "已复制！",
    "enabled": "启用",
    "disabled": "已禁用",
    "active": "启用中",
    "inactive": "不活跃",
    "noData": "无可用数据",
    "nothingHere": "暂无内容",
    "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": "否",
    "on": "开启",
    "off": "关闭",
    "warning": "警告",
    "note": "注意事项",
    "free": "免费",
    "skipToContent": "跳至内容",
    "maintenanceServerIssues": "服务器当前存在异常，部分功能可能暂时不可用。",
    "maintenanceServerUnreachable": "服务器暂时无法连接，正在重新连接...",
    "accept": "接受",
    "accountId": "账户 ID",
    "alias": "别名",
    "apiKeyId": "API 密钥 ID",
    "apiKeyName": "API 密钥名称",
    "apiKeySecret": "API 密钥密文",
    "authorization": "授权",
    "content-type": "内容类型",
    "content-length": "内容长度",
    "cookie": "Cookie",
    "file": "文件",
    "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": "重定向 URI",
    "idempotency-key": "幂等键",
    "error_description": "错误描述",
    "code": "代码",
    "compatible": "兼容",
    "chat-completions": "对话补全",
    "oauth": "OAuth",
    "auth_token": "认证令牌",
    "crypto": "加密",
    "hours": "小时",
    "selfsigned": "自签名",
    "proxy_id": "代理 ID",
    "proxyId": "代理 ID",
    "connectionId": "连接 ID",
    "resolveConnectionId": "解析连接 ID",
    "resolve_connection_id": "解析连接 ID",
    "scope_id": "作用域 ID",
    "scopeId": "作用域 ID",
    "jwtSecret": "JWT 密钥",
    "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 密钥",
    "http": "HTTP",
    "goToDashboard": "前往仪表板",
    "checkSystemStatus": "查看系统状态",
    "selectModel": "选择模型",
    "combos": "Combos",
    "noModelsFound": "未找到 Model",
    "clear": "清除",
    "done": "完成",
    "errorOccurred": "错误发生",
    "comboDeleted": "Combo 已删除",
    "hide": "隐藏",
    "creating": "正在创建",
    "comboCreated": "Combo 已创建",
    "swapFormats": "交换格式",
    "daysAgo": "天前",
    "retries": "重试次数",
    "errorDuringRestore": "错误期间恢复",
    "eventsAppearHint": "事件显示提示",
    "noLockouts": "无锁定",
    "webSearchDesc": "Web Search 功能说明",
    "audioProvidersHeading": "音频 Provider",
    "cloudAgentProviders": "云代理提供商",
    "minutesAgo": "分钟前",
    "a": "A",
    "liveAutoRefreshing": "实时自动刷新中",
    "webSearch": "Web Search",
    "anthropicPrefixPlaceholder": "Anthropic 前缀",
    "addModelToCombo": "添加模型到组合",
    "failedToLoad": "加载失败",
    "categoryMedia": "类别媒体",
    "enableCloud": "启用云端",
    "expirationBannerExpiringSoon": "过期横幅即将过期即将",
    "retry": "重试",
    "embeddings": "Embeddings",
    "errorCount": "错误数量",
    "backupReasonManual": "备份原因手动",
    "safeSearchModerate": "安全搜索中等",
    "activeLimiters": "活跃限制器",
    "a2aCardTitle": "A2A",
    "cloudWorkerUnreachable": "Cloud Worker 不可达",
    "testFailed": "测试失败",
    "compatibleBaseUrlHint": "填写兼容 API 的 Base URL。",
    "usageTracking": "使用量跟踪",
    "disableCloudTitle": "禁用云端",
    "noConnections": "无连接",
    "providerHealth": "提供商健康状态",
    "confirmDbImport": "确认DB导入",
    "notAvailableSymbol": "—",
    "backupsAvailable": "可用备份",
    "providerAuto": "自动提供商",
    "newProviderNamePlaceholder": "新的提供商名称",
    "a2aQuickStartStep2": "A2A快速开始步骤2",
    "ok": "确定",
    "available": "可用",
    "noBackupYet": "无备份暂无",
    "more": "更多",
    "noCompatibleYet": "无兼容暂无",
    "multiProvider": "多提供商",
    "repairEnvHint": "修复环境提示",
    "disablingCloud": "正在禁用 Cloud",
    "testBench": "测试台",
    "valid": "有效",
    "cloudBenefitShare": "共享 Cloud 访问能力",
    "mcpCardTitle": "MCP",
    "disableConfirm": "确认禁用？",
    "filters": "筛选器",
    "expirationBannerExpiredDesc": "过期横幅已过期说明",
    "saveComboDefaults": "保存组合默认值",
    "cloudConnectedVerified": "Cloud 连接已验证",
    "uptime": "运行时间",
    "compatibleProdPlaceholder": "兼容生产占位符",
    "fallbackChainsTitle": "后备链",
    "oauthLabel": "OAuth 标签",
    "a2aCardDescription": "通过 A2A 协议连接 Agent 工作流。",
    "okShort": "确定短标签",
    "maintenance": "维护",
    "formatConverter": "格式转换器",
    "zedImportNetworkError": "Zed 导入网络错误",
    "apiKeyLabel": "API key 标签",
    "noModelsForProvider": "此提供商没有可用模型",
    "mcpCardDescription": "通过 MCP 工具连接 Agent 和自动化流程。",
    "apiTypeLabel": "API 类型标签",
    "configuredProvidersLabel": "已配置 Provider 标签",
    "maxRetriesLabel": "最大重试次数标签",
    "title": "标题",
    "output": "输出",
    "prefixHint": "前缀提示",
    "skipWizard": "跳过向导",
    "failedCount": "失败数量",
    "confirmDbImportDesc": "确认DB导入说明",
    "entries": "条目",
    "until": "直到",
    "disableCombo": "禁用组合",
    "liveMonitorDescriptionPrefix": "实时显示请求流经 OmniRoute 时产生的事件。使用",
    "runningCount": "运行中数量",
    "noActiveConnectionsInGroup": "此分组中没有活跃连接",
    "savedSuccessfully": "保存成功",
    "systemStorage": "系统存储",
    "videoDesc": "视频说明",
    "maxResults": "最大结果数",
    "timeRangeMonth": "时间范围月",
    "testSummary": "测试摘要",
    "failedSetPassword": "设置密码失败",
    "audio": "音频",
    "restore": "恢复",
    "disableWarning": "禁用警告",
    "moderationsDesc": "审核说明",
    "providerHealthStatusAria": "提供商健康状态",
    "modelNamePlaceholder": "模型名称",
    "mcpQuickStartStep2": "MCP 快速开始步骤 2",
    "quickStart": "快速开始",
    "fullExportFailedWithError": "完整导出失败：{error}",
    "loadingBackups": "正在加载备份",
    "anthropicBaseUrlPlaceholder": "Anthropic Base URL",
    "description": "描述",
    "noProviderFound": "未找到提供商",
    "auto": "自动",
    "protocolsDescription": "配置并测试支持的协议端点。",
    "cloudSessionNote": "Cloud Session 提示",
    "advancedSettings": "高级设置",
    "defaultStrategy": "默认策略",
    "purgeExpiredLogs": "清理已过期日志",
    "justNow": "刚刚现在",
    "providerTestFailed": "提供商测试失败",
    "openaiBaseUrlPlaceholder": "OpenAI Base URL",
    "image": "图像",
    "failedCreateChain": "创建链失败",
    "importDatabase": "导入数据库",
    "allDataLocal": "全部数据本地",
    "sectionTitle": "分区标题",
    "failedToggle": "切换失败",
    "editCombo": "编辑 Combo",
    "testResults": "测试结果",
    "searchQuery": "搜索查询",
    "addCcCompatible": "添加 CC 兼容",
    "duplicate": "重复",
    "createCombo": "创建组合",
    "searchTypeWeb": "搜索类型：Web",
    "addChain": "添加链",
    "prefixLabel": "前缀标签",
    "listModelsDesc": "列出可用 Model。",
    "databaseSize": "数据库大小",
    "chainCreated": "链已创建",
    "providerTestTimeout": "提供商测试超时",
    "routingStrategy": "路由策略",
    "translateAction": "翻译操作",
    "exportFailed": "导出失败",
    "connectedVerificationPending": "连接验证待处理",
    "a2aQuickStartTitle": "A2A 快速开始",
    "couldNotTest": "无法测试",
    "testAllCompatible": "测试所有兼容项",
    "anthropicCompatibleName": "Anthropic 兼容名称",
    "disabling": "正在禁用",
    "failedEnable": "启用失败",
    "categoryUtility": "工具类别",
    "customUrlOptional": "自定义 URL（可选）",
    "localProviders": "本地 Provider",
    "comboNamePlaceholder": "Combo 名称",
    "memoryRss": "内存 RSS",
    "disableProvider": "禁用提供商",
    "welcomeDesc": "欢迎使用 OmniRoute。",
    "nameLabel": "名称标签",
    "allOperational": "全部运行正常",
    "backupNow": "备份现在",
    "providerMaxRetriesAria": "提供商最大重试次数",
    "textToSpeechDesc": "将文本转换为语音音频。",
    "machineId": "机器 ID",
    "globalProxy": "全局代理",
    "hitsMisses": "命中未命中",
    "testDesc": "运行连接测试以验证配置。",
    "chatDesc": "聊天说明",
    "importSuccess": "导入成功",
    "chat": "聊天",
    "a2aQuickStartStep1": "A2A快速开始步骤1",
    "importFailed": "导入失败",
    "inputPlaceholder": "输入内容...",
    "providerModelsTitle": "提供商模型",
    "lastBackup": "最近备份",
    "yourEndpoint": "你的 Endpoint",
    "autoDisableThresholdDesc": "触发自动禁用前允许的连续失败次数。",
    "rerankDesc": "重排说明",
    "modelsPathPlaceholder": "Model 路径",
    "noCombosYet": "暂无 Combo",
    "connectedVerificationPendingWithError": "已连接，验证待完成：{error}",
    "comboDefaultsGuideHint1": "配置 Combo 默认策略和目标。",
    "enableCloudTitle": "启用云端",
    "configuredProvidersHint": "仅显示已配置的 Provider。",
    "paused": "已暂停",
    "llmProviders": "LLM Provider",
    "enableCombo": "启用组合",
    "removeProviderOverrideAria": "移除提供商覆盖",
    "nodeVersion": "Node 版本",
    "openai": "Openai",
    "exportFailedWithError": "导出失败：{error}",
    "proxyConfigured": "代理已配置",
    "concurrencyPerModel": "每个模型并发数",
    "protocolTasksLabel": "协议任务标签",
    "oauthProviders": "Oauth Providers",
    "lockedCount": "已锁定数量",
    "deleteChainConfirm": "删除此后备链？",
    "recentTranslations": "最近翻译",
    "zedImportButton": "从 Zed 导入",
    "responsesDesc": "Responses API 兼容端点",
    "testedCount": "已测试数量",
    "providersCommaSeparatedPlaceholder": "以逗号分隔的 Provider",
    "signatureDefaults": "签名默认值",
    "errorCreating": "错误创建",
    "timeRangeYear": "时间范围年",
    "compatibleLabel": "兼容",
    "cloudDisabledSuccess": "云端已禁用",
    "deleteConfirm": "确认删除？",
    "check": "检查",
    "safeSearch": "安全搜索",
    "protocolLastActivity": "协议最近活动",
    "openMcpDashboard": "打开 MCP Dashboard",
    "testBenchTab": "测试台",
    "chatPathLabel": "聊天路径标签",
    "retryDelay": "重试延迟",
    "errorUpdating": "错误更新",
    "ideCliIntegrations": "IDE 与 CLI 集成",
    "imageGeneration": "图像生成",
    "apiKeyRequired": "API key 为必填项",
    "resetAllTitle": "全部重置",
    "connectionError": "连接错误",
    "modelName": "模型名称",
    "apiKeyForCheck": "用于检查的 API 密钥",
    "cloudRequestTimeout": "云端请求超时",
    "showConfiguredOnly": "显示已配置仅",
    "showFreeOnly": "仅免费",
    "addFirstProvider": "添加您的第一个提供商",
    "addFirstProviderDesc": "连接 AI 提供商以开始通过 OmniRoute 路由请求。您可以使用免费提供商、API 密钥或 OAuth 帐户。",
    "learnMore": "了解更多",
    "includeDomains": "包含域名",
    "promptCache": "提示缓存",
    "cloudConnected": "Cloud 已连接",
    "deleteChain": "删除链",
    "chatPathPlaceholder": "聊天路径占位符",
    "databasePath": "数据库路径",
    "usingLocalServer": "正在使用本地 Server",
    "globalComboConfig": "全局 Combo 配置",
    "backupFailed": "备份失败",
    "tabProtocols": "协议标签页",
    "continue": "继续",
    "categorySearch": "类别搜索",
    "rateLimitStatus": "速率限制状态",
    "repairEnvSuccess": "环境修复成功",
    "nameRequired": "名称必填",
    "country": "国家/地区",
    "trackMetricsDesc": "跟踪请求、延迟和成本指标。",
    "durationSecondsShort": "时长秒短标签",
    "formatConverterDescription": "在不同 API 格式之间转换请求。",
    "cloudBenefitAccess": "访问 Cloud 能力",
    "maxRetries": "最大重试次数",
    "queueTimeout": "队列超时",
    "addProvider": "添加提供商",
    "realtime": "实时",
    "totalTranslations": "总计翻译",
    "protocolActiveStreamsLabel": "协议活跃 Stream",
    "repairEnv": "修复环境",
    "modelsCount": "Model 数量",
    "viewBackups": "查看备份",
    "responsesApi": "Responses API",
    "copyComboName": "复制 Combo 名称",
    "failures": "失败",
    "failedUpdate": "更新失败",
    "imageDesc": "图像说明",
    "failedCreate": "创建失败",
    "remainingOfLimit": "剩余Of限制",
    "protocolsTitle": "协议",
    "expirationBannerExpiringSoonDesc": "过期横幅即将过期即将说明",
    "source": "来源",
    "failed": "失败",
    "apiKeyMgmt": "API key 管理",
    "mcpQuickStartStep1": "MCP 快速开始步骤 1",
    "runTest": "运行测试",
    "loadingFallbackChains": "正在加载后备链",
    "healthy": "健康",
    "version": "版本",
    "saveBlockWeighted": "保存 Block Weighted",
    "zedImportNone": "没有可从 Zed 导入的内容",
    "noBackupsYet": "无备份暂无",
    "noGlobalProxy": "无全局代理",
    "noModels": "无 Model",
    "stickyLimit": "粘性限制",
    "passedCount": "通过数量",
    "zedImportFailed": "Zed 导入失败",
    "saving": "正在保存",
    "testAll": "全部测试",
    "globalProxyDesc": "全局代理说明",
    "latencyP99": "延迟P99",
    "connectingToCloud": "正在连接云端",
    "responses": "Responses",
    "errorDeleting": "错误删除",
    "openaiPrefixPlaceholder": "OpenAI 前缀",
    "enterPassword": "输入密码",
    "openA2aDashboard": "打开 A2A Dashboard",
    "enableProvider": "启用提供商",
    "modeTest": "测试模式",
    "failedDeleteChain": "删除链失败",
    "providerDesc": "提供商描述",
    "templateLoadHint": "选择模板以快速填充配置。",
    "lastFailure": "最近失败",
    "moveDown": "移动下移",
    "providerLabel": "提供商标签",
    "clearCacheFailed": "清除缓存失败",
    "imagesGenerations": "图像生成",
    "repairEnvWorking": "修复环境处理中",
    "millisecondsShort": "毫秒短标签",
    "globalLabel": "全局标签",
    "failuresPlural": "失败复数",
    "completionsLegacyDesc": "旧版 Completions API 兼容端点。",
    "searchProviders": "搜索 Provider",
    "chatPathHint": "聊天路径提示",
    "defaultStrategyDesc": "默认策略说明",
    "latencyP95": "延迟P95",
    "textToSpeech": "文本转语音",
    "searchType": "搜索类型",
    "messages": "Messages",
    "aggregatorsGateways": "聚合器与网关",
    "comboStrategyAria": "Combo 策略",
    "input": "输入",
    "testingConnection": "正在测试连接",
    "excludeDomains": "排除域名",
    "webCookieProviders": "Web Cookie Providers",
    "allTestsPassed": "全部测试通过",
    "openaiCompatibleName": "OpenAI 兼容名称",
    "warningCostOptimizedPartialPricing": "部分模型缺少定价，成本优化结果可能不完整。",
    "comboDefaultsGuideTitle": "组合默认值指南",
    "hoursAgo": "小时前",
    "notAvailable": "不可用",
    "skipAndContinue": "跳过并继续",
    "moderations": "审核",
    "proxyConfig": "代理配置",
    "upstreamProxyProviders": "上游代理 Provider",
    "exportAll": "导出全部",
    "queuedCount": "排队中数量",
    "resetAll": "重置全部",
    "noTranslations": "无翻译",
    "avgLatency": "平均延迟",
    "throttleStatus": "限流状态",
    "backupRetentionDesc": "备份保留说明",
    "noCBData": "无CB数据",
    "chainDeleted": "链已删除",
    "timeLeft": "时间剩余",
    "expirationBannerExpired": "过期横幅已过期",
    "language": "语言",
    "invalidFileType": "无效文件类型",
    "monitoredProviders": "监控中的 Provider",
    "errors": "错误",
    "heap": "堆内存",
    "chatCompletions": "Chat Completions",
    "exampleTemplatesHint": "示例模板提示",
    "retryDelayLabel": "重试延迟标签",
    "audioTranscription": "音频转写",
    "fallbackChainsDesc": "定义每个模型的提供商后备顺序。",
    "exampleTemplates": "示例模板",
    "connectionsCount": "连接数量",
    "modelsPathLabel": "Model 路径",
    "activeProvidersHint": "当前正在处理请求的 Provider。",
    "activeLockouts": "活跃锁定",
    "invalid": "无效",
    "skipPassword": "跳过密码",
    "moveUp": "移动上移",
    "timeRange": "时间范围",
    "stickyLimitDesc": "粘性限制说明",
    "cloudBenefitEdge": "边缘 Cloud 能力",
    "custom": "自定义",
    "verifying": "正在验证",
    "baseUrlLabel": "Base URL 标签",
    "setPassword": "设置密码",
    "safeSearchStrict": "安全搜索严格",
    "noChangesSinceBackup": "无变更自从备份",
    "modelsPathHint": "用于拉取 Model 列表的路径。",
    "audioTranscriptions": "音频转写",
    "testCombo": "测试组合",
    "mcpQuickStartTitle": "MCP 快速开始",
    "comboUpdated": "Combo 已更新",
    "weighted": "加权",
    "providers": "Provider",
    "ccCompatibleLabel": "CC 兼容",
    "noFallbackChainsDesc": "创建一条链路，用于定义某个模型的提供商回退顺序。",
    "yesImport": "确认导入",
    "lockoutsAutoRefreshHint": "锁定自动刷新提示",
    "tabApis": "API 标签页",
    "sectionDescription": "分区描述",
    "filter": "筛选",
    "purgeLogsFailed": "清理日志失败",
    "latency": "延迟",
    "testAllOAuth": "测试所有 OAuth",
    "mcpQuickStartStep3": "MCP 快速开始步骤 3",
    "repairEnvFailed": "环境修复失败",
    "zedImportHint": "从 Zed 配置中导入 Provider。",
    "modelsAcrossEndpoints": "跨 Endpoint 的 Model",
    "autoDisableBannedAccounts": "自动禁用被封禁账户",
    "securityDesc": "安全说明",
    "listModels": "列出 Model",
    "backupRestore": "备份恢复",
    "target": "目标",
    "zedImportSuccess": "Zed 导入成功",
    "lastHeaderUpdate": "上次请求头更新",
    "categoryCore": "类别核心",
    "noFallbackChains": "无后备链",
    "noSearchProviders": "无搜索 Provider",
    "autoBalance": "自动均衡",
    "noModelsYet": "暂无 Model",
    "signatureFamily": "签名族",
    "externalApiCalls": "外部 API 调用",
    "providerOverridesDesc": "覆盖每个提供商的超时和重试设置。",
    "signatureTool": "签名工具",
    "connectionFailed": "连接失败",
    "activeLimitersPlural": "活跃限制器复数",
    "doneDesc": "完成说明",
    "down": "下移",
    "noDataYet": "无数据暂无",
    "activeProviders": "活跃 Provider",
    "nameInvalid": "名称无效",
    "skip": "跳过",
    "createChain": "创建链",
    "audioSpeech": "语音合成",
    "cacheCleared": "缓存已清除",
    "searchTypeNews": "搜索类型：News",
    "durationMillisecondsShort": "时长毫秒短标签",
    "addOpenAICompatible": "添加打开Ai兼容",
    "chatTesterTab": "聊天测试标签页",
    "queued": "排队中",
    "domainPlaceholder": "域名占位符",
    "durationMinutesShort": "时长分钟短标签",
    "verifyingConnection": "正在验证连接",
    "imageProviders": "图像 Provider",
    "protocolToolsLabel": "协议工具标签",
    "queryPlaceholder": "查询占位符",
    "videoGeneration": "视频生成",
    "timeRangeWeek": "时间范围：周",
    "limitExhausted": "限额已耗尽",
    "failedDisable": "禁用失败",
    "inMemoryNote": "数据仅保存在内存中。",
    "compatibleHint": "兼容提示",
    "errorShort": "错误短标签",
    "advancedHint": "显示高级选项。",
    "restoreFailed": "恢复失败",
    "searchProvidersHeading": "搜索 Provider",
    "comboName": "Combo 名称",
    "autoDisableDescription": "当检测到永久封禁信号时自动禁用账户。",
    "embeddingsDesc": "Embeddings API 兼容端点。",
    "operational": "运行正常",
    "testAllApiKey": "测试所有 API 密钥",
    "backupCreated": "备份已创建",
    "errorDuringImport": "错误期间导入",
    "comboDefaultsGuideHint2": "这些默认值会在新建 Combo 时使用。",
    "connecting": "正在连接",
    "fillModelAndProviders": "请填写模型和提供商",
    "syncing": "正在同步",
    "resetConfirm": "重置确认",
    "trackMetrics": "跟踪指标",
    "successful": "成功",
    "recovering": "正在恢复",
    "autoDisableThreshold": "自动禁用阈值",
    "anthropic": "Anthropic",
    "syncingData": "正在同步数据",
    "cloudBenefitPorts": "通过 Cloud 暴露端口",
    "compatibleProviders": "兼容 Provider",
    "freeTierProviders": "免费层级提供商",
    "freeTierLabel": "提供免费套餐",
    "freeTierProvidersDesc": "提供免费套餐的提供商 — 有些需要 API 密钥注册，有些则根本不需要凭据。",
    "clearCache": "清除缓存",
    "reqs": "请求数",
    "addAnthropicCompatible": "添加 Anthropic 兼容 Provider",
    "apiKeyProviders": "API key Provider",
    "tabsAria": "标签页",
    "resetting": "正在重置",
    "millisecondsAbbr": "毫秒缩写",
    "backupReasonPreRestore": "恢复前备份",
    "disableCloud": "禁用云端",
    "newProviderNameAria": "新的提供商名称",
    "passwordsMismatch": "密码不匹配",
    "a2aQuickStartStep3": "A2A快速开始步骤3",
    "liveMonitorDescriptionSuffix": "或外部 API 调用来生成事件。",
    "failedAddProvider": "添加提供商失败",
    "addAtLeastOneProvider": "至少添加一个提供商",
    "reasonSeparator": "原因分隔符",
    "zedImporting": "正在从 Zed 导入",
    "confirmPasswordPlaceholder": "确认密码占位符",
    "whatYouGet": "你将获得",
    "signatureSession": "签名 Session",
    "errorCountNoCode": "无代码错误数",
    "testing": "正在测试",
    "providersCommaSeparated": "以逗号分隔的 Provider",
    "exportDatabase": "导出数据库",
    "hitRate": "命中率",
    "completionsLegacy": "Completions 旧版",
    "removeModel": "移除模型",
    "timeRangeDay": "时间范围：天",
    "cloudRequestFailed": "云端请求失败",
    "updatedAt": "更新时间",
    "monitoredProvidersHint": "选择需要监控的 Provider。",
    "connectionSuccessful": "连接成功",
    "latencyP50": "延迟P50",
    "logsDeleted": "日志已删除",
    "chatTester": "聊天测试器",
    "safeSearchOff": "Safe Search 关闭",
    "nameHint": "名称提示",
    "debugToggle": "调试开关",
    "embedding": "Embedding",
    "issuesLabel": "问题标签",
    "optionAny": "任意选项",
    "maxNestingDepth": "最大嵌套深度",
    "rerank": "Rerank",
    "checking": "正在检查",
    "getStarted": "开始使用",
    "restoreSuccess": "恢复成功",
    "issuesDetected": "检测到问题",
    "signatureCache": "签名缓存",
    "modelLockouts": "模型锁定",
    "usingCloudProxy": "正在使用 Cloud 代理",
    "loadingHealth": "正在加载健康状态",
    "providerOverrides": "提供商覆盖",
    "audioTranscriptionDesc": "音频转写说明",
    "learnedFromHeaders": "从响应头学习",
    "totalRequests": "总计请求",
    "cloudUnstableNote": "Cloud 连接不稳定，部分功能可能受影响。",
    "gamificationAdmin": "游戏化管理员",
    "monitorAnomaliesAndHealth": "监控异常和系统健康状况",
    "flaggedAnomalies": "标记的异常",
    "noAnomaliesDetected": "未检测到异常情况",
    "apiKey": "API密钥",
    "xpLastHour": "XP（1 小时）",
    "zScore": "Z 分数",
    "tokensCommunityServers": "社区服务器",
    "tokensServerNamePlaceholder": "服务器名称",
    "tokensApiKeyPlaceholder": "API密钥",
    "tokensTokenBalance": "代币余额",
    "tokensSendTokens": "发送代币",
    "tokensRecipientApiKeyId": "接收者 API 密钥 ID",
    "tokensRecipientApiKeyIdPlaceholder": "输入收件人 API 密钥 ID",
    "tokensReasonOptional": "原因（可选）",
    "tokensReasonPlaceholder": "例如奖金，奖励",
    "tokensTransactionHistory": "交易记录",
    "tokensNoTransactionsYet": "还没有交易",
    "tokensInviteCodes": "邀请码",
    "tokensMaxUses": "最大使用次数",
    "tokensRedeemCode": "兑换代码",
    "tokensRedeemCodePlaceholder": "输入邀请码",
    "tokensYourActiveInvites": "您的有效邀请",
    "tierCoverageTitle": "层级覆盖范围",
    "tierCoverageSubtitle": "每个后备层配置的提供程序",
    "batchDetailCopyId": "复制身份证件",
    "batchDetailClose": "关闭",
    "batchDetailEndpoint": "端点",
    "batchDetailModel": "型号",
    "batchDetailWindow": "窗户",
    "batchDetailCreated": "已创建",
    "providerTopologyEmpty": "尚未连接提供商",
    "badgeToastUnlocked": "徽章已解锁！",
    "batchListSearchPlaceholder": "按 ID、端点、型号搜索...",
    "batchListDeleteAllCompletedTitle": "删除所有已完成的批次",
    "batchListBatchesTable": "批次",
    "changelogViewerLoading": "正在从 GitHub 加载变更日志...",
    "profileLoading": "正在加载个人资料...",
    "profileHowToEarn": "如何赚取",
    "bootstrapBannerDismiss": "解雇",
    "batchListDeleteBatchTitle": "删除批次及其文件",
    "leaderboardYourRank": "你的等级",
    "leaderboardLoading": "正在加载排行榜...",
    "batchFileDetailCopyId": "复制身份证件",
    "batchFileDetailClose": "关闭",
    "batchFileDetailFailedToLoad": "无法加载文件内容",
    "batchFilesListSearchPlaceholder": "按 ID 或文件名搜索...",
    "batchFilesListFilesTable": "文件",
    "batchPageLoadingMore": "加载更多...",
    "recommended": "推荐",
    "understand": "我明白",
    "batchConceptTitle": "Batch processing",
    "batchConceptSubtitle": "Process thousands of requests asynchronously at ~50% of the cost (24h window). Ideal for evaluations, classification, and embeddings.",
    "batchConceptHowItWorks": "How it works",
    "batchConceptBenefit50pct": "50% discount on input + output tokens",
    "batchConceptAsync24h": "Async with a 24h completion window",
    "batchConceptUseCases": "Best for bulk classification, evaluations, and embeddings",
    "filesConceptTitle": "Batch files",
    "filesConceptSubtitle": "JSONL files used by batches: input requests, results, and errors.",
    "filesConceptInput": "Input — your JSONL with one request per line",
    "filesConceptOutput": "Output — results from completed requests",
    "filesConceptError": "Errors — requests that failed",
    "filesConceptRetention": "Retention: 30 days by default (29 days on Anthropic)",
    "wizardTitle": "New batch",
    "wizardClose": "Close",
    "wizardNext": "Next",
    "wizardBack": "Back",
    "wizardCancel": "Cancel",
    "wizardCreate": "Create batch",
    "wizardCreating": "Creating…",
    "wizardStep1Destination": "Destination",
    "wizardStep2Input": "Input",
    "wizardStep3Validate": "Validate",
    "wizardStep4Cost": "Cost & create",
    "wizardProviderLabel": "Provider",
    "wizardEndpointLabel": "Endpoint",
    "wizardModelLabel": "Model",
    "wizardInputKindJsonl": "JSONL",
    "wizardInputKindCsv": "CSV (we'll convert)",
    "wizardDropOrPick": "Drop a file or click to pick",
    "wizardCsvMappingTitle": "Map CSV columns → request fields",
    "wizardCsvMappingAddField": "Add field",
    "wizardValidationOk": "All lines valid",
    "wizardValidationErrors": "Validation errors",
    "wizardValidationPreview": "Preview (first 5 requests)",
    "wizardValidationSamplingNote": "File is large — validated by sampling (first 1000 + last 100 lines). Full validation runs server-side.",
    "wizardCostSync": "Sync cost",
    "wizardCostBatch": "Batch cost (-50%)",
    "wizardCostSavings": "Savings",
    "wizardCostEstimatedNotice": "Estimated cost — real billing may vary.",
    "wizardErrorUpload": "Failed to upload file. Try again.",
    "wizardErrorCreate": "Failed to create batch. Try again.",
    "wizardEmptyProviders": "Connect a provider with batch support (OpenAI, Anthropic, or Gemini) to create a batch.",
    "uploadModalTitle": "Upload batch file",
    "uploadModalDropOrPick": "Drop a .jsonl file or click to pick",
    "uploadModalUpload": "Upload",
    "uploadModalCancel": "Cancel",
    "uploadModalError": "Upload failed. Try again.",
    "uploadModalSuccess": "Uploaded",
    "uploadModalSizeLimit": "Max 512 MB",
    "batchListNewButton": "New batch",
    "batchListAutoRefresh": "Auto-refresh 30s",
    "batchListCostColumn": "Cost",
    "batchActionCancel": "Cancel",
    "batchActionDownloadOutput": "Download output",
    "batchActionDownloadErrors": "Download errors",
    "batchActionRetry": "Retry failed",
    "batchActionRetryConfirm": "Retry {n} failed request(s)? Final cost depends on actual tokens consumed.",
    "expirationBadgeCritical": "Critical",
    "expirationBadgeWarning": "Soon",
    "expirationBadgeNormal": "Pending",
    "expirationBadgeExpired": "Expired",
    "filesListUploadButton": "Upload",
    "filesListUsedByColumn": "Used by",
    "filesListUsedByNone": "None",
    "filesListUsedByRoleInput": "input",
    "filesListUsedByRoleOutput": "output",
    "filesListUsedByRoleError": "error",
    "filesListSizeColumn": "Size",
    "batchListProgressPartial": "(partial)",
    "batchListProviderColumn": "Provider",
    "batchListProviderUnknown": "—",
    "batchListProviderOther": "Other",
    "batchListTitle": "Batches",
    "batchListCount": "{count} batches",
    "batchListRemovingCompleted": "Removing…",
    "batchListRemoveCompleted": "Remove completed",
    "batchListTableStatus": "Status",
    "batchListTableId": "ID",
    "batchListTableEndpoint": "Endpoint",
    "batchListTableModel": "Model",
    "batchListTableProgress": "Progress",
    "batchListTableCreated": "Created",
    "batchListTableExpires": "Expires",
    "batchListLoading": "Loading…",
    "batchListEmpty": "No batches found",
    "batchListValidating": "Validating…",
    "batchStatusAll": "All statuses",
    "batchStatusInProgress": "In progress",
    "batchStatusValidating": "Validating",
    "batchStatusFinalizing": "Finalizing",
    "batchStatusCompleted": "Completed",
    "batchStatusFailed": "Failed",
    "batchStatusCancelled": "Cancelled",
    "batchStatusCancelling": "Cancelling",
    "batchStatusExpired": "Expired",
    "batchStatusCompletedWithFailures": "completed with failures",
    "batchStatusInProgressWithFailures": "in progress (with failures)",
    "batchStatusFinalizingWithFailures": "finalizing (with failures)",
    "batchStatusCancelledWithFailures": "cancelled with failures",
    "batchStatusExpiredWithFailures": "expired (partial)",
    "wizardCostEstimating": "Estimating cost…",
    "wizardCostRequests": "Requests",
    "wizardCostInputTok": "input tok",
    "wizardCostOutputTok": "output tok",
    "wizardCostWindow": "Window",
    "wizardDestinationSelectProvider": "Select a provider…",
    "wizardDestinationSelectModel": "Select a model…",
    "wizardDestinationConnectProvider": "Connect a provider",
    "batchListBatchCreated": "Batch {id} created — refreshing list…",
    "batchListBatchCreatedDismiss": "Dismiss",
    "batchListRefreshing": "Refreshing…",
    "batchListRefresh": "Refresh",
    "uploadFileModalRemove": "Remove",
    "uploadFileModalUploading": "Uploading…",
    "wizardInputReading": "Reading file…",
    "wizardInputReady": "Ready",
    "wizardInputLargeFileLabel": "Large file — sampling validation",
    "wizardInputCsvJsonlReady": "JSONL generated — ready to validate.",
    "wizardInputLargeFileWarning": "Large file detected — validation runs by sampling (first 5 MB + last 100 KB). Full validation happens server-side.",
    "wizardCostWindow24h": "24h completion window",
    "wizardValidationFieldsOk": "required fields valid",
    "filesListDelete": "Delete",
    "filesListDownload": "Download",
    "batchDetailActionCancel": "Cancel batch",
    "batchDetailActionRetry": "Retry failed requests",
    "batchDetailCancelling": "Cancelling…",
    "batchDetailRetrying": "Preparing retry…",
    "batchDetailCancelConfirm": "Cancel this batch? In-progress requests will stop.",
    "batchActionCancelError": "Failed to cancel batch. Try again.",
    "batchActionRetryError": "Failed to retry failed requests. Try again.",
    "batchConceptRetentionNote": "Results and error files are retained for 30 days (Anthropic: 29 days)"
  },
  "sidebar": {
    "home": "首页",
    "dashboard": "仪表板",
    "providers": "提供商",
    "combos": "组合",
    "usage": "用量",
    "analytics": "分析",
    "costs": "成本",
    "health": "健康",
    "proxy": "代理",
    "limits": "限制与配额",
    "cliTools": "CLI 工具",
    "media": "媒体",
    "settings": "设置",
    "translator": "翻译器",
    "playground": "演练场",
    "searchTools": "搜索工具",
    "agents": "智能体",
    "cloudAgents": "云代理",
    "memory": "记忆",
    "skills": "技能",
    "omniSkills": "全方位技能",
    "agentSkills": "代理技能",
    "docs": "文档",
    "issues": "问题反馈",
    "endpoints": "端点",
    "endpointsSubtitle": "您的 AI 连接 URL",
    "apiManager": "API 管理",
    "apiManagerSubtitle": "管理 API 密钥和访问",
    "embeddedServices": "内嵌服务",
    "embeddedServicesSubtitle": "管理本地代理服务",
    "logs": "日志",
    "webhooks": "Webhook",
    "webhooksSubtitle": "获取事件通知",
    "combosSubtitle": "用于故障转移的组提供程序",
    "batchSubtitle": "处理多个请求",
    "contextCavemanSubtitle": "迅速压缩",
    "contextRtkSubtitle": "输出滤波",
    "auditLog": "审计日志",
    "shutdown": "停止服务",
    "restart": "重启服务",
    "shutdownConfirm": "确定要停止 OmniRoute 吗？",
    "restartConfirm": "确定要重启 OmniRoute 吗？",
    "version": "v{version}",
    "debug": "调试",
    "system": "系统",
    "help": "帮助",
    "primarySection": "主导航",
    "cliSection": "CLI",
    "debugSection": "调试",
    "systemSection": "系统",
    "helpSection": "帮助",
    "serverDisconnected": "服务器已断开连接",
    "serverDisconnectedMsg": "代理服务器已停止，或正在重启。",
    "expandSidebar": "展开侧边栏",
    "collapseSidebar": "收起侧边栏",
    "themes": "主题",
    "presetColors": "热门配色",
    "createTheme": "创建主题",
    "chooseColor": "选择一种颜色",
    "themeCoral": "珊瑚",
    "themeBlue": "蓝色",
    "themeRed": "红色",
    "themeGreen": "绿色",
    "themeViolet": "紫罗兰",
    "themeOrange": "橙色",
    "themeCyan": "青色",
    "cliToolsShort": "工具",
    "cache": "缓存",
    "cacheShort": "缓存",
    "batch": "批量任务",
    "themeSystem": "主题系统",
    "whitelabelingDesc": "自定义品牌展示与主题外观。",
    "switchThemes": "切换主题",
    "themeAccentDesc": "选择用于按钮、链接和高亮状态的强调色。",
    "uploadFavicon": "上传 Favicon",
    "themeDark": "深色主题",
    "customLogoDesc": "上传用于侧边栏和登录页的自定义 Logo。",
    "sidebarVisibilityToggle": "侧边栏可见性开关",
    "themeAccent": "主题强调色",
    "resetFavicon": "重置 Favicon",
    "whitelabeling": "白标",
    "darkMode": "深色模式",
    "uploadLogo": "上传 Logo",
    "themeLight": "浅色主题",
    "appName": "应用名称",
    "appNameDesc": "设置在界面和浏览器标题中显示的名称。",
    "resetLogo": "重置 Logo",
    "customFavicon": "自定义 Favicon",
    "hideHealthLogs": "隐藏健康检查日志",
    "customLogo": "自定义 Logo",
    "appearance": "外观",
    "themeSelectionAria": "主题选择",
    "themeCreate": "创建主题",
    "customFaviconDesc": "上传用于浏览器标签页的自定义 Favicon。",
    "logoPreview": "Logo 预览",
    "themeCustom": "自定义主题",
    "hideHealthLogsDesc": "隐藏健康检查日志说明",
    "faviconPreview": "Favicon 预览",
    "changelog": "更新日志",
    "contextSection": "上下文与缓存",
    "contextCaveman": "Caveman",
    "contextRtk": "RTK",
    "contextCombos": "引擎组合",
    "routingSection": "Routing",
    "protocolsSection": "Protocols",
    "agentsAiSection": "Agents & AI",
    "cacheContextSection": "Cache & Context",
    "analyticsSection": "Analytics",
    "costsSection": "Costs",
    "monitoringSection": "Monitoring",
    "auditSecuritySection": "Audit & Security",
    "devtoolsSection": "Dev Tools",
    "configurationSection": "Configuration",
    "aiFeaturesSection": "AI Features",
    "mcp": "MCP",
    "a2a": "A2A",
    "apiEndpoints": "API Endpoints",
    "batchFiles": "Files",
    "analyticsEvals": "Evals",
    "analyticsSearch": "Search",
    "analyticsUtilization": "Utilization",
    "analyticsComboHealth": "Combo Health",
    "analyticsCompression": "Compression",
    "costsBudget": "Budget",
    "costsQuotaShare": "Quota Sharing",
    "costsPricing": "Pricing",
    "logsProxy": "Proxy Logs",
    "logsConsole": "Console",
    "logsActivity": "Activity",
    "auditMcp": "MCP Audit",
    "auditA2a": "A2A审核",
    "settingsGeneral": "General",
    "settingsAppearance": "Appearance",
    "settingsAi": "AI Settings",
    "settingsSecurity": "Security",
    "settingsFeatureFlags": "功能标志",
    "settingsAuthz": "授权",
    "settingsRouting": "Routing",
    "settingsResilience": "Resilience",
    "settingsAdvanced": "Advanced",
    "omniProxySection": "OmniProxy",
    "quotaTracker": "Provider Quota",
    "providerQuota": "Provider Quota",
    "runtime": "Runtime",
    "consoleLogs": "Console Logs",
    "globalRouting": "Global Routing",
    "mitmProxy": "MITM Proxy",
    "oneProxy": "1Proxy",
    "agenticFeaturesSection": "Agentic Features",
    "otherFeaturesSection": "Other Features",
    "compressionContextGroup": "Compression Context",
    "toolsGroup": "Tools",
    "integrationsGroup": "Integrations",
    "proxyGroup": "Proxy",
    "costsParametersGroup": "Costs Parameters",
    "auditGroup": "Audit",
    "batchGroup": "Batch",
    "homeSubtitle": "Dashboard overview",
    "providersSubtitle": "Manage AI providers",
    "quotaTrackerSubtitle": "Track usage limits",
    "providerQuotaSubtitle": "Track provider usage limits",
    "runtimeSubtitle": "Realtime resilience & sessions",
    "contextCombosSubtitle": "Combine compression engines",
    "cliToolsSubtitle": "Configure CLI runtimes",
    "agentsSubtitle": "Manage local agents",
    "cloudAgentsSubtitle": "Manage cloud-based agents",
    "apiEndpointsSubtitle": "Expose custom endpoints",
    "proxySubtitle": "HTTP proxy settings",
    "mitmProxySubtitle": "MITM interception",
    "oneProxySubtitle": "Public proxy gateway",
    "leaderboard": "Leaderboard",
    "profile": "Profile",
    "tokens": "Tokens",
    "leaderboardSubtitle": "Rankings and achievements",
    "profileSubtitle": "Account and preferences",
    "tokensSubtitle": "Token usage and budgets",
    "usageSubtitle": "Traffic and usage stats",
    "analyticsComboHealthSubtitle": "Combo target reliability",
    "analyticsUtilizationSubtitle": "Provider utilization",
    "costsSubtitle": "Spend breakdown",
    "cacheSubtitle": "Cache hit rates",
    "analyticsCompressionSubtitle": "Token savings stats",
    "analyticsSearchSubtitle": "Search tool analytics",
    "analyticsEvalsSubtitle": "Eval suite results",
    "logsSubtitle": "Application logs",
    "logsProxySubtitle": "Proxy traffic logs",
    "consoleLogsSubtitle": "Console output",
    "logsActivitySubtitle": "User activity log",
    "healthSubtitle": "System health check",
    "costsPricingSubtitle": "Per-model pricing rules",
    "costsBudgetSubtitle": "Budget limits",
    "costsQuotaShareSubtitle": "Share provider quotas across keys",
    "auditLogSubtitle": "Authorization audit",
    "auditMcpSubtitle": "MCP server audit",
    "auditA2aSubtitle": "A2A protocol audit",
    "translatorSubtitle": "Format conversion",
    "playgroundSubtitle": "Test prompts live",
    "searchToolsSubtitle": "Search tool registry",
    "memorySubtitle": "Persistent agent memory",
    "omniSkillsSubtitle": "Sandbox skill registry",
    "agentSkillsSubtitle": "A2A skill registry",
    "mcpSubtitle": "MCP server controls",
    "a2aSubtitle": "A2A protocol server",
    "mediaSubtitle": "Cached media files",
    "batchFilesSubtitle": "Batch input/output files",
    "settingsSubtitle": "All settings",
    "settingsGeneralSubtitle": "App basics",
    "settingsAppearanceSubtitle": "Theme and layout",
    "settingsAiSubtitle": "AI behavior defaults",
    "globalRoutingSubtitle": "Global routing rules",
    "settingsResilienceSubtitle": "Retries and breakers",
    "settingsAdvancedSubtitle": "Power user options",
    "settingsSecuritySubtitle": "Auth and encryption",
    "settingsFeatureFlagsSubtitle": "切换系统功能",
    "settingsSidebar": "侧边栏",
    "settingsSidebarSubtitle": "自定义侧边栏布局",
    "settingsAuthzSubtitle": "路由清单与绕过策略",
    "docsSubtitle": "Documentation",
    "issuesSubtitle": "Report a bug",
    "changelogSubtitle": "Release notes",
    "costsQuotaPlans": "计划与配额",
    "costsQuotaPlansSubtitle": "按提供商配置计划",
    "activity": "活动",
    "activitySubtitle": "近期事件的友好动态",
    "logsGroup": "日志",
    "systemGroup": "系统",
    "costsOverview": "概述",
    "costsOverviewSubtitle": "综合成本分析",
    "agentBridge": "代理桥接",
    "agentBridgeSubtitle": "拦截 IDE 代理流量",
    "trafficInspector": "流量检查器",
    "trafficInspectorSubtitle": "监控 LLM 调用 + 调试任何 HTTPS 流量",
    "cliCode": "CLI 代码的",
    "cliCodeSubtitle": "指向 OmniRoute 的代码工具",
    "cliAgents": "CLI 代理",
    "cliAgentsSubtitle": "自主 CLI 代理",
    "acpAgents": "ACP 代理",
    "acpAgentsSubtitle": "由 OmniRoute 生成的 CLI"
  },
  "webhooks": {
    "title": "Webhook",
    "description": "配置系统事件的 HTTP 回调。",
    "configuredWebhooks": "已配置的 Webhook",
    "configuredWebhooksDesc": "管理投递端点、订阅事件、状态和测试发送。",
    "addWebhook": "添加 Webhook",
    "editWebhook": "编辑 Webhook",
    "name": "名称",
    "namePlaceholder": "生产监控",
    "unnamedWebhook": "未命名 Webhook",
    "url": "端点 URL",
    "events": "事件",
    "allEvents": "所有事件",
    "secret": "密钥",
    "secretPlaceholder": "留空将自动生成密钥",
    "secretEditPlaceholder": "留空以保留当前密钥",
    "status": "状态",
    "active": "活动",
    "inactive": "未活动",
    "errored": "出错",
    "total": "总计",
    "lastTriggered": "上次触发",
    "actions": "操作",
    "enabled": "已启用",
    "enabledDesc": "禁用的 Webhook 会继续保存，但不会接收投递。",
    "refresh": "刷新",
    "loading": "正在加载 Webhook...",
    "never": "从未",
    "failureCount": "{count, plural, =0 {no failures} one {# 次失败} other {# 次失败}}",
    "testWebhook": "发送测试",
    "testSuccess": "测试 Webhook 发送成功。",
    "testFailed": "测试 Webhook 失败。",
    "saveSuccess": "Webhook 保存成功。",
    "saveFailed": "保存 Webhook 失败。",
    "loadFailed": "加载 Webhook 失败。",
    "delete": "删除",
    "deleteConfirm": "确定要删除此 Webhook 吗？",
    "deleteSuccess": "Webhook 删除成功。",
    "deleteFailed": "删除 Webhook 失败。",
    "edit": "编辑",
    "enable": "启用",
    "disable": "禁用",
    "noWebhooks": "尚未配置 Webhook。",
    "signatureTitle": "Webhook 签名",
    "signatureDescription": "每次投递都会包含一个 X-Webhook-Signature 请求头，该签名使用 Webhook 密钥通过 HMAC-SHA256 生成。信任载荷前请先验证签名。",
    "wizard": {
      "cancel": "取消",
      "step1Title": "选择集成",
      "step2Title": "配置目标",
      "step3Title": "事件与测试",
      "back": "返回",
      "next": "下一步",
      "finish": "完成",
      "step1Desc": "选择此 Webhook 要对接的目标集成系统。"
    },
    "howItWorks": {
      "step1": "选择一个集成提供商（如 Slack、Discord、自定义 Webhook）并配置连接详情。",
      "step2": "配置要订阅的系统事件（如补全错误、模型回退或用量限制）。",
      "step3": "发送测试负载以验证端点是否能正常接收数据。",
      "step4": "使用 Webhook 密钥对 X-Webhook-Signature HMAC-SHA256 头进行验证，以确保端点安全。",
      "title": "Webhook 工作原理",
      "customOnly": "仅适用于自定义端点集成。",
      "hmacRecipeTitle": "HMAC 验证方案",
      "hmacRecipe": "在 Node.js 中验证 Webhook 负载：使用密钥对原始请求体计算 HMAC-SHA256，然后通过 timingSafeEqual 与 X-Webhook-Signature 头进行比对。",
      "timeoutNote": "Webhook 投递超时时间为 10 秒。",
      "retryNote": "投递失败将最多重试 5 次，采用指数退避策略。",
      "docsLink": "阅读完整的 Webhook 开发者指南",
      "hmacRecipePython": "Python HMAC 验证：hmac.new(secret, body, hashlib.sha256).hexdigest()",
      "hmacRecipeBash": "Bash HMAC 验证：echo -n \"$body\" | openssl dgst -sha256 -hmac \"$secret\""
    },
    "deliveries": {
      "title": "投递日志",
      "loadFailed": "加载 Webhook 投递日志失败。",
      "empty": "暂无投递记录。触发一个事件或发送测试负载。",
      "status": "状态",
      "event": "事件",
      "latency": "延迟",
      "at": "发送时间"
    },
    "kinds": {
      "comingSoon": "即将推出",
      "slack": "Slack",
      "slackDesc": "将系统事件直接发布到 Slack 频道",
      "telegram": "Telegram",
      "telegramDesc": "通过 Telegram 机器人发送事件消息",
      "discord": "Discord",
      "discordDesc": "将实时更新直接推送到 Discord 服务器",
      "custom": "自定义 Webhook",
      "customDesc": "将系统事件负载投递到任意 HTTPS 端点",
      "email": "邮件通知",
      "emailDesc": "通过邮件接收摘要更新",
      "pagerduty": "PagerDuty",
      "pagerdutyDesc": "在 PagerDuty 上为关键系统问题触发告警",
      "teams": "Microsoft Teams",
      "teamsDesc": "将系统通知转发到 Microsoft Teams 频道"
    },
    "testPayloadSent": "测试负载已发送",
    "testResponse": "测试响应",
    "validateUrl": {
      "checking": "正在检查 URL...",
      "ok": "URL 有效",
      "blockedPrivate": "URL 是被阻止的私有地址",
      "invalidUrl": "URL 格式无效"
    },
    "custom": {
      "endpointUrl": "端点 URL",
      "endpointUrlPlaceholder": "https://api.yourdomain.com/webhook",
      "secretKey": "密钥",
      "secretKeyPlaceholder": "输入密钥或留空以自动生成",
      "secretKeyHint": "用于对负载头进行签名以进行身份验证。"
    },
    "discord": {
      "webhookUrl": "Discord Webhook URL",
      "webhookUrlPlaceholder": "https://discord.com/api/webhooks/...",
      "webhookUrlHint": "从 Discord 频道集成设置中复制的 Webhook URL。",
      "tutorial": "如何创建 Discord Webhook："
    },
    "slack": {
      "webhookUrl": "Slack Webhook URL",
      "webhookUrlPlaceholder": "https://hooks.slack.com/services/...",
      "webhookUrlHint": "从 Slack Incoming Webhooks 集成中复制的 Webhook URL。",
      "tutorial": "如何创建 Slack Webhook："
    },
    "telegram": {
      "botToken": "Telegram 机器人令牌",
      "botTokenPlaceholder": "123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ",
      "botTokenHint": "创建机器人时从 @BotFather 获取的 HTTP API 令牌。",
      "chatId": "Telegram 聊天 ID / 频道",
      "chatIdPlaceholder": "-100123456789 或 @channelname",
      "chatIdHint": "聊天/频道的唯一数字标识符或公开用户名。",
      "tutorial": "如何配置 Telegram Webhook："
    }
  },
  "compliance": {
    "auditTitle": "审计",
    "auditDescription": "在一个运维视图中查看合规事件和 MCP 工具调用。",
    "complianceTab": "合规",
    "mcpTab": "MCP 审计",
    "title": "合规审计",
    "description": "合规审计日志记录的策略、访问、提供商和安全事件。",
    "eventType": "事件类型",
    "eventTypePlaceholder": "按操作或事件类型筛选",
    "severity": "严重级别",
    "allSeverities": "所有严重级别",
    "info": "信息",
    "warning": "警告",
    "critical": "严重",
    "sourceIp": "来源 IP",
    "userOrKey": "用户 / 密钥",
    "action": "操作",
    "result": "结果",
    "details": "详情",
    "timestamp": "时间戳",
    "from": "起始",
    "to": "结束",
    "refresh": "刷新",
    "export": "导出",
    "clearFilters": "清除筛选",
    "loading": "正在加载审计事件...",
    "showing": "正在显示 {total} 个事件中的 {count} 个",
    "policyViolation": "策略违规",
    "accessDenied": "访问被拒绝",
    "injectionBlocked": "注入已阻止",
    "noEvents": "尚未记录合规事件。",
    "failedFetch": "获取合规审计日志失败。",
    "viewDetails": "查看详情",
    "closeDetails": "关闭详情",
    "notAvailable": "—",
    "system": "system",
    "previous": "上一页",
    "next": "下一页",
    "mcpAudit": "MCP 审计",
    "mcpAuditDesc": "MCP 服务器记录的工具调用审计条目。",
    "failedFetchMcpAudit": "获取 MCP 审计日志失败。",
    "tool": "工具",
    "toolPlaceholder": "按工具名称筛选",
    "duration": "持续时间",
    "apiKey": "API 密钥",
    "output": "输出",
    "allResults": "所有结果",
    "success": "成功",
    "failure": "失败",
    "noMcpEvents": "尚未记录 MCP 审计事件。",
    "a2aAudit": "A2A审核",
    "a2aAuditDesc": "A2A服务器记录的任务执行审计跟踪。",
    "a2aShowingTasks": "显示 {count} 个任务（共 {total} 个）",
    "a2aSkill": "技能",
    "a2aSkillPlaceholder": "按技能名称过滤",
    "a2aState": "状态",
    "a2aAllStates": "所有州",
    "a2aStateSubmitted": "已提交",
    "a2aStateWorking": "工作",
    "a2aStateCompleted": "已完成",
    "a2aStateFailed": "失败",
    "a2aStateCancelled": "取消",
    "a2aTaskId": "任务编号",
    "a2aEvents": "活动",
    "a2aArtifacts": "文物",
    "a2aNoTasks": "没有记录 A2A 任务。",
    "a2aLoadingTasks": "正在加载 A2A 任务...",
    "actor": "演员",
    "actorPlaceholder": "按演员筛选",
    "eventTypes": {
      "apiKey.activate": "API 密钥已激活",
      "apiKey.ban": "API 密钥已被禁止",
      "apiKey.deactivate": "API 密钥已停用",
      "apiKey.regenerate": "API 密钥已重新生成",
      "apiKey.scopes.grant": "API 密钥范围已授予",
      "apiKey.scopes.revoke": "API 密钥范围已被撤销",
      "apiKey.scopes.update": "API 密钥范围已更新",
      "apiKey.unban": "API 密钥已解禁",
      "auth.login.error": "登录错误",
      "auth.login.failed": "登录失败",
      "auth.login.locked": "登录被锁定",
      "auth.login.misconfigured": "登录配置错误",
      "auth.login.setup_required": "需要登录设置",
      "auth.login.success": "登录成功",
      "auth.logout.success": "注销成功",
      "compliance.cleanup": "合规清理",
      "provider.credentials.applied": "提供者凭据已应用",
      "provider.credentials.batch_revoked": "提供者凭据批次已撤销",
      "provider.credentials.bulk_created": "提供者凭据批量创建",
      "provider.credentials.bulk_imported": "提供者凭据已批量导入",
      "provider.credentials.created": "提供者凭据已创建",
      "provider.credentials.imported": "提供者凭据已导入",
      "provider.credentials.revoked": "提供者凭据已被撤销",
      "provider.credentials.updated": "提供者凭据已更新",
      "provider.validation.ssrf_blocked": "提供者 SSRF 被阻止",
      "quota.plan.updated": "配额计划已更新",
      "quota.pool.created": "配额池已创建",
      "quota.pool.deleted": "配额池已删除",
      "quota.pool.updated": "配额池已更新",
      "quota.store.driver_changed": "配额存储驱动程序已更改",
      "server.start": "服务器启动",
      "service.reveal_api_key": "服务 API 密钥已泄露",
      "settings.update": "设置已更新",
      "settings.update_failed": "设置更新失败",
      "sync.token.created": "同步令牌已创建",
      "sync.token.revoked": "同步令牌已撤销"
    }
  },
  "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": "为整个仪表板选择颜色主题",
    "costsDescription": "Track spending, analyze trends, and manage your AI budget across all providers",
    "cacheDescription": "Monitor provider prompt cache efficiency and local semantic response reuse.",
    "limitsDescription": "Configure rate limits and quotas per API key and provider",
    "runtimeDescription": "Live runtime observability — circuit breakers, cooldowns, model lockouts, sessions and quota alerts",
    "apiManagerDescription": "Manage API keys and access control for your OmniRoute instance",
    "batchDescription": "Process large volumes of requests asynchronously with batched API calls",
    "contextCavemanDescription": "Rule-based message compression, language packs, analytics and output mode controls.",
    "contextRtkDescription": "Command-aware compression for tool output, terminal logs and build results.",
    "contextCombosDescription": "Define how engines are combined for different routing scenarios.",
    "changelogDescription": "Stay up to date with the latest platform features and announcements.",
    "agentsDescription": "Manage and configure AI agent tools: Codex, Devin, Jules, and custom agents",
    "cloudAgentsDescription": "Orchestrate cloud-based AI agents with live task tracking and plan approval",
    "memoryDescription": "Persistent conversational memory with semantic search and FTS5 full-text indexing",
    "skillsDescription": "Install and manage sandbox skills for automated prompt and tool execution",
    "agentSkillsDescription": "Agent-ready skills catalog with one-click URL copy for AI client integration",
    "translatorDescription": "Translate and test prompts across API formats: OpenAI ↔ Claude ↔ Gemini",
    "playgroundDescription": "Test prompts interactively with live provider responses and format inspection",
    "searchToolsDescription": "Search analytics, provider breakdown, cache hit rates, and cost tracking",
    "logsDescription": "Real-time request logs, error traces, and streaming event inspector",
    "auditDescription": "Compliance audit trail of API key usage, MCP tool calls, and policy events",
    "webhooksDescription": "Configure webhook endpoints to receive real-time event notifications",
    "healthDescription": "System health overview: providers, circuit breakers, rate limits, and database",
    "proxyDescription": "Configure upstream proxy settings for outbound provider connections",
    "apiEndpointsDescription": "Manage custom API endpoint configurations and routing overrides",
    "batchFilesDescription": "Browse and manage batch job output files and results",
    "analyticsEvalsDescription": "Model evaluation results and performance benchmarks",
    "analyticsSearchDescription": "Search query analytics, cache hit rates, and cost tracking",
    "analyticsUtilizationDescription": "Provider utilization metrics and capacity planning",
    "analyticsComboHealthDescription": "Real-time health and performance of combo routing configurations",
    "analyticsCompressionDescription": "Context compression analytics and token savings",
    "costsBudgetDescription": "Budget limits and spending alerts per API key and provider",
    "costsPricingDescription": "Custom pricing configuration for token cost calculations",
    "logsProxyDescription": "Upstream proxy request logs and traffic inspection",
    "logsConsoleDescription": "Application console output and debug logs",
    "logsActivityDescription": "Audit trail of user actions and system events",
    "auditMcpDescription": "MCP tool invocation audit trail and compliance records",
    "auditA2a": "A2A审核",
    "auditA2aDescription": "A2A任务执行审计追踪、状态转换、技能调用记录",
    "settingsGeneralDescription": "Storage, database, and general instance configuration",
    "settingsAppearanceDescription": "Theme, branding, and visual customization",
    "settingsAiDescription": "AI behaviors, thinking budgets, vision, and memory settings",
    "settingsSecurityDescription": "Authentication, authorization, and access control settings",
    "featureFlags": "功能标志",
    "featureFlagsDescription": "控制系统能力和实验特点",
    "featureFlagsActive": "{count} 活跃",
    "featureFlagsInactive": "{count} 无效",
    "featureFlagsOverrides": "{count} 数据库覆盖",
    "featureFlagsSearch": "搜索标志...",
    "featureFlagsCategoryAll": "全部",
    "featureFlagsCategorySecurity": "安全性",
    "featureFlagsCategoryNetwork": "网络",
    "featureFlagsCategoryPolicies": "政策",
    "featureFlagsCategoryRuntime": "运行时",
    "featureFlagsCategoryCli": "命令行界面",
    "featureFlagsCategoryHealth": "健康",
    "featureFlagsSourceDb": "数据库",
    "featureFlagsSourceEnv": "环境电压",
    "featureFlagsSourceDefault": "DEF",
    "featureFlagsReset": "重置",
    "featureFlagsResetAll": "重置所有覆盖",
    "featureFlagsResetAllConfirm": "您确定要重置所有功能标志覆盖吗？这会将所有标志恢复为其 ENV 或默认值。",
    "featureFlagsRestartRequired": "需要重启才能申请",
    "featureFlagsNoResults": "没有符合您搜索条件的标志",
    "featureFlagsSaved": "标志已更新",
    "featureFlagsError": "更新标志失败",
    "settingsRoutingDescription": "Routing rules, model aliases, combo defaults, and degradation settings",
    "settingsResilienceDescription": "Circuit breaker, retry, and fallback configuration",
    "settingsAdvancedDescription": "Advanced payload rules, request limits, and proxy API settings",
    "mitmProxyDescription": "Configure MITM proxy settings for traffic inspection and debugging",
    "oneProxyDescription": "Configure 1Proxy settings for advanced proxy chaining",
    "omniSkillsDescription": "安装和管理用于自动提示和工具执行的沙箱技能"
  },
  "home": {
    "quickStart": "快速入门",
    "quickStartDesc": "4 个步骤快速上手：连接提供商、路由模型并监控全局运行情况。",
    "fullDocs": "完整文档",
    "step1Title": "1. 创建 API 密钥",
    "step1Desc": "前往 <endpoint>端点</endpoint> -> 已注册密钥。为每个环境生成一个独立密钥。",
    "step2Title": "2. 连接提供商",
    "step2Desc": "在 <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": "该提供商当前没有可用模型。",
    "noProvidersConfigured": "尚未配置提供商",
    "addProvider": "添加提供商",
    "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": "更新已开始...",
    "reloadingPageAutomatically": "自动重新加载页面...",
    "providerTopology": "提供商拓扑"
  },
  "analytics": {
    "title": "分析",
    "usageAnalyticsTitle": "用量分析",
    "diversityScoreTitle": "供应商多元化",
    "diversityScoreDesc": "近期流量窗口内提供商集中度的快照。",
    "diversityShannonEntropy": "香农熵",
    "diversityWindow": "窗口:{count} 次请求 · 最近 {mins} 分钟",
    "diversityHealthy": "分布健康",
    "diversityRiskHigh": "供应商锁定风险高",
    "diversityRiskModerate": "分布一般",
    "diversityScoreLabel": "得分",
    "diversityHigherExplanation": "数值越高,表示流量分散到的提供商越多。",
    "diversityNoData": "暂无近期用量数据。",
    "chartRequests": "请求数",
    "chartInput": "输入",
    "chartOutput": "输出",
    "chartTotal": "合计",
    "chartCost": "成本",
    "chartShare": "占比",
    "chartServiceTier": "服务层级",
    "chartServiceTierSplit": "Fast / Standard 成本拆分",
    "chartCostPct": "占成本 {pct}%",
    "chartUsageDetail": "用量明细",
    "chartCacheRead": "缓存读取",
    "chartCostByProvider": "按提供商划分的成本",
    "chartNoCostData": "无成本数据",
    "chartModelUsageOverTime": "模型用量趋势",
    "chartNoData": "无数据",
    "chartWeekly": "每周",
    "chartModelBreakdown": "按模型拆分",
    "chartModel": "模型",
    "chartProvider": "提供商",
    "chartProviderBreakdown": "按提供商拆分",
    "filterAllKeys": "全部密钥",
    "filterSearchKeys": "搜索密钥…",
    "filterNoKeysMatch": "没有匹配的密钥",
    "filterOneKey": "1 个密钥",
    "filterMultipleKeys": "{count} 个密钥",
    "rangeToday": "今天",
    "rangeYesterday": "昨天",
    "rangeLast3Days": "最近 3 天",
    "rangeThisWeek": "本周",
    "rangeLast14Days": "最近 14 天",
    "rangeThisMonth": "本月",
    "rangeQuickSelect": "快速选择",
    "rangeStart": "起始",
    "rangeEnd": "结束",
    "rangeCancel": "取消",
    "rangeApply": "应用",
    "rangeErrorInvalid": "起始时间必须早于结束时间",
    "period1D": "1 天",
    "period7D": "7 天",
    "period30D": "30 天",
    "period90D": "90 天",
    "periodYTD": "年初至今",
    "periodAll": "全部",
    "totalTokens": "总 Token 数",
    "inputTokens": "输入 Token",
    "outputTokens": "输出 Token",
    "estCost": "预估成本",
    "infraTitle": "基础设施",
    "infraAccounts": "账号",
    "infraProviders": "提供商",
    "infraApiKeys": "API 密钥",
    "infraModels": "模型",
    "perfTitle": "性能",
    "perfAvgTokens": "平均 Token / 请求",
    "perfCostReq": "成本 / 请求",
    "perfIoRatio": "输入/输出比",
    "perfFastReq": "Fast 请求",
    "highlightsTitle": "亮点",
    "highlightsTopModel": "热门模型",
    "highlightsTopProvider": "热门提供商",
    "highlightsBusiestDay": "最繁忙的一天",
    "highlightsDiversity": "多样性",
    "highlightsFallbackRate": "回退率",
    "customRange": "自定义",
    "overviewDescription": "监控所有提供商和模型的 API 使用模式、令牌消耗、成本和活动趋势。",
    "evalsDescription": "运行评估套件来测试和验证您的 LLM 端点。比较模型质量、检测回归和基准延迟。",
    "overview": "概述",
    "evals": "评测",
    "utilization": "利用率",
    "utilizationDescription": "提供商配额使用趋势和速率限制跟踪",
    "modelStatus": "模型状态",
    "modelStatusCooldown": "冷却中",
    "modelStatusUnavailable": "不可用",
    "modelStatusError": "错误",
    "comboHealth": "组合健康状况",
    "comboHealthDescription": "组合级别配额、使用分布和性能指标",
    "compressionAnalyticsTitle": "压缩分析",
    "compressionAnalyticsDescription": "压缩分析 — token 节省、模式分布和提供商统计。",
    "autoRoutingTotalAutoRequests": "自动请求总数",
    "autoRoutingAvgSelectionScore": "平均选择分数",
    "autoRoutingExplorationRate": "探索率",
    "autoRoutingLkgpHitRate": "LKGP命中率",
    "autoRoutingRequestsByVariant": "变体请求",
    "autoRoutingTopRoutedProviders": "顶级路由提供商",
    "comboHealthWorstQuotaLeft": "剩余最差名额",
    "comboHealthUsageSkew": "使用偏差",
    "comboHealthSuccessRate": "成功率",
    "comboHealthQuotaHealth": "配额健康",
    "comboHealthRequests": "要求",
    "comboHealthTokens": "代币",
    "comboHealthAvgLatency": "平均延迟",
    "comboHealthTotalRequests": "请求总数",
    "comboHealthExecutionTargets": "执行目标",
    "comboHealthSuccess": "成功",
    "comboHealthLatency": "延迟",
    "comboHealthQuota": "配额",
    "comboHealthTitle": "组合健康",
    "comboHealthUnableToLoad": "无法加载组合生命值",
    "comboHealthGettingStarted": "开始使用",
    "compressionAnalyticsTotalRequests": "请求总数",
    "compressionAnalyticsTokensSaved": "已保存代币",
    "compressionAnalyticsAvgSavings": "平均节省",
    "compressionAnalyticsAvgDuration": "平均持续时间",
    "compressionAnalyticsReceipts": "收据",
    "compressionAnalyticsFallbacks": "后备措施",
    "compressionAnalyticsPromptTokens": "提示标记",
    "compressionAnalyticsCompletionTokens": "完成标记",
    "compressionAnalyticsTotalTokens": "代币总数",
    "compressionAnalyticsCacheTokens": "缓存令牌",
    "compressionAnalyticsNoDataYet": "还没有压缩数据",
    "searchAnalyticsTotalSearches": "总搜索次数",
    "searchAnalyticsCacheHitRate": "缓存命中率",
    "searchAnalyticsTotalCost": "总成本",
    "searchAnalyticsAvgResponse": "平均响应",
    "searchAnalyticsNoSearchesYet": "还没有搜索",
    "providerUtilizationTitle": "提供商利用率",
    "providerUtilizationFailedToLoad": "无法加载利用率数据",
    "providerUtilizationNoData": "没有可用的利用率数据",
    "providerUtilizationGettingStarted": "开始使用",
    "providerUtilizationLatestSnapshot": "最新配额快照",
    "providerUtilizationRemainingCapacity": "剩余容量"
  },
  "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": "使用清晰的名称标识该密钥的用途",
    "managementAccessDesc": "允许此 API 密钥管理 OmniRoute 配置。",
    "selfServiceVisibility": "自助可见性",
    "selfServiceVisibilityDesc": "控制此密钥可查看自身用量和共享上游配额的范围。",
    "ownUsageVisibility": "自身成本和 Token 用量",
    "ownUsageVisibilityDesc": "允许此密钥调用状态端点，查看自身美元用量、预算占比和 Token 总量。",
    "sharedAccountQuotaVisibility": "共享账号配额",
    "sharedAccountQuotaVisibilityDesc": "当配置了一个明确连接时，允许此密钥查看共享上游账号配额。",
    "keyCreated": "API 密钥已创建",
    "keyCreatedSuccess": "密钥创建成功！",
    "keyCreatedNote": "请立即复制并保存此密钥，它不会再次显示。",
    "done": "完成",
    "savePermissions": "保存权限",
    "endpointRestrictions": "允许的端点",
    "allEndpointsAllowed": "此密钥可以访问所有 API 端点。",
    "endpointsRestricted": "仅限 {count} 个端点。",
    "autoResolve": "自动解析",
    "autoResolveDesc": "为这个 API 密钥自动将有歧义的模型名解析到原生提供商。",
    "streamDefaultMode": "流默认兼容性",
    "streamDefaultModeDesc": "此键省略了 `stream` 标志。JSON 模式返回非流式响应，除非客户端明确请求 SSE。",
    "streamDefaultLegacy": "遗留",
    "streamDefaultJson": "JSON 兼容",
    "streamDefaultBadge": "JSON 流默认",
    "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": "复制遮罩后的密钥",
    "keyOnlyAvailableAtCreation": "完整密钥仅会在创建时显示一次，请在首次创建时立即复制保存",
    "modelsCount": "{count, plural, one {# 个模型} other {# 个模型}}",
    "lastUsedOn": "最近使用：{date}",
    "editPermissions": "编辑权限",
    "deleteKey": "删除密钥",
    "regenerateKey": "重新生成密钥",
    "regenerateConfirm": "您确定要重新生成此 API 密钥吗？旧密钥将立即失效。",
    "failedRegenerateKey": "无法重新生成 API 密钥",
    "failedRegenerateKeyRetry": "无法重新生成 API 密钥。请再试一次。",
    "model": "{count} 个模型",
    "models": "{count} 个模型",
    "permissionsTitle": "权限：{name}",
    "allowAllDesc": "该密钥可访问所有可用模型。",
    "restrictDesc": "该密钥可访问 {totalModels} 个模型中的 {selectedCount} 个。",
    "selectedCount": "已选择 {count} 个",
    "maxActiveSessions": "最大活动会话数",
    "apiManagerCustomRateLimits": "自定义费率限制",
    "apiManagerCustomRateLimitsDesc": "覆盖全局默认限制。留空以使用默认值。",
    "apiManagerRateLimitRequestsPlaceholder": "要求",
    "apiManagerRateLimitReqPer": "请求/",
    "apiManagerRateLimitSecondsPlaceholder": "秒数",
    "apiManagerRemoveLimitTitle": "移除限制",
    "apiManagerTimezonePlaceholder": "美洲/圣保罗",
    "noLogPayloadPrivacy": "无日志有效负载隐私",
    "bannedStatus": "禁止状态",
    "managementApiAccess": "管理API访问",
    "expirationDate": "有效期",
    "managementAccess": "管理访问",
    "allowedConnections": "允许的连接",
    "searchPlaceholder": "按名称或 token 搜索...",
    "activeOnly": "仅显示启用",
    "filterStatus": "状态",
    "filterType": "类型",
    "filterAll": "全部",
    "filterStatusActive": "启用",
    "filterStatusDisabled": "已禁用",
    "filterStatusBanned": "已封禁",
    "filterStatusExpired": "已过期",
    "filterTypeStandard": "标准",
    "filterTypeManage": "管理",
    "filterTypeRestricted": "受限",
    "shownOf": "已显示 {shown} / {total}",
    "emptyFilterTitle": "没有密钥匹配当前筛选条件",
    "emptyFilterClear": "清除筛选",
    "disableNonPublicModels": "禁用非公开模型",
    "disableNonPublicModelsDesc": "拒绝对未发现或未标记为公共的模型在提供者目录中的请求",
    "normalKeysSection": "普通键",
    "quotaKeysSection": "配额密钥",
    "quotaPill": "配额",
    "quotaModeOnly": "qtSd-only"
  },
  "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 生成音乐。",
    "kinds": {
      "embedding": "向量嵌入",
      "image": "图像",
      "imageToText": "图像转文字",
      "tts": "文字转语音",
      "stt": "语音转文字",
      "webSearch": "网络搜索",
      "webFetch": "网页抓取",
      "video": "视频",
      "music": "音乐"
    },
    "noProviders": "尚未为此类型配置任何提供商。",
    "addConnection": "添加连接",
    "backToProviders": "返回提供商列表",
    "connections": "{count} 个连接",
    "noConnections": "暂无连接 —— 请从提供商页面添加。",
    "loading": "正在加载..."
  },
  "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": "安全搜索",
    "safeSearchOff": "关闭",
    "safeSearchModerate": "中等",
    "safeSearchStrict": "严格",
    "queryPlaceholder": "输入搜索词...",
    "providerAuto": "自动（最低成本）",
    "searchTypeWeb": "网页",
    "searchTypeNews": "新闻",
    "optionAny": "任意",
    "timeRangeDay": "过去一天",
    "timeRangeWeek": "过去一周",
    "timeRangeMonth": "过去一个月",
    "timeRangeYear": "过去一年",
    "domainPlaceholder": "example.com",
    "requestTimedOut": "请求超时（{seconds}s）",
    "networkError": "网络错误",
    "formatted": "格式化视图",
    "rawJson": "JSON",
    "cacheMiss": "未命中缓存",
    "cacheHit": "命中缓存",
    "latency": "延迟",
    "cost": "成本",
    "results": "结果",
    "rerank": "重排",
    "rerankModel": "重排模型",
    "positionDelta": "排名变化",
    "emptyState": "发送搜索请求后即可查看结果",
    "copy": "复制",
    "resetToDefault": "重置为默认值",
    "tabSearch": "Search",
    "tabScrape": "Scrape",
    "tabCompare": "Compare",
    "modalitiesGuide": "Modalities guide",
    "searchConceptTitle": "Search",
    "searchConceptDesc": "Search = fetches a list of web results (title, URL, snippet, relevance score)",
    "scrapeConceptTitle": "Scrape",
    "scrapeConceptDesc": "Scrape = extracts the full content of a URL (markdown, text or HTML)",
    "compareConceptTitle": "Compare",
    "compareConceptDesc": "Compare = runs the same query across N providers side-by-side to compare latency, cost and result overlap",
    "rerankConceptTitle": "Rerank",
    "rerankConceptDesc": "Rerank = reorders results via LLM to improve relevance based on the query",
    "autoConceptTitle": "Auto (cheapest)",
    "autoConceptDesc": "Auto (cheapest) = automatically picks the cheapest available provider with configured credentials",
    "providerCatalogTitle": "Provider Catalog",
    "kindSearch": "Search",
    "kindFetch": "Fetch/Scrape",
    "statusConfigured": "Configured",
    "statusMissing": "No credential",
    "statusRateLimited": "Rate limited",
    "configureProvider": "Configure in Providers",
    "loadingProviders": "Loading providers…",
    "failedToLoadProviders": "Failed to load providers",
    "costPerQuery": "Cost/query",
    "freeQuota": "Free quota/mo",
    "scrapeUrl": "URL to scrape",
    "scrapeUrlPlaceholder": "https://example.com",
    "scrapeExtract": "Extract",
    "scrapeExtracting": "Extracting…",
    "scrapeFullPage": "Full page",
    "scrapeFormat": "Format",
    "formatMarkdown": "Markdown",
    "formatHtml": "HTML",
    "formatText": "Text",
    "scrapePreview": "Preview",
    "scrapeRaw": "Raw",
    "scrapeContentTruncated": "(truncated, view raw)",
    "scrapeMetadata": "Metadata",
    "scrapeProvider": "Provider",
    "scrapeSize": "Size",
    "compareRun": "Compare",
    "compareRunning": "Comparing…",
    "autoProvider": "Auto (cheapest)",
    "configuredStatus": "Configured",
    "rateLimitedStatus": "Rate limited",
    "noCredential": "No credential",
    "searchTypeLabel": "Type",
    "rerankModelLabel": "Rerank model",
    "noneOption": "None",
    "size": "Size"
  },
  "cliTools": {
    "title": "CLI 工具",
    "noActiveProviders": "当前没有活跃的提供商",
    "noActiveProvidersDesc": "请先添加并连接提供商以配置 CLI 工具。",
    "mapModels": "映射模型",
    "testConnection": "测试连接",
    "connectionStatus": "连接状态",
    "configureEndpoint": "配置端点",
    "instructions": "使用说明",
    "modelMapping": "模型映射",
    "baseUrl": "基础 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，请求就会被代理。",
    "mitmHowWorksDesc": "{toolName} 会先向原始提供商端点发起请求，随后由 MITM 拦截并重定向到 OmniRoute。",
    "mitmStep1": "1. 启动 MITM，让请求经由 OmniRoute 路由。",
    "mitmStep2Prefix": "2. 将",
    "mitmStep2Suffix": "添加到你的 hosts 文件，并指向 127.0.0.1。",
    "mitmStep3": "3. 打开 {toolName}，后续请求就会自动通过代理转发。",
    "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 - 手动配置",
    "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 集中控制模型路由时使用。",
      "windsurf": "当您需要 Windsurf AI IDE 并通过 OmniRoute 路由模型时使用。",
      "antigravity": "当必须通过 MITM 拦截 Antigravity/Kiro 流量并将其路由到 OmniRoute 时使用。",
      "copilot": "当您想要 Copilot 聊天风格的 UX 同时强制执行 OmniRoute 键和路由规则时使用。",
      "amp": "当您想要 Amp 简写工作流，但仍需要 OmniRoute 别名和路由规则支持时使用。",
      "qwen": "当您需要使用阿里云 Qwen Code CLI 进行编码任务时使用。",
      "hermes": "当您需要轻量级终端原生 AI 助手来处理快速任务时使用。",
      "hermes-agent": "需要使用 Hermes Agent (by Nousresearch) 时使用,默认、委派、视觉与辅助模型均通过 OmniRoute 路由。",
      "custom": "用于自定义工具实现或通用 OpenAI 兼容配置。"
    },
    "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",
      "windsurf": "Windsurf AI Code Editor",
      "copilot": "GitHub Copilot AI Assistant",
      "qwen": "Alibaba Qwen Code CLI",
      "amp": "Sourcegraph Amp 编程助手 CLI",
      "hermes": "Hermes AI 终端助手",
      "hermes-agent": "Hermes Agent (by Nousresearch) — 支持多模型(委派、视觉、压缩等)的高级终端 AI。",
      "custom": "通用 OpenAI 兼容 CLI 或 SDK 配置生成器"
    },
    "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": "选择模型"
          },
          "5": {
            "title": "使用 Thinking 变体",
            "desc": "对于思考模型，请使用 --variant high/low/max 运行（示例命令见下方）。"
          }
        },
        "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 账户。"
        }
      },
      "windsurf": {
        "steps": {
          "1": {
            "title": "打开 AI 设置",
            "desc": "点击 Windsurf 中的 AI Settings 图标，或前往 Settings"
          },
          "2": {
            "title": "添加自定义提供商",
            "desc": "选择 \"Add custom provider\" (OpenAI 兼容)"
          },
          "3": {
            "title": "Base URL",
            "desc": "http://127.0.0.1:20128/v1"
          },
          "4": {
            "title": "API Key",
            "desc": "选择你的 OmniRoute API 密钥"
          },
          "5": {
            "title": "选择模型",
            "desc": "从下拉菜单中选择模型"
          }
        }
      }
    },
    "autoConfiguredTab": "自动配置",
    "toolCategoriesDesc": "配置 AI 编程助手通过 OmniRoute 路由",
    "allToolsTab": "所有工具",
    "guidedClientsTab": "引导客户端",
    "mitmClientsTab": "MITM 客户端",
    "customCliTab": "自定义 CLI",
    "toolCategories": "工具分类",
    "visibleToolsCount": "{count} 个工具可用",
    "customCliBuilderTitle": "兼容 OpenAI 的 CLI 构建器",
    "customCliBuilderDescription": "为任何接受 OpenAI 兼容的基本 URL、API 密钥和模型 ID 的 CLI 或 SDK 生成环境变量和 JSON 片段。",
    "customCliNoModels": "连接至少一个提供者以填充模型选择器。",
    "customCliNameLabel": "CLI 名称",
    "customCliNamePlaceholder": "例如我的团队 CLI",
    "customCliDefaultModelLabel": "默认型号",
    "customCliDefaultModelHelp": "使用任何 OmniRoute 模型 ID 或组合。大多数与 OpenAI 兼容的 CLI 只需要 /v1 基本 URL 加上模型字符串。",
    "customCliKeyHelper": "对于本地安装 OmniRoute 可以使用 sk_omniroute。在云模式下，选择您的管理 API 密钥之一。",
    "customCliAliasMappingsLabel": "别名映射",
    "customCliAliasMappingsHelp": "需要稳定简写名称的包装器脚本或配置文件的可选帮助程序别名。",
    "customCliAddAlias": "添加别名",
    "customCliNoMappings": "还没有别名映射。如果您的包装器或团队脚本使用稳定的短名称，请添加一个。",
    "customCliAliasPlaceholder": "例如评论",
    "customCliTargetModelLabel": "目标型号",
    "customCliEndpointHintLabel": "如何连接端点",
    "customCliEndpointHint": "将任何 OpenAI 兼容客户端指向 OmniRoute /v1 基本 URL。原始聊天完成端点是 {endpoint}。当工具需要提供程序对象时使用 JSON 块，或者在读取 OPENAI_* 变量时使用 env 脚本。",
    "customCliEnvBlockTitle": "环境 / shell 片段",
    "customCliJsonBlockTitle": "提供者 JSON 块",
    "copilotConfigGenerator": "GitHub Copilot 配置生成器",
    "copilotApiKey": "API密钥",
    "copilotFilterModelsPlaceholder": "过滤器型号...",
    "copilotMaxInputTokens": "最大输入令牌数",
    "copilotMaxOutputTokens": "最大输出代币",
    "copilotToolCalling": "工具调用",
    "copilotPasteInto": "粘贴到： ",
    "wireApiChatCompletions": "聊天完成 (/chat/completions)",
    "wireApiResponses": "响应 API (/responses)"
  },
  "combos": {
    "title": "组合",
    "description": "创建支持权重路由与故障回退的模型组合",
    "autoCatalogTitle": "自动路由目录",
    "autoCatalogTemplateCount": "{count} 个模板",
    "autoCatalogDescription": "内置 auto/* 组合，从已连接的提供商动态解析。直接将这些 ID 作为 model 字段使用——无需设置。",
    "autoCatalogExpand": "展开自动路由目录",
    "autoCatalogCollapse": "收起自动路由目录",
    "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": "循环分发：每个请求按顺序轮到下一个模型",
    "contextRelay": "上下文接力",
    "contextRelayDesc": "在账户轮换时通过交接摘要保持会话连续性",
    "randomDesc": "均匀随机选择，失败后回退到剩余模型",
    "leastUsedDesc": "优先选择请求数最少的模型，随时间平衡负载",
    "costOptimizedDesc": "根据定价优先路由到最便宜的模型",
    "resetAware": "复位感知RR",
    "resetAwareDesc": "平衡剩余配额与 5 小时和每周重置，然后对相似分数进行循环赛",
    "strictRandom": "严格随机",
    "strictRandomDesc": "洗牌池模式：每个模型使用一次后再重新洗牌",
    "models": "模型",
    "autoBalance": "自动平衡",
    "advancedSettings": "高级设置",
    "retryDelay": "重试延迟（毫秒）",
    "concurrencyPerModel": "每模型并发数",
    "queueTimeout": "排队超时（毫秒）",
    "contextRelayHandoffThreshold": "交接阈值",
    "contextRelayHandoffThresholdHelp": "当配额使用达到该阈值时，OmniRoute 会在当前活跃账户耗尽前生成结构化交接摘要。",
    "contextRelayMaxMessages": "摘要最大消息数",
    "contextRelayMaxMessagesHelp": "限制压缩进接力摘要中的最近历史消息数量。",
    "contextRelaySummaryModel": "摘要模型",
    "contextRelaySummaryModelHelp": "仅用于生成交接摘要的可选覆盖模型。留空则复用当前活跃的 combo 模型。",
    "contextRelayProviderNote": "Context Relay 当前主要为 Codex 账户轮换生成交接摘要。与同一提供商的多个账户配合使用时，连续性效果最佳。",
    "advancedHint": "留空则使用全局默认值。这些设置会覆盖每个提供商的配置。",
    "failoverBeforeRetry": "重试之前进行故障转移",
    "maxSetRetries": "最大设置重试次数",
    "setRetryDelayMs": "设置重试延迟（毫秒）",
    "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": "后台任务或批处理作业，优先考虑更低成本。"
      },
      "reset-aware": {
        "when": "您可以使用配额遥测和不同的重置窗口跨多个帐户进行路由。",
        "avoid": "大多数帐户无法使用配额遥测。",
        "example": "宁愿明天每周重置 60% 的帐户，也不愿稍后重置 80% 的帐户。"
      },
      "strict-random": {
        "when": "适用于希望实现绝对均匀分配的场景，每个模型在重复前都会恰好使用一次。",
        "avoid": "如果模型之间的质量或延迟差异较大，且调用顺序很重要，则不建议使用。",
        "example": "例如：同一模型挂载多个账户，用于更均匀地分摊使用量。"
      },
      "p2c": {
        "when": "当您希望使用 Power-of-Two-Choices 算法进行低延迟选择时使用。",
        "avoid": "对于少于等于 2 个模型的小型组合避免使用 — 与轮询相比没有优势。",
        "example": "示例：在 4 个或更多等效模型端点之间进行高吞吐量推理。"
      },
      "context-relay": {
        "when": "当长会话必须在账户轮换时保持工作上下文不丢失时使用。",
        "avoid": "当账户切换很少发生或您不希望额外的摘要请求时避免使用。",
        "example": "示例：在接近配额耗尽时轮换多个账户的 Codex 会话。"
      },
      "fill-first": {
        "when": "当您希望在转移到下一个提供商之前完全耗尽一个提供商的配额时使用。",
        "avoid": "当您需要在提供商之间进行请求级负载均衡时避免使用。",
        "example": "示例：在使用完所有 200 美元的 Deepgram 额度后再回退到 Groq。"
      },
      "auto": {
        "when": "当您需要基于成本、延迟和质量的多因素评分路由时使用。",
        "avoid": "当您需要严格的优先级排序或历史持久性时避免使用。",
        "example": "示例：在具有不同优势的模型之间平衡请求。"
      },
      "lkgp": {
        "when": "当您希望基于历史成功率和性能进行路由时使用。",
        "avoid": "当历史数据有限或不可靠时避免使用。",
        "example": "示例：路由到在特定任务上有良好记录的模型。"
      },
      "context-optimized": {
        "when": "当您需要优化模型间的上下文窗口使用时使用。",
        "avoid": "当模型具有相似的上下文长度或任务简单时避免使用。",
        "example": "示例：在具有大上下文窗口的模型之间分配长对话。"
      }
    },
    "advancedHelp": {
      "maxRetries": "请求失败前最多会尝试多少次重试。",
      "retryDelay": "两次重试之间的初始等待时间。值越大越能降低突发压力。",
      "timeout": "请求被中止前允许的最长持续时间。",
      "healthcheck": "路由决策时跳过不健康的模型或提供商。",
      "concurrencyPerModel": "轮询模式下每个模型允许的最大并发请求数。",
      "queueTimeout": "请求在队列中等待超时前允许停留的最长时间。",
      "failoverBeforeRetry": "启用后，任何上游错误都会触发立即故障转移到下一个组合目标，跳过所有重试和回退 URL。",
      "maxSetRetries": "每个目标失败时重试完整目标集的次数。 0 = 没有设置级别重试。",
      "setRetryDelayMs": "设置级别重试尝试之间的延迟，为暂时性问题提供解决时间。"
    },
    "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": "该组合未找到任何定价数据。成本优化策略的路由结果可能不符合预期。",
    "filterAll": "全部",
    "filterIntelligent": "智能路由",
    "filterDeterministic": "确定性",
    "filterEmptyTitle": "没有组合匹配此策略筛选。",
    "filterEmptyIntelligentDescription": "创建自动或 LKGP 组合以填充智能路由仪表盘。",
    "filterEmptyDeterministicDescription": "当前仅存在自动和 LKGP 组合。切换回\"全部\"或创建确定性组合。",
    "readinessTitle": "可以保存了吗？",
    "readinessDescription": "在创建或更新组合前，请先检查以下项目。",
    "readinessCheckName": "组合名称有效",
    "readinessCheckModels": "至少选择了一个模型",
    "readinessCheckWeights": "加权总和为 100%",
    "readinessCheckWeightsOptional": "当前策略无需权重规则",
    "readinessCheckPricing": "已有定价数据",
    "readinessCheckPricingOptional": "当前策略无需定价规则",
    "saveBlockedTitle": "以下问题修复前无法保存：",
    "saveBlockName": "请先填写组合名称。",
    "saveBlockModels": "请至少添加一个模型。",
    "saveBlockWeighted": "请将权重总和设置为 100%（当前：{total}%）。",
    "saveBlockPricing": "请至少为一个模型补充定价信息，或改用其他策略。",
    "recommendationsLabel": "推荐配置",
    "applyRecommendations": "应用推荐",
    "recommendationsUpdated": "已为 {strategy} 更新推荐配置。",
    "recommendationsApplied": "推荐配置已应用到当前组合。",
    "intelligentPanelTitle": "智能路由仪表盘",
    "intelligentPanelDesc": "此自动路由组合的实时评分和健康状态。",
    "configOnlyStatus": "配置视图",
    "configOnlyHint": "此面板仅显示路由输入,实时熔断器状态请到健康页面查看。",
    "routingInputs": "路由输入",
    "routingInputsHint": "模式包与权重保留在此处;熔断器运行状态保留在健康页面。",
    "emailVisibilityHint": "此处账号邮箱遵循全局隐私开关。",
    "emailVisibilityTooltip": "使用眼睛图标可在组合、提供商与配额页面间全局切换账号邮箱的显示与隐藏。",
    "manualModel": "手动模型",
    "manualModelInvalid": "请按 provider/model 格式填写。",
    "manualModelUnknownProvider": "未知的提供商前缀。",
    "builderDynamicAccountShort": "动态账号",
    "builderNeedValidName": "请先填写有效的组合名称再继续。",
    "statusOverview": "状态概览",
    "normalOperation": "正常运行",
    "allProvidersHealthy": "供应商报告路由状况良好。",
    "incidentMode": "事件模式",
    "highCircuitBreakerRate": "检测到熔断器频繁触发。",
    "activeModePack": "当前模式包",
    "modePackUpdated": "模式包已更新为 {pack}。",
    "modePackHint": "切换预设以调整路由引擎偏向，无需重建组合。",
    "providerScores": "供应商评分",
    "allProvidersEvaluated": "未配置候选池。运行时评估所有活跃供应商。",
    "excludedProviders": "已排除的供应商",
    "excludedProvidersHint": "熔断器处于 OPEN 状态的供应商将被临时排除在路由之外。",
    "noExcludedProviders": "当前没有供应商被排除。",
    "cooldownMinutes": "冷却：{minutes} 分钟",
    "builderIntelligentTitle": "智能路由配置",
    "builderIntelligentDesc": "为此自动路由组合配置多因子评分引擎。",
    "candidatePoolLabel": "候选池",
    "candidatePoolHint": "选择引擎应评估的供应商。留空则使用所有活跃供应商。",
    "candidatePoolEmpty": "暂无可用活跃供应商。",
    "candidatePoolAllProviders": "所有供应商",
    "modePackLabel": "模式包",
    "routerStrategyLabel": "路由策略",
    "strategyRules": "规则（6 因子评分）",
    "explorationRateLabel": "探索率",
    "explorationRateHint": "{percent}% 的请求可以探索非最优供应商。",
    "budgetCapLabel": "预算上限（美元/请求）",
    "budgetCapPlaceholder": "无限制",
    "advancedWeightsTitle": "高级：评分权重",
    "weightQuota": "配额",
    "weightHealth": "健康度",
    "weightCostInv": "成本",
    "weightLatencyInv": "延迟",
    "weightTaskFit": "任务适配",
    "weightStability": "稳定性",
    "weightTierPriority": "层级",
    "reviewIntelligentTitle": "智能路由配置",
    "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": "适合批处理或后台任务等成本是主要指标的场景。"
      },
      "reset-aware": {
        "title": "重置感知账户轮换",
        "description": "根据重置时间平衡剩余的提供商配额。",
        "tip1": "对具有配额遥测的提供商使用显式帐户步骤或帐户标签路由。",
        "tip2": "当短期疲劳风险更大时，调整训练次数与每周重量。",
        "tip3": "保持领带较小，这样等值账户仍然可以公平地轮换。"
      },
      "strict-random": {
        "title": "洗牌池分配",
        "description": "每轮中每个模型都会被恰好使用一次，然后再重新洗牌。",
        "tip1": "至少使用 2 个模型，才能体现分配效果。",
        "tip2": "最适合性能相近的模型。",
        "tip3": "非常适合在多个 API 账户之间做负载均衡。"
      },
      "fill-first": {
        "description": "在切换到链中的下一个提供商之前，先耗尽一个提供商的配额。",
        "tip1": "按免费配额大小排列模型 — 最大的放在第一位。",
        "tip2": "启用健康检查以跳过已耗尽的提供商。",
        "tip3": "非常适合免费层级堆叠（Deepgram → Groq → NIM）。",
        "title": "配额耗尽策略"
      },
      "auto": {
        "description": "基于成本、延迟、质量和健康的实时评分进行路由。",
        "tip1": "让引擎自动平衡多个因素。",
        "tip2": "在日志中监控哪些因素驱动路由决策。",
        "tip3": "用于复杂工作负载，其中没有单一因素占主导。",
        "title": "多因素优化"
      },
      "lkgp": {
        "description": "基于历史成功率和持久性能数据进行路由。",
        "tip1": "在依赖此策略之前让成功历史积累足够数据。",
        "tip2": "最适合具有稳定性能特征的工作负载。",
        "tip3": "定期审查历史数据，确保路由决策保持准确。",
        "title": "历史路由"
      },
      "context-optimized": {
        "description": "基于上下文窗口使用情况和令牌效率优化路由。",
        "tip1": "将长对话路由到具有更大上下文窗口的模型。",
        "tip2": "监控上下文利用率以避免令牌浪费。",
        "tip3": "最适合需要大量上下文保留的对话式 AI。",
        "title": "上下文优化"
      },
      "context-relay": {
        "description": "当预期账户轮换且下一个账户必须继承简化的任务摘要时效果最佳。",
        "tip1": "与为同一模型系列轮换账户的提供商配合使用。",
        "tip2": "将交接阈值设置在硬配额截止值以下，以便有时间生成摘要。",
        "tip3": "仅在主模型太贵或不稳定时，才设置专用摘要模型。",
        "title": "会话连续性优先"
      },
      "p2c": {
        "description": "每次请求从随机候选中选出负载较轻的一个 — 低延迟，高扩展性。",
        "tip1": "配合 4 个或更多模型使用效果最佳。",
        "tip2": "需要在设置中启用延迟遥测。",
        "tip3": "是高吞吐量组合中轮询的绝佳替代方案。",
        "title": "双选负载均衡"
      }
    },
    "templateFreeStack": "免费栈（$0）",
    "templateFreeStackDesc": "在所有免费提供商之间进行轮询：Kiro（Claude）、Qoder（5 个模型）、Qwen（4 个模型）、Gemini CLI。零成本，编码不中断。",
    "auto": "自动组合",
    "autoDesc": "自愈型智能路由池（性能优化）",
    "lkgp": "LKGP 模式",
    "lkgpDesc": "最后已知良好提供商（可预测的弹性）",
    "wizardGuideTitle": "组合入门指南",
    "wizardGuideDesc": "创建模型组合以智能路由 AI 流量",
    "wizardGuideHint": "或点击上方「+ 创建组合」",
    "createFirstCombo": "创建您的第一个组合",
    "wizardStep1Title": "命名您的组合",
    "wizardStep1Desc": "为您的组合指定唯一名称，以便在路由规则中识别",
    "wizardStep2Title": "添加模型",
    "wizardStep2Desc": "选择 AI 模型并排列其故障转移优先级顺序",
    "wizardStep3Title": "选择策略",
    "wizardStep3Desc": "选择请求在模型之间的分发方式 — 提供 13 种策略",
    "wizardStep4Title": "审查并保存",
    "wizardStep4Desc": "审查您的配置并激活组合",
    "emailVisibilityStateOn": "开启",
    "emailVisibilityStateOff": "关闭",
    "reorderHandle": "拖拽排序",
    "failedReorder": "模型重排序失败",
    "builderFlowTitle": "组合构建流程",
    "builderStage": {
      "basics": {
        "label": "基础",
        "description": "名称和起始模板"
      },
      "steps": {
        "label": "步骤",
        "description": "提供商、模型和账户选择"
      },
      "strategy": {
        "label": "策略",
        "description": "路由行为和高级设置"
      },
      "intelligent": {
        "label": "智能路由",
        "description": "自动路由候选池、预设和评分"
      },
      "review": {
        "label": "审查",
        "description": "保存前的最终验证"
      }
    },
    "builderStageVisited": "阶段已完成",
    "builderStageCurrent": "当前阶段",
    "builderStagePending": "待处理",
    "builderStageLocked": "已锁定 — 请先完成上一步",
    "builderTitle": "构建组合",
    "builderBrowseCatalog": "浏览目录",
    "builderProvider": "提供商",
    "builderLoadingProviders": "加载提供商中...",
    "builderSelectProvider": "选择提供商",
    "builderModel": "模型",
    "builderSelectModel": "选择模型",
    "builderProviderFirst": "请先选择提供商",
    "builderAccount": "账户",
    "builderPreview": "预览",
    "builderAddStep": "添加步骤",
    "builderDuplicateExact": "该提供商/模型/账户步骤已存在于组合中。",
    "builderComboRef": "组合引用",
    "builderAddComboRef": "添加组合引用",
    "builderComboRefStep": "添加组合引用步骤",
    "builderPinnedAccount": "固定账户",
    "builderLegacyEntry": "旧版条目",
    "reviewName": "名称",
    "reviewStrategy": "策略",
    "reviewSteps": "步骤",
    "reviewAccounts": "账户",
    "reviewProviders": "提供商",
    "reviewComboRefs": "组合引用",
    "reviewAdvanced": "高级设置",
    "reviewAgentFlags": "Agent 标志",
    "reviewSequence": "模型序列",
    "reviewNoSteps": "未配置任何步骤",
    "builderStagesDescription": "按顺序完成各个阶段以定义组合、构建步骤、选择路由策略并审查结果。",
    "builderStepsDescription": "按顺序构建每个组合步骤：提供商、模型，然后是账户。这允许在不同账户上重复使用相同的提供商和模型。",
    "selectProvider": "选择提供商",
    "selectProviderPlaceholder": "选择提供商",
    "selectModel": "选择模型",
    "selectModelPlaceholder": "请先选择提供商",
    "selectAccount": "选择账户",
    "selectComboToReference": "选择要引用的现有组合",
    "comboReference": "组合引用",
    "addComboReference": "添加组合引用",
    "addStepBeforeContinue": "在继续到下一阶段之前，请至少添加一个步骤。",
    "previewNextStep": "选择提供商和模型以预览下一步。",
    "autoSelectAccount": "运行时自动选择账户",
    "modePackBalanced": "均衡",
    "modePackBudget": "预算优先",
    "modePackPerformance": "性能优先",
    "modePackCustom": "自定义",
    "browseLegacyCatalog": "浏览旧版模型目录",
    "agentFeaturesTitle": "智能代理功能",
    "agentFeaturesDescription": "— 可选，用于智能体/工具工作流",
    "agentFeaturesSystemMessageOverride": "系统消息覆盖",
    "agentFeaturesSystemMessagePlaceholder": "覆盖通过此组合路由的所有请求的系统提示…",
    "agentFeaturesSystemMessageHint": "替换客户端发送的任何系统消息。留空则透传客户端系统消息。",
    "agentFeaturesToolFilterRegex": "工具过滤器正则",
    "agentFeaturesToolFilterHint": "只有名称匹配此正则的工具才会转发给供应商。留空则转发所有工具。",
    "agentFeaturesContextCacheHint": "跨轮次锁定供应商/模型以保持缓存会话。内部标签在转发给供应商前会被移除。",
    "agentFeaturesContextCacheProtection": "上下文缓存保护",
    "agentFeaturesContextLength": "上下文长度",
    "agentFeaturesContextLengthPlaceholder": "例如128000",
    "agentFeaturesContextLengthHint": "在 /v1/models 中定义此组合的上下文窗口。",
    "agentFeaturesContextLengthErrorInteger": "上下文长度必须是有效整数",
    "agentFeaturesContextLengthErrorRange": "上下文长度必须介于 1000 到 2000000 之间",
    "compressionOverride": "压缩覆盖",
    "modePack": "模式包"
  },
  "costs": {
    "title": "成本",
    "pageDescription": "跟踪支出、分析趋势，并管理所有提供商的 AI 预算",
    "overview": "概览",
    "budget": "预算",
    "totalCost": "总成本",
    "breakdown": "成本明细",
    "noData": "无成本数据",
    "byModel": "按模型",
    "byProvider": "按提供商",
    "range7d": "7 天",
    "range30d": "30 天",
    "range90d": "90 天",
    "rangeAll": "全部时间",
    "spend30d": "30 天支出",
    "activeModels": "活跃 Model",
    "selectedWindow": "已选窗口",
    "activeProviders": "活跃 Provider",
    "overviewTitle": "概览",
    "spend7d": "7 天支出",
    "avgCostPerRequest": "平均每次请求成本",
    "noCostDataDescription": "发起请求后，成本数据会显示在这里。",
    "spendToday": "今日支出",
    "overviewLoadFailed": "加载成本概览失败",
    "overviewDescription": "按提供商、模型和时间段汇总成本。",
    "providerShare": "提供商占比",
    "topProviders": "热门 Provider",
    "costTrend": "成本趋势",
    "noCostDataTitle": "暂无成本数据",
    "topModels": "热门 Model",
    "requestsInWindow": "窗口内请求数",
    "tokenUsage": "Token 用量",
    "totalTokens": "Token 总数",
    "inputTokens": "输入 Token",
    "outputTokens": "输出 Token",
    "inputOutputRatio": "输入/输出比例",
    "tokens": "token",
    "routingEfficiency": "路由效率",
    "fallbackCount": "回退请求数",
    "fallbackRate": "回退率",
    "modelCoverage": "模型覆盖率",
    "modelCoverageDesc": "带有明确模型的请求占比",
    "outOfRequests": "共 {total} 个请求",
    "costByApiKey": "按 API 密钥统计成本",
    "costByAccount": "按账户统计成本",
    "apiKeyName": "API 密钥",
    "account": "账户",
    "requests": "请求数",
    "cost": "成本",
    "dayStreak": "连续天数",
    "weeklyUsagePattern": "每周使用模式",
    "activityHeatmap": "活动热力图（365 天）",
    "less": "较少",
    "more": "较多",
    "monthlyForecast": "月度预测",
    "forecastBasis": "基于最近 {days} 天",
    "avgDailyCost": "平均每日成本",
    "daysRemaining": "剩余 {days} 天",
    "periodComparison": "周期对比",
    "previousPeriod": "上半期",
    "currentPeriod": "当前半期",
    "exportCSV": "导出为 CSV",
    "exportJSON": "导出为 JSON",
    "legacyFreeLabel": "旧版 / 免费",
    "costExplorerTitle": "成本探索器",
    "costExplorerDescription": "按提供商、模型、API 密钥、账户或服务层级探索支出。",
    "groupProvider": "提供商",
    "groupModel": "模型",
    "groupApiKey": "API 密钥",
    "groupAccount": "账户",
    "groupServiceTier": "服务层级",
    "serviceTierFast": "快速",
    "serviceTierFlex": "弹性",
    "serviceTierStandard": "标准",
    "serviceTierBreakdownTitle": "服务层级",
    "serviceTierBreakdownSubtitle": "快速 / 弹性 / 标准 分布",
    "serviceTierUsageSaved": "已节省用量",
    "serviceTierCostSaved": "已节省",
    "serviceTierCostShareSuffix": "成本占比",
    "dimension": "维度",
    "share": "占比",
    "legacyOrFree": "旧版 / 免费",
    "filterRows": "筛选行…",
    "filterCostExplorerRows": "筛选成本探索器行",
    "noMatchingCostRows": "没有匹配的成本行",
    "noMatchingCostRowsDescription": "调整搜索文本、分组或所选时间窗口。",
    "showingCostRows": "正在显示 {total} 个匹配行中的 {shown} 个。",
    "showingTopCostRows": "正在显示 {total} 个匹配行中的 {shown} 个（前 50 个）。"
  },
  "endpoint": {
    "title": "API 端点",
    "available": "可用端点",
    "cloudProxy": "云代理",
    "disableConfirm": "确定要禁用云代理吗？",
    "baseUrl": "基础 URL",
    "apiKeyLabel": "API 密钥",
    "registeredKeys": "已注册密钥",
    "chatCompletions": "对话补全",
    "responses": "响应",
    "listModels": "列出模型",
    "usingCloudProxy": "当前使用云代理",
    "usingLocalServer": "当前使用本地服务器",
    "machineId": "机器 ID：{id}...",
    "disableCloud": "禁用云端",
    "enableCloud": "启用云端",
    "modelsAcrossEndpoints": "{endpoints} 个端点共提供 {models} 个模型",
    "loadingModels": "正在加载可用模型...",
    "chatDesc": "支持所有提供商的流式与非流式聊天",
    "embeddings": "Embeddings",
    "embeddingsDesc": "用于搜索和 RAG 流程的文本向量",
    "imageGeneration": "图像生成",
    "imageDesc": "根据文本提示生成图像",
    "rerank": "重排",
    "rerankDesc": "按与查询的相关性重新排序文档",
    "audioTranscription": "音频转录",
    "audioTranscriptionDesc": "将音频文件转录为文本（Whisper）",
    "textToSpeech": "文本转语音",
    "textToSpeechDesc": "将文本转换为自然语音",
    "musicGeneration": "音乐生成",
    "musicDesc": "通过 ComfyUI 生成音乐和音轨（Stable Audio、MusicGen）",
    "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": "同步云端数据失败",
    "cloudflaredTitle": "Cloudflare 快速隧道",
    "cloudflaredDescription": "为当前端点创建 Cloudflare Quick Tunnel。",
    "cloudflaredUrlNotice": "创建一个临时的 Cloudflare Quick Tunnel。每次重启后 URL 都会变化。",
    "cloudflaredEnable": "启用 Tunnel",
    "cloudflaredInstallAndEnable": "安装并启用",
    "cloudflaredDisable": "停止 Tunnel",
    "cloudflaredRunning": "运行中",
    "cloudflaredStarting": "启动中",
    "cloudflaredStoppedState": "已停止",
    "cloudflaredNotInstalled": "未安装",
    "cloudflaredUnsupported": "不支持",
    "cloudflaredError": "错误",
    "cloudflaredStarted": "Cloudflare Tunnel 已启动",
    "cloudflaredStopped": "Cloudflare Tunnel 已停止",
    "cloudflaredRequestFailed": "更新 Cloudflare Tunnel 失败",
    "cloudflaredTemporaryNote": "Quick Tunnel URL 是临时地址，每次重启后都会变化。",
    "cloudflaredUnsupportedNote": "当前平台不支持托管安装。请自行安装 cloudflared，或通过 CLOUDFLARED_BIN 指向已有二进制文件。",
    "cloudflaredIdleNote": "为当前端点创建一个临时的 Cloudflare Quick Tunnel。",
    "cloudflaredLastError": "最近错误：{error}",
    "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` 数组格式",
    "messagesApi": "留言",
    "messagesApiDesc": "适用于 Claude 兼容提供程序的本机人性消息 API 格式",
    "imageEdits": "图像编辑",
    "imageEditsDesc": "使用 AI 编辑和修改现有图像（修复、修复、变体）",
    "batchApi": "批量API",
    "batchApiDesc": "异步处理大批量请求（兼容 OpenAI）",
    "filesApi": "文件API",
    "filesApiDesc": "上传和管理文件以进行批处理",
    "videoGeneration": "视频生成",
    "videoDesc": "使用 ComfyUI 和 Stable Video Diffusion 等 AI 模型生成视频。",
    "tailscaleRequestFailed": "加载 Tailscale 状态失败",
    "tailscaleEnableFailed": "启用 Tailscale Funnel 失败",
    "tailscaleWaitingForLogin": "请在打开的浏览器标签页中完成 Tailscale 登录。OmniRoute 会自动重试。",
    "tailscaleLoginTimedOut": "等待 Tailscale 登录超时",
    "tailscaleWaitingForFunnel": "请在打开的浏览器标签页中为此设备启用 Funnel。OmniRoute 会继续轮询。",
    "tailscaleFunnelTimedOut": "等待启用 Tailscale Funnel 超时",
    "tailscaleStarted": "Tailscale Funnel 已启用",
    "tailscaleDisableFailed": "禁用 Tailscale Funnel 失败",
    "tailscaleStopped": "Tailscale Funnel 已禁用",
    "tailscaleInstallFailed": "安装 Tailscale 失败",
    "tailscaleInstallProgress": "处理中...",
    "tailscaleInstalled": "Tailscale 安装成功",
    "tailscaleRunning": "运行中",
    "tailscaleNeedsLogin": "需要登录",
    "tailscaleStoppedState": "已停止",
    "tailscaleNotInstalled": "未安装",
    "tailscaleUnsupported": "不支持",
    "tailscaleError": "错误",
    "tailscaleDisable": "停止 Funnel",
    "tailscaleInstallAndEnable": "安装并启用",
    "tailscaleLoginAndEnable": "登录并启用",
    "tailscaleEnable": "启用 Funnel",
    "tailscaleUrlNotice": "使用你的 Tailscale .ts.net 地址。首次使用时可能需要登录并批准 Funnel。",
    "tailscaleTitle": "Tailscale Funnel",
    "tailscaleNeedsLoginHint": "先使用 Tailscale 认证此机器，然后启用 Funnel。",
    "tailscaleBinaryPath": "Binary: {path}",
    "tailscaleLastError": "最近错误：{error}",
    "tailscaleInstallTitle": "安装 Tailscale",
    "tailscaleInstallIntro": "在此机器上安装 Tailscale，并准备让 OmniRoute 启用 Funnel。",
    "tailscaleInstallPasswordHint": "在 macOS 和 Linux 上，安装软件包和启动守护进程可能需要 sudo。",
    "tailscaleSudoPlaceholder": "可选 sudo 密码",
    "tailscaleInstalling": "正在安装",
    "tailscaleSudoLabel": "Sudo 密码（macOS/Linux 上必需）",
    "ngrokTitle": "ngrok 隧道",
    "ngrokRunning": "运行中",
    "ngrokStarting": "正在启动",
    "ngrokStoppedState": "已停止",
    "ngrokNeedsAuth": "需要认证",
    "ngrokNotInstalled": "未安装",
    "ngrokUnsupported": "不支持",
    "ngrokError": "错误",
    "ngrokEnable": "启用隧道",
    "ngrokDisable": "停止隧道",
    "ngrokUrlNotice": "创建一个公开的 ngrok 隧道。",
    "ngrokAuthTokenLabel": "Authtoken（未设置 NGROK_AUTHTOKEN 时必需）",
    "ngrokAuthTokenPlaceholder": "输入你的 ngrok authtoken",
    "ngrokLastError": "上次错误：{error}",
    "ngrokStarted": "ngrok 隧道已启动",
    "ngrokStopped": "ngrok 隧道已停止",
    "ngrokRequestFailed": "更新 ngrok 隧道失败",
    "tokenSaverSubtitle": "在每个请求上花费更少的代币。",
    "tokenSaverToolOutput": "刀具输出",
    "tokenSaverLlmOutput": "法学硕士输出",
    "tokenSaverInputCompression": "输入压缩",
    "apiEndpointsCatalogUnavailable": "API目录不可用",
    "apiEndpointsSearchPlaceholder": "搜索端点...",
    "apiEndpointsRequiresAuth": "需要授权",
    "apiEndpointsNoMatch": "没有端点与您的过滤器匹配",
    "localServer": "本地服务器",
    "cloudOmniroute": "云全路由",
    "copyUrl": "复制网址",
    "badgeLoopbackTooltip": "此端点仅可本地访问（仅限回环）",
    "badgeAlwaysProtectedTooltip": "此端点始终受保护，需要授权",
    "badgeInternalTooltip": "这是系统内部端点",
    "tierAll": "全部",
    "tierAuth": "需认证",
    "tierLoopback": "回环",
    "tierAlwaysProtected": "始终受保护",
    "tierPublic": "公开",
    "hideInternal": "隐藏内部端点",
    "showInternal": "显示内部端点"
  },
  "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": "离线",
    "disableLabel": "禁用 {label}",
    "enableLabel": "启用 {label}",
    "transportMode": "传输模式",
    "transportStdioDesc": "本地 — IDE 通过 omniroute --mcp 启动进程",
    "transportSseDesc": "远程 — 基于 HTTP 的 Server-Sent Events",
    "transportStreamableHttpDesc": "远程 — 现代双向 HTTP",
    "copy": "复制",
    "mcpDashboardCopyUrl": "复制网址",
    "mcpDisabledTitle": "MCP 已禁用",
    "mcpDisabledDesc": "在上方启用 MCP 后即可配置传输模式并查看服务器遥测。",
    "mcpIntro": "Model Context Protocol — {tools} 个工具,覆盖 {scopes} 个作用域,支持 {transports} 种传输方式(stdio / SSE / Streamable HTTP)。",
    "mcpStep1": "通过 {code} 运行",
    "mcpStep2": "将 MCP 客户端配置为通过 stdio 传输连接。",
    "mcpStep3": "调用 {code1} 和 {code2} 等工具。",
    "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": "下一页",
    "apiKeyId": "API Key ID",
    "offset": "偏移量",
    "limit": "限制",
    "tool": "工具"
  },
  "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": "智能体卡片",
    "agentCardPath": "/.well-known/agent.json",
    "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": "产物",
    "tablePhase": "阶段",
    "offset": "偏移量",
    "limit": "限制",
    "skill": "Skill",
    "rpcEndpoint": "发布 /a2a",
    "rpcMethodSend": "留言/发送",
    "rpcMethodStream": "消息/流",
    "rpcMethodGet": "任务/获取",
    "rpcMethodCancel": "任务/取消",
    "serviceLabel": "A2A",
    "online": "在线",
    "offline": "离线",
    "disableLabel": "禁用 {label}",
    "enableLabel": "启用 {label}",
    "a2aDisabledTitle": "A2A 已禁用",
    "a2aDisabledDesc": "在上方启用 A2A 后即可查看任务遥测、代理详情与校验工具。",
    "a2aIntro": "Agent2Agent JSON-RPC 2.0 端点 — 发送任务、流式响应、取消执行中的任务。",
    "a2aStep1": "在 {code} 处发现代理卡片。",
    "a2aStep2": "向 {code1} 发送 JSON-RPC,使用 {code2} 或 {code3}。",
    "a2aStep3": "使用 {code1} 和 {code2} 跟踪并取消任务。"
  },
  "memory": {
    "a": "A",
    "actions": "操作",
    "addMemory": "添加记忆",
    "allTypes": "全部类型",
    "cancel": "取消",
    "checkHealth": "检查健康状况",
    "checkingHealth": "正在检查...",
    "compactOld": "紧凑旧版",
    "concept": {
      "title": "对话记忆",
      "description": "OmniRoute 从每次对话中学习，记住事实、事件、程序和语义概念，使响应更加准确和上下文感知。",
      "howWorksToggle": "它是如何工作的",
      "howWorksContent": "1. 自动提取：在每个响应结束时，事实和事件会被自动检测并保存。\n2. 检索：在每个响应之前，通过FTS5（精确）、向量（语义）或混合RRF搜索最相关的记忆。\n3. 注入：相关记忆被注入到助手上下文中，以提高响应质量。\n4. 管理：使用此页面查看、编辑、导出和压缩旧记忆。"
    },
    "content": "内容",
    "contentPlaceholder": "要记住的值或 JSON 内容",
    "created": "创建时间",
    "delete": "删除",
    "deleteConfirmDesc": "此操作无法撤销。内存将被永久删除。",
    "deleteConfirmTitle": "删除内存？",
    "description": "查看并管理已存储的记忆条目",
    "editMemory": "编辑内存",
    "editModal": {
      "title": "编辑内存",
      "metadataLabel": "元数据 (JSON)",
      "metadataInvalid": "无效的 JSON",
      "saveFailed": "保存内存失败"
    },
    "embedding": {
      "autoLabel": "自动",
      "autoDesc": "使用最佳可用选项：远程提供者 > 静态 > 转换器",
      "remoteLabel": "远程提供者",
      "remoteDesc": "通过提供者 API 使用嵌入（需要 API 密钥）",
      "staticLabel": "静态本地（药水）",
      "staticDesc": "不使用WASM或外部依赖的本地嵌入",
      "transformersLabel": "Transformers.js (MiniLM)",
      "transformersDesc": "通过 @huggingface/transformers 本地嵌入 (~400MB RAM)",
      "providerModelLabel": "提供者 / 模型",
      "noRemoteProviders": "没有配置 API 密钥的提供者",
      "selectProviderModel": "选择一个模型",
      "staticEnabledLabel": "启用静态药水",
      "staticEnabledDesc": "在本地下载并使用 potion-base-8M 模型",
      "transformersEnabledLabel": "启用 Transformers.js",
      "transformersEnabledDesc": "选择本地 MiniLM（约 400MB RAM，约 3 秒冷启动）",
      "transformersWarning": "需要约400MB内存，并在第一次语义查询时冷启动约3秒。"
    },
    "emptyState": {
      "title": "还没有记忆",
      "description": "记忆是从对话中自动创建的。您也可以使用上面的按钮手动添加它们。"
    },
    "engine": {
      "statusTitle": "引擎状态",
      "embeddingTitle": "嵌入源",
      "rerankTitle": "重新排序（可选）",
      "reindexNow": "立即重新索引",
      "reindexStarted": "重新索引已开始（{pending} 个待处理）",
      "reindexFailed": "重新索引启动失败",
      "keywordLabel": "关键字 (FTS5)",
      "keywordReason": "关键字搜索始终可用",
      "embeddingLabel": "嵌入",
      "vectorStoreLabel": "向量存储",
      "qdrantLabel": "Qdrant",
      "rerankLabel": "重新排序",
      "qdrantDisabled": "禁用",
      "qdrantOk": "健康 ({latencyMs}ms)",
      "qdrantError": "连接错误",
      "needsReindex": "{count} 个内存需要重新索引",
      "configureCta": "配置",
      "vectorStoreInstallHint": "要启用向量搜索：npm install sqlite-vec（需要本地 Node.js，而不是 WASM），然后重启。"
    },
    "episodic": "情景型",
    "export": "导出",
    "factual": "事实型",
    "healthUnknown": "健康状况不明",
    "hitRate": "命中率",
    "import": "导入",
    "importError": "导入文件失败",
    "importResult": "{imported} 导入, {skipped} 跳过",
    "key": "键",
    "keyPlaceholder": "例如用户偏好主题",
    "loading": "正在加载记忆...",
    "memories": "记忆",
    "next": "下一步",
    "noMemories": "未找到记忆条目",
    "pageInfo": "第 {page} 页，共 {totalPages}（共 {total}）",
    "pipelineError": "管道错误",
    "pipelineOk": "管道正常 ({latencyMs}ms)",
    "playground": {
      "infoTitle": "内存游乐场",
      "infoDesc": "模拟将为给定查询检索到的内容。没有修改任何记忆 — 只读预览。",
      "queryLabel": "测试查询",
      "queryPlaceholder": "输入问题或测试短语...",
      "strategyLabel": "策略",
      "strategyExact": "精确 (FTS5)",
      "strategySemantic": "语义（向量）",
      "strategyHybrid": "混合 (RRF)",
      "budgetLabel": "预算（代币）",
      "simulate": "模拟",
      "resultsTitle": "{count} 个结果",
      "resolutionTitle": "搜索分辨率",
      "resolutionEmbedding": "嵌入",
      "resolutionStore": "向量存储",
      "resolutionStrategy": "使用的策略",
      "rerankApplied": "重新排序已应用",
      "fallback": "后备",
      "noResults": "未找到与此查询相关的记忆。",
      "tokensUsed": "已使用的令牌",
      "none": "无",
      "errorFetch": "获取预览失败"
    },
    "previous": "上一页",
    "procedural": "程序型",
    "qdrant": {
      "title": "Qdrant（向量存储 Tier 2）",
      "description": "可选的 Qdrant 集成用于可扩展的语义搜索",
      "enableLabel": "启用 Qdrant",
      "enableDesc": "启用后，Qdrant 将作为主要向量存储使用",
      "testConnection": "测试连接",
      "testing": "测试中...",
      "statusActive": "活动",
      "statusError": "错误",
      "statusDisabled": "禁用",
      "healthOk": "连接正常 ({latencyMs}ms)",
      "healthError": "连接错误",
      "saved": "设置已保存",
      "saveError": "保存失败",
      "portLabel": "端口",
      "embeddingModelLabel": "嵌入模型",
      "optional": "可选",
      "apiKeyKeepPlaceholder": "留空以保持当前密钥",
      "apiKeyOptional": "如果不使用身份验证，请留空",
      "removeApiKey": "移除",
      "quickSelectModel": "快速选择",
      "searchTestTitle": "语义搜索测试",
      "searchPlaceholder": "输入测试查询...",
      "searching": "搜索中...",
      "search": "搜索",
      "cleanupTitle": "清理旧积分",
      "cleanupDesc": "删除过期记忆（保留期）的 Qdrant 点。",
      "cleaning": "清理中...",
      "cleanNow": "立即清理",
      "cleanupSuccess": "已移除 {count} 点数",
      "cleanupFailed": "清理失败"
    },
    "rerank": {
      "enableLabel": "启用重新排序",
      "enableDesc": "在搜索后使用重新排序模型对结果进行重新排序",
      "warning": "Rerank 会增加 +200-500ms 的延迟和每个请求的额外成本。请谨慎使用。",
      "providerModelLabel": "重新排序提供者 / 模型",
      "noProviderWithKey": "没有配置 API 密钥的提供者。请配置一个提供者以使用 rerank。",
      "selectProviderModel": "选择一个提供者/模型"
    },
    "save": "保存",
    "saving": "保存中...",
    "search": "搜索记忆...",
    "semantic": "语义型",
    "summarize": {
      "title": "压缩旧记忆",
      "noCandidates": "没有符合压缩条件的记忆（标准：超过30天）。",
      "candidatesDesc": "{count} 个记忆将被压缩为摘要。此操作无法撤销。",
      "confirm": "立即紧凑"
    },
    "tabs": {
      "memories": "记忆",
      "playground": "游乐场",
      "engine": "引擎"
    },
    "title": "记忆管理",
    "tokensUsed": "已用 Tokens",
    "tooltip": {
      "totalEntries": "此 API 密钥存储的总记忆数",
      "tokensUsed": "活动记忆占用的估计总令牌数",
      "hitRate": "按 ID 读取的缓存命中率（不是语义回忆准确性）",
      "factual": "用户上下文中的客观、永久性事实",
      "episodic": "对话历史中的事件和经历",
      "procedural": "助手应遵循的程序、工作流程和指令",
      "semantic": "概念、偏好和领域知识"
    },
    "totalEntries": "总条目数",
    "type": "类型",
    "memoryEnabled": "内存已启用"
  },
  "skills": {
    "title": "技能",
    "description": "管理并监控 AI 技能",
    "skillsTab": "技能",
    "executionsTab": "执行记录",
    "sandboxTab": "沙箱",
    "loading": "正在加载技能...",
    "noSkills": "未找到技能",
    "noExecutions": "未找到执行记录",
    "enabled": "已启用",
    "disabled": "已禁用",
    "version": "版本",
    "tableDescription": "说明",
    "skill": "技能",
    "status": "状态",
    "duration": "耗时",
    "time": "时间",
    "sandboxConfig": "沙箱配置",
    "cpuLimit": "CPU 限制",
    "cpuLimitDesc": "单个技能允许的最长执行时间",
    "memoryLimit": "内存限制",
    "memoryLimitDesc": "允许分配的最大内存",
    "timeout": "超时",
    "timeoutDesc": "等待响应的最长时间",
    "networkAccess": "网络访问",
    "networkAccessDesc": "允许发起出站网络请求",
    "mode": "模式",
    "q": "Q",
    "filterSkillsPlaceholder": "按名称、描述或标签过滤技能",
    "allModes": "所有模式",
    "totalSkills": "技能总数",
    "enabledSkills": "已启用",
    "totalExecutions": "执行次数",
    "successRate": "成功率",
    "marketplaceTab": "市场",
    "applyFilters": "应用筛选",
    "popularDefaultsLabel": "所选提供商的默认热门技能:",
    "onMode": "ON",
    "offMode": "OFF",
    "autoMode": "AUTO",
    "installSkillButton": "安装技能",
    "installSkillModalTitle": "安装技能",
    "installJsonPlaceholder": "在此粘贴技能清单 JSON...",
    "installing": "正在安装...",
    "installSuccess": "技能已安装({id})",
    "installError": "安装失败",
    "invalidJson": "无效的 JSON",
    "searchMarketplacePlaceholder": "搜索技能...",
    "searchMarketplace": "搜索市场",
    "marketplaceEmpty": "市场中未找到技能",
    "marketplaceError": "搜索失败",
    "installingFromMarketplace": "正在从市场安装...",
    "popularSkills": "热门技能",
    "skillsMarketplace": "技能市场",
    "searching": "正在搜索...",
    "pageInfo": "第 {page} / {totalPages} 页(共 {total} 条)",
    "previous": "上一页",
    "next": "下一页",
    "activeProvider": "当前提供商:",
    "changeInSettings": "可在 设置 → 记忆与技能 中修改。",
    "installs": "安装",
    "marketplaceSkillsMpHint": "请在设置中配置 SkillsMP API 密钥以浏览市场。",
    "marketplaceSkillsShHint": "搜索 skills.sh 公开目录以发现并安装代理技能。",
    "installSkillModalDesc": "粘贴技能清单 JSON 或上传 .json 文件。",
    "uploadJson": "上传 JSON",
    "cancel": "取消",
    "installSkill": "安装技巧"
  },
  "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": "提供商",
    "configuredProvidersLabel": "在仪表板中配置",
    "configuredProvidersHint": "指已在 /dashboard/providers 中配置凭证的提供商，无论当前运行时状态如何。",
    "activeProviders": "{count} 个活跃",
    "activeProvidersHint": "指当前已启用并可参与请求路由的已配置提供商。",
    "monitoredProviders": "{count} 个监控中",
    "monitoredProvidersHint": "指当前由断路器健康监控器持续跟踪的提供商。",
    "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}",
    "limitExhausted": "已耗尽",
    "learnedFromHeaders": "从响应头学习",
    "remainingOfLimit": "剩余 {remaining}/{limit}",
    "throttleStatus": "限流：{value}",
    "lastHeaderUpdate": "响应头更新：{age}",
    "databaseHealth": "数据库健康状况",
    "stickyBoundSessions": "粘性绑定会话",
    "sessionsByApiKey": "按 API 密钥进行的会话",
    "noActiveSessionsTracked": "尚未跟踪任何活动会话。",
    "noSessionQuotaMonitorsActive": "没有活动的会话配额监视器。",
    "gracefulDegradationStatus": "优雅降级状态",
    "additionalModels": "+{count} 更多型号",
    "providerHealthMatrixTitle": "提供商健康矩阵",
    "providerHealthMatrixDescription": "来自熔断器、冷却、锁定和日志的提供商 × 账户 × 模型状态。",
    "healthMatrixRange": "健康矩阵时间范围",
    "providerFilter": "提供商筛选",
    "onlyIssues": "仅显示问题",
    "refresh": "刷新",
    "accounts": "账户",
    "models": "模型",
    "issues": "问题",
    "loadingProviderHealthMatrix": "正在加载提供商健康矩阵...",
    "failedProviderHealthMatrix": "加载提供商健康矩阵失败：{error}",
    "noProvidersMatchedFilters": "没有提供商匹配当前筛选条件。",
    "modelPillSummary": "{requests} 请求 · {successRate} 成功率 · {latency} 平均延迟",
    "modelLockoutSummary": "{reason} · 剩余 {duration}",
    "locked": "已锁定",
    "inferred": "推断",
    "inactive": "不活跃",
    "noConnectionId": "无连接 ID",
    "accountModelSummary": "{connectionId} · {count} 个模型",
    "cooldown": "冷却中",
    "durationRemaining": "剩余 {duration}",
    "noSyncedModelsOrTraffic": "暂无同步模型或近期流量。",
    "providerRowSummary": "{active}/{total} 活跃账户 · {requests} 请求 · {successRate} 成功率 · {latency} 平均延迟",
    "cooldownCount": "{count} 个冷却中",
    "lockoutCount": "{count} 个锁定",
    "issueCount": "{count} 个问题",
    "score": "评分",
    "lastRequest": "最近请求",
    "lastError": "最近错误"
  },
  "telemetry": {
    "title": "系统遥测",
    "description": "来自此 OmniRoute 进程的滚动请求、运行时、会话和内存信号。",
    "uptime": "运行时间",
    "totalRequests": "请求总数",
    "avgLatency": "平均延迟",
    "errorRate": "错误率",
    "activeConnections": "活动连接",
    "memoryUsage": "内存使用",
    "latencyTrend": "延迟趋势",
    "throughputTrend": "吞吐趋势",
    "memoryTrend": "内存趋势",
    "refresh": "刷新",
    "updatedAt": "更新于 {time}",
    "loadFailed": "加载遥测失败。",
    "partialData": "遥测数据部分可用：{error}"
  },
  "mitm": {
    "title": "MITM 代理",
    "description": "用于拦截和路由客户端请求的透明代理。",
    "enable": "启用 MITM 代理",
    "enableDesc": "启动或停止本地拦截进程和 DNS 覆盖。",
    "status": "状态",
    "running": "运行中",
    "stopped": "已停止",
    "start": "启动",
    "stop": "停止",
    "refresh": "刷新",
    "port": "代理端口",
    "apiKey": "路由器 API 密钥",
    "apiKeyPlaceholder": "可选；留空则回退到本地密钥",
    "sudoPassword": "Sudo 密码",
    "cachedPassword": "已为此进程缓存",
    "saveSettings": "保存设置",
    "settingsSaved": "MITM 设置已保存。",
    "startedSuccess": "MITM 代理已启动。",
    "stoppedSuccess": "MITM 代理已停止。",
    "saveFailed": "更新 MITM 设置失败。",
    "loadFailed": "加载 MITM 设置失败。",
    "invalidPort": "透明 MITM 拦截当前要求使用端口 443。",
    "certificate": "CA 证书",
    "certificateReady": "证书已可用于客户端信任安装。",
    "certificateMissing": "尚未生成证书。",
    "available": "可用",
    "missing": "缺失",
    "downloadCert": "下载 CA 证书",
    "regenerateCert": "重新生成证书",
    "regenerateConfirm": "这会使现有客户端信任失效。要继续吗？",
    "regenerateSuccess": "MITM 证书已重新生成。",
    "regenerateFailed": "重新生成 MITM 证书失败。",
    "targetRoutes": "目标路由",
    "interceptedRequests": "已拦截请求",
    "activeConnections": "活动连接",
    "dnsConfigured": "DNS 已配置",
    "pid": "PID",
    "lastIntercept": "上次拦截",
    "target": "目标",
    "host": "主机",
    "localPort": "本地端口",
    "endpoints": "端点",
    "enabled": "已启用",
    "configured": "已配置",
    "yes": "是",
    "no": "否",
    "noTargets": "未配置目标路由。"
  },
  "limits": {
    "title": "限制和配额",
    "rateLimit": "速率限制",
    "remaining": "剩余",
    "requestsPerMinute": "请求/分钟",
    "tokensPerMinute": "Tokens/分钟",
    "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": "下一页",
    "providerWarningTitle": "提供商警告",
    "viewDetails": "查看详情",
    "eventMetadata": "事件元数据",
    "eventPayload": "事件负载",
    "requestId": "请求 ID",
    "providerWarningDesc": "上游提供商返回了警告。请查看详情以了解更多信息。",
    "a": "A",
    "offset": "偏移量",
    "limit": "限制",
    "status": "状态",
    "resourceType": "资源类型",
    "totalEntries": "总条目数",
    "tab": "标签页",
    "auditModalSubtitle": "审计详情",
    "close": "关闭",
    "runningRequests": "活跃请求",
    "runningRequestsDesc": "当前正在运行的上游请求实时视图",
    "clearAll": "全部清除",
    "confirmClearActiveRequests": "清除所有活跃请求？",
    "model": "模型",
    "provider": "提供商",
    "account": "Account",
    "elapsed": "已耗时",
    "activeStage": "阶段",
    "activeStageUnknown": "尚未发送到上游",
    "activeStageRegistered": "已注册",
    "activeStagePayloadPrepared": "负载已准备",
    "activeStageWaitingAccountSlot": "等待账户槽位",
    "activeStageWaitingRateLimit": "等待速率限制器",
    "activeStageRateLimitSlotAcquired": "已获取速率限制槽位",
    "activeStageSendingToProvider": "正在发送到上游",
    "activeStageProviderResponseStarted": "上游响应已开始",
    "count": "数量",
    "payloads": "Payload",
    "viewPayloads": "查看",
    "activeCount": "{count} 个活跃",
    "clientPayload": "客户端请求载荷",
    "upstreamPayload": "上游提供商载荷",
    "upstreamNotSentYet": "尚未发送到上游",
    "runningRequestDetailMeta": "Account：{account} — 已耗时：{elapsed}",
    "export": "导出",
    "exporting": "正在导出...",
    "exportFailed": "导出失败",
    "timeRange": "时间范围",
    "lastNHours": "最近 {hours} 小时",
    "defaultRange": "默认",
    "consoleViewer": {
      "fetchFailed": "获取日志失败",
      "copyFailed": "复制日志条目失败",
      "copyLogEntry": "复制日志条目"
    },
    "compressionLogTitle": "压缩日志",
    "compressionLogEmpty": "尚未有压缩请求。启用压缩处理请求时，压缩统计信息将出现在此处。",
    "tokens": "令牌"
  },
  "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": "使用情况追踪",
    "securityDesc": "设置密码以保护您的仪表板，或暂时跳过。",
    "providerDesc": "连接你的第一个 AI 提供商。你之后还可以继续添加。",
    "apiKeyRequired": "API 密钥（必填）",
    "customUrlOptional": "自定义 URL（可选）",
    "testDesc": "让我们验证您的提供商连接是否有效。",
    "runTest": "运行连接测试",
    "testingConnection": "测试连接...",
    "connectionSuccessful": "连接成功！您的提供商已准备就绪。",
    "noProviderFound": "未找到提供商。您可以稍后从仪表板添加一个。",
    "testFailed": "测试失败，但您可以稍后配置。",
    "couldNotTest": "现在无法测试。您可以从仪表板进行测试。",
    "doneDesc": "你都准备好了！您的 OmniRoute 实例已配置并准备好代理 AI 请求。",
    "yourEndpoint": "您的端点：",
    "continue": "继续",
    "retry": "重试",
    "failedSetPassword": "设置密码失败。再试一次。",
    "failedAddProvider": "添加提供商失败。再试一次。",
    "connectionError": "连接错误。请再试一次。",
    "provider": "提供商",
    "apiKeyHelp": "API密钥是AI服务的密码。从提供商的网站（例如 platform.openai.com、console.anthropic.com）获取一个。",
    "tier": {
      "subtitle": "OmniRoute 将提供商组织为三层，因此路由首先优先选择最可靠、成本最低的路径。",
      "tier1": {
        "label": "优质客户",
        "description": "具有本机身份验证流程和推理模型的一流 CLI。"
      },
      "tier2": {
        "label": "成本优化",
        "description": "用于日常流量的廉价、高吞吐量提供商。"
      },
      "tier3": {
        "label": "后备和专业",
        "description": "本地托管或专用端点用作后备。"
      },
      "configure": "配置提供商"
    },
    "tierFlowDiagramAlt": "OmniRoute 3 层回退图",
    "apiKeyMgmt": "API密钥管理"
  },
  "providers": {
    "title": "提供商",
    "allProviders": "所有提供商",
    "audioProviders": "音频提供商",
    "showFreeOnly": "仅显示免费",
    "addProvider": "添加提供商",
    "addFirstProvider": "添加您的第一个提供商",
    "addFirstProviderDesc": "连接 AI 提供商以开始通过 OmniRoute 路由请求。您可以使用免费提供商、API 密钥或 OAuth 帐户。",
    "learnMore": "了解更多",
    "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} 错误",
    "warningCount": "{count} 警告",
    "noConnections": "无连接",
    "expiredBadge": "已过期",
    "expiringSoonBadge": "即将过期",
    "freeTier": "免费额度",
    "freeTierAvailable": "有免费额度",
    "hasFreeTooltip": "提供免费层",
    "noAuthLabel": "免鉴权",
    "noAuthProviders": "免鉴权提供商",
    "upstreamProxyLabel": "上游代理",
    "freeAggregated": "所有提供免费层的提供商(同时也会显示在各自的原生分类中)",
    "deprecated": "已弃用",
    "deprecatedProvider": "此提供商已弃用",
    "riskNotice": {
      "title": "继续之前",
      "tooltip": "该提供商有使用注意事项 —— 点击查看详情",
      "oauth": "此提供商使用你官方产品的会话 / OAuth,这并未被授权用于代理或路由用途。\n\n不建议进行高强度的自主代理使用(OpenCloud 风格、长链路多步流程、大批量请求)—— 上游可能因此限制甚至封禁账号。\n\n使用风险自负。",
      "webCookie": "此提供商通过你的网页会话 Cookie 进行鉴权。上游服务可能随时让会话失效,届时你需要重新登录。不建议用于长时间无人值守的操作。\n\n使用风险自负。",
      "deprecated": "此提供商已被上游下线,可能随时停止工作。已存在的连接可能在上游完全关闭访问前继续可用。建议考虑替代方案。",
      "dontShowAgain": "对此提供商不再显示此提示",
      "understand": "我已了解,继续",
      "cancel": "取消"
    },
    "disabled": "已禁用",
    "enableProvider": "启用提供商",
    "disableProvider": "禁用提供商",
    "testResults": "测试结果",
    "noCompatibleYet": "尚未添加兼容的提供商",
    "compatibleHint": "使用上面的按钮添加 OpenAI 或 Anthropic 兼容端点",
    "addOpenAICompatible": "添加 OpenAI 兼容",
    "addAnthropicCompatible": "添加 Anthropic 兼容端点",
    "addNewProvider": "添加新提供商",
    "backToProviders": "返回提供商",
    "configureNewProvider": "配置新的 AI 提供商以与您的应用程序一起使用。",
    "providerLabel": "提供商",
    "selectProvider": "选择提供商",
    "selectedProvider": "选定的提供商",
    "authMethod": "认证方式",
    "apiKeyLabel": "API key",
    "apiKeyRequired": "需要 API 密钥",
    "selectProviderRequired": "请选择提供商",
    "enterApiKey": "输入您的 API 密钥",
    "apiKeySecure": "您的 API 密钥将被加密并安全存储。",
    "oauth2Connect": "使用 OAuth2 连接",
    "oauth2Label": "OAuth2",
    "oauth2Desc": "使用 OAuth2 身份验证连接您的帐户。",
    "displayName": "显示名称",
    "displayNamePlaceholder": "例如，生产 API、开发环境",
    "displayNameHint": "可选。用于标识此配置的友好名称。",
    "active": "活跃",
    "activeDescription": "启用此提供商以在您的应用程序中使用",
    "cancel": "取消",
    "createProvider": "创建提供商",
    "failedCreate": "创建提供商失败",
    "errorOccurred": "发生错误。请再试一次。",
    "modelStatus": "模型状态",
    "showConfiguredOnly": "仅显示已配置",
    "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": "基础 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": "删除这个连接吗？",
    "batchDeleteSelected": "Delete Selected ({count})",
    "batchDeleteConfirm": "Delete {count} connection(s)? This action cannot be undone.",
    "batchDeleteSuccess": "Deleted {count} connection(s)",
    "batchActivateSelected": "__MISSING__:Activate",
    "batchDeactivateSelected": "__MISSING__:Deactivate",
    "batchRetestSelected": "__MISSING__:Retest",
    "batchActivateSuccess": "__MISSING__:Activated {count} connection(s)",
    "batchDeactivateSuccess": "__MISSING__:Deactivated {count} connection(s)",
    "failedSetAlias": "设置别名失败",
    "failedSaveConnection": "保存连接失败",
    "failedSaveConnectionRetry": "无法保存连接。请再试一次。",
    "failedRetestConnection": "重新测试连接失败",
    "deleteCompatibleNodeConfirm": "删除此 {type} 兼容节点？",
    "anthropicCompatibleDetails": "Anthropic 兼容详情",
    "openaiCompatibleDetails": "OpenAI 兼容详情",
    "messagesApi": "Messages API",
    "responsesApi": "Responses API",
    "embeddings": "Embeddings",
    "audioTranscriptions": "音频转写",
    "audioSpeech": "语音合成",
    "imagesGenerations": "图像生成",
    "chatCompletions": "聊天完成",
    "importingModels": "正在导入...",
    "importFromModels": "从 /models 导入",
    "modelsImported": "已导入 {count} 个模型",
    "allModelsAlreadyImported": "所有模型已导入",
    "noNewModelsToImport": "没有新模型可导入 — 所有模型已在注册表或自定义模型列表中",
    "skippingExistingModels": "跳过 {count} 个已有模型",
    "autoSync": "自动同步",
    "autoSyncTooltip": "每 24 小时自动刷新模型列表（可通过 MODEL_SYNC_INTERVAL_HOURS 配置）",
    "autoSyncEnabled": "自动同步已启用 — 模型将定期刷新",
    "autoSyncDisabled": "自动同步已禁用",
    "autoSyncToggleFailed": "切换自动同步失败",
    "clearAllModels": "清除所有模型",
    "clearAllModelsConfirm": "您确定要删除此提供商的所有模型吗？",
    "clearAllModelsSuccess": "所有模型已清除",
    "clearAllModelsFailed": "清除模型失败",
    "addConnectionToImport": "添加连接以启用导入。",
    "noModelsConfigured": "尚未配置模型",
    "connectionCount": "{count} 连接",
    "fetchingModels": "正在获取可用模型...",
    "failedFetchModels": "获取模型失败",
    "noModelsFound": "未找到模型",
    "importFailed": "导入失败",
    "noNewModelsAdded": "没有添加新模型。",
    "adding": "添加...",
    "close": "关闭",
    "importingModelsTitle": "导入模型",
    "copyModel": "复制模型",
    "filterModels": "筛选模型…",
    "modelsActive": "已启用",
    "showModel": "显示模型",
    "hideModel": "隐藏模型",
    "removeModel": "删除模型",
    "rateLimitProtected": "受保护",
    "rateLimitUnprotected": "无保护",
    "enableRateLimitProtection": "单击启用速率限制保护",
    "disableRateLimitProtection": "单击以禁用速率限制保护",
    "productionKey": "生产密钥",
    "enterNewApiKey": "输入新的 API 密钥",
    "codexApplyModalTitle": "适用于当地法典",
    "codexApplyTargetLabel": "目标路径",
    "codexApplyBackupLabel": "备份",
    "codexApplyWarning": "这将替换现有的 auth.json。继续？",
    "codexApplyConfirmCheckbox": "我确认我想替换现有的 auth.json",
    "codexApply": "申请",
    "bulkTabSingle": "单个",
    "bulkTabBulkAdd": "批量添加",
    "bulkAddFormatHint": "每行一个密钥。格式：名称|API密钥 或仅 API密钥（按序号自动命名）。",
    "bulkValidateKeys": "保存前验证每个密钥（较慢）",
    "bulkAddAllKeys": "添加所有密钥",
    "bulkAddedCount": "{count, plural, other {已添加 # 个密钥}}",
    "bulkFailedCount": "{count, plural, other {# 个失败}}",
    "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": "提供商代理",
    "repairEnv": "修复 .env",
    "repairEnvWorking": "修复中...",
    "repairEnvHint": "将缺失的 OAuth 默认值补充到 .env 中，不会覆盖现有值。",
    "repairEnvSuccess": "OAuth 默认值已恢复",
    "repairEnvFailed": "修复 .env 失败",
    "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": "请求头",
    "perModelQuotaLabel": "按模型配额",
    "perModelQuotaDescription": "启用后，429/404 错误只会锁定特定 Model，而不是整个连接。适用于具有按 Model 速率限制的 Provider（例如 ModelScope）。",
    "perModelQuotaToggle": "按模型配额开关",
    "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 = 禁用。",
    "selectAllModels": "全选",
    "deselectAllModels": "取消全选",
    "modelsActiveCount": "{active}/{total} 已启用",
    "noModelsMatch": "没有匹配 \"{filter}\" 的模型",
    "groupLabel": "环境",
    "groupPlaceholder": "例如：eKaizen、Personal",
    "failedTestConnection": "测试连接失败",
    "failed": "失败",
    "leaveBlankKeepCurrentApiKey": "留空以保留当前的 API 密钥。",
    "editCompatibleTitle": "编辑 {type} 兼容",
    "compatibleBaseUrlHint": "{type} 兼容 API 的根 URL。若端点路径是自定义的，请在高级设置中配置。",
    "apiKeyForCheck": "API 密钥（用于检查）",
    "compatibleProdPlaceholder": "{type} 兼容（产品）",
    "tokenRefreshed": "Token 刷新成功",
    "tokenRefreshFailed": "Token 刷新失败",
    "applyCodexAuthLocal": "应用认证",
    "exportCodexAuthFile": "导出认证",
    "applyClaudeAuthLocal": "申请授权",
    "exportClaudeAuthFile": "导出授权",
    "importClaudeAuth": "导入授权",
    "claudeApplyModalTitle": "适用于当地克劳德代码",
    "claudeApplyTargetLabel": "目标路径",
    "claudeApplyBackupLabel": "备份",
    "claudeApplyMcpHint": "现有的 MCP OAuth 状态将被保留。",
    "claudeApplyWarning": "这将取代现有的 claudeAiOauth 部分。继续？",
    "claudeApplyConfirmCheckbox": "我确认我想替换现有的 claudeAiOauth 部分",
    "claudeApply": "申请",
    "claudeAuthAppliedLocal": "克劳德授权在本地应用",
    "claudeAuthApplyFailed": "本地申请Claude auth失败",
    "claudeAuthExported": "克劳德授权文件导出",
    "claudeAuthExportFailed": "无法导出 Claude 身份验证文件",
    "claudeImportModalTitle": "导入克劳德·奥特",
    "claudeImportTabSingle": "单人",
    "claudeImportTabBulk": "散装",
    "claudeImportTabUpload": "上传文件",
    "claudeImportTabPaste": "粘贴 JSON",
    "claudeImportFileLabel": "选择.credentials.json",
    "claudeImportPasteLabel": "粘贴 JSON 内容",
    "claudeImportEmailLabel": "账户邮箱",
    "claudeImportNameLabel": "连接名称（可选）",
    "claudeImportOverwriteLabel": "如果帐户已存在，则替换现有连接",
    "claudeImportSubmit": "进口",
    "claudeImportSuccess": "克劳德连接导入成功",
    "claudeImportInvalidJson": "无法将文件解析为 JSON",
    "claudeImportInvalidShape": "该文件不是有效的 .credentials.json",
    "claudeImportDuplicate": "帐户已存在 - 启用“替换现有”以覆盖",
    "claudeImportIdentityUnverified": "Bootstrap 无法验证该帐户。启用“替换现有”或提供电子邮件。",
    "claudeImportFailed": "导入克劳德授权失败",
    "claudeImportBulkModeUpload": "上传文件",
    "claudeImportBulkModePaste": "粘贴 JSON 数组",
    "claudeImportBulkModeZip": "上传ZIP",
    "claudeImportBulkUploadHint": "拖放或拾取最多 50 个 .credentials.json 文件（每个 256KB，总共 10MB）。",
    "claudeImportBulkPasteHint": "粘贴对象数组：[{ json, name?, email? }, ...]",
    "claudeImportBulkZipHint": "包含 .json 条目的 ZIP。最多 50 个条目，解压后 10MB。",
    "claudeImportBulkSubmit": "全部导入",
    "claudeImportBulkSuccess": "导入 {count} Claude 连接",
    "claudeImportBulkFailed": "部分条目导入失败",
    "claudeImportBulkZipExtracting": "正在提取 ZIP...",
    "claudeImportBulkZipError": "无法提取 ZIP",
    "applyGeminiAuthLocal": "申请授权",
    "exportGeminiAuthFile": "导出授权",
    "importGeminiAuth": "导入授权",
    "geminiApplyModalTitle": "应用于本地 Gemini CLI",
    "geminiApplyTargetLabel": "目标路径",
    "geminiApplyBackupLabel": "备份",
    "geminiApplyAccountsHint": "google_accounts.json 活动帐户将更新以匹配此连接。",
    "geminiApplyWarning": "这将替换现有的 oauth_creds.json 并更新 google_accounts.json。继续？",
    "geminiApplyConfirmCheckbox": "我确认我想替换现有的 oauth_creds.json",
    "geminiApply": "申请",
    "geminiAuthAppliedLocal": "Gemini 身份验证在本地应用",
    "geminiAuthApplyFailed": "本地申请 Gemini 身份验证失败",
    "geminiAuthExported": "Gemini 验证文件已导出",
    "geminiAuthExportFailed": "导出 Gemini 身份验证文件失败",
    "geminiImportModalTitle": "导入 Gemini 授权",
    "geminiImportTabSingle": "单人",
    "geminiImportTabBulk": "散装",
    "geminiImportTabUpload": "上传文件",
    "geminiImportTabPaste": "粘贴 JSON",
    "geminiImportFileLabel": "选择 oauth_creds.json",
    "geminiImportPasteLabel": "粘贴 JSON 内容",
    "geminiImportEmailLabel": "账户邮箱",
    "geminiImportNameLabel": "连接名称（可选）",
    "geminiImportOverwriteLabel": "如果帐户已存在，则替换现有连接",
    "geminiImportSubmit": "进口",
    "geminiImportSuccess": "Gemini 连接导入成功",
    "geminiImportInvalidJson": "无法将文件解析为 JSON",
    "geminiImportInvalidShape": "该文件不是有效的 oauth_creds.json",
    "geminiImportDuplicate": "帐户已存在 - 启用“替换现有”以覆盖",
    "geminiImportIdentityUnverified": "无法通过 id_token 验证身份。启用“替换现有”或提供电子邮件。",
    "geminiImportFailed": "导入 Gemini 身份验证失败",
    "geminiImportBulkModeUpload": "上传文件",
    "geminiImportBulkModePaste": "粘贴 JSON 数组",
    "geminiImportBulkModeZip": "上传ZIP",
    "geminiImportBulkUploadHint": "拖放或拾取最多 50 个 oauth_creds.json 文件（每个 256KB，总共 10MB）。",
    "geminiImportBulkPasteHint": "粘贴对象数组：[{ json, name?, email? }, ...]",
    "geminiImportBulkZipHint": "包含 oauth_creds.json 条目的 ZIP。最多 50 个条目，解压后 10MB。",
    "geminiImportBulkSubmit": "全部导入",
    "geminiImportBulkSuccess": "导入 {count} Gemini 连接",
    "geminiImportBulkFailed": "部分条目导入失败",
    "geminiImportBulkZipExtracting": "正在提取 ZIP...",
    "geminiImportBulkZipError": "无法提取 ZIP",
    "codexAuthAppliedLocal": "Codex auth.json 已在本地应用",
    "codexAuthApplyFailed": "在本地应用 Codex auth.json 失败",
    "codexAuthExported": "Codex auth.json 已导出",
    "codexAuthExportFailed": "导出 Codex auth.json 失败",
    "importCodexAuth": "导入授权",
    "codexImportModalTitle": "导入法典认证",
    "codexImportTabSingle": "单人",
    "codexImportTabBulk": "散装",
    "codexImportTabUpload": "上传文件",
    "codexImportTabPaste": "粘贴 JSON",
    "codexImportFileLabel": "选择 auth.json",
    "codexImportFileHint": "选择从 Codex 或 OmniRoute 导出的 auth.json 文件。",
    "codexImportPasteLabel": "粘贴 JSON 内容",
    "codexImportEmailLabel": "账户邮箱",
    "codexImportEmailHint": "从文件中自动检测；如果需要的话进行编辑。",
    "codexImportNameLabel": "连接名称（可选）",
    "codexImportOverwriteLabel": "如果帐户已存在，则替换现有连接",
    "codexImportSubmit": "进口",
    "codexImportSuccess": "Codex 连接导入成功",
    "codexImportInvalidJson": "无法将文件解析为 JSON",
    "codexImportInvalidShape": "该文件不是有效的 Codex auth.json",
    "codexImportDuplicate": "帐户已存在 - 启用“替换现有”以覆盖",
    "codexImportFailed": "导入 Codex 验证失败",
    "codexImportDetectedEmail": "检测到：{email}",
    "codexImportNoEmailDetected": "文件中未检测到电子邮件",
    "codexImportBulkModeUpload": "上传文件",
    "codexImportBulkModePaste": "粘贴列表",
    "codexImportBulkModeZip": "ZIP 存档",
    "codexImportBulkUploadHint": "选择多个 .json 文件或拖放",
    "codexImportBulkPasteHint": "JSON 数组 [ {...}, {...} ] 或由 --- 分隔的多个 JSON 在其自己的行上",
    "codexImportBulkZipHint": "上传包含 auth.json 文件的 .zip（最多 50 个文件，10 MB）",
    "codexImportBulkSubmit": "导入 {count} 帐户",
    "codexImportBulkLimit": "每次导入最多 50 个文件",
    "codexImportBulkSuccess": "{count} 已导入",
    "codexImportBulkFailed": "{count} 失败",
    "codexImportBulkZipExtracting": "正在提取 ZIP...",
    "codexImportBulkZipError": "无法提取 ZIP",
    "advancedSettings": "高级设置",
    "chatPathLabel": "聊天端点路径",
    "chatPathPlaceholder": "/chat/completions",
    "chatPathHint": "为非标准 API 的提供商自定义聊天路径（例如：/v4/chat/completions）",
    "modelsPathLabel": "模型端点路径",
    "modelsPathPlaceholder": "/models",
    "modelsPathHint": "为验证流程自定义模型路径（例如：/v4/models）",
    "statusDeactivated": "已停用（手动）",
    "statusBanned": "已封禁 / 沙箱违规",
    "statusCreditsExhausted": "余额不足 / 配额已耗尽",
    "showEmails": "显示所有邮箱",
    "hideEmails": "隐藏所有邮箱",
    "a": "A",
    "accountConcurrencyCapHint": "限制此 Account 可同时处理的请求数。",
    "accountConcurrencyCapLabel": "Account 并发上限",
    "accountIdHint": "用于区分同一 Provider 下的多个 Account。",
    "accountIdLabel": "Account ID",
    "accountIdPlaceholder": "Account ID 占位符",
    "addAnotherApiKey": "添加另一个 API 密钥或粘贴多个密钥",
    "addCcCompatible": "添加 CC 兼容",
    "aggregatorsGateways": "聚合器与网关",
    "enterpriseCloud": "企业与云",
    "apiFormatLabel": "API 格式",
    "apiKeyOptionalHint": "如果上游不需要认证，可以留空 API key。",
    "apiKeyOptionalLabel": "API key（可选）",
    "apiRegionChina": "中国区",
    "apiRegionHint": "选择此 Provider 的 API 区域。",
    "apiRegionInternational": "国际区",
    "apiRegionLabel": "API 区域",
    "apikey": "API key",
    "audio": "音频",
    "audioProvidersHeading": "音频 Provider",
    "cloudAgentProviders": "云代理提供商",
    "audioShortLabel": "音频",
    "azureOpenAiBaseUrlHint": "Azure OpenAI 资源的 Base URL。",
    "bailianBaseUrlHint": "阿里云百炼服务的 Base URL。",
    "claudeWebCookieHint": "Open claude.ai → DevTools → Application → Cookies → claude.ai, copy the 'sessionKey' value. Also need cf_clearance, __cf_bm, _cfuvid for Cloudflare.",
    "claudeWebCookiePlaceholder": "sessionKey=sk-ant-...",
    "blackboxWebCookieHint": "从 Blackbox Web 会话复制 Cookie。",
    "blackboxWebCookiePlaceholder": "Blackbox Web Cookie",
    "t3ChatWebCookieHint": "打开 t3.chat → 开发工具 → 应用程序 → 本地存储 → https://t3.chat，复制“凸会话 ID”。然后打开 DevTools → Network，从任何聊天请求中复制完整的 Cookie 标头。将这两个值粘贴到下面的字段中。",
    "t3ChatWebCookiePlaceholder": "凸会话 ID=abc123...",
    "blockClaudeExtraUsageDescription": "隐藏部分 Provider 返回的重复 Claude 额外用量记录，避免和主 token 统计重复。",
    "blockClaudeExtraUsageLabel": "屏蔽重复 Claude 用量",
    "bulkPasteAdded": "{count, plural, one {已添加 1 个 key} other {已添加 # 个 key}}",
    "bulkPasteDuplicatesIgnored": "{count, plural, one {已跳过 1 个重复项} other {已跳过 # 个重复项}}",
    "bulkPasteHint": "每行粘贴一个 API 密钥。空行会被忽略，重复密钥会被跳过。",
    "ccCompatibleBaseUrlHint": "Claude Code 专用中转站的 Base URL，不要包含 /messages。",
    "ccCompatibleBaseUrlPlaceholder": "https://relay.example.com/v1",
    "ccCompatibleChatPathHint": "默认使用 Claude Code 严格的 Messages API 路径。仅在中转站文档要求时修改。",
    "ccCompatibleContext1mDescription": "当所选 Claude 模型支持时，添加 context-1m beta header。",
    "ccCompatibleContext1mLabel": "启用 1M context beta",
    "ccCompatibleDetailsTitle": "CC 兼容中转站详情",
    "ccCompatibleLabel": "CC 兼容",
    "ccCompatibleModelsDescription": "CC 兼容中转站不提供模型列表。请添加该中转站接受的 Claude 模型 ID。",
    "ccCompatibleNameHint": "这个 Claude Code 专用中转站的显示名称。",
    "ccCompatibleNamePlaceholder": "CC 中转站生产环境",
    "ccCompatiblePrefixHint": "用于 prefix/model-id 这类模型别名。",
    "ccCompatiblePrefixPlaceholder": "cc",
    "ccCompatibleValidationHint": "这个 Provider 只适用于仅向 Claude Code 客户端提供服务的中转站。OmniRoute 会把任何进入的请求改写为 Claude Code 兼容的传输格式，以通过这些中转站的验证。如果你只是想使用 Claude Code CLI，或者不清楚这类中转站是什么，请使用普通 Anthropic-compatible Provider。",
    "claudeExtraUsageShort": "额外用量",
    "claudeExtraUsageToggleTitle": "为此连接屏蔽 Claude 额外用量统计",
    "codex5hToggleTitle": "为此连接跟踪 Codex 5 小时配额",
    "codexFastServiceTierDescription": "可用时为 Codex 请求使用 priority 服务层。",
    "codexFastServiceTierLabel": "Codex 快速服务层",
    "codexWeeklyToggleTitle": "为此连接跟踪 Codex 周配额",
    "compatUpstreamHeaderNamePlaceholder": "上游 Header 名称",
    "compatUpstreamHeaderValuePlaceholder": "上游 Header 值",
    "compatible": "兼容",
    "configuredCount": "已配置数量",
    "consoleApiKeyOracleHint": "用于从 Console 获取或验证 API key 的辅助配置。",
    "consoleApiKeyOracleLabel": "Console API key Oracle",
    "consoleApiKeyOraclePlaceholder": "Console API key Oracle 占位符",
    "cpaModeDisabledTitle": "CLIProxyAPI 兼容模式已关闭",
    "cpaModeEnabledTitle": "CLIProxyAPI 兼容模式已开启",
    "customUserAgentHint": "发送给上游 Provider 的自定义 User-Agent。",
    "customUserAgentLabel": "自定义 User-Agent",
    "databricksBaseUrlHint": "Databricks Serving Endpoint 的 Base URL。",
    "defaultThinkingStrengthHint": "请求未指定 reasoning effort 时使用。",
    "defaultThinkingStrengthLabel": "默认思考强度",
    "deleteAllExtraApiKeys": "全部删除",
    "excludedModelsHint": "这些 Model 不会出现在路由和选择器中。",
    "excludedModelsLabel": "排除的 Model",
    "excludedModelsPlaceholder": "以逗号分隔的 Model ID",
    "expirationBannerExpired": "凭据已过期",
    "expirationBannerExpiredDesc": "此 Provider 的凭据已过期，请更新后继续使用。",
    "expirationBannerExpiringSoon": "凭据即将过期",
    "expirationBannerExpiringSoonDesc": "此 Provider 的凭据即将过期，请提前更新。",
    "extraApiKeyMasked": "Key {index}: {prefix}••••{suffix}",
    "extraApiKeysHint": "为同一提供商添加额外 API 密钥，以便轮换和回退使用。",
    "extraApiKeysLabel": "额外 API 密钥",
    "apiKeyHealthLabel": "API 密钥健康状态",
    "apiKeyStatusActive": "正常",
    "apiKeyStatusWarning": "异常（{count} 次失败）",
    "apiKeyStatusInvalid": "无效",
    "primaryKey": "主密钥",
    "apiKeyInvalidAlert": "{count} 个 API 密钥因认证失败被标记为无效：{connections}。轮换时将跳过它们。点击查看。",
    "apiKeyInvalidAlertTitle": "API 密钥健康提醒",
    "apiKeyWarningAlert": "{count} 个 API 密钥在以下连接中处于警告状态：{connections}。请检查以防止轮换问题。",
    "apiKeyWarningAlertTitle": "API 密钥警告",
    "googlePseInfo": "配置 Google Programmable Search Engine 以启用 Web Search。",
    "geminiCliProjectIdHint": "您的 Google Cloud 项目 ID。对于有例外情况的帐户是必需的。输入您的 GCP 项目 ID 以与 Gemini CLI 结合使用。",
    "geminiCliProjectIdLabel": "谷歌云项目 ID",
    "geminiCliProjectIdPlaceholder": "我的 GCP 项目 ID",
    "antigravityProjectIdHint": "反重力云代码请求的可选覆盖。留空以使用 Google OAuth 期间发现的项目。",
    "antigravityClientProfileLabel": "客户端配置",
    "antigravityClientProfileHint": "选择 OmniRoute 向 API 呈现的 Antigravity 客户端身份。",
    "antigravityClientProfileIde": "IDE",
    "antigravityClientProfileHarness": "Harness / CLI",
    "codexFastTierActiveChip": "Codex Fast 层级已启用",
    "tierFast": "快速",
    "antigravityProjectIdLabel": "谷歌云项目 ID",
    "antigravityProjectIdPlaceholder": "我的 GCP 项目 ID",
    "grokWebCookieHint": "从 Grok Web 会话复制 Cookie。",
    "grokWebCookiePlaceholder": "Grok Web Cookie",
    "herokuBaseUrlHint": "Heroku 部署的 Base URL。",
    "hideEmail": "隐藏邮箱",
    "imageProviders": "图像 Provider",
    "videoProviders": "视频生成",
    "embeddingRerankProviders": "嵌入与重排序",
    "imagesShortLabel": "图像",
    "llmProviders": "LLM Provider",
    "localProviderApiKeyOptionalHint": "本地提供商的 API 密钥通常是可选的。",
    "localProviderBaseUrlHint": "输入本地提供商的 Base URL。",
    "localProviders": "本地 Provider",
    "maxConcurrentWholeNumberError": "最大并发必须是整数",
    "museSparkWebCookieHint": "从 Muse Spark Web 会话复制 Cookie。",
    "museSparkWebCookiePlaceholder": "Muse Spark Web Cookie",
    "oauth": "OAuth",
    "openCliTools": "打开 CLI Tools",
    "openSettings": "打开设置",
    "openaiResponsesStoreDescription": "允许兼容的 Responses API 请求保留已存储的响应状态。",
    "openaiResponsesStoreLabel": "OpenAI Responses 存储",
    "perplexitySearchSharedKeyInfo": "Perplexity Search 可使用共享 key 配置。",
    "perplexityWebCookieHint": "从 Perplexity Web 会话复制 Cookie。",
    "perplexityWebCookiePlaceholder": "Perplexity Web Cookie",
    "personalAccessTokenLabel": "个人访问令牌",
    "qoderPatHint": "输入 Qoder Personal Access Token。",
    "qoderPatPlaceholder": "Qoder PAT",
    "refreshOauthTokenTitle": "刷新 OAuth Token",
    "regionHint": "选择此 Provider 使用的区域。",
    "regionLabel": "区域",
    "removeThisKey": "移除此 key",
    "routingTagsHint": "添加标签以便在路由规则中匹配此连接。",
    "routingTagsLabel": "路由标签",
    "routingTagsPlaceholder": "例如 coding, fast, cheap",
    "search": "搜索",
    "searchEngineIdHint": "Google Programmable Search Engine 的 ID。",
    "searchEngineIdLabel": "Search Engine ID",
    "searchEngineIdRequired": "Search Engine ID 为必填项",
    "searchProvider": "搜索提供商",
    "searchProviderDesc": "按名称、能力或类别查找提供商。",
    "searchProviders": "搜索 Provider",
    "searchProvidersHeading": "搜索 Provider",
    "searxngBaseUrlHint": "SearXNG 实例的 Base URL。",
    "searxngInfo": "配置 SearXNG 以启用自托管 Web Search。",
    "sessionCookieLabel": "Session Cookie",
    "showEmail": "显示邮箱",
    "snowflakeBaseUrlHint": "Snowflake Cortex 服务的 Base URL。",
    "supportedEndpointAudio": "音频",
    "supportedEndpointChat": "聊天",
    "supportedEndpointEmbeddings": "Embeddings",
    "supportedEndpointImages": "图像",
    "supportedEndpointsLabel": "支持的端点",
    "tagGroupHint": "用于筛选和组织 Provider 的标签分组。",
    "tagGroupLabel": "标签分组",
    "tagGroupPlaceholder": "标签分组占位符",
    "testModel": "测试模型",
    "testingModel": "正在测试模型",
    "toggleOffShort": "关",
    "toggleOnShort": "开",
    "tokenExpiredBadge": "Token 已过期",
    "tokenExpiredTitle": "Token 已过期",
    "tokenExpiresSoonTitle": "Token 即将过期",
    "tokenShort": "Token",
    "totalKeysRotating": "{count, plural, one {1 个 key 正在轮换} other {# 个 key 正在轮换}}",
    "unhideModel": "取消隐藏模型",
    "upstreamProxyProviders": "上游代理 Provider",
    "validationModelIdHint": "用于验证此提供商连接的模型 ID。",
    "validationModelIdLabel": "验证模型 ID",
    "validationModelIdPlaceholder": "输入用于测试的模型 ID",
    "vertexServiceAccountPlaceholder": "粘贴 Service Account JSON（{\"type\":\"service_account\",...}）或 OAuth access_token",
    "webCookieProviders": "Web Cookie Provider",
    "weeklyShort": "每周",
    "xiaomiMimoBaseUrlHint": "小米 Mimo 服务的 Base URL。",
    "zedImportButton": "从 Zed 导入",
    "zedImportFailed": "Zed 导入失败",
    "zedImportHint": "从 Zed 配置中导入 Provider。",
    "zedImportNetworkError": "Zed 导入网络错误",
    "zedImportNone": "没有可从 Zed 导入的内容",
    "zedImportSuccess": "Zed 导入成功",
    "zedImporting": "正在从 Zed 导入",
    "freeTierProviders": "免费层提供商",
    "freeTierLabel": "有免费额度",
    "freeTierProvidersDesc": "提供免费层的提供商——有些需要注册 API 密钥，有些无需任何凭证。",
    "providerSummaryAll": "全部",
    "ideProviders": "IDE 提供商",
    "ideProvidersDesc": "内置 AI 订阅的编辑器。使用提供商页面直接从 IDE 密钥链导入凭据。",
    "noIdeProviders": "没有符合当前筛选条件的 IDE 提供商。",
    "providerDetailFastTierTooltip": "默认对所有 Codex 连接应用 Codex Fast 层级",
    "providerDetailFastDefaultLabel": "快速默认",
    "providerDetailBrowserManualConnect": "浏览器/手动连接",
    "providerDetailAuthUrl": "认证 URL",
    "providerDetailCallbackUrl": "回调 URL",
    "providerDetailValidClaudeCredentialsFile": "有效的 Claude 凭据文件",
    "providerDetailPathAutoDetectedAllOs": "路径按操作系统自动检测（Linux/Mac/Windows）。",
    "providerDetailMyClaudeAccountPlaceholder": "我的克劳德账户",
    "providerDetailPathAutoDetected": "根据操作系统 (Linux/Mac) 自动检测路径。",
    "webFetch": "网页抓取",
    "webFetchTooltip": "从网页 URL 抽取内容的提供商(HTML → Markdown、抓取、截图)",
    "webFetchProvidersHeading": "网页抓取提供商",
    "compatibleProvidersDesc": "您托管或配置的 OpenAI 兼容和 Anthropic 兼容端点。将任意 OpenAI SDK 指向您的 URL 并在此处路由请求。",
    "oauthProvidersDesc": "通过 OAuth 认证的提供商——登录一次，OmniRoute 自动处理令牌轮换。",
    "webCookieProvidersDesc": "这些提供商使用浏览器网络会话、cookie 或网络令牌而不是 API 密钥。打开提供程序以添加所需的会话凭据。",
    "apiKeyProvidersDesc": "标准 API 密钥提供商。添加密钥后，OmniRoute 代为路由、重试和限流。",
    "noAuthProvidersDesc": "无需凭证的开放端点——无需注册即可立即使用。",
    "upstreamProxyProvidersDesc": "通过上游代理路由出站流量。适用于企业网络或流量审计场景。",
    "webFetchProvidersDesc": "从网页 URL 抓取和提取内容的提供商。用于将实时网页数据注入提示词。",
    "aggregatorsGatewaysDesc": "多提供商聚合器和 AI 网关，通过单一统一 API 对接数十个底层模型。",
    "enterpriseCloudDesc": "企业级和云托管模型，提供增强 SLA、合规认证和专用容量。",
    "cloudAgentProvidersDesc": "自主云代理，可执行长时间运行的任务，支持计划审批和实时状态跟踪。",
    "localProvidersDesc": "在您自己的硬件上运行的自托管模型。数据不会离开您的基础设施。",
    "searchProvidersDesc": "网页和文档搜索提供商。可附加到 LLM 调用以实现检索增强生成（RAG）。",
    "audioProvidersDesc": "文本转语音和语音转文本提供商，用于语音输入输出和音频转录管道。",
    "embeddingRerankProvidersDesc": "向量嵌入和重排序提供商，用于语义搜索、RAG 管道和相似度评分。",
    "imageProvidersDesc": "图像生成和视觉提供商——从文本创建图像或分析现有图像。",
    "videoProvidersDesc": "视频生成提供商。从文本提示或图像创建短视频片段。",
    "onboardingWizard": "提供商入职向导",
    "onboardingWizardShort": "入职向导",
    "onboardingWizardDescription": "通过验证、持久性和即时连接测试连接 API 密钥、自定义兼容和 OAuth 提供商。",
    "onboardingStepType": "类型",
    "onboardingStepProvider": "提供商",
    "onboardingStepCredentials": "凭证",
    "onboardingStepResult": "结果",
    "onboardingTypeApiKeyTitle": "API 密钥提供商",
    "onboardingTypeApiKeyText": "使用内置提供程序，例如 OpenAI、Anthropic、Gemini、Groq、Azure 等。",
    "onboardingTypeCustomTitle": "自定义兼容提供商",
    "onboardingTypeCustomText": "创建与 OpenAI、Anthropic 或 Claude Code 兼容的端点并添加其密钥。",
    "onboardingTypeOAuthTitle": "OAuth 提供商",
    "onboardingTypeOAuthText": "为编码提供商重用现有的 OAuth、设备代码或本地导入流程。",
    "onboardingChooseOAuthProvider": "选择 OAuth 提供商",
    "onboardingChooseApiKeyProvider": "选择 API 密钥提供商",
    "onboardingChooseProviderDescription": "选择一个提供商，然后向导将指导您完成凭据和测试。",
    "onboardingChangeType": "变更类型",
    "onboardingChangeProvider": "更换提供商",
    "onboardingSearchProviders": "搜索提供商...",
    "onboardingApiKeyOptional": "API 密钥可选",
    "onboardingProviderConnected": "提供商已连接",
    "onboardingProviderSavedWithWarnings": "提供者保存时带有警告",
    "onboardingProviderFinished": "提供商入职完成",
    "onboardingYourProviderConnection": "您的提供商连接",
    "onboardingTestPassed": "测试通过",
    "onboardingTestFailed": "测试失败",
    "onboardingOpenProviderDetails": "开放提供商详细信息",
    "onboardingTryInPlayground": "去游乐场试试",
    "onboardingDefaultConnectionName": "{provider} 主要",
    "onboardingTestingConnection": "测试提供商连接...",
    "onboardingValidatingCredentials": "正在验证凭据...",
    "onboardingSavingConnection": "正在保存提供商连接...",
    "onboardingProviderFailed": "提供商加入失败",
    "onboardingCreatingCompatibleProvider": "创建兼容的提供者...",
    "onboardingSavingCompatibleConnection": "正在保存兼容的提供商连接...",
    "onboardingCustomProviderFallbackName": "定制提供商",
    "onboardingCustomProviderFailed": "自定义提供商加入失败",
    "onboardingLoadingOAuthConnection": "正在加载 OAuth 连接...",
    "onboardingOAuthNoConnectionFound": "OAuth 已完成，但未找到提供者连接。",
    "onboardingOAuthFailed": "OAuth 登录失败",
    "onboardingAddProvider": "添加 {provider}",
    "onboardingConnectionName": "连接名称",
    "onboardingApiKeyOptionalLabel": "API 密钥（可选）",
    "onboardingBaseUrlOverride": "基本 URL 覆盖",
    "onboardingBaseUrlOverrideHint": "可选。存储为providerSpecificData.baseUrl。",
    "onboardingRegion": "地区",
    "onboardingSearchCx": "搜索 CX/引擎 ID",
    "onboardingProviderSpecificIdPlaceholder": "可选的提供商特定 ID",
    "onboardingCustomUserAgent": "自定义用户代理",
    "onboardingWorking": "工作…",
    "onboardingValidateSaveTest": "验证、保存和测试",
    "onboardingBack": "返回",
    "onboardingCreateCustomCompatibleProvider": "创建自定义兼容提供商",
    "onboardingCreateCustomCompatibleDescription": "该向导首先创建一个提供程序节点，然后存储并测试其 API 密钥连接。",
    "onboardingProtocol": "协议",
    "onboardingOpenAiCompatible": "兼容 OpenAI",
    "onboardingAnthropicCompatible": "人类兼容",
    "onboardingClaudeCodeCompatible": "克劳德代码兼容",
    "onboardingProviderPrefix": "提供商前缀",
    "onboardingProviderPrefixHint": "用于生成托管提供商 ID。",
    "onboardingChatPath": "聊天路径",
    "onboardingModelsPath": "模型路径",
    "onboardingCreateSaveTest": "创建、保存和测试",
    "onboardingConnectProvider": "连接 {provider}",
    "onboardingOAuthFlowDescription": "OmniRoute 将打开该提供商的现有 OAuth 流程。登录后，向导将重新加载已保存的连接并运行与提供程序页面相同的连接测试。",
    "onboardingStartOAuthFlow": "启动 OAuth 流程",
    "passthroughModelsDescription": "{provider} 接受提供者本机模型 ID。从 /models 导入或添加用于路由的自定义 ID。",
    "bedrockModelsDescription": "Amazon Bedrock 模型的范围按 AWS 区域划分。从 /models 导入或添加在所选区域中启用的基岩模型 ID。",
    "bedrockModelPlaceholder": "人类.克劳德十四行诗-4-6",
    "addProviderSessionCookieTitle": "添加 {provider} 会话 cookie",
    "addProviderWebTokenTitle": "添加 {provider} 网络令牌",
    "addProviderConnectionTitle": "添加 {provider} 连接",
    "webTokenCredentialLabel": "网络会话令牌",
    "webNoAuthCredentialLabel": "无需任何凭证",
    "webCookieCredentialHint": "所需 cookie：{credential}。粘贴您自己登录的 {provider} Web 会话中的 Cookie 标头值。请勿包含 Cookie: 前缀。",
    "webTokenCredentialHint": "凭证：{credential}。粘贴您自己登录的 {provider} Web 会话中的令牌值，或者粘贴 DevTools HAR 导出（如果提供商支持）的令牌值。",
    "webCookieEditHint": "留空以保留当前会话 cookie。所需 cookie：{credential}。",
    "webTokenEditHint": "留空以保留当前的 ​​Web 会话令牌。凭证：{credential}。",
    "webSessionGuideTitle": "如何获取会话凭证",
    "webSessionGuideIntro": "{provider} 使用浏览器网络会话而不是 API 密钥。",
    "webCookieRequiredCredential": "所需 cookie：{credential}",
    "webTokenRequiredCredential": "所需令牌：{credential}",
    "webSessionGuideStep1": "在浏览器中登录 {provider}。",
    "webSessionGuideStep2": "打开浏览器开发人员工具并检查 Web 应用程序发出的请求。",
    "webSessionGuideStep3": "从提供商自己的域复制所需的凭据。对于 cookie，仅复制 Cookie 标头值并省略 Cookie:。",
    "webSessionGuideStep4": "将其粘贴到此处并检查连接。如果它停止工作，请重新登录并将其替换为新值。",
    "webSessionSecurityHint": "将其视为密码：它可以访问您登录的网络帐户，直到其过期或被撤销。",
    "webNoAuthGuideTitle": "无需任何凭证",
    "webNoAuthGuideBody": "{provider} 不需要 API 密钥或 cookie。保存连接以使用其免费 Web 端点。",
    "webSessionCredentialValidationFailed": "会话凭据验证失败。重新登录，复制新的凭据，然后重试。",
    "checkCookie": "检查cookie",
    "checkWebToken": "检查令牌",
    "huggingchatLabel": "HuggingChat（免费）",
    "huggingchatDesc": "通过 huggingface.co/chat 免费使用 LLM 聊天",
    "phindLabel": "Phind（免费）",
    "phindDesc": "免费的开发者专用 AI 聊天",
    "poeWebLabel": "Poe 网页",
    "poeWebDesc": "通过 poe.com 进行多模型聊天",
    "veniceWebLabel": "威尼斯网络",
    "veniceWebDesc": "隐私专注的 AI 聊天",
    "v0VercelWebLabel": "v0 Vercel Web",
    "v0VercelWebDesc": "通过 v0.dev 的 AI 代码生成",
    "kimiWebLabel": "Kimi Web",
    "kimiWebDesc": "通过 kimi.moonshot.cn 访问中国市场的 AI 聊天",
    "doubaoWebLabel": "豆包网",
    "doubaoWebDesc": "字节跳动 AI 聊天通过 doubao.com"
  },
  "settings": {
    "title": "设置",
    "general": "常规",
    "security": "安全",
    "appearance": "外观",
    "routing": "路由",
    "cache": "缓存",
    "resilience": "韧性",
    "routingSettingsIntro": "控制您的请求如何路由、转换和发送给 AI 提供商。",
    "routingOpDropParagraphContainsLabel": "丢弃段落(包含)",
    "routingOpDropParagraphStartsWithLabel": "丢弃段落(开头匹配)",
    "routingOpReplaceTextLabel": "替换文本",
    "routingOpReplaceRegexLabel": "替换正则",
    "routingOpDropBlockContainsLabel": "丢弃块(包含)",
    "routingOpPrependSystemBlockLabel": "在系统块开头插入",
    "routingOpAppendSystemBlockLabel": "在系统块末尾追加",
    "routingOpInjectBillingHeaderLabel": "注入计费头",
    "routingOpObfuscateWordsLabel": "混淆词语(ZWJ)",
    "routingOpDropParagraphContainsDesc": "移除系统提示中包含任意指定子串的段落(以空行分割的文本块)。用于剥离 Anthropic 分类器会标记的第三方客户端指纹,例如 'github.com/anomalyco/opencode' 或 'docs.openwebui.com'。",
    "routingOpDropParagraphStartsWithDesc": "移除以任一指定前缀开头的段落。用于剥离声明调用方客户端的身份行,例如 'You are OpenCode' 或 'You are Open WebUI'。",
    "routingOpReplaceTextDesc": "用一个字面子串替换另一个字面子串。用于已知的触发短语 — 例如把 'Here is some useful information about the environment you are running in:' 改写为 'Environment context you are running in:'(经验证的触发短语)。",
    "routingOpReplaceRegexDesc": "替换匹配正则表达式的文本。当你需要字符类、可选空白或锚点等模式时使用。运行时会捕获语法错误的正则。",
    "routingOpDropBlockContainsDesc": "移除整个系统块(而非仅段落),只要其文本包含任一指定子串。当一整块带指纹时使用,例如注入的 MCP 服务器描述。",
    "routingOpPrependSystemBlockDesc": "在系统数组的开头插入一个新的文本块。用于添加 Anthropic 分类器期望的 SDK 身份声明 'You are a Claude agent, built on Anthropic's Claude Agent SDK.'。",
    "routingOpAppendSystemBlockDesc": "在系统数组末尾追加一个新文本块。用于不必置于 [0] 位置的修饰性内容。",
    "routingOpInjectBillingHeaderDesc": "在前置位置插入特殊的 'x-anthropic-billing-header: cc_version=...; cc_entrypoint=...; cch=...;' 文本块,用于通过 Anthropic 分类器校验。CC 桥接转发端点必须使用;原生 claude 提供商已自带计费行,在那里通常无需此操作。",
    "routingOpObfuscateWordsDesc": "在每个指定词的首字母后插入零宽连字符,例如 'opencode' 变为 'o‍pencode'。视觉上对人类完全相同,但能绕过分类器的词匹配。作用于系统块、用户/助手消息以及工具描述。",
    "routingNeedlesHint": "子串列表。段落只要包含其中任一项即匹配。通过「添加条目」逐行添加。",
    "routingPrefixesHint": "字符串列表。段落以其中任一项开头即匹配(匹配前会去除前导空白)。",
    "routingCaseSensitiveHint": "开启时 'OpenCode' 与 'opencode' 视为不同字符串。关闭(默认)时忽略大小写。",
    "routingMatchLiteralHint": "要查找的精确字面子串,不解析为正则 — . * ? 等特殊字符按字面处理。",
    "routingReplacementTextHint": "替换字符串。留空则删除匹配项,周围文本保持不变。",
    "routingAllOccurrencesHint": "开启(默认)时替换所有出现位置;关闭时仅替换第一次匹配。",
    "routingPatternHint": "JavaScript 正则表达式源,不要用斜杠包裹 — 直接写 'foo(.*)bar'。无法编译的模式将被服务端拒绝。",
    "routingRegexFlagsHint": "JavaScript 正则修饰符(g = 全部匹配,i = 忽略大小写,s = 点匹配换行,m = 多行)。默认 'g'。",
    "routingBlockTextHint": "新系统块的完整文本。使用字面字符串;系统块仅存储文本。",
    "routingIdempotencyKeyHint": "可选。设置后,如果已有以该键开头的块存在,则跳过此操作,避免重试时重复插入。",
    "routingBillingEntrypointHint": "作为 'cc_entrypoint=' 注入的值。Anthropic 接受 'sdk-cli'(Agent SDK)、'cli'(Claude Code CLI)或其他文档化的值。",
    "routingBillingVersionFormatHint": "cc_version= 后 3 字符构建哈希的计算方式。'ex-machina' = sha256(CCH_SALT + 第一条用户消息字符 + 版本)(每条消息独立)。'omniroute-daystamp' = sha256(YYYY-MM-DD + 版本)(按天稳定)。",
    "routingBillingCchAlgoHint": "5 字符 cch= 令牌的计算方式。'sha256-first-user' = 第一条用户消息文本的 sha256;'xxhash64-body' = 由请求体级签名稍后填充;'static-zero' = 字面占位符 '00000'。",
    "routingObfuscateWordsHint": "要混淆的小写词语。ZWJ 插入对大小写不敏感,所以 'opencode' 也会匹配 'OpenCode' 与 'OPENCODE'。",
    "routingObfuscateTargetsHint": "扫描词语的请求体范围:系统块、用户/助手消息以及工具描述。",
    "routingObfuscateTargetsLabel": "目标",
    "routingSummarizeDropParagraphContains": "丢弃包含的段落:{items}",
    "routingSummarizeDropParagraphStartsWith": "丢弃开头匹配的段落:{items}",
    "routingSummarizeReplaceText": "将 \"{match}\" 替换为 \"{replacement}\"",
    "routingSummarizeReplaceRegex": "正则 /{pattern}/{flags} → \"{replacement}\"",
    "routingSummarizeDropBlockContains": "丢弃包含的块:{items}",
    "routingSummarizePrependSystemBlock": "前置块:\"{text}\"",
    "routingSummarizeAppendSystemBlock": "追加块:\"{text}\"",
    "routingSummarizeInjectBillingHeader": "注入计费头(entrypoint={entrypoint},version={versionFormat},cch={cchAlgo})",
    "routingSummarizeObfuscateWords": "通过 ZWJ 在 {targets} 中混淆 {count} 个词",
    "routingDefaultAutoVariantLKGP": "上次正常的提供商",
    "routingDefaultAutoVariantLKGPDesc": "上次正常的提供商",
    "routingDefaultAutoVariantCoding": "代码场景质量优先",
    "routingDefaultAutoVariantCodingDesc": "代码场景质量优先",
    "routingDefaultAutoVariantFast": "低延迟路由",
    "routingDefaultAutoVariantFastDesc": "低延迟路由",
    "routingDefaultAutoVariantCheap": "成本优先",
    "routingDefaultAutoVariantCheapDesc": "成本优先",
    "routingDefaultAutoVariantOffline": "高可用",
    "routingDefaultAutoVariantOfflineDesc": "高可用",
    "routingDefaultAutoVariantSmart": "最佳探索(10% 探索率)",
    "routingDefaultAutoVariantSmartDesc": "最佳探索(10% 探索率)",
    "routingOpSummaryCount": "{count, plural, =0 {无操作} other {# 个操作}}",
    "routingOpEnabled": "已启用",
    "routingOpDisabled": "已禁用",
    "routingOpStatusSeparator": " · ",
    "resilienceSettingsIntro": "提供程序失败时自动重试、冷却和回退。",
    "aiSettingsIntro": "用于思考预算、模型行为和压缩的 AI 特定设置。",
    "systemPrompt": "系统提示",
    "thinkingBudget": "思考预算",
    "proxy": "代理",
    "httpProxy": "HTTP 代理",
    "1proxy": "1proxy",
    "proxySubTabsAria": "代理设置分区",
    "requestBodyLimitTitle": "请求体大小限制",
    "requestBodyLimitDescription": "解析请求体前允许的最大 API 载荷大小。专用上传路由仍至少保留其内置的 100 MB 限制。",
    "requestBodyLimitInputLabel": "请求体限制（MB）",
    "requestBodyLimitEmptyError": "请输入 MB 限制值",
    "requestBodyLimitWholeNumberError": "请使用整数",
    "requestBodyLimitMinimumError": "最小值为 {min} MB",
    "requestBodyLimitMaximumError": "最大值为 {max} MB",
    "requestBodyLimitLoadFailed": "加载请求限制设置失败",
    "requestBodyLimitSaveSuccess": "请求体限制已保存",
    "requestBodyLimitSaveFailed": "保存请求体限制失败",
    "requestBodyLimitSaving": "正在保存...",
    "requestBodyLimitSave": "保存",
    "requestBodyLimitCurrent": "当前：{value}",
    "mitmProxy": "MITM 代理",
    "pricing": "定价",
    "storage": "存储",
    "policies": "策略",
    "ipFilter": "IP过滤器",
    "comboDefaults": "组合默认值",
    "fallbackChains": "后备链",
    "changePassword": "更改密码",
    "enablePassword": "启用密码",
    "darkMode": "深色模式",
    "lightMode": "浅色模式",
    "memoryTitle": "记忆",
    "memoryDesc": "跨会话持久化对话记忆",
    "memoryEnabled": "启用记忆",
    "memoryEnabledDesc": "启用后，OmniRoute 会注入相关的历史上下文。",
    "maxTokens": "最大 Tokens",
    "retentionDays": "保留时长",
    "recent": "最近",
    "recentDesc": "按时间顺序的时间窗",
    "semantic": "语义",
    "semanticDesc": "向量搜索",
    "hybrid": "混合",
    "hybridDesc": "最近 + 语义",
    "skillsTitle": "技能",
    "skillsDesc": "供模型调用的工具",
    "skillsEnabled": "启用技能",
    "skillsEnabledDesc": "允许智能体触发函数。",
    "skillsComingSoon": "技能市场即将推出。",
    "memorySkillsTitle": "记忆与技能",
    "memorySkillsDesc": "持久化上下文与能力",
    "modelsDevTitle": "模型数据库",
    "modelsDevDesc": "从 models.dev 自动同步定价、能力和规格",
    "modelsDevEnabled": "启用 models.dev 同步",
    "modelsDevEnabledDesc": "从开源的 models.dev 数据库获取模型定价、能力和规格",
    "modelsDevInterval": "同步间隔",
    "syncNow": "立即同步",
    "syncing": "同步中...",
    "lastSync": "上次同步",
    "never": "从未",
    "justNow": "刚才",
    "modelsDevStats": "同步统计",
    "modelsDevStatsDesc": "当前 models.dev 数据覆盖情况",
    "providers": "提供商",
    "modelsWithPricing": "已有定价的模型",
    "capabilities": "能力",
    "lastSyncCount": "上次同步数量",
    "lastSyncFull": "上次完整同步",
    "modelsDevInfo": "工作原理",
    "modelsDevInfoDesc": "models.dev 是由 SST/OpenCode 团队维护的开源 AI 模型规格数据库，提供 100+ 提供商、4,000+ 模型的定价、能力、上下文限制和模态信息。",
    "modelsDevInfoResolution": "定价解析顺序（优先级从高到低）：",
    "modelsDevInfoOrder": "用户覆盖 → models.dev → LiteLLM → 硬编码默认值",
    "systemTheme": "系统主题",
    "debugToggle": "启用调试模式",
    "homePinProviderQuotaToHome": "Pin Information to Home Page",
    "homeProviderQuotaLimits": "Provider Quota Limits",
    "homeProviderQuotaLimitsDesc": "Pin the Provider Quota status container (with Refresh All button) to the top of the Home page.",
    "homeQuickStart": "Quick Start",
    "homeQuickStartDesc": "Show the Quick Start panel on the Home page.",
    "homeProviderTopology": "Provider Topology",
    "homeProviderTopologyDesc": "Show the Provider Topology on the Home page.",
    "sidebarVisibilityToggle": "显示侧边栏项目",
    "enableCache": "启用缓存",
    "cacheTTL": "缓存生存时间",
    "maxCacheSize": "最大缓存大小",
    "clearCache": "清除缓存",
    "cacheCleared": "缓存已成功清除",
    "clearCacheFailed": "清除缓存失败",
    "cacheHits": "缓存命中",
    "cacheMisses": "缓存未命中",
    "hitRate": "命中率",
    "cacheEntries": "缓存条目",
    "cacheSettings": "缓存设置",
    "semanticCache": "语义缓存",
    "maxEntries": "最大条目数",
    "ttlMinutes": "TTL（分钟）",
    "promptCache": "提示缓存",
    "strategy": "策略",
    "preserveClientCache": "保留客户端缓存",
    "enabled": "已启用",
    "loading": "加载中...",
    "saving": "正在保存...",
    "save": "保存",
    "circuitBreaker": "断路器",
    "retryPolicy": "重试策略",
    "maxRetries": "最大重试次数",
    "retryDelay": "重试延迟",
    "timeoutMs": "超时（毫秒）",
    "enableSystemPrompt": "启用系统提示",
    "systemPromptText": "系统提示文字",
    "autoDisableBannedAccounts": "自动禁用被封禁账户",
    "autoDisableDescription": "若提供商连接返回特定的永久封禁信号（如 HTTP 403\"请验证您的账户\"），则将其永久标记为停用。这会将其从组合轮换中移除。",
    "autoDisableThreshold": "封禁阈值",
    "autoDisableThresholdDesc": "触发永久停用所需的连续封禁信号次数。",
    "resilienceStructureTitle": "Resilience Structure",
    "resilienceStructureDesc": "此页面仅配置行为。实时断路器状态显示在运行状况页面上。组合特定的重试和循环槽控制保留在组合设置上。",
    "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": "系统",
    "endpointTunnelVisibility": "端点隧道可见性",
    "endpointTunnelVisibilityDesc": "隐藏端点页面中的隧道控制项，但不改变隧道运行状态。",
    "showCloudflareTunnel": "Cloudflare 快速隧道",
    "showCloudflareTunnelDesc": "在端点页面显示 Cloudflare Quick Tunnel 控制项。",
    "showTailscaleFunnel": "Tailscale Funnel",
    "showTailscaleFunnelDesc": "在端点页面显示 Tailscale Funnel 控制项。",
    "showNgrokTunnel": "ngrok Tunnel",
    "showNgrokTunnelDesc": "在端点页面显示 ngrok Tunnel 控制项。",
    "sidebarVisibility": "隐藏侧边栏项目",
    "sidebarVisibilityDesc": "可以隐藏任意侧边栏导航项，以减少视觉负担，但不会禁用任何功能",
    "sidebarVisibilityHint": "当某个侧边栏分组中的所有项目都被隐藏时，该分组会自动隐藏",
    "hideHealthLogs": "隐藏健康检查日志",
    "hideHealthLogsDesc": "开启后，将抑制服务器控制台中的 [HealthCheck] 消息",
    "themeAccent": "主题颜色",
    "themeAccentDesc": "选择预设颜色，或使用单一颜色创建你自己的主题",
    "themeCreate": "创建主题",
    "themeCustom": "自定义主题",
    "themeBlue": "蓝色",
    "themeRed": "红色",
    "themeGreen": "绿色",
    "themeViolet": "紫色",
    "themeOrange": "橙色",
    "themeCyan": "青色",
    "whitelabeling": "品牌定制",
    "whitelabelingDesc": "自定义应用名称和 Logo",
    "appName": "应用名称",
    "appNameDesc": "显示在侧边栏和浏览器标签页中的名称",
    "customLogo": "自定义 Logo URL",
    "customLogoDesc": "你的自定义 Logo 图片地址",
    "uploadLogo": "上传 Logo",
    "resetLogo": "恢复默认",
    "logoPreview": "预览",
    "customFavicon": "浏览器 Favicon",
    "customFaviconDesc": "你的自定义 Favicon 地址（显示在浏览器标签页中）",
    "uploadFavicon": "上传 Favicon",
    "resetFavicon": "重置 Favicon",
    "faviconPreview": "Favicon 预览",
    "flushCache": "刷新缓存",
    "flushing": "正在刷新...",
    "size": "尺寸",
    "hits": "命中次数",
    "evictions": "驱逐",
    "loadingCacheStats": "正在加载缓存统计信息...",
    "globalProxy": "全局代理",
    "globalProxyDesc": "为所有 API 调用配置全局出站代理。单独的提供商、组合和键可以覆盖此设置。",
    "noGlobalProxy": "没有配置全局代理",
    "globalLabel": "全局",
    "configure": "配置",
    "globalSystemPrompt": "全局系统提示",
    "saved": "已保存",
    "beforePromptLabel": "提示词前置",
    "beforePromptDesc": "注入到代理/提供商系统指令之前",
    "beforePromptPlaceholder": "插入到代理/提供商提示词之前的指令...",
    "afterPromptLabel": "提示词后置",
    "afterPromptDesc": "注入到代理/提供商系统指令之后",
    "afterPromptPlaceholder": "插入到代理/提供商提示词之后的指令...",
    "chars": "{count} 字符",
    "thinkingBudgetTitle": "思考预算",
    "thinkingBudgetDesc": "控制所有请求中 AI 推理令牌的使用",
    "passthrough": "直通",
    "passthroughDesc": "没有变化——客户控制思维预算",
    "auto": "自动",
    "autoDesc": "丢弃所有思考配置，由提供商自行决定",
    "custom": "定制",
    "customDesc": "为所有请求设置固定的 Token 预算",
    "adaptive": "自适应",
    "adaptiveDesc": "根据请求复杂性调整预算",
    "effortNone": "无（0 Tokens）",
    "effortLow": "低（1K Tokens）",
    "effortMedium": "中（10K Tokens）",
    "effortHigh": "高（128K Tokens）",
    "tokenBudget": "Token 预算",
    "tokens": "Token",
    "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，从而阻止未授权用户发现模型。",
    "authModelHeading": "当前授权模型",
    "authModelClient": "客户端 API 端点（/v1/*、/chat/*、/responses/*、/codex/*、/messages/*）需要 Bearer API 密钥。",
    "authModelManagement": "管理端点（/dashboard、/api/*）需要仪表盘会话或管理凭据。",
    "authModelPublic": "只有登录、健康检查和引导路由是公开的。",
    "bruteForceProtection": "登录暴力破解保护",
    "bruteForceProtectionDesc": "在同一 IP 多次失败后，对 /api/auth/login 进行限流和锁定。",
    "corsAllowedOrigins": "CORS 允许的源",
    "corsAllowedOriginsDesc": "允许调用此服务器的浏览器来源列表，以逗号分隔。空列表 = 不允许浏览器 CORS 访问（服务器到服务器仍可用）。仅在开发环境使用 CORS_ALLOW_ALL=true 环境变量。",
    "blockedProviders": "被阻止的提供商",
    "blockedProvidersDesc": "在 `/v1/models` 响应中隐藏指定提供商。被隐藏的提供商不会出现在模型列表中。",
    "providersBlocked": "{count} 个提供商/模型已屏蔽",
    "blockProviderTitle": "屏蔽 {provider}",
    "unblockProviderTitle": "取消屏蔽 {provider}",
    "cliFingerprint": "CLI 指纹匹配",
    "cliFingerprintDesc": "在代理请求时模拟原生 CLI 二进制的请求特征。会重新排列请求头和请求体字段，使其与官方 CLI 工具更一致，同时保留你的代理 IP。",
    "cliFingerprintEnabled": "已有 {count} 个提供商启用了 CLI 指纹",
    "enableFingerprintTitle": "为 {provider} 启用指纹",
    "disableFingerprintTitle": "为 {provider} 禁用指纹",
    "systemTransforms": "系统块转换管道",
    "systemTransformsDesc": "在转发之前，每个提供者订购的转换管道应用于请求正文。支持任何提供商 ID。",
    "systemTransformsAddProvider": "添加提供商",
    "systemTransformsAddProviderPlaceholder": "选择提供商...",
    "systemTransformsAddProviderAllConfigured": "所有提供商均已配置",
    "systemTransformsRemoveProvider": "删除提供商",
    "systemTransformsNoProviders": "没有配置提供者。添加提供商即可开始。",
    "systemTransformsOpMoveUp": "向上移动",
    "systemTransformsOpMoveDown": "下移",
    "systemTransformsOpDelete": "删除操作",
    "routingStrategy": "路由策略",
    "routingAdvancedGuideTitle": "高级路由指南",
    "routingAdvancedGuideHint1": "需要可预测优先级时使用 Fill First，需要公平分配时使用 Round Robin，需要延迟弹性时使用 P2C。",
    "routingAdvancedGuideHint2": "如果各提供商在质量或成本上差异明显，后台任务可优先考虑“成本优化”，需要均衡消耗时可从“最少使用”开始。",
    "fillFirst": "优先填满",
    "fillFirstDesc": "按优先级顺序使用账户",
    "roundRobin": "轮询",
    "roundRobinDesc": "在所有账户之间轮流分配",
    "p2c": "P2C",
    "p2cDesc": "随机选2个，使用更健康的一个",
    "random": "随机",
    "randomDesc": "每次请求随机选择账户",
    "leastUsed": "最少使用",
    "leastUsedDesc": "优先选择最近使用最少的账户",
    "costOpt": "成本优化",
    "costOptDesc": "优先选择成本最低的可用账户",
    "resetAware": "复位感知RR",
    "resetAwareDesc": "优先选择剩余配额正常且重置时间较近的账户",
    "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": "组合默认值",
    "comboDefaultsGuideTitle": "如何调整组合默认值",
    "comboDefaultsGuideHint1": "在低延迟流中保持较低的重试次数；仅增加长生成任务的超时。",
    "comboDefaultsGuideHint2": "当一个提供程序需要与全局默认值不同的超时/重试行为时，请使用提供程序覆盖。",
    "globalComboConfig": "全局组合配置",
    "defaultStrategy": "默认策略",
    "defaultStrategyDesc": "应用于没有明确策略的新组合",
    "comboStrategyAria": "组合策略",
    "priority": "优先级",
    "weighted": "加权",
    "contextRelay": "上下文接力",
    "contextRelayDesc": "在账户轮换发生时，采用优先级风格路由并自动执行上下文交接",
    "maxRetriesLabel": "最大重试次数",
    "retryDelayLabel": "重试延迟（毫秒）",
    "timeoutLabel": "超时（毫秒）",
    "healthCheck": "健康检查",
    "healthCheckDesc": "预先检查提供商的可用性",
    "trackMetrics": "跟踪指标",
    "trackMetricsDesc": "记录每个组合请求指标",
    "providerOverrides": "提供商覆盖",
    "providerOverridesDesc": "覆盖每个提供商的超时和重试。提供商设置会覆盖全局默认设置。",
    "providerMaxRetriesAria": "{provider} 最大重试次数",
    "providerTimeoutAria": "{provider} 超时毫秒",
    "removeProviderOverrideAria": "删除 {provider} 覆盖",
    "newProviderNamePlaceholder": "例如 google、openai...",
    "newProviderNameAria": "新的提供商名称",
    "retries": "重试",
    "ms": "毫秒",
    "saveComboDefaults": "保存组合默认值",
    "maxNestingDepth": "最大嵌套深度",
    "concurrencyPerModel": "并发/模型",
    "queueTimeout": "队列超时（毫秒）",
    "contextRelayHandoffThreshold": "交接阈值",
    "contextRelayMaxMessages": "摘要最大消息数",
    "contextRelaySummaryModel": "摘要模型",
    "contextRelayProviderNote": "Context Relay 当前会为 Codex 账户生成交接摘要，并将这些值作为新的或未配置 combo 的全局默认值。",
    "providerProfiles": "提供商策略配置",
    "providerProfilesDesc": "为 OAuth（基于会话）和 API Key（计费型）提供商分别设置弹性策略。由于速率限制更低，OAuth 提供商通常采用更严格的阈值。",
    "oauthProviders": "OAuth 提供商",
    "apiKeyProviders": "API 密钥提供商",
    "transientCooldown": "瞬时故障冷却",
    "rateLimitCooldown": "限流冷却",
    "maxBackoffLevel": "最大退避级别",
    "cbThreshold": "熔断阈值",
    "cbResetTime": "熔断重置时间",
    "rateLimiting": "速率限制",
    "rateLimitingDesc": "API 密钥提供商会自动受到安全默认值的速率限制。限制是从响应标头中学习的，并随着时间的推移进行调整。",
    "defaultSafetyNet": "默认安全网",
    "rpm": "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 密钥。",
    "minutesAgo": "{count} 分钟前",
    "hoursAgo": "{count} 小时前",
    "daysAgo": "{count} 天前",
    "backupReasonManual": "手动",
    "backupReasonPreRestore": "预恢复",
    "connectionsCount": "{count, plural, one {# 个连接} other {# 个连接}}",
    "noChangesSinceBackup": "自上次备份以来没有任何变化",
    "backupFailed": "备份失败",
    "restoreFailed": "恢复失败",
    "importFailed": "导入失败",
    "errorDuringRestore": "恢复期间发生错误",
    "errorDuringImport": "导入时发生错误",
    "modelPricing": "模型定价",
    "modelPricingDesc": "配置每个模型的成本费率 • 所有费率均以美元/100 万 Tokens 为单位",
    "registry": "登记处",
    "priced": "定价",
    "searchProvidersModels": "搜索提供商或模型...",
    "showAll": "显示全部",
    "noProvidersMatch": "没有与您的搜索匹配的提供商。",
    "howPricingWorks": "定价如何运作",
    "cacheWrite": "缓存写入",
    "unsaved": "未保存",
    "resetDefaults": "重置默认值",
    "saveProvider": "保存提供商",
    "model": "模型",
    "models": "模型",
    "moreProviders": "{count} 更多提供商",
    "withPricing": "已配置定价",
    "policiesCircuitBreakers": "策略与断路器",
    "activeIssuesDetected": "检测到活跃问题",
    "off": "关闭",
    "resetPricingConfirm": "将 {provider} 的所有定价重置为默认值？",
    "pricingDescInput": "输入：发送到模型的令牌",
    "pricingDescOutput": "输出：生成的 Tokens",
    "pricingDescCached": "缓存：重用输入（约输入率的 50%）",
    "pricingDescReasoning": "推理：思考 Tokens（默认回退到输出费率）",
    "pricingDescCacheWrite": "缓存写入：创建缓存条目（回退到输入）",
    "pricingDescFormula": "成本 = (输入 × 输入率) + (输出 × 输出率) + (缓存 × 缓存率) 每百万 Tokens。",
    "pricingSettingsTitle": "定价设置",
    "totalModels": "模型总数",
    "active": "活跃",
    "costCalculation": "成本计算",
    "costCalculationDesc": "成本是根据为每个模型配置的令牌使用情况和定价费率计算的。",
    "pricingFormat": "定价格式",
    "pricingFormatDesc": "所有费率均以美元/100 万 Tokens 为单位（每百万 Tokens 美元）。",
    "tokenTypes": "Token 类型",
    "inputTokenDesc": "标准提示 Tokens",
    "outputTokenDesc": "补全 / 响应 Tokens",
    "cachedTokenDesc": "缓存输入 Tokens（通常按输入费率的 50% 计）",
    "reasoningTokenDesc": "特殊推理 / 思考 Tokens（回退到输出费率）",
    "cacheCreationTokenDesc": "用于创建缓存条目的 Tokens（回退到输入费率）",
    "customPricingNote": "你可以覆盖特定模型的默认定价。自定义覆盖会优先于自动检测到的定价。",
    "editPricing": "编辑定价",
    "viewFullDetails": "查看完整详情",
    "themeCoral": "珊瑚色",
    "adaptiveVolumeRouting": "自适应流量路由",
    "adaptiveVolumeRoutingDesc": "根据实时负载量和吞吐压力，动态调整各提供商连接承载的流量。",
    "lkgpToggleTitle": "最后已知良好提供商（LKGP）",
    "lkgpToggleDesc": "启用后，路由器会记住上一次成功返回响应的提供商，并在后续请求中优先尝试它。",
    "clearLkgpCache": "清除 LKGP 缓存",
    "lkgpCacheCleared": "LKGP 缓存已成功清除",
    "lkgpCacheClearFailed": "清除 LKGP 缓存失败",
    "days": "天",
    "lkgp": "LKGP 模式",
    "lkgpDesc": "最后已知良好提供商（可预测的弹性）",
    "maintenance": "维护",
    "purgeExpiredLogs": "清理过期日志",
    "purgeLogsFailed": "清理日志失败",
    "contextOpt": "上下文优化",
    "contextOptDesc": "根据上下文窗口需求和对话长度进行路由",
    "priorityDesc": "顺序回退——先尝试提供商 1，再尝试提供商 2，依此类推",
    "weightedDesc": "按百分比权重在各提供商之间分配流量",
    "modelRoutingTitle": "模型路由规则",
    "modelRoutingDesc": "使用 glob 模式自动将模型路由到指定组合",
    "addRule": "添加规则",
    "routeToCombo": "路由到组合",
    "selectCombo": "选择组合...",
    "priorityHint": "数值越高越优先检查。具体模式建议使用 10+。",
    "patternHint": "使用 * 匹配任意字符，? 匹配单个字符。不区分大小写。",
    "noRoutingRules": "未配置路由规则。请求默认使用全局组合。",
    "routingRuleHint": "添加类似 claude-opus* -> frontier-combo 的规则，以自动路由请求。",
    "deleteRoutingRule": "删除此模型路由规则？",
    "exactMatchMode": "精确匹配",
    "wildcardPatternMode": "通配符模式",
    "exactMatchModeDesc": "对已弃用或已重命名的模型 ID 使用精确别名。",
    "wildcardPatternModeDesc": "当一组模型应映射到同一目标时，使用带 * 和 ? 的通配符别名。",
    "noExactAliasesConfigured": "未配置精确匹配别名。",
    "wildcardRulesTitle": "通配符规则",
    "noWildcardAliasesConfigured": "未配置通配符别名。",
    "overview": "概览",
    "unknownError": "未知错误",
    "pricingSourceLiteLLM": "LiteLLM 定价来源",
    "clearSyncedPricingConfirm": "确定要清除已同步的定价吗？",
    "clearSyncedPricingFailed": "清除已同步定价失败",
    "pricingSourceUser": "用户定价来源",
    "pageDescription": "页面描述",
    "pricingSyncStatus": "定价同步状态",
    "whitelist": "白名单",
    "syncDisabled": "同步已禁用",
    "pricingLoadFailed": "加载定价失败",
    "pricingSyncDescription": "从 models.dev 同步模型定价和能力数据。",
    "clearSyncedPricingSuccess": "已清除同步定价",
    "clearSyncedPricingFailedWithReason": "清除价格失败：{reason}",
    "pricingSourceDefault": "默认定价来源",
    "pricingSyncSuccess": "定价同步成功",
    "enableSyncError": "启用同步失败",
    "syncEnabled": "同步已启用",
    "blacklist": "黑名单",
    "pricingSourceModelsDev": "models.dev 定价来源",
    "syncedModels": "已同步模型",
    "budget": "预算",
    "pricingSyncTitle": "定价同步",
    "pricingResetFailedWithReason": "重置价格失败：{reason}",
    "tab": "选项卡",
    "pricingSavedProvider": "已保存 {provider} 的价格",
    "pricingSyncFailed": "定价同步失败",
    "pricingSaveFailedWithReason": "保存价格失败：{reason}",
    "pricingResetProvider": "已重置 {provider} 的价格",
    "nextSync": "下次同步",
    "pricingSyncFailedWithReason": "价格同步失败：{reason}",
    "clearSyncedPricing": "清除同步定价",
    "compressionTitle": "提示词压缩",
    "compressionDesc": "在发送给提供商之前压缩提示词，以减少 token 使用量",
    "compressionMode": "压缩模式",
    "compressionModeOff": "关闭",
    "compressionModeOffDesc": "不应用压缩",
    "compressionModeLite": "Lite",
    "compressionModeLiteDesc": "减少空白字符和空行",
    "compressionModeStandard": "标准（Caveman）",
    "compressionModeStandardDesc": "基于规则的压缩，包含 30+ 个模式，并保留代码块和 URL",
    "compressionModeAggressive": "Aggressive",
    "compressionModeAggressiveDesc": "摘要 + 工具结果压缩 + 渐进老化，以实现最大节省",
    "compressionModeUltra": "Ultra",
    "compressionModeUltraDesc": "使用包括语义去重在内的全部技术进行最大压缩",
    "compressionAggressiveConfig": "Aggressive 引擎配置",
    "compressionAggressiveConfigDesc": "微调摘要、工具压缩和老化阈值",
    "compressionUltraConfig": "Ultra 引擎配置",
    "compressionUltraConfigDesc": "微调启发式剪枝、SLM 后备和每条消息阈值",
    "compressionUltraRate": "保留比例",
    "compressionUltraMinScore": "最低分数阈值",
    "compressionUltraSlmFallback": "回退到 Aggressive",
    "compressionUltraModelPath": "SLM 模型路径",
    "compressionSummarizerEnabled": "启用摘要器",
    "compressionMaxTokensPerMessage": "每条消息最大 Token 数",
    "compressionMinSavings": "最低节省阈值",
    "compressionAgingThresholds": "老化阈值",
    "compressionAgingThresholdsDesc": "每个老化层级保留的最近消息数量（越高表示保留越多）",
    "compressionToolStrategies": "工具结果策略",
    "compressionToolStrategiesDesc": "为不同工具结果类型切换压缩策略",
    "compressionGeneral": "通用设置",
    "compressionAutoTrigger": "自动触发阈值",
    "compressionCacheTTL": "缓存 TTL",
    "compressionPreserveSystem": "保留系统提示",
    "compressionCavemanConfig": "Caveman 引擎配置",
    "compressionCavemanConfigDesc": "微调基于规则的压缩引擎",
    "compressionRoles": "压缩消息角色",
    "compressionRoleUser": "用户",
    "compressionRoleAssistant": "助手",
    "compressionRoleSystem": "系统",
    "compressionMinLength": "最小消息长度",
    "compressionSkipRules": "跳过压缩规则",
    "compressionSkipRulesDesc": "点击规则以在压缩时跳过它们",
    "compressionPreservePatterns": "保留模式",
    "compressionPreservePatternsDesc": "永不压缩的正则表达式模式（每行一个）",
    "compressionLogTitle": "压缩日志",
    "compressionLogEmpty": "尚无压缩请求。启用压缩后处理请求时，压缩统计会显示在这里。",
    "minutes": "分钟",
    "compressionModeRtk": "RTK",
    "compressionModeRtkDesc": "感知命令的工具输出过滤",
    "compressionModeStacked": "堆叠",
    "compressionModeStackedDesc": "先进行 RTK 工具输出过滤，再进行 Caveman 消息压缩",
    "qdrantTitle": "Qdrant（矢量内存）",
    "qdrantDesc": "可选。在外部向量数据库中索引语义记忆以加快检索速度。",
    "qdrantStatusActive": "活跃",
    "qdrantStatusError": "错误",
    "qdrantStatusDisabled": "残疾人",
    "qdrantEnable": "启用 Qdrant",
    "qdrantEnableDesc": "启用后，语义/混合策略可以使用 Qdrant 来检索记忆。",
    "qdrantTesting": "测试...",
    "qdrantTestConnection": "测试连接",
    "qdrantSaved": "配置已保存",
    "qdrantSaveError": "保存配置失败",
    "qdrantHostHint": "没有端口。示例：127.0.0.1 或 http://qdrant",
    "qdrantPort": "港口",
    "qdrantPortHint": "Qdrant 默认值：6333",
    "qdrantCollectionHint": "存储点的位置。",
    "qdrantEmbeddingModel": "嵌入模型",
    "qdrantHelpTitle": "快速设置帮助",
    "qdrantHelpQuickTitle": "快速设置（Qdrant + OpenRouter）",
    "qdrantHelpStep1": "1. 主机：Qdrant IP/URL，端口：6333，集合：omniroute_memory。",
    "qdrantHelpStep2": "2. 如果使用 nvidia/llama-nemotron-embed-vl-1b-v2:free，请使用集合维度 2048。",
    "qdrantHelpStep3": "3. 模型字段：openrouter/nvidia/llama-nemotron-embed-vl-1b-v2:free。",
    "qdrantHelpStep4": "4. 保存，测试连接，然后测试搜索。",
    "qdrantEmbeddingQuickSelect": "从发现的模型中快速选择...",
    "qdrantEmbeddingInputPlaceholder": "openai/text-embedding-3-small",
    "qdrantEmbeddingHint": "格式：提供商/模型。必须配置提供者凭证。",
    "qdrantApiKeyPlaceholderKeep": "（留空以保留当前密钥）",
    "qdrantApiKeyPlaceholderOptional": "（如不用则留空）",
    "qdrantSaveHint": "提示：编辑主机/端口/集合/模型，然后单击“保存”。 API 密钥是可选的。",
    "qdrantSearchTestTitle": "搜索测试",
    "qdrantSearchTestDesc": "在 Qdrant 中生成嵌入和搜索。",
    "qdrantSearchPlaceholder": "示例：用户偏好、历史记录等",
    "qdrantNoResults": "无结果（或未配置 Qdrant）。",
    "qdrantCleanupTitle": "保留和清理",
    "qdrantCleanupDesc": "根据以下内容删除过期和旧的积分",
    "searching": "正在寻找...",
    "cleaning": "清洁...",
    "cleanNow": "立即清洁",
    "optional": "可选",
    "current": "当前",
    "remove": "删除",
    "search": "搜索",
    "oneproxyTitle": "1proxy 免费代理市场",
    "oneproxyTotalProxies": "代理总数",
    "oneproxyAvgQuality": "平均质量",
    "resilienceScope": "范围：",
    "resilienceTrigger": "触发：",
    "resilienceEffect": "效果：",
    "resilienceRequestQueueTitle": "Request Queue & Rate",
    "resilienceAutoEnableApiKeyProviders": "Auto-enable for API-key providers",
    "resilienceRequestsPerMinute": "Requests per minute",
    "resilienceMinTimeBetweenRequests": "Minimum time between requests",
    "resilienceConcurrentRequests": "Concurrent requests",
    "resilienceMaxQueueWaitTime": "最大队列等待时间",
    "resilienceBaseCooldown": "Base cooldown",
    "resilienceUseUpstreamRetryHints": "Use upstream retry hints",
    "resilienceDefaultPerProvider": "Default (per provider)",
    "resilienceAlwaysOn": "Always on",
    "resilienceAlwaysOff": "Always off",
    "routingRemoveEntry": "删除条目",
    "routingNeedlesSubstrings": "Needles（要匹配的子字符串）",
    "routingCaseSensitive": "区分大小写",
    "routingPrefixes": "前缀",
    "routingMatch": "比赛",
    "routingReplacement": "更换",
    "routingReplaceAllOccurrences": "替换所有出现的地方",
    "routingPatternRegex": "模式（正则表达式）",
    "routingFlags": "旗帜",
    "routingNeedles": "针",
    "routingBlockText": "块文本",
    "routingIdempotencyKey": "幂等性密钥",
    "routingEntrypoint": "入口点",
    "routingVersionFormat": "版本格式",
    "routingCchAlgorithm": "CCH算法",
    "routingWordsToObfuscate": "要混淆的单词（在第一个字符后插入 ZWJ）",
    "logsSettingsTitle": "日志设置",
    "detailedLogsLabel": "启用详细日志",
    "detailedLogsDesc": "启用详细的请求/响应日志记录",
    "callLogPipelineLabel": "呼叫日志管道",
    "callLogPipelineDesc": "启用通话记录处理管道",
    "maxDetailSizeLabel": "最大细节大小 (KB)",
    "maxDetailSizeDesc": "详细日志条目的最大大小",
    "ringBufferSizeLabel": "环形缓冲区大小",
    "ringBufferSizeDesc": "日志环形缓冲区的大小",
    "semanticCacheEnabledLabel": "语义缓存启用",
    "semanticCacheMaxSizeLabel": "语义缓存最大大小",
    "semanticCacheMaxSizeDesc": "语义缓存条目的最大数量",
    "semanticCacheTTLLabel": "语义缓存 TTL",
    "promptCacheEnabledLabel": "提示缓存已启用",
    "promptCacheEnabledDesc": "启用提示缓存",
    "promptCacheStrategyLabel": "提示缓存策略",
    "promptCacheStrategyDesc": "即时缓存策略",
    "alwaysPreserveClientCacheLabel": "始终保留客户端缓存",
    "alwaysPreserveClientCacheDesc": "客户端缓存保存策略",
    "logRetentionPolicyTitle": "日志保留策略",
    "resilienceUseUpstream429HintsForBreaker": "使用上游 429 提示（断路器）",
    "appearanceLogoPreviewAlt": "标志预览",
    "appearanceFaviconPreviewAlt": "图标预览",
    "oneproxyLastSync": "上次同步",
    "oneproxyAllProtocols": "所有协议",
    "oneproxyCountryCodePlaceholder": "国家/地区代码（例如美国）",
    "oneproxyMinQualityPlaceholder": "最低质量",
    "oneproxyLoadingProxies": "正在加载代理...",
    "oneproxyLastSyncLabel": "上次同步：",
    "oneproxyProxiesFetched": "获取的代理：",
    "oneproxyConsecutiveFailures": "连续失败：",
    "oneproxyErrorLabel": "错误：",
    "oneproxyNever": "从来没有",
    "oneproxySyncStatusTitle": "同步状态",
    "oneproxySuccess": "成功",
    "oneproxyFailed": "失败",
    "routingAntigravitySignatureTitle": "反重力签名缓存模式",
    "routingAntigravitySignatureDesc": "控制 OmniRoute 在 Antigravity 兼容的工具调用流程中是仅复用已存储的 Gemini thought 签名,还是接受经校验的客户端提交签名。",
    "routingAntigravitySignatureEnabledLabel": "启用",
    "routingAntigravitySignatureEnabledDesc": "当前行为。忽略客户端提交的签名,继续使用 OmniRoute 已存储的流程。",
    "routingAntigravitySignatureBypassLabel": "绕过",
    "routingAntigravitySignatureBypassDesc": "经过轻量校验后接受客户端提交的签名,无效时回退到已存储的签名。",
    "routingAntigravitySignatureBypassStrictLabel": "严格绕过",
    "routingAntigravitySignatureBypassStrictDesc": "在接受客户端提交的签名前要求完整的 protobuf 校验。",
    "routingHeaderFingerprintTitle": "标头指纹（每个提供商）",
    "routingServerRejectedSave": "⚠ 服务器拒绝保存：",
    "routingAddTransformOp": "添加变换操作",
    "routingClientCacheControlTitle": "客户端缓存控制",
    "routingClientCacheControlDesc": "配置 OmniRoute 是否保留客户端提交的 cache_control 标记",
    "routingClientCacheControlAutoDesc": "对于确定性的 Claude 兼容流程,按原样保留客户端提交的 cache_control。如果请求未携带 cache_control,OmniRoute 不会注入任何由桥接器拥有的标记,以兼容 CC 兼容的第三方代理。",
    "routingClientCacheControlAlwaysLabel": "始终保留",
    "routingClientCacheControlAlwaysDesc": "始终按原样将客户端提交的 cache_control 请求头转发给上游提供商。",
    "routingClientCacheControlNeverLabel": "从不保留",
    "routingClientCacheControlNeverDesc": "始终移除客户端的 cache_control 请求头,在原生提供商流程支持时由 OmniRoute 管理缓存。",
    "routingZeroConfigTitle": "零配置自动路由",
    "routingZeroConfigDesc": "启用使用 auto/ 前缀的自动提供商选择。启用后,发往 auto、auto/coding、auto/fast 等的请求将在所有已连接提供商之间动态路由。",
    "routingDefaultAutoVariant": "默认自动变体",
    "visionBridge": "愿景桥",
    "visionBridgeDesc": "在将图像请求路由到纯文本模型之前,自动执行一次视觉到文本的回退。",
    "visionBridgeEnabledLabel": "启用",
    "visionBridgeEnabledDesc": "切换预调用桥接,将图像内容替换为提取出的文本。",
    "visionBridgeModel": "桥梁模型",
    "visionBridgeModelPlaceholder": "openai/gpt-4o-mini",
    "visionBridgeModelHint": "可使用任何支持视觉的 OmniRoute 模型 ID。",
    "visionBridgePrompt": "桥接提示",
    "visionBridgePromptPlaceholder": "简要描述一下这张图片。",
    "visionBridgePromptHint": "在将提取出的描述注入回原始请求前,先发送给视觉模型。",
    "visionBridgeTimeoutMs": "超时（毫秒）",
    "visionBridgeMaxImagesPerRequest": "每个请求的最大图像数",
    "resilienceMaxBackoffSteps": "Max backoff steps",
    "resilienceProviderBreakerTitle": "Circuit Breaker per Provider",
    "resilienceFailureThreshold": "Failure threshold",
    "resilienceResetTimeout": "重置超时",
    "resilienceFailureThresholdLabel": "失败阈值",
    "resilienceResetTimeoutLabel": "重置超时",
    "resilienceConnectionCooldownTitle": "Connection Cooldown",
    "resilienceUseUpstreamRetryHintsLabel": "使用上游重试提示",
    "resilienceUseUpstream429BreakerLabel": "使用上游 429 提示（断路器）",
    "resilienceMaxBackoffStepsLabel": "最大退避步数",
    "resilienceYes": "是的",
    "resilienceNo": "否",
    "resilienceDefault": "Default",
    "storageDatabaseBackupRetention": "数据库备份保留",
    "storagePurgeData": "清除数据",
    "retentionQuotaSnapshots": "配额快照（天）",
    "retentionMcpAudit": "MCP 审核（天）",
    "retentionA2aEvents": "A2A 活动（天）",
    "retentionCallLogs": "通话记录（天）",
    "retentionUsageHistory": "使用历史（天）",
    "retentionMemoryEntries": "内存条目（天）",
    "storageAutoVacuumMode": "自动真空模式",
    "storageScheduledVacuum": "预定真空",
    "storageVacuumHour": "真空时间（0-23）",
    "storagePageSize": "页面大小（字节）",
    "storageDatabaseSize": "数据库大小",
    "storagePageCount": "页数",
    "storageFreelistCount": "空闲列表计数",
    "storageLastVacuum": "最后一次真空",
    "storageLastOptimization": "最后优化",
    "storageIntegrityCheck": "完整性检查",
    "storageIntegrityOk": "✓ 确定",
    "storageIntegrityError": "✗ 错误",
    "storageUsageTokenBuffer": "使用令牌缓冲区",
    "compressionSettingsAutoTriggerMode": "自动触发模式",
    "compressionSettingsMcpDescriptionCompression": "MCP描述压缩",
    "compressionSettingsCavemanIntensity": "穴居人强度",
    "compressionSettingsCavemanOutputMode": "穴居人输出模式",
    "compressionSettingsOutputIntensity": "输出强度",
    "compressionSettingsAutoClarityBypass": "自动清晰度旁路",
    "resilienceWaitForCooldown": "等待冷却",
    "resilienceEnableServerSideWait": "启用服务器端等待",
    "resilienceMaximumRetries": "最大重试次数",
    "resilienceMaximumWaitPerRetry": "每次重试的最长等待时间",
    "memorySkillsSkillsmpMarketplace": "SkillsMP 市场",
    "memorySkillsFailedToSave": "保存失败",
    "memorySkillsApiKey": "API密钥",
    "memorySkillsActiveSkillsProvider": "主动技能提供者",
    "cliproxyapiFallback": "CLIProxyAPI 后备",
    "cliproxyapiEnableFallback": "启用 CLIProxyAPI 回退",
    "cliproxyapiUrl": "CLIProxyAPI URL",
    "cliproxyapiStatus": "CLIProxyAPI 状态",
    "cliproxyapiNotDetected": "未检测到",
    "payloadRulesTitle": "负载规则",
    "payloadRulesDesc": "按模型与协议配置请求 payload 的变更。修改会持久化到设置中,并在保存后立即热加载到运行时。",
    "payloadRuleDefaultTitle": "default",
    "payloadRuleDefaultDesc": "仅在外发 payload 缺少目标路径时应用参数。",
    "payloadRuleOverrideTitle": "override",
    "payloadRuleOverrideDesc": "强制将值写入 payload,替换该路径上已存在的任何内容。",
    "payloadRuleFilterTitle": "filter",
    "payloadRuleFilterDesc": "在向上游发起请求前,从 payload 中移除被屏蔽的参数。",
    "payloadRuleDefaultRawTitle": "defaultRaw",
    "payloadRuleDefaultRawDesc": "与 default 类似,但会先尝试将字符串值解析为 JSON。保存时也接受旧的输入别名 default-raw。",
    "payloadEditorTitle": "编辑器",
    "payloadEditorDesc": "请使用运行时的 schema 形态:default、override、filter、defaultRaw。API 也接受旧的输入键名 default-raw。",
    "payloadEditorReady": "就绪",
    "payloadResetInfo": "编辑器已重置为中性模板,保存后生效。",
    "payloadSaveSuccess": "Payload 规则已保存并热加载。",
    "payloadJsonParseError": "JSON 解析错误:{error}",
    "payloadMustBeObject": "Payload 规则必须是 JSON 对象。",
    "payloadInvalidJson": "无效的 JSON payload。",
    "payloadValidJsonRequired": "保存前 Payload 规则必须是合法 JSON。",
    "savePayloadRules": "保存 Payload 规则",
    "requestLimitsTitle": "请求限制",
    "requestLimitsDesc": "配置全局请求限制与并发保护。",
    "maxRequestSizeLabel": "最大请求大小(MB)",
    "maxRequestSizeDesc": "传入 API 请求允许的最大大小。",
    "maxResponseSizeLabel": "最大响应大小(MB)",
    "maxResponseSizeDesc": "传出 API 响应允许的最大大小。",
    "maxRequestTokensLabel": "最大请求 Token 数",
    "maxRequestTokensDesc": "单次请求允许的总 Token 上限。",
    "maxResponseTokensLabel": "最大响应 Token 数",
    "maxResponseTokensDesc": "单次响应允许的总 Token 上限。",
    "modelCooldownsTitle": "处于冷却状态的模型",
    "modelCooldownsEmpty": "目前没有模型处于冷却状态。",
    "codexFastTierTitle": "Codex 快速层",
    "codexFastTierDesc": "为 OpenAI Codex 请求全局注入 service_tier=priority。",
    "codexFastTierHint": "启用后，OmniRoute 会将 service_tier=priority 添加到尚未指定层的连接的出站 Codex 请求中。优先级需要 OpenAI Enterprise API 密钥或 ChatGPT-auth Codex 路径；其他密钥类型将从 OpenAI 收到与层相关的错误。 Codex 提供程序页面上的每个连接设置优先。",
    "codexFastTierSaveError": "无法更新 Codex Fast Tier 设置",
    "codexFastTierTierLabel": "服务层级",
    "codexFastTierTierPriority": "Priority",
    "codexFastTierTierFlex": "Flex",
    "codexFastTierTierDefault": "默认",
    "codexFastTierModelsLabel": "快速层模型",
    "codexFastTierModelsHint": "启用快速层后,只有勾选的模型会附带 service_tier。",
    "codexFastTierModelCheckbox": "为 {model} 启用快速层",
    "claudeFastModeTitle": "克劳德快速模式",
    "claudeFastModeDesc": "选择选定的克劳德请求进入人择快速模式（速度：“快速”）。",
    "claudeFastModeHint": "Anthropic 并未正式支持 SDK 样式客户端的快速模式。启用后，OmniRoute 会转发 X-CPA-Force-Fast-Mode 标头，以便配对的 CLIProxyAPI 构建可以选择欺骗入口点。只有列出的 Opus 模型才会受到 Anthropic 客户端检查的控制。订阅层、最大计划和快速模式信用余额仍然在服务器端强制执行 - 即使打开切换，Anthropic 也可能返回 out_of_credits。",
    "claudeFastModeModelsLabel": "应用于模型 ({count})",
    "claudeFastModeModelCheckbox": "为 {model} 启用快速模式",
    "claudeFastModeSaveError": "无法更新克劳德快速模式设置",
    "authz": {
      "title": "授权清单",
      "description": "5 级路由分类与实时绕过策略。读取展示完整分类;变更操作需重新输入管理密码。",
      "loading": "正在加载清单…",
      "loadError": "加载授权清单失败",
      "tier": {
        "LOCAL_ONLY": "仅本地",
        "ALWAYS_PROTECTED": "始终受保护",
        "MANAGEMENT": "管理",
        "CLIENT_API": "客户端 API",
        "PUBLIC": "公开"
      },
      "bypass": {
        "section": "管理范围绕过",
        "kill_switch": {
          "label": "绕过总开关",
          "desc": "总开关。关闭时,无论按前缀的列表如何,任何 LOCAL_ONLY 前缀都无法从非环回地址访问。"
        },
        "prefix": {
          "label": "可绕过的前缀",
          "desc": "管理范围的 API 密钥(或仪表盘会话)可从非环回地址访问的 LOCAL_ONLY 前缀。",
          "add": "添加前缀",
          "placeholder": "/api/mcp/v2/",
          "empty": "未配置任何前缀,绕过实际处于关闭状态。"
        },
        "cli_tools_runtime_note": "可创建子进程的前缀。编译期已禁用,无法设为可绕过。仅供查看。"
      },
      "password": {
        "prompt": {
          "label": "当前密码",
          "desc": "重新确认以应用涉及安全的变更。"
        },
        "placeholder": "当前管理密码",
        "cancel": "取消",
        "submit": "应用"
      },
      "save": "保存更改",
      "saved": "授权设置已更新",
      "pending": "存在未保存的更改",
      "badge": {
        "bypassable": "可通过管理范围绕过",
        "strict": "严格环回",
        "auth_required": "需要鉴权",
        "public": "公开",
        "always_protected": "始终受保护",
        "spawn_capable": "可创建子进程"
      },
      "error": {
        "PASSWORD_REQUIRED": "需要输入当前密码才能应用这些更改。",
        "PASSWORD_MISMATCH": "当前密码不正确。",
        "INSUFFICIENT_SCOPE": "API 密钥缺少 manage 范围。",
        "BYPASS_PREFIX_NOT_ALLOWED": "其中一个或多个前缀指向可创建子进程的路由,无法被绕过。",
        "GENERIC": "更新授权设置失败。"
      }
    },
    "resilienceBaseCooldownLabel": "基础冷却时间",
    "scopeLabel": "适用范围",
    "triggerLabel": "触发",
    "effectLabel": "效果",
    "statusEnabled": "启用",
    "statusDisabled": "残疾人",
    "resilienceRequestQueueScope": "每个请求队列",
    "resilienceRequestQueueTrigger": "发送到上游之前",
    "resilienceRequestQueueEffect": "对请求进行排队、限制并发并间隔调用",
    "resilienceRequestQueueDesc": "该层仅控制排队和节奏。它不存储冷却时间或打开断路器。",
    "resilienceAutoEnableApiKeyProvidersDesc": "默认情况下为活动 API 密钥连接启用队列保护。",
    "resilienceMaxQueueWait": "最大队列等待时间",
    "resilienceConnectionCooldownScope": "单独连接",
    "resilienceConnectionCooldownTrigger": "当连接返回暂时性上游故障时",
    "resilienceConnectionCooldownEffect": "暂时跳过该连接并增加重复失败的退避时间",
    "resilienceConnectionCooldownDesc": "基础冷却时间涵盖短暂的连接故障。当启用上游重试提示时，提供程序的显式窗口将覆盖本地冷却时间。",
    "resilienceUseUpstreamRetryHintsDesc": "使用来自上游提供商的重试/重置值（如果可用）。",
    "resilienceUseUpstream429BreakerHints": "使用上游 429 提示进行断路器冷却",
    "resilienceUseUpstream429BreakerHintsShort": "使用上游 429 提示",
    "resilienceUseUpstream429BreakerHintsDesc": "将 429 响应中的重试/配额耗尽信号应用于断路器冷却持续时间。默认使用每个提供商的策略：直接云提供商默认开启；反向代理、自托管和 CLI 支持的提供商默认关闭。独立于“使用上游重试提示”。",
    "resilienceProviderBreakerScope": "整个提供商",
    "resilienceProviderBreakerTrigger": "连接回退耗尽后最终传输/服务器失败",
    "resilienceProviderBreakerEffect": "暂时阻止该提供商，直到重置时间到期",
    "resilienceProviderBreakerDesc": "实时断路器状态仅显示在运行状况页面上。连接范围的 429 速率限制保留在连接冷却中，并且不会触发提供商断路器。",
    "resilienceResetTime": "复位时间",
    "resilienceWaitForCooldownTitle": "等待冷却",
    "resilienceWaitForCooldownScope": "当前客户请求",
    "resilienceWaitForCooldownTrigger": "当所有候选连接已经冷却时",
    "resilienceWaitForCooldownEffect": "等待服务器并在第一个冷却时间到期时重试",
    "resilienceWaitForCooldownDesc": "这仅影响当前请求。它不存储连接或提供者状态。",
    "resilienceEnableServerWait": "启用服务器端等待",
    "resilienceEnableServerWaitDesc": "启用后，OmniRoute 会等待第一次冷却时间到期并自动重试。",
    "resilienceMaxAttempts": "最大尝试次数",
    "resilienceMaxWaitPerAttempt": "每次尝试的最长等待时间",
    "forcedFingerprintTitle": "{provider} 始终启用 — OAuth 账户安全所必需；无法关闭。",
    "forcedFingerprintBadge": "必需",
    "codexSessionAffinityTitle": "法典会话关联性",
    "codexSessionAffinityDesc": "将同一帐户上的一个 Codex 对话保留这么多秒。 0 禁用它。",
    "codexSessionAffinityTtl": "关联性 TTL（秒）",
    "resetAwareQuotaCacheTitle": "重置感知配额缓存",
    "resetAwareQuotaCacheDesc": "仅缓存重置感知排序的配额遥测。配额预检仍然保护请求。 0/0 保持实时获取。",
    "resetAwareQuotaCacheTtl": "新鲜 TTL（秒）",
    "resetAwareQuotaCacheMaxStale": "最大陈旧时间（秒）",
    "qdrantCleanupSuccess": "好的：删除 {count} 点（保留：{days} 天）",
    "qdrantCleanupFailed": "清理失败",
    "qdrantCleanupError": "错误：{error}",
    "vercelRelaySuccess": "Vercel Relay 部署成功",
    "vercelRelayButton": "部署 Vercel Relay",
    "vercelRelayModalTitle": "部署 Vercel Relay",
    "vercelRelayWarning": "警告：需要 Vercel 部署令牌。此令牌仅用于创建无服务器中继，OmniRoute 不会存储该令牌。",
    "vercelRelayTokenLabel": "Vercel 访问令牌",
    "vercelRelayProjectNameLabel": "Vercel 项目名称",
    "vercelRelayFreeTierNote": "中继是在 Vercel 免费层上部署的轻量级代理端点，用于绕过本地网络/区域限制。",
    "vercelRelayDeploying": "正在部署...",
    "vercelRelayDeploy": "部署",
    "proxyGlobalConfigTab": "全局配置",
    "proxyPoolTab": "代理池",
    "freePoolTab": "免费泳池",
    "proxyDocumentationTab": "文档"
  },
  "contextRtk": {
    "title": "RTK 引擎",
    "description": "面向工具输出、终端日志和构建结果的命令感知压缩。",
    "enabled": "已启用",
    "intensity": "强度",
    "intensityMinimal": "最小",
    "intensityStandard": "标准",
    "intensityAggressive": "激进",
    "toolResults": "工具结果",
    "assistantMessages": "助手消息",
    "codeBlocks": "代码块",
    "filterCatalog": "过滤器目录",
    "filterCatalogDesc": "可用的输出过滤器（按类别）",
    "guidedConfig": "配置",
    "guidedConfigDesc": "调整 RTK 过滤终端输出的方式",
    "maxLines": "最大行数",
    "maxChars": "最大字符数",
    "deduplicateThreshold": "去重阈值",
    "customFilters": "自定义过滤器",
    "detectedType": "检测类型",
    "confidence": "信心",
    "beforeAfter": "之前/之后",
    "trustProjectFilters": "信任项目过滤器",
    "rawOutputRetention": "原始输出保留",
    "rawOutputNever": "从不",
    "rawOutputFailures": "失败时",
    "rawOutputAlways": "始终",
    "rawOutputMaxBytes": "原始输出最大字节数",
    "filterTesting": "过滤测试",
    "pasteOutput": "粘贴工具输出以测试过滤...",
    "presetHigh": "好斗的",
    "presetLow": "光",
    "presetMaxChars": "最大输出字符数",
    "presetMaxLines": "最大输出线数",
    "presetMedium": "标准型",
    "run": "运行",
    "result": "结果",
    "previewEmpty": "运行示例以预览 RTK 输出。",
    "detected": "已检测",
    "masterSwitchOffAlert": "Token Saver 总开关已关闭 — 在端点页面打开它之前,这些设置不会影响请求。",
    "tokensFiltered": "已过滤 token",
    "filtersActive": "活动过滤器",
    "requests": "请求数",
    "avgSavings": "平均节省",
    "simpleMode": "简单",
    "advancedMode": "高级",
    "searchFilters": "搜索过滤器...",
    "tooltipDedup": "删除重复行的积极程度。",
    "tooltipMaxChars": "每个输出块的最大字符数。",
    "tooltipMaxLines": "命令输出中保留的最大行数。多余的部分被截断。"
  },
  "contextCombos": {
    "title": "压缩组合",
    "description": "定义不同路由场景中引擎的组合方式。",
    "createCombo": "创建压缩组合",
    "editCombo": "编辑",
    "deleteCombo": "删除",
    "deleteConfirm": "删除此压缩组合？",
    "pipeline": "流水线",
    "addStep": "添加步骤",
    "removeStep": "移除",
    "name": "名称",
    "descriptionField": "描述",
    "languagePacks": "语言包",
    "outputMode": "输出模式",
    "assignToRouting": "分配到路由组合",
    "noAssignments": "没有可用的路由组合",
    "default": "默认",
    "setAsDefault": "设为默认",
    "save": "保存",
    "cancel": "取消",
    "enabled": "已启用"
  },
  "contextCaveman": {
    "title": "Caveman 引擎",
    "description": "基于规则的消息压缩，包含语言包、分析和输出模式控制。",
    "advancedConfig": "高级配置",
    "advancedConfigDesc": "微调压缩行为",
    "aggressiveSettings": "激进的设置",
    "aggressiveSettingsDesc": "最大压缩与潜在的质量权衡",
    "requests": "请求数",
    "tokensSaved": "已节省 token",
    "savingsPercent": "节省比例",
    "avgLatency": "平均延迟",
    "languagePacks": "语言包",
    "languagePacksDesc": "为特定语言启用压缩规则。",
    "labelAutoTrigger": "当上下文超出时自动压缩",
    "labelCompressionRate": "抗压强度",
    "labelMaxTokens": "每条消息的目标令牌",
    "labelMinLength": "最小消息长度",
    "labelMinSavings": "保存的最低代币数量",
    "enabled": "已启用",
    "autoDetect": "自动检测语言",
    "rulesCount": "{count} 条规则",
    "inputCompressionTitle": "输入压缩",
    "inputCompressionDesc": "用更短的措辞重写聊天历史,可减少约 50% 的输入 Token。",
    "analyticsTitle": "压缩分析",
    "noAnalytics": "尚无压缩分析。",
    "outputMode": "输出方式",
    "outputModeDesc": "指示 LLM 以简洁、紧凑的格式回复。",
    "outputModeTitle": "输出模式",
    "quickSettings": "快速设置",
    "quickSettingsDesc": "开始使用的基本压缩设置",
    "autoClarity": "自动清晰度绕过",
    "bypassConditions": "绕过条件",
    "bypassConditionsList": "安全、不可逆、需澄清、顺序敏感",
    "simpleMode": "简单",
    "advancedMode": "高级",
    "tooltipAutoTrigger": "当上下文超过此大小时自动压缩。",
    "tooltipCompressionRate": "0.0 = 无，1.0 = 最大值。 0.5 = 平衡。",
    "tooltipMaxTokens": "压缩后的目标令牌计数。更低=更具攻击性。",
    "tooltipMinLength": "比这短的消息不会被压缩。更低=更多压缩。",
    "tooltipMinSavings": "仅当至少保存这么多令牌时才进行压缩。",
    "ultraSettings": "超级设置",
    "ultraSettingsDesc": "SLM 支持的语义压缩",
    "preview": {
      "lite": "回复要简洁。保留技术术语、代码、错误、URL 和标识符。",
      "full": "回复要简短紧凑。保留所有技术实质。",
      "ultra": "用常见技术缩写进行极简回复。保留精确符号。"
    }
  },
  "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）。",
    "translationPathHubSpoke": "{source} → OpenAI（中间格式）→ {target}",
    "translationPathDirect": "{source} → {target}（直接转换器）",
    "translationPathPassthrough": "格式相同 — 无需转换",
    "openaiIntermediatePanel": "OpenAI 中间格式",
    "autoFeaturesTitle": "OmniRoute 自动处理的内容",
    "autoFeaturesCount": "8 项功能",
    "featureReasoningCache": "推理缓存",
    "featureReasoningCacheDesc": "当客户端在对话历史中省略 thinking-mode 模型（DeepSeek V4、Kimi K2、Qwen）的缓存 reasoning_content 时，会重新注入。",
    "featureSchemaCoercion": "Schema 校正",
    "featureSchemaCoercionDesc": "修复损坏的工具 schema：添加缺失的 additionalProperties、清理过长描述、规范化嵌套对象。",
    "featureRoleNormalization": "角色规范化",
    "featureRoleNormalizationDesc": "针对非 OpenAI 目标将 developer→system。针对不支持 system 角色的模型将 system→user。",
    "featureToolCallIds": "工具调用 ID 规范化",
    "featureToolCallIdsDesc": "在缺失时生成唯一的 tool_call ID。针对 Mistral 等提供商规范化为 9 字符格式。",
    "featureMissingToolResponse": "工具响应注入",
    "featureMissingToolResponseDesc": "当客户端发送 tool_calls 但没有对应响应时，注入空的 tool_result 消息。",
    "featureThinkingBudget": "思考预算",
    "featureThinkingBudgetDesc": "自动管理 thinking 配置。当最后一条消息不是用户消息时移除 thinking 参数。",
    "featureDirectPaths": "直接转换路径",
    "featureDirectPathsDesc": "某些格式组合（Claude→Gemini）有绕过 OpenAI 中枢的直接转换器，可产生更准确的输出。",
    "featureImageMapping": "图像尺寸映射",
    "featureImageMappingDesc": "在 API 格式之间转换图像尺寸约定（例如 OpenAI detail 等级 → Gemini 尺寸）。",
    "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": "流媒体",
      "vision": "愿景",
      "schema-coercion": "模式强制"
    },
    "templateDescriptions": {
      "simple-chat": "基本短信",
      "tool-calling": "函数/工具调用",
      "multi-turn": "与历史对话",
      "thinking": "扩展思维/推理",
      "system-prompt": "复杂系统指令",
      "streaming": "SSE 流请求",
      "vision": "带图像输入的多模式请求",
      "schema-coercion": "结构化输出/JSON 模式实施"
    },
    "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": "给我讲一个关于机器人学习绘画的小故事。"
      },
      "vision": {
        "system": "你是一个精确描述图像的助手。",
        "userPrompt": "这张图片显示了什么？",
        "imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/47/PNG_transparency_demonstration_1.png/600px-PNG_transparency_demonstration_1.png"
      },
      "schemaCoercion": {
        "userPrompt": "使用公制单位查找东京的天气并包括每小时的细分。",
        "toolDescription": "通过结构化选项获取城市的天气。",
        "cityDescription": "要查询的城市，例如“东京”或“纽约”。"
      }
    },
    "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": "（未提取文字）",
    "liveMonitorMemoryNote": "事件存储在内存中，重启后会丢失。",
    "liveMonitorMemoryCapNote": "最多保留 200 个事件。",
    "eventSourcesLabel": "事件来源：",
    "eventSourceTranslatorPage": "• Translator 页面（Chat Tester、Test Bench）",
    "eventSourceMainPipeline": "• 主请求流水线（CLI/IDE/API 流量）",
    "liveMonitorDescriptionPrefix": "这里会显示 API 调用流经 OmniRoute 时产生的翻译事件。事件来自内存缓冲区（重启后会重置）。使用",
    "liveMonitorDescriptionSuffix": "，或外部 API 调用来生成事件。",
    "streamTransformer": "流转换器",
    "modeDescriptionStreamTransformer": "通过响应转换器运行聊天完成 SSE 流。",
    "streamTransformerTitle": "响应流转换器",
    "streamTransformerDescription": "粘贴聊天完成 SSE 流，通过 OmniRoute 的响应转换器运行它，并在连接客户端之前检查发出的响应。* 事件。",
    "loadTextSample": "加载文本样本",
    "loadToolSample": "加载工具调用示例",
    "transformToResponses": "转换为响应",
    "rawChatSseInput": "原始聊天完成 SSE",
    "transformedResponsesSse": "转换后的响应 API SSE",
    "noResultsYet": "还没有结果",
    "transformedEvents": "转化事件",
    "uniqueEventTypes": "独特的事件类型",
    "inputLines": "输入线",
    "outputLines": "输出线",
    "transformedEventTimeline": "转变的事件时间线",
    "transformerTimelineHint": "运行变压器以按顺序检查发出的 response.output_* 事件。",
    "eventType": "事件类型",
    "eventPreview": "预览",
    "comboRouted": "组合路由",
    "uniqueEndpoints": "独特的端点",
    "routeDetails": "路线详情",
    "comboBadge": "组合",
    "routeEndpointLabel": "端点",
    "routeConnectionLabel": "连接方式",
    "scenarioVision": "视觉（图像理解）",
    "scenarioSchemaCoercion": "模式强制（结构化输出）",
    "techniques": "技巧：",
    "friendlyTitle": "翻译器",
    "friendlySubtitle": "使用您现有的应用程序与任何提供商 — 无需重写代码。",
    "conceptHeadline": "您的应用程序使用一个 API 的“语言”。翻译器将其转换为使用另一个提供者。",
    "conceptDiagramAppLabel": "您的应用程序",
    "conceptDiagramSourceLabel": "源格式",
    "conceptDiagramHubLabel": "OpenAI (中心)",
    "conceptDiagramTargetLabel": "目标提供者",
    "conceptDiagramExampleApp": "例如 Anthropic SDK",
    "conceptDiagramExampleSource": "claude",
    "conceptDiagramExampleTarget": "双子座",
    "conceptHowItWorksToggle": "它是如何工作的",
    "conceptHowItWorksBody": "您的应用以其自己的格式发送请求。翻译器检测该格式，通过 OpenAI 作为中介中心进行转换（或在可用的情况下直接进行转换），将其发送到所选提供商，并将响应转换回您应用的格式。",
    "tabTranslate": "翻译",
    "tabMonitor": "监视器",
    "tabTranslateAriaLabel": "前往翻译选项卡",
    "tabMonitorAriaLabel": "转到监视器选项卡",
    "simpleAppUsesLabel": "我的应用程序使用",
    "simpleAppUsesHint": "您的应用程序使用的 API 格式（例如，Anthropic SDK = claude）。",
    "simpleSendToLabel": "发送到",
    "simpleSendToHint": "实际将请求发送到哪里（在 OmniRoute 中连接的提供者）。",
    "simpleStartWithLabel": "开始于",
    "simpleStartWithExamplePlaceholder": "选择一个现成的示例",
    "simpleStartWithCustomOption": "粘贴您的请求（高级）",
    "simpleModeLabel": "模式",
    "simpleModePreview": "仅预览翻译",
    "simpleModeSend": "发送并查看响应",
    "simpleAdvancedToggle": "高级",
    "simpleInputPanelTitle": "输入",
    "simpleInputPanelHint": "自由文本消息或现成示例",
    "simpleResultPanelTitle": "翻译 + 回复",
    "narratedDetected": "✓ 检测到: {format}",
    "narratedTranslating": "正在翻译到 {target}...",
    "narratedSending": "正在发送到 {target}...",
    "narratedSuccess": "→ 翻译为 {target} · 响应时间 {latency}ms",
    "narratedError": "失败：{reason}",
    "narratedSeeTranslatedJson": "查看翻译后的 JSON",
    "narratedSeePipeline": "查看管道",
    "advancedSectionTitle": "高级",
    "advancedSectionSubtitle": "原始 JSON、管道和技术工具。这里的一切与旧标签相同——只是重新组织了一下。",
    "advancedRawJsonTitle": "原始 JSON（自动检测 + Monaco）",
    "advancedRawJsonSubtitle": "粘贴一个 JSON 请求；格式会自动检测。",
    "advancedPipelineTitle": "OpenAI 中间管道",
    "advancedPipelineSubtitle": "可视化每个翻译步骤（中心辐射模型）。",
    "advancedStreamTransformTitle": "流转换器 (聊天 → 响应 SSE)",
    "advancedStreamTransformSubtitle": "将聊天完成 SSE 转换为响应 API。",
    "advancedTestBenchTitle": "测试平台 (8 个场景)",
    "advancedTestBenchSubtitle": "运行所有场景并报告通过/失败 + 兼容性 %。",
    "advancedCompressionTitle": "压缩预览",
    "advancedCompressionSubtitle": "估算不同压缩模式下的令牌节省。",
    "monitorOriginHint": "由 Translate 或主管道生成的事件会实时显示在这里。",
    "monitorEmptyCta": "转到翻译选项卡并发送请求 — 它将出现在这里。",
    "monitorOpenTranslateButton": "前往翻译",
    "pipelineStepClientRequest": "客户端请求",
    "pipelineStepClientRequestDesc": "以客户端格式接收到请求",
    "pipelineStepFormatDetected": "检测到的格式",
    "pipelineStepFormatDetectedDesc": "自动检测到的源格式",
    "pipelineStepOpenAIIntermediate": "OpenAI 中级",
    "pipelineStepOpenAIIntermediateDesc": "翻译为 OpenAI hub 格式",
    "pipelineStepProviderFormat": "提供者格式",
    "pipelineStepProviderFormatDesc": "翻译为提供者目标格式",
    "pipelineStepProviderResponse": "提供者响应",
    "pipelineStepProviderResponseDesc": "来自提供者的流式响应",
    "conceptDiagramArrow1": "说话",
    "conceptDiagramArrow2": "翻译",
    "conceptDiagramArrow3": "转换",
    "conceptDiagramExampleHub": "OpenAI",
    "conceptDiagramHubTooltip": "翻译器用于在没有直接映射的格式之间转换的中间枢纽。",
    "conceptDiagramSourceTooltip": "您的应用程序使用的 API 格式（例如，Anthropic SDK = claude）。",
    "conceptDiagramTargetTooltip": "请求将实际发送到的提供者。"
  },
  "usage": {
    "title": "用量",
    "loggerTab": "记录器",
    "proxyTab": "代理",
    "budgetManagement": "预算管理",
    "budgetSaved": "已保存预算限制",
    "budgetSaveFailed": "未能节省预算",
    "loadingBudgetData": "正在加载预算数据...",
    "noApiKeysTitle": "没有 API 密钥",
    "noApiKeysDescription": "首先添加 API 密钥以设置预算限制。",
    "apiKey": "API key",
    "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": "将响应与预期标准进行比较。查看每种情况的通过/失败情况以及延迟指标和详细反馈。",
    "evalsStrategyContainsLabel": "包含",
    "evalsStrategyExactLabel": "精确匹配",
    "evalsStrategyRegexLabel": "正则",
    "evalsStrategyCustomLabel": "自定义逻辑",
    "evalsStrategyContainsDescription": "检查 LLM 输出是否包含期望的子串。",
    "evalsStrategyExactDescription": "检查 LLM 输出是否与期望值完全一致。",
    "evalsStrategyRegexDescription": "通过正则表达式校验 LLM 输出。",
    "evalsStrategyCustomDescription": "自定义评估逻辑(通过 JSON 配置)。",
    "historyColumnSuiteName": "套件名称",
    "historyColumnTarget": "目标",
    "historyColumnPassRate": "通过率",
    "historyColumnAvgLatencyMs": "平均延迟",
    "historyColumnCreatedAt": "执行时间",
    "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": "运行评估",
    "runAllSuites": "全部运行",
    "runAllRunning": "正在全部运行...",
    "runAllProgress": "正在运行 {current}/{total}：{name}",
    "runAllFailedSuites": "{count, plural, one {# 个套件失败} other {# 个套件失败}}",
    "runAllCompleted": "已运行 {suites} 个套件 — {passed} 个通过，{failed} 个失败",
    "runAllCompletedWithFailures": "已运行 {completed} 个套件；{failedSuites} 个运行失败",
    "runningProgress": "正在运行 {current}/{total}...",
    "passRate": "通过率",
    "summaryBreakdown": "{passed} 通过 · {failed} 失败 · {total} 总计",
    "passedIconLabel": "✅ 通过",
    "failedIconLabel": "❌ 失败",
    "resultPassed": "已通过",
    "resultFailed": "失败",
    "expandResult": "展开结果详情",
    "collapseResult": "折叠结果详情",
    "detailsContains": "包含：“{term}”",
    "detailsRegex": "正则表达式：{pattern}",
    "detailsExpected": "预期：“{expected}”",
    "expectedOutputLabel": "预期输出",
    "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": "无配额数据",
    "cardExpand": "展开",
    "cardCollapse": "收起",
    "moreQuotas": "还有 {count} 项",
    "ungrouped": "未分组",
    "viewFlat": "平铺视图",
    "viewByEnvironment": "按环境分组",
    "noQuotaDataAvailable": "无可用配额数据",
    "noAccountsForTierFilter": "未找到适用于层过滤器的帐户",
    "tierAll": "全部",
    "tierEnterprise": "企业",
    "tierTeam": "团队",
    "tierBusiness": "商务",
    "tierUltra": "超",
    "tierPro": "专业版",
    "tierPlus": "加号",
    "tierFree": "免费",
    "tierLite": "轻量",
    "tierUnknown": "未知",
    "statTotal": "总计",
    "statCritical": "严重",
    "statAlert": "警报",
    "statHealthy": "健康",
    "filterPurchaseTypeLabel": "类型",
    "filterTierLabel": "层级",
    "purchaseAll": "全部",
    "purchaseOauthSub": "订阅",
    "purchaseOauthFree": "OAuth 免费",
    "purchaseApiKey": "API 密钥",
    "creditsLabel": "额度",
    "creditBalanceHint": "剩余额度",
    "unlimitedLabel": "无限",
    "refreshing": "刷新中",
    "resetsIn": "重置倒计时",
    "editCutoffs": "编辑截止值",
    "forceRefresh": "立即刷新",
    "suiteBuilderSaveFailed": "保存套件失败",
    "clone": "克隆",
    "exportSuite": "导出",
    "importSuite": "导入",
    "suiteExported": "套件已导出",
    "suiteExportFailed": "导出套件失败",
    "suiteImportReady": "套件导入已加载，等待检查",
    "suiteImportFailed": "导入套件失败",
    "suiteImportInvalid": "无效的 eval 套件 JSON",
    "suiteBuilderCloneSuffix": "副本",
    "suiteBuilderImportedSuite": "已导入套件",
    "scorecardTitle": "Scorecard",
    "evalApiKey": "API key",
    "scorecardPassRate": "通过率",
    "targetTypeModel": "模型",
    "actualOutputLabel": "实际输出",
    "evalTargetHint": "选择要评估的模型或组合。",
    "suiteBuilderDeleted": "Suite 删除成功",
    "suiteBuilderCaseCardHint": "定义输入提示和预期输出标准。",
    "nextResetUtc": "下次重置（UTC）",
    "scorecardHint": "汇总所有 Evaluation Suite 的通过率。",
    "suiteLatestRunsHint": "此套件最近的评估运行。",
    "saving": "正在保存",
    "suiteBuilderCaseModelLabel": "模型（可选）",
    "evalControlsTitle": "Evaluation 控制项",
    "suiteBuilderEditTitle": "编辑 Evaluation Suite",
    "suiteBuilderCaseStrategyLabel": "验证策略",
    "notifySelectDifferentCompareTarget": "请选择不同的比较目标",
    "recentRunsHint": "正在显示最近的评估运行。点击某次运行可查看详细结果。",
    "evalCompareHint": "可选择与第二个目标比较结果。",
    "suiteBuilderCaseInvalid": "此 Case 存在验证错误，请先修复再保存。",
    "historyEmpty": "暂无 Evaluation 历史",
    "suiteBuilderUpdated": "Suite 更新成功",
    "resetInterval": "重置间隔",
    "suiteBuilderCreateTitle": "创建评估套件",
    "activePeriodSpend": "当前周期支出",
    "evalApiKeyHint": "选择用于评估请求的 API 密钥。",
    "evalCompareOptional": "对比（可选）",
    "suiteBuilderDeleteFailed": "删除套件失败",
    "suiteBuilderCaseSystemPromptPlaceholder": "可选系统指令...",
    "scorecardCases": "Case",
    "runCompletedWithScore": "Evaluation 已完成 — 通过率 {score}%",
    "suiteBuilderCustomBadge": "自定义",
    "targetSuiteDefaults": "Suite 默认值",
    "suiteBuilderDeleteConfirm": "确定要删除此套件吗？此操作无法撤销。",
    "suiteBuilderNameLabel": "Suite 名称",
    "scorecardSuites": "Suites",
    "evalCompareTarget": "对比目标",
    "suiteBuilderCaseModelPlaceholder": "例如 gpt-4o-mini",
    "evalControlsHint": "配置评估目标和 API 密钥，然后运行套件以验证模型质量。",
    "recentRunsTitle": "最近运行",
    "suiteBuilderCaseSystemPromptLabel": "系统提示",
    "suiteBuilderCaseExpectedPlaceholder": "例如 def fibonacci",
    "suiteBuilderCaseExpectedPlaceholderContains": "例如 def fibonacci",
    "suiteBuilderCaseExpectedPlaceholderExact": "粘贴精确的预期响应",
    "suiteBuilderCaseExpectedPlaceholderRegex": "例如 ^\\s*\\{.*\\}\\s*$",
    "suiteBuilderCaseExpectedHintRegex": "使用不带包裹斜杠的 JavaScript 正则表达式。",
    "suiteBuilderNamePlaceholder": "例如 Coding Quality Suite",
    "suiteBuilderAddCase": "添加 Case",
    "cancel": "取消",
    "evalTarget": "目标",
    "suiteBuilderCaseNameLabel": "Case 名称",
    "weeklyLimitUsd": "每周限额（USD）",
    "suiteBuilderCaseUserPromptPlaceholder": "例如用 Python 写一个 fibonacci 函数",
    "suiteBuilderNameRequired": "Suite 名称为必填项",
    "suiteBuilderCaseUserPromptLabel": "用户 Prompt",
    "daily": "每日",
    "resultErrorLabel": "错误",
    "suiteBuilderBuiltInBadge": "内置",
    "suiteBuilderCaseCardTitle": "测试用例",
    "suiteBuilderDuplicateCase": "复制",
    "weeklyLimitPlaceholder": "例如 50.00",
    "suiteBuilderCaseTagsHint": "用于组织测试用例的逗号分隔标签。",
    "notifyEvalRunFailedWithReason": "评估失败：{reason}",
    "weekly": "每周",
    "runEvalRunning": "正在运行 Evaluation...",
    "delete": "删除",
    "resetTimeUtc": "重置时间（UTC）",
    "evalApiKeyAuto": "自动（使用默认值）",
    "suiteBuilderDescriptionPlaceholder": "可选：描述此套件测试的内容...",
    "targetComparisonTitle": "目标对比",
    "save": "保存",
    "suiteBuilderCreated": "Suite 创建成功",
    "suiteLatestRuns": "最新运行",
    "suiteBuilderCaseExpectedLabel": "期望值",
    "historyLatency": "延迟",
    "suiteBuilderCaseTagsPlaceholder": "例如 coding, python",
    "targetTypeCombo": "Combo",
    "scorecardPassed": "已通过",
    "suiteBuilderCaseTagsLabel": "标签",
    "suiteBuilderNewSuite": "新建 Suite",
    "notifyEvalLoadFailed": "加载评估数据失败",
    "notConfigured": "未配置",
    "suiteBuilderCaseNamePlaceholder": "例如 Python 斐波那契测试",
    "intervalLabel": "间隔",
    "suiteBuilderCreateAction": "创建套件",
    "suiteBuilderCasesHint": "每个用例都会发送一个提示并验证响应。",
    "suiteBuilderUpdatedAt": "更新时间",
    "errorBadge": "错误",
    "suiteBuilderCasesTitle": "测试用例",
    "edit": "编辑",
    "monthly": "每月",
    "suiteBuilderCasesRequired": "至少需要一个测试用例",
    "weeklyLimitSummary": "每周预算限额摘要",
    "suiteBuilderDescriptionLabel": "描述",
    "targetComparisonHint": "在目标之间并排比较评估结果。",
    "compareCompletedWithScore": "对比已完成 — 通过率 {score}%",
    "staleQuotaTooltip": "上次刷新失败 — 显示缓存数据",
    "quotaThresholdLabel": "最小剩余时间",
    "quotaCutoffsColumnHelp": "当剩余配额降至此百分比或以下时停止请求。",
    "quotaCutoffsButtonDefault": "默认",
    "quotaCutoffsButtonHelp": "编辑此帐户的最小剩余配额截止值。",
    "quotaCutoffsButtonDisabled": "此帐户尚无可用的配额窗口。",
    "quotaCutoffsTitle": "{name} ({provider}) 的配额截止",
    "quotaCutoffsExplainer": "覆盖停止为每个配额窗口选择此帐户的最小剩余配额百分比。留空以继承提供程序默认值。",
    "quotaCutoffsDefaultHint": "默认最小剩余量：{default}%",
    "quotaCutoffsResetAll": "全部重置",
    "quotaCutoffsNoWindows": "此帐户尚无可用的配额窗口。",
    "quotaThresholdInvalid": "输入 0 到 100 之间的整数。",
    "budgetKpiToday": "今天",
    "budgetKpiThisMonth": "这个月",
    "budgetKpiProjEom": "项目结束",
    "budgetKpiBlocked": "被阻止",
    "budgetKpiAtRisk": "有风险",
    "budgetKpiActiveKeys": "活动键",
    "budgetSearchKeysPlaceholder": "搜索键...",
    "budgetSortPctUsed": "排序：使用百分比 ↓",
    "budgetSortTodayDollar": "排序：今日$ ↓",
    "budgetSortMonthDollar": "排序: 月 $ ↓",
    "budgetSortNameAZ": "排序： 名称 (A–Z)",
    "budgetColDailyLim": "每日限制",
    "budgetColMonthlyLim": "每月限制",
    "budgetColUsedPct": "使用百分比",
    "budgetLoading": "加载中...",
    "budgetNoKeysMatch": "没有键匹配过滤器",
    "budgetLinearExtrapolation": "线性外推法",
    "budgetThisMonthSoFar": "这个月到目前为止",
    "budgetProjectedEndOfMonth": "预计月底",
    "budgetByProvider": "按提供商",
    "budgetDailyDollar": "每日 $",
    "budgetWeeklyDollar": "每周 $",
    "budgetMonthlyDollar": "每月 $",
    "budgetWarnAtPct": "警告%",
    "quotaAlerts": "配额提醒",
    "quotaTableRefreshing": "⟳ 清爽...",
    "noSpendLast30Days": "过去 30 天内没有消费",
    "updatedShort": "更新于",
    "lastRefreshed": "上次刷新",
    "providerQuota": "提供商配额",
    "providerQuotaHomeHint": "已连接账户的实时状态"
  },
  "modals": {
    "waitingAuth": "等待授权",
    "verificationUrl": "验证网址",
    "yourCode": "你的代码",
    "remoteAccess": "远程访问：",
    "connectedSuccess": "连接成功！",
    "connectionFailed": "连接失败",
    "chooseAuthMethod": "选择您的身份验证方法：",
    "awsBuilderId": "AWS 构建器 ID",
    "awsIamIdentity": "AWS IAM 身份中心",
    "googleAccount": "Google 帐户",
    "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": "输出 Tokens",
    "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": "监控成本和 Tokens",
    "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": "默认密码：CHANGEME（除非已设置 INITIAL_PASSWORD）",
    "Authorization": "Authorization",
    "Content-Disposition": "Content-Disposition",
    "waitingForAuthorization": "正在等待授权...",
    "waitingForGoogleAuthorization": "正在等待 Google 授权...",
    "waitingForOpenAIAuthorization": "正在等待 OpenAI 授权...",
    "waitingForAntigravityAuthorization": "正在等待 Antigravity 授权...",
    "waitingForQoderAuthorization": "正在等待 Qoder 授权...",
    "exchangingCodeForTokens": "正在用授权码换取 Tokens...",
    "nodeIncompatibleTitle": "不兼容的 Node.js 版本",
    "nodeIncompatibleDesc": "你当前运行的是 Node.js {version}，它不在 OmniRoute 支持的安全运行时策略内。请使用已打补丁的 Node.js 20.x 或 22.x LTS 版本。",
    "nodeIncompatibleFixLabel": "修复：安装已打补丁的 Node.js 22 LTS 版本",
    "nodeIncompatibleHint": "OmniRoute 要求 Node.js 20.20.2+（20.x LTS）、22.22.2+（22.x LTS）或 24.0.0+（24.x LTS）。为保证稳定性，建议使用 Node 24 LTS。"
  },
  "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": "快速入门",
    "deploymentGuides": "部署指南",
    "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": "例如使用提供商前缀",
    "deploySetupTitle": "设置指南",
    "deploySetupText": "OmniRoute 的分步安装、环境配置和首次运行演练。",
    "deployElectronTitle": "电子桌面",
    "deployElectronText": "在 Windows、macOS 和 Linux 上将 OmniRoute 作为本机桌面应用程序运行。",
    "deployDockerTitle": "码头工人",
    "deployDockerText": "使用 Docker Compose 进行容器化部署；为生产堆栈和 Kubernetes 做好准备。",
    "deployVmTitle": "虚拟机",
    "deployVmText": "在任何 Linux VM 上自托管。包括 systemd 单元、日志轮换和备份工具。",
    "deployFlyTitle": "飞行大作战",
    "deployFlyText": "使用一个 Fly.toml 和一个部署命令部署到 Fly.io 边缘运行时。",
    "deployPwaTitle": "渐进式网页应用",
    "deployPwaText": "在 Android、iOS 和桌面浏览器上将 OmniRoute 作为渐进式 Web 应用程序安装。",
    "deployTermuxTitle": "Termux (Android)",
    "deployTermuxText": "通过 Termux 在 Android 上以无界面模式运行 OmniRoute，并从移动浏览器访问仪表盘。",
    "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": "基础 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）前缀。",
    "clientWindsurfTitle": "Windsurf",
    "clientWindsurfBullet1": "将 OmniRoute 用作 OpenAI 兼容的 base URL，并保留显式提供商前缀，以实现确定性路由。",
    "clientWindsurfBullet2": "常规流量将模型指向 `/v1/chat/completions`，并为 Codex 风格流程保留 `/v1/responses`。",
    "clientWindsurfBullet3": "使用仪表盘 -> CLI 工具获取现成的 Windsurf 配置指南。",
    "clientClineTitle": "Cline",
    "clientClineBullet1": "Cline 最适合使用显式的提供商/模型前缀，这样路由器无需猜测后端。",
    "clientClineBullet2": "常规模型使用 `/v1/chat/completions`，并在不同账户间复用同一个 OmniRoute base URL。",
    "clientClineBullet3": "调试 Cline 运行时问题前，请使用提供商仪表盘验证 OAuth/API 密钥。",
    "clientKimiTitle": "Kimi Coding",
    "clientKimiBullet1": "轮换底层账户或提供商组合时，将 OmniRoute 用作稳定的 base URL。",
    "clientKimiBullet2": "在编码流程中优先使用带前缀的模型，让回退和审计轨迹保持明确。",
    "clientKimiBullet3": "当你希望为使用工具的客户端启用原生 Responses 风格路由时，请使用 `/v1/responses`。",
    "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）。",
    "endpointSpeechNote": "语音生成（ElevenLabs、OpenAI TTS）。",
    "endpointEmbeddingsNote": "文本嵌入生成（OpenAI、Cohere、Voyage）。",
    "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 过期，请重新认证，并检查提供商卡片上的状态指示器。",
    "endpointCompletionsNote": "用于文本生成的旧版 completions 端点。",
    "endpointModerationsNote": "内容审核和安全分类。",
    "endpointRerankNote": "用于检索增强生成的文档重排序（Cohere、Jina）。",
    "endpointSearchNote": "通过 5 个提供商进行网页搜索（Serper、Brave、Exa、Tavily、Perplexity）。",
    "endpointSearchAnalyticsNote": "搜索请求的分析和指标。",
    "endpointVideoNote": "视频生成（ComfyUI、SD WebUI 工作流）。",
    "endpointMusicNote": "通过 ComfyUI 工作流生成音乐。",
    "endpointMessagesNote": "Anthropic 原生 messages 端点。",
    "endpointCountTokensNote": "统计给定消息载荷的 token 数。",
    "endpointFilesNote": "用于多模态输入的文件上传。",
    "endpointBatchesNote": "用于批量 API 请求的 Batch 处理。",
    "endpointWsNote": "用于实时流式传输的 WebSocket 端点。",
    "mgmtProvidersListNote": "列出所有已注册的提供商连接。",
    "mgmtProvidersCreateNote": "创建新的提供商连接。",
    "mgmtProvidersUpdateNote": "更新现有提供商连接。",
    "mgmtProvidersDeleteNote": "删除提供商连接。",
    "mgmtProvidersTestNote": "测试提供商的连接和认证。",
    "mgmtProvidersModelsNote": "列出特定提供商的可用模型。",
    "mgmtSettingsGetNote": "获取当前应用设置。",
    "mgmtSettingsUpdateNote": "更新应用设置。",
    "mgmtPayloadRulesGetNote": "获取载荷转换规则。",
    "mgmtPayloadRulesUpdateNote": "更新载荷转换规则。",
    "mcpToolsTitle": "MCP 工具",
    "mcpToolsDescription": "OmniRoute 通过 Model Context Protocol 暴露 {count} 个工具，用于 Agent 编排。",
    "mcpToolsCount": "{count} 个工具",
    "mcpToolsToc": "MCP 工具",
    "mcpToolsRoutingTitle": "路由与发现",
    "mcpToolsRoutingDesc": "健康检查、组合管理、配额监控、成本报告和模型目录访问。",
    "mcpToolsOperationsTitle": "运维与策略",
    "mcpToolsOperationsDesc": "路由模拟、预算保护、策略切换、韧性配置和提供商指标。",
    "mcpToolsCacheTitle": "缓存管理",
    "mcpToolsCacheDesc": "查看缓存统计，并清空语义缓存或签名缓存。",
    "mcpToolsCompressionTitle": "压缩发动机",
    "mcpToolsCompressionDesc": "配置 RTK/Brotli 压缩、交换引擎并按组合检查压缩分析。",
    "mcpToolsOneProxyTitle": "1代理/隧道",
    "mcpToolsOneProxyDesc": "管理出站代理、轮换住宅 IP 并检查代理运行状况。",
    "mcpToolsMemoryTitle": "记忆",
    "mcpToolsMemoryDesc": "搜索、添加和清除持久化对话记忆条目。",
    "mcpToolsSkillsTitle": "技能",
    "mcpToolsSkillsDesc": "列出、启用、执行和监控自定义技能执行。",
    "featureAutoComboTitle": "Auto-Combo",
    "featureAutoComboText": "根据你连接的提供商、使用模式和模型能力，自动创建优化组合。",
    "featureSearchTitle": "网页搜索",
    "featureSearchText": "集成 5 个提供商的网页搜索（Serper、Brave、Exa、Tavily、Perplexity），并包含分析和成本跟踪。",
    "featureMemoryTitle": "记忆系统",
    "featureMemoryText": "跨会话提供提取、注入、检索和摘要能力的持久化对话记忆。",
    "featureSkillsTitle": "技能框架",
    "featureSkillsText": "可扩展技能系统，支持内置和自定义技能、沙箱执行、请求拦截和上下文注入。",
    "featureAcpTitle": "Agent 通信",
    "featureAcpText": "Agent Communication Protocol (ACP) 注册表，用于管理 Agent 间工作流和工具编排。",
    "protocolAcpTitle": "ACP（Agent 通信）",
    "protocolAcpDesc": "通过 ACP 注册表注册和管理 Agent，用于 Agent 间通信和工具共享。",
    "protocolAcpStep1": "前往仪表盘 → Agents 查看已注册的 ACP Agent。",
    "protocolAcpStep2": "使用能力和端点配置注册新的 Agent。",
    "protocolAcpStep3": "使用 CLI 工具配置 Agent 通信通道。"
  },
  "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": "Google 隐私政策",
    "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 中，重新打开一个终端会话后再次点击“刷新”。",
    "cliToolsRedirectTitle": "CLI 工具已移至专用页面",
    "cliToolsRedirectDesc": "在 CLI Tools 页面管理 Agent CLI 集成与重定向。",
    "spawnArgsPlaceholder": "启动参数占位符",
    "binaryNamePlaceholder": "二进制名称占位符",
    "versionCommandPlaceholder": "版本命令占位符",
    "architectureTitle": "架构",
    "flowLocalBinary": "本地二进制",
    "flowOmniRoute": "OmniRoute",
    "agentNamePlaceholder": "Agent 名称占位符",
    "architectureDescription": "了解 OmniRoute 如何在客户端、路由器和 Agent 目标之间转发请求。",
    "flowExecute": "执行",
    "flowSpawn": "启动",
    "cliToolsRedirectCta": "打开 CLI Tools",
    "comparisonTitle": "CLI 工具与 Agent 目标有什么区别？",
    "comparisonCliToolsLabel": "CLI 工具页面",
    "comparisonCliToolsTitle": "你的 IDE 通过 OmniRoute 发送请求",
    "comparisonCliToolsDesc": "配置 Claude Code、Codex、Cursor 和其他 IDE，将 OmniRoute 用作它们的 API base URL。OmniRoute 作为代理，将请求路由到你配置的提供商。",
    "comparisonAgentsLabel": "当前页面（Agent 目标）",
    "comparisonAgentsTitle": "OmniRoute 将请求发送到本地 CLI 工具",
    "comparisonAgentsDesc": "OmniRoute 可以启动本地 CLI 二进制文件（claude、codex、goose）作为执行后端。CLI 工具使用自己的认证处理请求并返回结果。",
    "comparisonSummary": "简而言之：CLI 工具 = 你配置工具指向 OmniRoute。Agent 目标 = OmniRoute 将工具用作端点。",
    "agentUseCaseHint": "可通过 ACP 协议用作执行目标",
    "flowDiagramClient": "客户端应用",
    "flowDiagramClientDesc": "SDK、API 或上游服务",
    "flowDiagramOmniRoute": "OmniRoute",
    "flowDiagramOmniRouteDesc": "接收请求并选择目标",
    "flowDiagramSpawn": "启动进程",
    "flowDiagramSpawnDesc": "通过 stdio 启动 CLI 二进制文件",
    "flowDiagramCli": "CLI Agent",
    "flowDiagramCliDesc": "使用自身认证/模型处理",
    "fingerprintSettingsHint": "CLI 指纹匹配（伪装成特定 CLI 工具的请求）可在以下位置配置：",
    "settingsRoutingLink": "设置/路由",
    "openSettings": "设置",
    "copyRawUrlTitle": "将原始 URL 复制到剪贴板",
    "copied": "复制了！",
    "copyUrl": "复制网址",
    "startHere": "从这里开始",
    "badgeNew": "新",
    "viewOnGithub": "在 GitHub 上查看",
    "howToUse": "如何使用",
    "browseAllSkillsOnGithub": "浏览 GitHub 上的所有技能",
    "apiSkills": "API技能",
    "cliSkills": "CLI 技能",
    "apiSkillsSubtitle": "{count} 个技能 — 通过 REST / HTTP 控制 OmniRoute",
    "cliSkillsSubtitle": "{count} 个技能 — 通过 omniroute 终端可执行文件控制 OmniRoute",
    "howToUseStep1": "在你想让代理了解的技能上点击 <bold>{copyUrl}</bold>。",
    "howToUseStep2": "在你的 AI 代理(Claude、Cursor、Cline…)中输入:",
    "howToUseStep2Code": "在 [pasted-url] 处使用该技能",
    "howToUseStep3": "代理会获取 SKILL.md 并学习 OmniRoute 的 API 或 CLI — 无需手动文档。"
  },
  "cloudAgents": {
    "title": "云代理",
    "description": "管理自主编码代理（Jules、Devin、Codex Cloud）",
    "loading": "正在加载任务...",
    "aboutTitle": "关于云代理",
    "aboutDescription": "云代理是远程人工智能编码助手，可以自主执行任务。它们的工作方式与本地 CLI 代理不同 - 您可以通过 OmniRoute 的 API 与它们交互。",
    "howItWorksTitle": "工作原理：",
    "howItWorksDesc": "创建任务 → 代理分析并提出计划 → 您批准 → 代理执行 → 结果返回",
    "newTaskTitle": "创建新任务",
    "newTaskDescription": "使用云代理启动新任务",
    "selectAgent": "选择代理",
    "taskDescription": "任务描述",
    "taskDescriptionPlaceholder": "描述您希望代理做什么...",
    "startTask": "启动任务",
    "tasks": "任务",
    "taskDetail": "任务详情",
    "noTasks": "还没有任务。创建一个以开始使用。",
    "noTasksTitle": "暂无任务",
    "noTasksDesc": "创建你的第一个任务以开始使用。",
    "tasksTab": "任务",
    "agentsTab": "代理",
    "settingsTab": "设置",
    "agentsEnabled": "已启用",
    "agentsDisabled": "已禁用",
    "filterAllProviders": "所有提供商",
    "filterAll": "全部",
    "autoRefreshing": "自动刷新中",
    "viewPR": "查看 Pull Request",
    "connected": "已连接",
    "notConnected": "未连接",
    "configure": "配置",
    "settingsTitle": "云代理设置",
    "settingsDesc": "为云代理配置本地偏好。",
    "settingEnableAgents": "启用云代理",
    "settingEnableAgentsDesc": "允许 OmniRoute 编排自主编码代理。",
    "settingAutoPR": "自动创建 PR",
    "settingAutoPRDesc": "任务完成后自动创建包含变更的 Pull Request。",
    "settingRequireApproval": "需要方案审批",
    "settingRequireApprovalDesc": "代理执行所提方案前始终等待手动批准。",
    "untitledTask": "无标题任务",
    "created": "已创建",
    "conversation": "对话",
    "result": "结果",
    "error": "错误",
    "planReady": "计划已准备好等待批准",
    "approvePlan": "批准计划",
    "rejectPlan": "拒绝并取消",
    "sendMessagePlaceholder": "给代理发消息...",
    "cancel": "取消",
    "delete": "删除",
    "selectTaskPrompt": "选择任务查看详细信息",
    "statusPending": "待定",
    "statusRunning": "跑步",
    "statusWaitingApproval": "等待批准",
    "statusCompleted": "已完成",
    "statusFailed": "失败",
    "statusCancelled": "取消",
    "repositoryName": "存储库名称",
    "repositoryUrl": "存储库网址",
    "branch": "分公司"
  },
  "templateNames": {
    "simple-chat": "简单对话",
    "streaming": "流式响应",
    "system-prompt": "系统提示词",
    "thinking": "思考模式",
    "tool-calling": "工具调用",
    "multi-turn": "多轮对话",
    "vision": "愿景",
    "schema-coercion": "模式强制"
  },
  "templateDescriptions": {
    "simple-chat": "带系统消息的基础对话模板",
    "streaming": "用于流式响应的模板",
    "system-prompt": "带自定义系统提示词的模板",
    "thinking": "带推理/思考预算的模板",
    "tool-calling": "用于工具/函数调用的模板",
    "multi-turn": "用于多轮对话的模板",
    "vision": "具有图像输入的多模态模板",
    "schema-coercion": "结构化输出/JSON 模式实施"
  },
  "templatePayloads": {
    "simpleChat": {
      "system": "你是一名乐于助人的 AI 助手。",
      "userGreeting": "你好！今天我可以帮你做些什么？"
    },
    "streaming": {
      "prompt": "写一个关于"
    },
    "systemPrompt": {
      "question": "生命的意义是什么？",
      "systemInstruction": "请给出一个深思熟虑、带有哲学意味的回答。"
    },
    "thinking": {
      "question": "请解释量子计算"
    },
    "toolCalling": {
      "cityNameDescription": "需要查询天气的城市名称",
      "toolDescription": "获取某个地点的当前天气",
      "userWeather": "东京现在天气怎么样？"
    },
    "multiTurn": {
      "system": "你是一名乐于助人的助手。",
      "assistantExample": "我很乐意帮助你处理这件事。",
      "userInitial": "我需要帮助来处理",
      "userFollowUp": "你可以再详细说明一下吗？"
    }
  },
  "cache": {
    "title": "缓存管理",
    "description": "监控提供商侧 Prompt Cache 的效率，以及本地 Semantic Cache 的响应复用情况。",
    "refresh": "刷新",
    "clearAll": "清空语义缓存",
    "memoryEntries": "内存条目",
    "memoryEntriesSub": "内存 LRU",
    "dbEntries": "数据库条目",
    "dbEntriesSub": "已持久化（SQLite）",
    "cacheHits": "缓存命中数",
    "cacheHitsSub": "共 {total} 次",
    "tokensSaved": "节省的 Tokens",
    "tokensSavedSub": "根据命中次数估算",
    "hitRate": "命中率",
    "performance": "缓存性能",
    "autoRefresh": "每 {seconds} 秒自动刷新",
    "hits": "命中次数",
    "misses": "未命中次数",
    "total": "总计",
    "behavior": "缓存行为",
    "behaviorDeterministic": "仅缓存 temperature=0 的非流式请求。",
    "behaviorBypass": "通过请求头 {header} 绕过缓存。",
    "behaviorTwoTier": "双层存储：内存 LRU（快速）+ SQLite（重启后持久化）。",
    "behaviorTtl": "默认 TTL：30 分钟。可通过 {envVar} 配置。",
    "idempotency": "幂等层",
    "activeDedupKeys": "活跃去重键",
    "dedupWindow": "去重窗口",
    "clearSuccess": "语义缓存已清空，已删除 {count} 条记录。",
    "clearError": "清除缓存失败。",
    "unavailable": "缓存不可用",
    "unavailableDesc": "无法获取缓存统计信息。请确保服务器正在运行。",
    "loadingCacheAria": "正在加载缓存",
    "promptCache": "Prompt 缓存（提供商侧）",
    "semanticCache": "语义缓存",
    "promptCacheSectionDesc": "基于 usage history 展示提供商侧 prompt cache 的活跃度，让你区分哪些请求真的启用了 cache control，以及实际复用了多少输入。",
    "promptTrendDesc": "按小时展示最近 24 小时的请求量、缓存覆盖率，以及 cache read token 的变化。",
    "cachedRequests": "缓存请求数",
    "cachedRequests24h": "24 小时缓存请求数",
    "cacheHitRate": "缓存命中率",
    "cacheRate": "缓存率",
    "cacheRateDesc": "占总请求数",
    "cachedTokens": "缓存读取 Token",
    "cacheCreationTokens": "缓存写入 Token",
    "cacheMetrics": "Prompt 缓存指标",
    "withCacheControl": "含缓存控制",
    "cachedTokensRead": "从缓存读取",
    "cacheCreationWrite": "写入缓存",
    "cacheReuseRatio": "缓存复用率",
    "cacheReuseRatioDesc": "缓存读取 token / 输入 token 总量",
    "estCostSaved": "预估节省费用",
    "lastUpdated": "上次更新",
    "hoursTracked": "个小时",
    "busiestHour": "最繁忙时段",
    "peakCacheRate": "最高缓存率",
    "trendHour": "小时",
    "activityVolume": "活动量",
    "requestsShort": "请求",
    "inputShort": "输入",
    "cachedShort": "已缓存",
    "writeShort": "写入",
    "resetting": "正在重置...",
    "resetMetrics": "重置指标",
    "byProvider": "按提供商分类",
    "providerCacheRateDesc": "每个提供商都会直接展示总输入 token、cache read token 和 cache write token，方便你对照原始数据判断比率是否可靠。",
    "provider": "提供商",
    "requests": "请求数",
    "inputTokens": "输入 Tokens 总计",
    "cachedTokensCol": "缓存读取",
    "cacheCreation": "缓存写入",
    "trend24h": "缓存趋势（24 小时）",
    "peakCached": "峰值缓存量",
    "cached": "已缓存",
    "overview": "概览",
    "tableProvider": "提供商",
    "tableModel": "模型",
    "performanceTitle": "性能",
    "semanticCacheSectionDesc": "OmniRoute 自己维护的确定性响应缓存。开启后，重复的非流式、temperature=0 请求可以直接在本地命中，不再访问上游 provider。",
    "semanticCacheDisabledDesc": "Semantic Cache 当前已禁用。重新在设置中开启之前，OmniRoute 不会再做本地响应复用。",
    "semanticEntriesDesc": "这里展示的是保存在 SQLite 里的 semantic cache 记录，不包含 provider-side prompt cache 的活动。",
    "searchEntries": "搜索条目...",
    "search": "搜索",
    "loading": "加载中...",
    "entriesLoadError": "加载语义缓存条目失败。",
    "noEntries": "未找到缓存条目",
    "noPromptCacheData": "暂时还没有记录到提供商侧 prompt cache 活动。",
    "noTrendData": "最近 24 小时还没有记录到 prompt cache 活动。",
    "signature": "签名",
    "model": "模型",
    "created": "创建时间",
    "expires": "到期时间",
    "actions": "操作",
    "deduplicatedRequests": "去重请求数",
    "savedCalls": "节省的 API 调用次数",
    "totalProcessed": "已处理请求总数",
    "disabled": "已禁用",
    "totalRequests": "总请求数",
    "reasoningCache": "推理回放",
    "reasoningCacheDesc": "为多轮工具调用流程保留模型思考内容",
    "reasoningEntries": "活动条目",
    "reasoningReplayRate": "回放率",
    "reasoningReplays": "总回放次数",
    "reasoningCharsCached": "已缓存字符数",
    "reasoningMisses": "缓存未命中",
    "reasoningByProvider": "按提供商",
    "reasoningByModel": "按模型",
    "reasoningRecentEntries": "最近条目",
    "reasoningToolCallId": "工具调用 ID",
    "reasoningChars": "字符数",
    "reasoningAge": "时间",
    "reasoningView": "查看",
    "reasoningDetail": "推理内容",
    "reasoningBehavior": "行为",
    "reasoningBehaviorCapture": "从流式响应中捕获 reasoning_content",
    "reasoningBehaviorReplay": "当客户端省略时，在下一轮重新注入",
    "reasoningBehaviorFallback": "内存优先，并使用 SQLite 作为崩溃恢复后备",
    "reasoningBehaviorTtl": "TTL：2 小时 | 最大条目：2,000（内存）",
    "reasoningBehaviorModels": "支持：DeepSeek、Kimi、Qwen-Thinking、GLM",
    "reasoningClearAll": "清空推理缓存",
    "reasoningClearSuccess": "已清除 {count} 个推理缓存条目",
    "reasoningClearError": "清除推理缓存失败",
    "reasoningNoData": "尚未缓存推理条目。思考模型使用工具调用时会显示条目。",
    "cachePerformanceRetry": "重试",
    "cachePerformanceHitRate": "命中率",
    "cachePerformanceAvgLatency": "平均延迟（毫秒）",
    "cachePerformanceP95Latency": "p95 延迟（毫秒）",
    "retry": "重试",
    "reasoningAvgChars": "平均字符数",
    "tableShare": "占比",
    "justNow": "刚刚",
    "minutesAgo": "{minutes} 分钟前",
    "hoursAgo": "{hours} 小时前",
    "daysAgo": "{days} 天前",
    "entries": "条目"
  },
  "proxyConfigModal": {
    "levelGlobal": "全局",
    "levelProvider": "供应商",
    "levelCombo": "组合",
    "levelKey": "密钥",
    "levelDirect": "直接（无代理）",
    "titleGlobal": "全局代理配置",
    "titleLevel": "{level} 代理 — {label}",
    "loading": "正在加载代理配置...",
    "inheritingFrom": "继承自",
    "source": "来源",
    "savedProxy": "已保存代理",
    "custom": "自定义",
    "selectSavedProxyPlaceholder": "选择已保存的代理...",
    "proxyType": "代理类型",
    "host": "主机",
    "hostPlaceholder": "1.2.3.4 或 proxy.example.com",
    "port": "端口",
    "authOptional": "认证（可选）",
    "username": "用户名",
    "usernamePlaceholder": "用户名",
    "password": "密码",
    "passwordPlaceholder": "密码",
    "connected": "已连接",
    "ip": "IP:",
    "connectionFailed": "连接失败",
    "testConnection": "测试连接",
    "clear": "清除",
    "cancel": "取消",
    "save": "保存",
    "errorSelectSavedProxy": "请先选择已保存的代理。",
    "errorSelectProxyFirst": "请先选择代理。",
    "errorProxyNotFound": "所选代理未找到。",
    "errorClearSavedProxy": "清除已保存代理失败",
    "errorSaveProxy": "保存代理配置失败",
    "errorClearProxy": "清除代理配置失败",
    "errorSocks5Hidden": "SOCKS5 已配置但已隐藏，因为 NEXT_PUBLIC_ENABLE_SOCKS5_PROXY=false。"
  },
  "oauthModal": {
    "title": "连接 {providerName}",
    "waiting": "等待授权",
    "completeAuthInPopup": "在弹出窗口中完成授权。",
    "popupClosedHint": "如果弹出窗口关闭而没有重定向回来（例如 Qoder），此对话框将自动切换到手动 URL 输入模式。",
    "popupBlocked": "弹出窗口被阻止？手动输入 URL",
    "deviceCodeVisitUrl": "访问下面的 URL 并输入代码：",
    "deviceCodeVerificationUrl": "验证 URL",
    "deviceCodeYourCode": "您的代码",
    "deviceCodeWaiting": "等待授权...",
    "googleOAuthWarning": "远程访问 + Google OAuth：默认凭据仅接受重定向到 <code>localhost</code>。授权后，您的浏览器将尝试打开 <code>localhost</code> — 复制该完整 URL 并粘贴到下方。要完全远程使用而无需此手动步骤，<a>配置您自己的 OAuth 凭据</a>。",
    "remoteAccessInfo": "远程访问：由于您是远程访问 OmniRoute，授权后您会看到一个错误页面（localhost 未找到）。这是正常的 — 只需从浏览器地址栏复制完整 URL 并粘贴到下方。",
    "step1OpenUrl": "步骤 1：在浏览器中打开此 URL",
    "copy": "复制",
    "step2PasteCallback": "步骤 2：在此处粘贴回调 URL 或授权代码",
    "step2Hint": "授权后，粘贴完整的回调 URL。对于 Claude Code 和 Cline，您也可以直接粘贴身份验证代码，例如 <code>code#state</code>。",
    "connect": "连接",
    "cancel": "取消",
    "success": "连接成功！",
    "successMessage": "您的 {providerName} 账户已连接。",
    "done": "完成",
    "error": "连接失败",
    "tryAgain": "重试"
  },
  "cursorAuthModal": {
    "title": "连接 Cursor IDE",
    "autoDetecting": "自动检测令牌中...",
    "readingFromCursor": "正在从 Cursor IDE 或 cursor-agent 读取",
    "tokensAutoDetected": "已成功从 Cursor IDE 自动检测到令牌！",
    "cursorNotDetected": "未检测到 Cursor IDE。请手动粘贴您的令牌。",
    "accessToken": "访问令牌",
    "required": "*",
    "accessTokenPlaceholder": "访问令牌将自动填充...",
    "machineId": "机器 ID",
    "optional": "（可选）",
    "machineIdPlaceholder": "机器 ID 将自动填充...",
    "importing": "正在导入...",
    "importToken": "导入令牌",
    "cancel": "取消",
    "errorAutoDetect": "无法自动检测令牌",
    "errorAutoDetectFailed": "自动检测令牌失败",
    "errorEnterToken": "请输入访问令牌",
    "errorImportFailed": "导入失败"
  },
  "pricingModal": {
    "title": "定价配置",
    "loading": "正在加载定价数据...",
    "pricingRatesFormat": "定价费率格式",
    "ratesDescription": "所有费率均为 <strong>每百万令牌美元</strong>（$/1M 令牌）。示例：输入费率为 2.50 表示每 1,000,000 个输入令牌收费 2.50 美元。",
    "model": "模型",
    "input": "输入",
    "output": "输出",
    "cached": "缓存",
    "reasoning": "推理",
    "cacheCreation": "缓存创建",
    "noPricingData": "无定价数据可用",
    "resetToDefaults": "重置为默认值",
    "cancel": "取消",
    "saving": "正在保存...",
    "saveChanges": "保存更改",
    "resetConfirm": "将所有定价重置为默认值？此操作无法撤销。",
    "errorSaveFailed": "保存定价失败",
    "errorResetFailed": "重置定价失败"
  },
  "proxyRegistry": {
    "title": "代理注册表",
    "description": "存储可重用的代理并跟踪分配。",
    "importLegacy": "导入旧版",
    "bulkAssign": "批量分配",
    "addProxy": "添加代理",
    "loading": "正在加载代理...",
    "noProxies": "暂无保存的代理。",
    "tableName": "名称",
    "tableEndpoint": "端点",
    "tableStatus": "状态",
    "tableHealth": "健康状态（24小时）",
    "tableUsage": "使用情况",
    "tableActions": "操作",
    "test": "测试",
    "edit": "编辑",
    "delete": "删除",
    "modalCreateTitle": "创建代理",
    "modalEditTitle": "编辑代理",
    "labelName": "名称",
    "labelType": "类型",
    "labelHost": "主机",
    "labelPort": "端口",
    "labelUsername": "用户名",
    "labelPassword": "密码",
    "labelRegion": "区域",
    "labelStatus": "状态",
    "labelNotes": "备注",
    "usernamePlaceholderEdit": "留空以保留当前用户名",
    "passwordPlaceholderEdit": "留空以保留当前密码",
    "statusActive": "活跃",
    "statusInactive": "非活跃",
    "cancel": "取消",
    "save": "保存",
    "bulkModalTitle": "批量代理分配",
    "bulkLabelScope": "范围",
    "bulkLabelProxy": "代理",
    "bulkClearAssignment": "（清除分配）",
    "bulkLabelScopeIds": "范围 ID（逗号或换行符分隔）",
    "bulkScopeIdsPlaceholder": "provider-openai,provider-anthropic",
    "bulkApply": "应用",
    "labelScope": "作用域",
    "labelProxy": "代理",
    "scopeGlobal": "全局",
    "scopeProvider": "按提供商",
    "scopeAccount": "按账号",
    "scopeCombo": "按组合",
    "bulkImportErrorMissingName": "缺少 NAME",
    "bulkImportErrorMissingHost": "缺少 HOST",
    "bulkImportErrorInvalidPort": "PORT 无效（必须为 1-65535）",
    "bulkImportErrorInvalidType": "TYPE 无效（使用 http、https 或 socks5）",
    "bulkImportErrorInvalidStatus": "STATUS 无效（使用 active 或 inactive）",
    "errorLoadFailed": "加载代理注册表失败",
    "errorNameHostRequired": "名称和主机为必填项",
    "errorSaveFailed": "保存代理失败",
    "errorDeleteFailed": "删除代理失败",
    "errorForceDeleteConfirm": "此代理仍在分配中。强制删除并移除所有分配？",
    "errorMigrateFailed": "迁移旧版代理配置失败",
    "errorBulkFailed": "执行批量分配失败",
    "success": "✓",
    "failure": "✗",
    "failed": "失败",
    "successRate": "{rate}% 成功",
    "avgLatency": "{latency} 毫秒平均",
    "assignmentsCount": "{count} 个分配",
    "noData": "—",
    "testSuccess": "✓ {ip}",
    "testLatency": "{latency}毫秒",
    "testFailure": "✗ {error}",
    "bulkImport": "批量导入",
    "bulkImportTitle": "批量导入代理",
    "bulkImportDescription": "使用管道符分隔格式粘贴代理配置。每行一个代理。已有代理（相同 host + port）将被更新。",
    "bulkImportParse": "解析",
    "bulkImportImport": "导入 {count} 个代理",
    "bulkImportImporting": "正在导入...",
    "bulkImportParsed": "已解析 {count} 个代理",
    "bulkImportSkipped": "已跳过 {count} 行",
    "bulkImportParseErrors": "{count} 个错误",
    "bulkImportNoValidEntries": "未找到有效条目。请检查格式后重试。",
    "bulkImportSuccess": "导入完成：已创建 {created} 个，已更新 {updated} 个，失败 {failed} 个",
    "bulkImportErrorLine": "第 {line} 行：{reason}",
    "bulkImportMaxExceeded": "每次最多导入 100 个代理",
    "bulkImportPreview": "预览",
    "clearAssignment": "（明确分配）",
    "bulkProxyAssignment": "批量代理分配"
  },
  "playground": {
    "title": "模型演练场",
    "description": "直接从仪表板测试任何模型。选择提供商、模型和端点类型，然后发送请求以查看原始响应。",
    "endpoint": "端点",
    "provider": "提供商",
    "model": "模型",
    "accountKey": "账户 / 密钥",
    "autoAccounts": "自动（{count} 个账户）",
    "noAccounts": "无账户",
    "send": "发送",
    "cancel": "取消",
    "audioFile": "音频文件",
    "attachImages": "附加图片（视觉）",
    "multipartFormData": "multipart/form-data",
    "upToImages": "最多 4 张图片",
    "selectAudioFile": "选择音频文件进行转录（mp3、wav、m4a、ogg、flac…）",
    "clearAll": "清除全部",
    "request": "请求",
    "response": "响应",
    "transcription": "转录",
    "copy": "复制",
    "resetToDefault": "重置为默认",
    "downloadAudio": "下载音频",
    "copyText": "复制文本",
    "transcriptionHint": "转录使用 multipart/form-data。上传上面的音频文件 — 下面的 JSON 控制额外参数（模型、语言）。",
    "imagesGenerated": "生成了 {count} 张图片",
    "generatedImage": "生成图片 {index}",
    "save": "保存",
    "endpointOptions": {
      "chat": "聊天补全",
      "responses": "响应",
      "images": "图片生成",
      "embeddings": "Embeddings",
      "speech": "文本转语音",
      "transcription": "音频转录",
      "video": "视频生成",
      "music": "音乐生成",
      "rerank": "Rerank",
      "search": "网页搜索"
    },
    "conversationalChat": "对话式聊天",
    "clearChat": "清除聊天内容",
    "typeMessagePlaceholder": "输入消息...（Shift+Enter 换行）",
    "tabChat": "Chat",
    "tabCompare": "Compare",
    "tabApi": "API",
    "tabBuild": "Build",
    "configPane": "Config",
    "systemPrompt": "System prompt",
    "systemPromptPlaceholder": "You are a helpful assistant.",
    "modelPlaceholder": "e.g. openai/gpt-4o",
    "endpointLabel": "Endpoint",
    "parametersLabel": "Parameters",
    "collapseConfig": "Collapse config pane",
    "expandConfig": "Expand config pane",
    "temperature": "Temperature",
    "maxTokens": "Max tokens",
    "topP": "Top-p",
    "presencePenalty": "Presence penalty",
    "frequencyPenalty": "Frequency penalty",
    "seedPlaceholder": "Random (leave empty)",
    "presetsLabel": "Presets",
    "loadPreset": "Load preset",
    "savePreset": "Save preset",
    "noPresets": "No presets",
    "presetNamePlaceholder": "Preset name",
    "savingPreset": "Saving…",
    "nameRequired": "Name is required",
    "failedToSavePreset": "Failed to save preset",
    "improvePrompt": "Improve prompt",
    "improvingPrompt": "Improving…",
    "improvePromptTitle": "Improve your prompt with AI",
    "setModelFirst": "Set a model first",
    "improveQuotaWarning": "This will consume quota from the model configured in Config.",
    "improveConfirm": "Improve",
    "exportCode": "Export code",
    "exportCodeTitle": "Export Code",
    "exportShort": "导出",
    "noStateToExport": "No playground state available to export.",
    "closeExportModal": "关闭导出模态框",
    "close": "关闭",
    "exportRealKeyWarning": "安全警告：导出被阻止 — 输出中检测到真实的 API 密钥。请重置您的 API 密钥并重试。",
    "placeholderHintPrefix": "替换",
    "placeholderHintSuffix": "使用您的实际 API 密钥，或将其设置为环境变量。",
    "copyLangCode": "复制 {language} 代码",
    "loadingPresets": "加载中…",
    "loadPresetPlaceholder": "加载预设…",
    "copyCode": "Copy",
    "copiedCode": "Copied!",
    "addModel": "+ Add model",
    "runAll": "Run all",
    "cancelAll": "Cancel all",
    "maxColumnsReached": "Maximum {max} columns",
    "modelPlaceholderCompare": "Model (Cmd+K)…",
    "ttft": "TTFT",
    "tps": "TPS",
    "metricsDisclaimer": "client-side estimate",
    "tokensLabel": "Tokens",
    "costLabel": "Cost",
    "costEstimated": "(estimated)",
    "toolsLabel": "Tools",
    "addTool": "Add tool",
    "toolNamePlaceholder": "Function name",
    "toolDescPlaceholder": "Description (optional)",
    "toolParamsInvalid": "Parameters must be valid JSON",
    "structuredOutputLabel": "Structured Output",
    "enableJsonMode": "Enable JSON mode",
    "disableJsonMode": "Disable JSON mode",
    "invalidJson": "Invalid JSON",
    "running": "Running…",
    "runLabel": "Run",
    "enterToolResult": "Enter tool result…",
    "build": {
      "step1Label": "测试什么？",
      "step2Label": "配置",
      "step3Label": "运行",
      "step1Title": "你想测试什么？",
      "step1Subtitle": "选择您想在本次会议中探索的功能。",
      "step2Title": "配置",
      "step2Subtitle": "设置请求中将使用的工具或 JSON 架构。",
      "step3Title": "运行",
      "modeToolsTitle": "工具",
      "modeToolsDesc": "测试函数调用 — 定义工具并查看模型如何调用它们。",
      "modeJsonTitle": "JSON",
      "modeJsonDesc": "测试结构化输出 — 将响应限制为 JSON 架构。",
      "modeBothTitle": "工具 + JSON",
      "modeBothDesc": "在单个请求中结合函数调用和结构化输出。",
      "backButton": "返回",
      "nextButton": "下一步",
      "runButton": "运行",
      "promptPlaceholder": "输入您的消息…（按 Enter 发送，Shift+Enter 换行）"
    }
  },
  "miniPlayground": {
    "endpoint": "端点",
    "apiKey": "API 密钥",
    "model": "模型",
    "voice": "声音",
    "speed": "语速",
    "input": "输入",
    "url": "URL",
    "format": "格式",
    "depth": "深度",
    "copyCurl": "复制 cURL",
    "copied": "已复制!",
    "run": "运行",
    "running": "运行中...",
    "response": "响应",
    "tunnel": "隧道",
    "send": "发送",
    "selectKey": "选择密钥",
    "testLabel": "测试",
    "expandTest": "展开测试",
    "collapseTest": "收起测试",
    "revealKey": "显示密钥",
    "hideKey": "隐藏密钥",
    "download": "下载",
    "play": "播放",
    "query": "查询",
    "numResults": "最大结果数",
    "prompt": "提示词",
    "size": "尺寸",
    "duration": "时长",
    "question": "问题",
    "audioFile": "音频文件",
    "noKeysFound": "未找到 API 密钥。请到 Keys 区域添加一个。",
    "exampleLabel": "示例",
    "latency": "{ms}ms",
    "statsLine": "{ms}ms · {tokensIn} 输入 / {tokensOut} 输出 tokens"
  },
  "requestLogger": {
    "recording": "正在录制",
    "paused": "已暂停",
    "pipelineLogsOn": "管道日志开启",
    "pipelineLogsOff": "管道日志关闭",
    "updatingPipelineLogs": "正在更新管道日志...",
    "updatePipelineFailed": "更新流水线日志失败",
    "capturePipeline": "为新请求捕获流水线载荷",
    "searchPlaceholder": "搜索模型、提供商、账户、API密钥、组合...",
    "allProviders": "所有提供商",
    "allModels": "所有模型",
    "allAccounts": "所有账户",
    "allApiKeys": "所有API密钥",
    "total": "总计",
    "ok": "成功",
    "err": "错误",
    "combo": "组合",
    "keys": "密钥",
    "shown": "显示",
    "sortNewest": "最新",
    "sortOldest": "最早",
    "sortTokensDesc": "令牌 ↓",
    "sortTokensAsc": "令牌 ↑",
    "sortDurationDesc": "时长 ↓",
    "sortDurationAsc": "时长 ↑",
    "sortStatusDesc": "状态 ↓",
    "sortStatusAsc": "状态 ↑",
    "sortModelAsc": "模型 A-Z",
    "sortModelDesc": "模型 Z-A",
    "sortLogs": "日志排序",
    "refresh": "刷新",
    "columnsLabel": "列",
    "cacheSem": "SEM",
    "cacheUp": "UP",
    "semantic": "Semantic Cache",
    "upstream": "上游",
    "semanticCacheHit": "语义缓存命中（由 OmniRoute 提供）",
    "upstreamResponse": "上游提供商响应",
    "noApiKey": "无 API key",
    "requestedRoutedTitle": "请求 {requested}，路由为 {routed}",
    "statusFilters": {
      "all": "全部",
      "error": "错误",
      "success": "成功",
      "combo": "组合"
    },
    "columns": {
      "status": "状态",
      "cacheSource": "缓存来源",
      "model": "模型",
      "requested": "请求",
      "provider": "提供商",
      "protocol": "请求协议",
      "account": "账户",
      "apiKey": "API密钥",
      "combo": "组合",
      "tokens": "Tokens",
      "compressed": "压缩",
      "tps": "TPS",
      "duration": "时长",
      "time": "时间"
    },
    "loadingLogs": "正在加载日志...",
    "noLogs": "暂无日志记录。进行一些API调用以在此处查看它们。",
    "noMatchingLogs": "没有匹配当前筛选器的日志。",
    "callLogsInfo": "调用日志也保存为JSON文件到{dataDir}，并根据{retentionDays}和{maxEntries}进行轮换。"
  },
  "proxyLogger": {
    "filterAll": "全部",
    "filterErrors": "错误",
    "filterSuccess": "成功",
    "filterTimeout": "超时",
    "colStatus": "状态",
    "colProxy": "代理",
    "colTls": "TLS",
    "colType": "类型",
    "colLevel": "级别",
    "colProvider": "提供商",
    "colTarget": "目标",
    "colLatency": "延迟",
    "colClientIp": "客户端 IP",
    "colTime": "时间",
    "recording": "记录中",
    "paused": "已暂停",
    "searchPlaceholder": "搜索主机、提供商、目标或 IP...",
    "allTypes": "全部类型",
    "allLevels": "全部级别",
    "allProviders": "全部 Provider",
    "total": "总计",
    "ok": "OK",
    "err": "ERR",
    "timeoutShort": "TMO",
    "direct": "direct",
    "newest": "最新",
    "oldest": "最旧",
    "latencyDesc": "延迟 ↓",
    "latencyAsc": "延迟 ↑",
    "refresh": "刷新",
    "columns": "列",
    "loadingProxyLogs": "正在加载代理日志...",
    "noProxyLogs": "尚无代理日志。配置代理并发起 API 调用后会显示在这里。",
    "noMatchingLogs": "没有日志匹配当前筛选条件。",
    "tlsFingerprint": "Chrome 124 TLS 指纹",
    "colPublicIp": "公共IP"
  },
  "endpointOptions": {
    "speech": "语音",
    "search": "搜索",
    "images": "图像",
    "chat": "聊天",
    "music": "音乐",
    "responses": "Responses",
    "rerank": "Rerank",
    "video": "视频",
    "embeddings": "Embeddings",
    "transcription": "转写"
  },
  "toolDescriptions": {
    "cline": "Cline",
    "openclaw": "Openclaw",
    "droid": "Droid",
    "codex": "Codex",
    "claude": "Claude",
    "kilo": "Kilo"
  },
  "runtime": {
    "title": "Runtime",
    "description": "Realtime observability — 3-layer resilience + sessions + quota alerts",
    "pause": "Pause",
    "resume": "Resume",
    "refreshNow": "Refresh now",
    "kpiSessions": "Sessions",
    "kpiCircuits": "Circuits",
    "kpiCooldowns": "Cooldowns",
    "kpiLockouts": "Lockouts",
    "hintStickyBound": "{count} sticky-bound",
    "hintRecovering": "{count} recovering",
    "hintAllHealthy": "all healthy",
    "hintOpen": "open",
    "hintConnsCooling": "connections cooling",
    "hintModelsBlocked": "models blocked",
    "resilienceTitle": "3-Layer Resilience",
    "resilienceSubtitle": "Mirrors the documented resilience model",
    "providersHealthy": "{percent}% providers healthy",
    "layer": "Layer {n}",
    "layer1Title": "Provider Circuit Breakers",
    "layer1Desc": "Stop traffic to providers failing at the upstream level",
    "layer2Title": "Connection Cooldowns",
    "layer2Desc": "Skip one bad account/key; other connections keep serving",
    "layer3Title": "Model Lockouts",
    "layer3Desc": "Per-model rate-limit locks; same connection still serves other models",
    "badgeAffectedOf": "{affected} of {total} affected",
    "badgeCooling": "{count} cooling",
    "badgeLocked": "{count} locked",
    "emptyCircuits": "No circuit breakers active yet",
    "emptyCooldowns": "No connection cooldowns active",
    "emptyLockouts": "No model lockouts",
    "moreCooldowns": "+{count} more cooldowns",
    "moreLockouts": "+{count} more lockouts",
    "feedTitle": "Live Feed",
    "feedSubtitle": "Last {count} events",
    "feedFilterAll": "All",
    "feedFilterCircuits": "Circuits",
    "feedFilterCooldowns": "Cooldowns",
    "feedFilterLockouts": "Lockouts",
    "feedFilterSessions": "Sessions",
    "feedFilterQuotas": "Quotas",
    "feedClear": "Clear",
    "feedEmptyWaiting": "Waiting for events... (polled every 5s)",
    "feedEmptyFiltered": "No events match this filter",
    "sessionsTitle": "Active Sessions",
    "sessionsSubtitle": "Sticky-bound request fingerprints (live)",
    "sessionsActive": "{count} active",
    "sessionsEmptyTitle": "No active sessions",
    "sessionsEmptyHint": "Sessions appear as requests flow through the proxy",
    "tblSession": "Session",
    "tblAge": "Age",
    "tblIdle": "Idle",
    "tblReqs": "Reqs",
    "tblBoundTo": "Bound to",
    "topApiKeys": "Top API keys",
    "quotaMonitorsTitle": "Quota Monitors",
    "quotaMonitorsSubtitle": "Live quota state per account window",
    "openQuota": "Open Quota",
    "allQuotasHealthy": "All quotas healthy",
    "statusExhausted": "EXHAUSTED",
    "statusAlerting": "ALERTING",
    "statusError": "ERROR",
    "moreSuffix": "+{count} more"
  },
  "quotaShare": {
    "title": "Quota Sharing",
    "description": "Share provider quotas across API keys with % limits",
    "newPool": "New pool",
    "betaTitle": "Beta — UI preview.",
    "betaDescription": "Configuration is saved in localStorage (not yet persisted on the server). Per-request cap enforcement is not yet wired into the proxy pipeline. This screen lets you design and visualize the quota split; real enforcement will land in a future iteration with DB persistence and upstream call interception.",
    "kpiActivePools": "Active pools",
    "kpiKeysAllocated": "Keys allocated",
    "kpiAvgUnallocated": "Avg unallocated",
    "kpiProvidersWithQuota": "Providers w/ quota",
    "emptyTitle": "No pools configured",
    "emptyDescription": "Create a pool to assign API keys to share a provider's quota window with % allocations.",
    "loading": "Loading…",
    "removePool": "Remove pool",
    "removeConfirm": "Remove this pool?",
    "pool": "Pool",
    "used": "used",
    "allocationsCount": "Allocations ({count})",
    "allocatedFree": "{allocated}% allocated · {free}% free",
    "noAllocations": "No keys allocated yet",
    "capLabel": "cap {value}",
    "notTrackedYet": "(not tracked yet)",
    "policy": "Policy",
    "policyHard": "hard",
    "policySoft": "soft",
    "policyBurst": "burst",
    "policyHardHint": "Block when key exhausts allocation",
    "policySoftHint": "Allow overflow, alert only",
    "policyBurstHint": "Allow burst into free pool",
    "editAllocations": "Edit allocations",
    "newPoolTitle": "New quota pool",
    "providerConnection": "Provider connection (account)",
    "selectConnection": "Select a connection…",
    "noEligibleConnections": "No connections with quota data. Refresh from /dashboard/quota first.",
    "quotaWindow": "Quota window",
    "selectWindow": "Select a window…",
    "alreadyUsedSuffix": "(already used)",
    "windowReset": "Reset",
    "duplicatePoolError": "A pool for this connection + window already exists",
    "cancel": "Cancel",
    "createPool": "Create pool",
    "editTitle": "Edit allocations",
    "noKeysAdded": "No keys allocated. Add one below.",
    "totalLabel": "Total: {percent}%",
    "totalExceeded": "⚠ exceeds 100%",
    "addKey": "+ Add key…",
    "equalSplit": "Equal split",
    "save": "Save allocations",
    "betaPreviewLabel": "Beta — UI 预览。",
    "betaConfigSavedPrefix": "配置保存在",
    "betaConfigSavedSuffix": "（尚未保留在服务器上）。每个请求上限的强制执行尚未连接到代理管道中。此屏幕可让您设计和可视化配额分配；真正的执行将在未来的迭代中通过数据库持久性和上游调用拦截来实现。",
    "policyLabel": "政策：",
    "resetIn": "重置于",
    "quotaTotal": "总计",
    "kpiAvgUtilization": "平均利用率",
    "kpiBorrowingNow": "现在借款",
    "conceptTitle": "配额分成是如何工作的",
    "conceptIntro": "配额共享通过节约型公平分享将提供者的配额分配给多个 API 密钥：每个密钥获得一个按比例分配的份额，但可以在不超过全球上限的情况下从自由余额中借用。",
    "conceptFairShare": "公平共享：每个键接收与其配置权重成比例的配额",
    "conceptBorrowing": "借用：密钥可以在不违反上限的情况下消耗他人的自由余额",
    "conceptGlobalCap": "硬性全球上限：提供者的绝对限制永远不会被超越",
    "conceptWindows": "Windows: 5小时，按小时、按日、按周、按月 — 每个独立跟踪",
    "conceptKeyHowTitle": "为配额启用密钥",
    "conceptKeyHowDesc": "在 API 管理器中正常创建密钥 — 它会自动出现在向导的密钥步骤中。在那里勾选独占以使其仅限配额。没有单独的启用步骤。",
    "conceptExclusiveTitle": "“Exclusive” 的作用是什么",
    "conceptExclusiveDesc": "独占密钥仅查看/使用池的 quotaShared-* 模型 — 其他所有模型在其 /v1/models 中被隐藏并被阻止。",
    "burnRateTitle": "烧钱率",
    "burnRateExhaustsIn": "排气在",
    "dimensionResetIn": "重置于",
    "realConsumedColumn": "已消耗",
    "deficitColumn": "赤字",
    "borrowingIndicator": "借款",
    "migratedFromLocalStorageNotice": "池成功从 localStorage 迁移。",
    "policyCapAbsoluteLabel": "绝对上限",
    "policyCapAbsolutePlaceholder": "数字限制（可选）",
    "multiDimensionLabel": "多维",
    "stackedBarTitle": "按 API 密钥切片",
    "usedSuffix": "已使用 {percent}%",
    "wizardTitle": "新配额池",
    "editPoolTitle": "编辑池",
    "saveChanges": "保存更改",
    "wizardStep1Label": "账户",
    "wizardStep2Label": "限制",
    "wizardStep3Label": "密钥",
    "wizardStep1Title": "选择提供商连接",
    "wizardStep1Subtitle": "选择此池将共享配额的提供者帐户，设置名称和默认策略。",
    "wizardStep2Title": "配置配额维度",
    "wizardStep2Subtitle": "为所选连接定义配额计划维度（单位、窗口、限制）。保持不变以保持当前设置。",
    "wizardStep3Title": "分配 API 密钥",
    "wizardStep3Subtitle": "将 API 密钥分配给该池，设置权重 % 分配和可选上限。",
    "wizardPoolNameLabel": "池名称",
    "wizardPoolNamePlaceholder": "我的配额池",
    "wizardNext": "下一个",
    "wizardBack": "返回",
    "wizardCreatePool": "创建池",
    "wizardDimensionsEditedNotice": "已编辑的尺寸 - 在创建泳池时将作为手动覆盖保存。",
    "wizardExclusiveLabel": "独占配额",
    "wizardExclusiveHint": "启用后，这些 API 密钥将仅允许使用此池的虚拟模型（在保存时应用 allowedQuotas 对账）。",
    "wizardPreviewLabel": "虚拟模型名称预览",
    "wizardConnectionsLabel": "提供者连接",
    "wizardPrimaryBadge": "主要",
    "wizardAdditionalConnectionsNote": "附加连接使用其目录默认限制（稍后可编辑）。",
    "wizardSingleProviderNote": "一个池使用单一提供者",
    "wizardPreviewMoreModels": "+{count} 更多",
    "accountQuotaTitle": "账户配额",
    "accountQuotaNone": "—",
    "logTitle": "使用日志",
    "logEmpty": "尚未使用",
    "groupLabel": "组",
    "newGroup": "新建组",
    "renameGroup": "重命名组",
    "groupSelectHint": "按组过滤池",
    "groupAllocationNote": "分配适用于此组中的所有池，通过共享配额层。",
    "groupNamePrompt": "输入组名",
    "wizardGroupLabel": "组",
    "allGroups": "所有组",
    "endpointsTitle": "可用的端点",
    "endpointsHint": "使用任何分配的密钥调用这些虚拟模型 — 路由 + 配额按组处理。",
    "previewForKey": "密钥预览",
    "previewKeyNone": "(所有端点)",
    "endpointsBaseUrl": "基础 URL",
    "endpointsCollapse": "折叠",
    "endpointsExpand": "展开",
    "endpointsAnthropicNote": "Anthropic-native",
    "endpointsResponsesNote": "OpenAI 响应 — codex/github",
    "endpointsWsNote": "WebSocket — 仅限 codex",
    "betaText": "配额共享功能正常，但预计会有错误。发现一个了吗？请报告。",
    "betaReportLink": "报告问题",
    "deleteGroup": "删除组",
    "deleteGroupConfirm": "要删除此组吗？必须先重新分配或移除其池。",
    "deleteGroupHasPools": "该组仍然有池 — 请先重新分配或删除它们。",
    "ungroupedTitle": "未分组",
    "ungroupedHint": "这些池未分配给已知组。编辑一个池以将其移动到真实组中。"
  },
  "plugins": {
    "title": "Plugins",
    "description": "Install and manage plugins for extending OmniRoute functionality",
    "loading": "Loading plugins...",
    "scanning": "Scanning...",
    "scanForPlugins": "Scan for Plugins",
    "noPlugins": "No plugins installed",
    "noPluginsDescription": "Place plugin directories in ~/.omniroute/plugins/ and click Scan.",
    "activate": "Activate",
    "deactivate": "Deactivate",
    "uninstall": "Uninstall",
    "uninstallConfirm": "Uninstall plugin \"{name}\"?",
    "pluginScanComplete": "Plugin scan complete",
    "pluginScanFailed": "Plugin scan failed",
    "activated": "{name} activated",
    "deactivated": "{name} deactivated",
    "activateFailed": "Failed to activate {name}",
    "deactivateFailed": "Failed to deactivate {name}",
    "uninstalled": "{name} uninstalled",
    "uninstallFailed": "Failed to uninstall {name}",
    "configure": "Configure: {name}",
    "configurePlugin": "Configure",
    "noConfigSettings": "This plugin has no configurable settings.",
    "saving": "Saving...",
    "saveConfiguration": "Save Configuration",
    "configurationSaved": "Configuration saved",
    "saveConfigurationFailed": "Failed to save configuration",
    "pluginNotFound": "Plugin not found",
    "version": "Version",
    "author": "Author",
    "description_label": "Description",
    "status": "Status",
    "enabled": "Enabled",
    "disabled": "Disabled",
    "hooks": "Hooks"
  },
  "quotaPlans": {
    "title": "计划与配额",
    "description": "为每个提供商配置配额计划 — 维度（%、请求、令牌、$）和时间窗口",
    "providerLabel": "提供者 / 连接",
    "detectedPlanLabel": "检测到的计划",
    "manualPlanLabel": "手动覆盖",
    "unconfiguredLabel": "未配置 — 需要手动设置",
    "dimensionLabel": "尺寸",
    "addDimension": "添加维度",
    "removeDimension": "移除",
    "limitLabel": "限制",
    "unitOptions": {
      "percent": "%",
      "requests": "请求",
      "tokens": "令牌",
      "usd": "美元 ($)"
    },
    "windowOptions": {
      "5h": "5 小时",
      "hourly": "每小时",
      "daily": "每日",
      "weekly": "每周",
      "monthly": "每月"
    },
    "useCatalogButton": "使用目录",
    "saveOverrideButton": "保存覆盖",
    "revertToCatalogButton": "恢复到目录",
    "unknownProviderNotice": "在左侧选择一个提供商以配置其配额计划。",
    "catalogTitle": "已知目录",
    "catalogDescription": "自动检测到以下提供商的计划："
  },
  "activity": {
    "title": "活动",
    "description": "最近事件动态",
    "emptyTitle": "尚无活动",
    "emptyDescription": "当您添加提供者、创建组合或旋转密钥时，事件将出现在这里。",
    "todayHeader": "今天",
    "yesterdayHeader": "昨天",
    "filterAll": "全部",
    "filterProviders": "提供者",
    "filterCombos": "组合",
    "filterApiKeys": "API 密钥",
    "filterSettings": "设置",
    "filterQuota": "配额",
    "filterAuth": "认证",
    "filterSystem": "系统",
    "relative": {
      "justNow": "刚刚",
      "minutesAgo": "{n}分钟前",
      "hoursAgo": "{n} 小时前",
      "yesterday": "昨天",
      "daysAgo": "{n} 天前"
    },
    "eventVerb": {
      "providerAdded": "{actor} 添加了提供者 {target}",
      "providerRemoved": "{actor} 移除了提供者 {target}",
      "providerTested": "{actor} 测试了提供者 {target}",
      "comboCreated": "{actor} 创建了组合 {target}",
      "comboUpdated": "{actor} 更新了组合 {target}",
      "comboDeleted": "{actor} 移除了组合 {target}",
      "apiKeyCreated": "{actor} 创建了 API 密钥 {target}",
      "apiKeyRevoked": "{actor} 撤销了 API 密钥 {target}",
      "apiKeyRotated": "{actor} 旋转了 API 密钥 {target}",
      "budgetThreshold": "已达到 {target} 的预算阈值",
      "settingUpdated": "{actor} 更新了设置 {target}",
      "authLogin": "{actor} 已登录",
      "authLogout": "{actor} 已注销",
      "cloudAgentSession": "为 {target} 启动了云代理会话",
      "mcpToolRegistered": "MCP 工具 {target} 已注册",
      "webhookCreated": "{actor} 创建了 webhook {target}",
      "webhookDeleted": "{actor} 移除了 webhook {target}",
      "quotaPoolCreated": "{actor} 创建了配额池 {target}",
      "quotaPoolUpdated": "{actor} 更新了配额池 {target}",
      "quotaPoolDeleted": "{actor} 移除了配额池 {target}",
      "quotaPlanUpdated": "{actor} 更新了配额计划 {target}",
      "quotaStoreDriverChanged": "QuotaStore 驱动已更改",
      "updateApplied": "已应用更新 {target}",
      "deployCompleted": "部署完成",
      "skillInstalled": "{actor} 安装了技能 {target}",
      "skillRemoved": "{actor} 移除了技能 {target}",
      "providerCredentialsCreated": "{actor} 为 {target} 创建了凭据",
      "providerCredentialsApplied": "已应用 {target} 的凭据",
      "providerCredentialsUpdated": "{actor} 更新了 {target} 的凭据",
      "providerCredentialsRevoked": "{actor} 撤销了 {target} 的凭据",
      "providerCredentialsBatchRevoked": "{actor} 批量撤销凭证",
      "providerCredentialsBulkCreated": "{actor} 批量创建了凭据",
      "providerCredentialsBulkImported": "{actor} 批量导入了凭据",
      "providerCredentialsImported": "{actor} 导入的凭据",
      "providerSsrfBlocked": "已阻止对 {target} 的 SSRF 尝试",
      "authLoginSuccess": "{actor} 已登录",
      "authLoginError": "{actor} 的登录错误",
      "authLoginFailed": "{name} 登录失败",
      "authLoginLocked": "{actor} 在尝试次数过多后被锁定",
      "authLoginMisconfigured": "身份验证配置无效",
      "authLoginSetupRequired": "需要进行身份验证设置",
      "authLogoutSuccess": "{actor} 已注销",
      "syncTokenCreated": "{actor} 创建了同步令牌",
      "syncTokenRevoked": "{actor} 撤销了同步令牌",
      "settingsUpdate": "{actor} 更新了设置",
      "settingsUpdateFailed": "设置更新失败",
      "serviceRevealApiKey": "{actor} 揭露了 {target} 的 API 密钥",
      "genericEvent": "{actor} {target}"
    }
  },
  "agentBridge": {
    "title": "AgentBridge",
    "subtitle": "使用 IDE 代理与 OmniRoute 模型 — 无需配置",
    "riskBannerTitle": "自行承担风险",
    "riskBannerBody": "AgentBridge 拦截来自 IDE 代理的 HTTPS 流量。通过激活它，您接受遵守每个代理服务条款的责任。切勿在禁止 TLS 检查的设备或网络上使用。",
    "riskBannerDismiss": "关闭",
    "serverCardTitle": "AgentBridge 服务器",
    "statusRunning": "运行中",
    "statusStopped": "已停止",
    "statusActive": "活动",
    "statusDnsOff": "DNS 关闭",
    "statusSetupRequired": "需要设置",
    "statusInvestigating": "调查中",
    "serverPort": "端口",
    "serverConns": "连接",
    "serverIntercepted": "拦截成功",
    "serverLastStarted": "最后启动时间",
    "startServer": "开始",
    "stopServer": "停止",
    "restartServer": "重启",
    "trustCert": "信任证书",
    "downloadCert": "下载证书",
    "regenerateCert": "重新生成证书",
    "starting": "正在启动…",
    "stopping": "停止中…",
    "restarting": "正在重启…",
    "trusting": "信任中……",
    "regenerating": "重新生成中…",
    "upstreamCaLabel": "上游 CA 证书（企业）",
    "upstreamCaPlaceholder": "/etc/ssl/certs/corp-ca.pem",
    "upstreamCaTest": "测试 TLS",
    "upstreamCaTestOk": "TLS 测试通过",
    "upstreamCaTestError": "TLS 测试失败 — 检查路径和 CA 文件",
    "bypassSectionTitle": "绕过列表",
    "bypassSectionDesc": "匹配这些模式的主机将直接隧道（不进行 TLS 解密）。默认包括银行、.gov 和企业 SSO。",
    "bypassDefaultsLabel": "默认绕过模式（只读）",
    "bypassUserLabel": "自定义绕过模式（每行一个，glob 或正则表达式）",
    "saveBypassList": "保存绕过列表",
    "agentListTitle": "IDE 代理",
    "filterAll": "全部",
    "filterActive": "活跃",
    "filterSetupRequired": "需要设置",
    "filterInvestigating": "调查中",
    "searchAgents": "搜索代理…",
    "noAgentsMatch": "没有代理与当前筛选条件匹配",
    "agentHosts": "拦截的主机",
    "certTrusted": "证书已信任",
    "certNotTrusted": "证书不受信任",
    "investigatingNotice": "该代理正在接受调查。主机和 API 接口仍在确认中。一旦上游 API 文档完成，设置将可用。",
    "modelMappingsLabel": "模型映射",
    "sourceModel": "源模型（代理原生）",
    "targetModel": "目标模型 (OmniRoute)",
    "noMappings": "未配置模型映射。运行设置向导以自动检测模型。",
    "selectModel": "选择…",
    "saveMappings": "保存映射",
    "setupWizard": "设置向导",
    "startDns": "启动 DNS",
    "stopDns": "停止 DNS",
    "toggling": "切换中…",
    "viewTraffic": "查看流量",
    "emptyNoProvidersTitle": "尚未配置提供程序",
    "emptyNoProvidersBody": "要使用 AgentBridge，首先连接至少一个提供者。它将是 IDE 请求路由的目标。",
    "emptyGoToProviders": "前往提供者",
    "wizardTitle": "设置向导",
    "wizardSubtitle": "3步设置",
    "wizardStep1Label": "验证",
    "wizardStep2Label": "DNS",
    "wizardStep3Label": "映射",
    "wizardStep1Desc": "确认服务器正在运行并且证书已安装。",
    "wizardStep2Desc": "以下条目将被添加到 /etc/hosts 以通过 AgentBridge 重定向流量：",
    "wizardStep3Desc": "您现在可以在代理卡中配置模型映射。重启 IDE 以应用更改。",
    "wizardStep3Success": "代理已配置！",
    "wizardServerCheck": "AgentBridge 服务器",
    "wizardRunning": "运行中",
    "wizardNotRunning": "未运行",
    "wizardCertCheck": "证书",
    "wizardTrusted": "可信的",
    "wizardNotTrusted": "尚未信任 — 使用信任证书按钮",
    "wizardTutorialTitle": "设置说明：",
    "wizardEnableDns": "添加 /etc/hosts 条目",
    "wizardDnsAlreadyEnabled": "此代理已启用 DNS",
    "enablingDns": "启用中…",
    "modelSelectorTitle": "选择目标模型",
    "modelSelectorSearch": "搜索模型…",
    "noModelsFound": "未找到模型",
    "quickLinks": "快速链接",
    "quickLinkProviders": "配置提供程序",
    "quickLinkInspector": "在流量检查器中查看流量",
    "save": "保存",
    "saving": "保存中…",
    "cancel": "取消",
    "back": "返回",
    "next": "下一个",
    "done": "完成",
    "loading": "加载中…",
    "riskNoticeTitle": "风险确认",
    "riskNoticeBody": "AgentBridge 将通过 DNS 重定向其 API 主机来拦截来自此代理的 HTTPS 流量。仅在您接受遵守代理的服务条款和任何适用的网络政策的责任时启用。",
    "pageMoved": {
      "goNow": "现在去",
      "message": "MITM Proxy 现在归 AgentBridge 所有。",
      "title": "此页面已移动"
    }
  },
  "trafficInspector": {
    "title": "流量检查员",
    "subtitle": "监控 LLM 调用并调试任何应用程序的 HTTPS 流量",
    "captureModesTitle": "捕获模式",
    "agentBridgeMode": "AgentBridge",
    "agentBridgeModeDesc": "捕获来自所有连接的 IDE 代理的流量",
    "customHostsMode": "自定义主机",
    "customHostsModeDesc": "添加特定主机以进行拦截",
    "httpProxyMode": "HTTP 代理",
    "httpProxyModeDesc": "使用 HTTP_PROXY 环境变量",
    "systemWideMode": "系统范围内",
    "systemWideModeDesc": "拦截所有系统流量（高级）",
    "filterBarTitle": "过滤器",
    "profileLlmOnly": "仅限 LLM",
    "profileCustom": "自定义",
    "profileAll": "全部",
    "filterHost": "过滤主机…",
    "filterAgent": "代理人",
    "filterStatus": "状态",
    "pauseBtn": "暂停",
    "resumeBtn": "简历",
    "clearBtn": "清除",
    "exportHar": "导出 .har",
    "recordSession": "REC",
    "stopSession": "停止",
    "liveBadge": "直播",
    "offlineBadge": "离线",
    "noRequests": "尚未捕获任何请求。",
    "noRequestsDesc": "确保 AgentBridge 正在运行或启用其他捕获模式。",
    "selectRequest": "选择一个请求以进行检查。",
    "tabConversation": "对话",
    "tabHeaders": "标题",
    "tabRequest": "请求",
    "tabResponse": "响应",
    "tabTiming": "计时",
    "tabLlm": "LLM",
    "tabStats": "统计信息",
    "requestHeaders": "请求头部",
    "responseHeaders": "响应头部",
    "rawEvents": "原始事件",
    "mergedView": "合并视图",
    "noBody": "没有主体。",
    "streaming": "流媒体…",
    "manageHosts": "管理主机",
    "copySnippet": "复制代理代码片段",
    "addHost": "添加",
    "hostPlaceholder": "api.openai.com",
    "noHostsYet": "尚未添加自定义主机。",
    "noSessionsYet": "还没有会话",
    "allTraffic": "所有流量（无会话）",
    "sessionsDropdown": "会话",
    "annotationPlaceholder": "添加备注…",
    "contextFingerprint": "上下文指纹",
    "llmProvider": "检测到的提供者",
    "llmApiKind": "API 类型",
    "llmModel": "模型",
    "llmMessages": "消息",
    "llmStream": "流媒体",
    "llmMappedTo": "映射到",
    "llmCostEstimate": "成本估算",
    "systemProxyExitWarning": "系统范围的代理仍然处于活动状态 — 仍然离开页面吗？",
    "customHostsTitle": "自定义主机",
    "loading": "加载中…",
    "copied": "已复制！",
    "copy": "复制",
    "httpProxyTitle": "HTTP 代理代码片段 — 端口 {port}",
    "notRecording": "未录制",
    "anyStatus": "任何状态",
    "viewingRecordedSession": "查看录制的会话",
    "backToLive": "返回直播",
    "untitledSession": "未命名会话",
    "contextHistory": "上下文历史",
    "modelResponse": "模型响应",
    "conversationNoMessages": "在此请求中未找到消息。",
    "conversationNotAvailable": "对话数据不可用。这可能不是 LLM 请求，或者主体无法解析。",
    "loadingCharts": "加载图表…",
    "statsErrors": "错误",
    "statsLatency": "延迟（最近 50 个请求）",
    "statsNoData": "尚未有请求。开始会话录制以捕获统计数据。",
    "statsStatusDistribution": "状态分布",
    "statsSuccessful": "成功",
    "statsTotalRequests": "总请求数",
    "timingProxyOverhead": "代理开销",
    "timingUpstreamResponse": "上游响应",
    "timingNoData": "没有可用的时间数据。",
    "timingTotalLatency": "总延迟",
    "timingTimestamp": "时间戳",
    "timingMethod": "方法",
    "timingStatus": "状态",
    "timingRequestSize": "请求大小",
    "timingResponseSize": "响应大小",
    "pausedNewBadge": "{count} 新的",
    "clearContextFilter": "清除"
  },
  "cliCommon": {
    "concept": {
      "code": {
        "title": "CLI 代码的",
        "phrase": "指向 OmniRoute 的代码工具",
        "flow": "你 → CLI 代码 → OmniRoute → 提供者",
        "seeOther": "查看 →"
      },
      "agent": {
        "title": "CLI 代理",
        "phrase": "通用自主CLI代理，您可以指向OmniRoute",
        "flow": "您 → CLI 代理 → OmniRoute → 提供者",
        "seeOther": "查看 →"
      },
      "acp": {
        "title": "ACP 代理",
        "phrase": "OmniRoute 作为执行后端（反向流）生成的 CLI",
        "flow": "客户端 → OmniRoute → 生成 CLI (stdio/ACP) → 响应",
        "seeOther": "查看 →"
      }
    },
    "comparison": {
      "title": "了解 OmniRoute 中的 3 种 CLI 类型",
      "thisPage": "[此页面 ✓]",
      "code": {
        "title": "代码工具",
        "desc": "指向 Omni",
        "flow": "你 → CLI → Omni → 提供者",
        "examples": "例如：claude，codex"
      },
      "agent": {
        "title": "广泛自主代理",
        "desc": "指向 Omni",
        "flow": "你 → 代理 → Omni",
        "examples": "例如：hermes，goose"
      },
      "acp": {
        "title": "Omni 使用的后端 CLI",
        "desc": "反向执行",
        "flow": "Omni → spawn CLI → resp",
        "examples": "例如：claude，codex (ACP)"
      }
    },
    "card": {
      "detected": "检测到",
      "notDetected": "未检测到",
      "configured": "已配置",
      "notConfigured": "未配置",
      "configure": "配置 →",
      "howToInstall": "如何安装 →",
      "manualConfig": "手动配置",
      "installGuide": "安装指南",
      "endpointLabel": "端点",
      "baseUrlPartial": "部分基础 URL",
      "refreshDetection": "刷新检测",
      "alsoAcp": "也 ACP"
    },
    "detail": {
      "back": "返回",
      "apply": "保存",
      "reset": "清除",
      "manualConfig": "手动配置",
      "vendor": "供应商",
      "category": "类型",
      "detectionStatus": "检测",
      "configStatus": "配置",
      "baseUrlLabel": "基础 URL",
      "apiKeyLabel": "API 密钥",
      "modelMappingLabel": "模型映射",
      "noActiveProviders": "没有活动的提供者。",
      "noActiveProvidersDesc": "请前往 Providers 连接至少 1 个提供者，然后再配置 CLI。",
      "openProviders": "打开提供者 →"
    }
  },
  "cliCode": {
    "pageTitle": "CLI 代码的",
    "pageSubtitle": "指向 OmniRoute 的代码工具",
    "searchPlaceholder": "搜索 CLI…",
    "filterDetectionLabel": "检测",
    "filterBaseUrlLabel": "基础 URL",
    "detectionAll": "所有",
    "detectionInstalled": "已安装",
    "detectionNotFound": "未找到",
    "baseUrlAll": "所有",
    "baseUrlFull": "完整",
    "baseUrlPartial": "部分"
  },
  "cliAgents": {
    "pageTitle": "CLI 代理",
    "pageSubtitle": "通用自主CLI代理",
    "refreshDetection": "刷新检测",
    "searchPlaceholder": "搜索代理…",
    "detectionFilterLabel": "检测",
    "detectionAll": "全部",
    "detectionInstalled": "已安装",
    "detectionNotInstalled": "未安装",
    "visibleCount": "{count} 可见",
    "emptyState": "未找到符合当前筛选条件的 CLI 代理。"
  },
  "acpAgents": {
    "pageTitle": "ACP 代理",
    "pageSubtitle": "OmniRoute 作为执行后端生成的 CLI",
    "scanning": "正在检测代理…",
    "refresh": "刷新",
    "setupGuideTitle": "设置指南",
    "setupGuideDetectCliTitle": "检测 CLI",
    "setupGuideDetectCliDesc": "代理通过在 PATH 中运行 --version 命令来识别。",
    "setupGuideCustomAgentTitle": "添加自定义代理",
    "setupGuideCustomAgentDesc": "填写下面的表格以注册自定义 CLI 代理。",
    "setupGuideCommandMissingTitle": "找不到命令",
    "setupGuideCommandMissingDesc": "检查二进制文件是否在 PATH 中。",
    "fingerprintSettingsHint": "在中配置路由和指纹",
    "settingsRoutingLink": "设置 → 路由",
    "installed": "已安装",
    "notFound": "未找到",
    "builtIn": "内置",
    "custom": "自定义",
    "agentUseCaseHint": "通过 ACP 可用以生成。",
    "remove": "移除",
    "addCustomAgent": "添加自定义代理",
    "addCustomAgentDesc": "通过 ACP 注册一个自定义 CLI 代理。",
    "addAgent": "添加代理",
    "agentName": "名称",
    "agentNamePlaceholder": "我的代理",
    "binaryName": "二进制",
    "binaryNamePlaceholder": "例如：myagent",
    "versionCommand": "版本命令",
    "versionCommandPlaceholder": "e.g.: myagent --version",
    "spawnArgs": "生成参数",
    "spawnArgsPlaceholder": "例如：--quiet，--json",
    "cliCodeRedirectCta": "打开 CLI 代码的"
  },
  "agentSkills": {
    "pageTitle": "特工技能",
    "pageSubtitle": "教你的代理操作 OmniRoute — 22 个 API 区域 + 20 个 CLI 家族",
    "conceptCard": {
      "agent": {
        "title": "代理技能 — 外呼",
        "description": "代理技能是机器可读的 SKILL.md 文档，外部 AI 代理（Claude Code、Cursor、Copilot 等）从 GitHub 获取这些文档，以了解如何通过 REST 或 CLI 操作 OmniRoute。它们由代理读取，而不是由 OmniRoute 执行。",
        "crossLinkLabel": "了解区别 →"
      },
      "omni": {
        "title": "全能技能 — 入站",
        "description": "Omni Skills 是 OmniRoute 在每个请求中注入到模型上下文中的沙盒工具。它们由 OmniRoute 执行，而不是由代理读取。",
        "crossLinkLabel": "了解差异 →"
      },
      "comparison": {
        "colAgent": "特工技能",
        "colOmni": "全能技能",
        "whatIs": {
          "label": "它是什么",
          "agent": "机器可读的 SKILL.md，教外部代理如何操作 OmniRoute",
          "omni": "OmniRoute 注入到 LLM 请求中的可执行工具"
        },
        "direction": {
          "label": "方向",
          "agent": "外部 — 外部代理学习控制 OmniRoute",
          "omni": "入站 — OmniRoute 为经过它的模型提供工具"
        },
        "executor": {
          "label": "执行者",
          "agent": "外部代理（读取 markdown → 通过 API/CLI 执行）",
          "omni": "OmniRoute 本身（拦截 tool_calls，Docker 沙箱）"
        },
        "storage": {
          "label": "存储",
          "agent": "动态目录 (/api/agent-skills) → GitHub 上的 SKILL.md",
          "omni": "SQLite (SkillsMP / skills.sh / local)"
        },
        "tagline": {
          "label": "标语",
          "agent": "教你的代理使用 OmniRoute",
          "omni": "为 OmniRoute 模型提供可执行工具"
        }
      }
    },
    "filters": {
      "category": "类别",
      "area": "区域",
      "searchPlaceholder": "搜索技能…"
    },
    "categoryApi": "API",
    "categoryCli": "命令行界面",
    "filterAll": "所有",
    "coverageLabel": "覆盖率",
    "mcpUrl": "MCP URL",
    "a2aLink": "A2A",
    "copyUrl": "复制 URL",
    "viewOnGithub": "在 GitHub 上查看",
    "previewLoading": "加载技能文档…",
    "previewError": "加载技能文档失败。",
    "previewEmpty": "选择一个技能以预览其文档。",
    "generateButton": "生成缺失的技能",
    "coverageBar": {
      "complete": "完成",
      "partial": "部分"
    },
    "noSkillsFound": "未找到与您的筛选条件匹配的技能。",
    "regenerateConfirm": "这将重新生成所有缺失的 SKILL.md 文件。继续吗？",
    "regenerateRunning": "正在重新生成技能…",
    "regenerateSuccess": "技能成功重生。",
    "regenerateError": "无法重新生成技能。"
  }
}
