diff --git a/changelog.d/fixes/8355-zhcn-zhtw-i18n-propernouns.md b/changelog.d/fixes/8355-zhcn-zhtw-i18n-propernouns.md new file mode 100644 index 0000000000..6651a8f65a --- /dev/null +++ b/changelog.d/fixes/8355-zhcn-zhtw-i18n-propernouns.md @@ -0,0 +1 @@ +- **fix(i18n):** Restore brand/model proper nouns (Claude, OpenAI, Anthropic, Gemini, MiniMax, etc.) in zh-CN and zh-TW — replace Chinese phonetic/translation forms (克劳德/打开Ai/人择/双子座) with original English, unify "provider" translation to "供应商/供應商", and apply zh-TW localized terminology (網路/設定/檔案/新增/啟用/搜尋/儲存) instead of mainland defaults (#8355 — thanks @ikelvingo). diff --git a/src/i18n/messages/zh-CN.json b/src/i18n/messages/zh-CN.json index 156e2d2c66..51440180c8 100644 --- a/src/i18n/messages/zh-CN.json +++ b/src/i18n/messages/zh-CN.json @@ -539,7 +539,7 @@ "mcpQuickStartTitle": "MCP 快速开始", "comboUpdated": "Combo 已更新", "weighted": "加权", - "providers": "Provider", + "providers": "供应商", "ccCompatibleLabel": "CC 兼容", "noFallbackChainsDesc": "创建一条链路,用于定义某个模型的提供者回退顺序。", "yesImport": "确认导入", @@ -583,7 +583,7 @@ "cacheCleared": "缓存已清除", "searchTypeNews": "搜索类型:News", "durationMillisecondsShort": "时长毫秒短标签", - "addOpenAICompatible": "添加打开Ai兼容", + "addOpenAICompatible": "添加OpenAI 兼容", "chatTesterTab": "聊天测试标签页", "queued": "排队中", "domainPlaceholder": "域名占位符", @@ -1444,15 +1444,15 @@ "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 被阻止", + "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": "配额池已删除", @@ -2219,7 +2219,7 @@ "emptyFilterTitle": "没有密钥匹配当前筛选条件", "emptyFilterClear": "清除筛选", "disableNonPublicModels": "禁用非公开模型", - "disableNonPublicModelsDesc": "拒绝对未发现或未标记为公共的模型在提供者目录中的请求", + "disableNonPublicModelsDesc": "拒绝对未发现或未标记为公共的模型在供应商目录中的请求", "normalKeysSection": "普通键", "quotaKeysSection": "配额密钥", "bypassProviderQuota": "绕过服务商配额限制", @@ -2871,7 +2871,7 @@ "visibleToolsCount": "{count} 个工具可用", "customCliBuilderTitle": "兼容 OpenAI 的 CLI 构建器", "customCliBuilderDescription": "为任何接受 OpenAI 兼容的基本 URL、API 密钥和模型 ID 的 CLI 或 SDK 生成环境变量和 JSON 片段。", - "customCliNoModels": "连接至少一个提供者以填充模型选择器。", + "customCliNoModels": "连接至少一个供应商以填充模型选择器。", "customCliNameLabel": "CLI 名称", "customCliNamePlaceholder": "例如我的团队 CLI", "customCliDefaultModelLabel": "默认型号", @@ -2886,7 +2886,7 @@ "customCliEndpointHintLabel": "如何连接端点", "customCliEndpointHint": "将任何 OpenAI 兼容客户端指向 OmniRoute /v1 基本 URL。原始聊天完成端点是 {endpoint}。当工具需要提供程序对象时使用 JSON 块,或者在读取 OPENAI_* 变量时使用 env 脚本。", "customCliEnvBlockTitle": "环境 / shell 片段", - "customCliJsonBlockTitle": "提供者 JSON 块", + "customCliJsonBlockTitle": "供应商 JSON 块", "networkError": "网络错误", "other": "其他", "preview": "预览", @@ -4086,15 +4086,15 @@ }, "embedding": { "autoLabel": "自动", - "autoDesc": "使用最佳可用选项:远程提供者 > 静态 > 转换器", - "remoteLabel": "远程提供者", - "remoteDesc": "通过提供者 API 使用嵌入(需要 API 密钥)", + "autoDesc": "使用最佳可用选项:远程供应商 > 静态 > 转换器", + "remoteLabel": "远程供应商", + "remoteDesc": "通过供应商 API 使用嵌入(需要 API 密钥)", "staticLabel": "静态本地(药水)", "staticDesc": "不使用WASM或外部依赖的本地嵌入", "transformersLabel": "Transformers.js (MiniLM)", "transformersDesc": "通过 @huggingface/transformers 本地嵌入 (~400MB RAM)", - "providerModelLabel": "提供者 / 模型", - "noRemoteProviders": "没有配置 API 密钥的提供者", + "providerModelLabel": "供应商 / 模型", + "noRemoteProviders": "没有配置 API 密钥的供应商", "selectProviderModel": "选择一个模型", "staticEnabledLabel": "启用静态药水", "staticEnabledDesc": "在本地下载并使用 potion-base-8M 模型", @@ -4208,9 +4208,9 @@ "enableLabel": "启用重新排序", "enableDesc": "在搜索后使用重新排序模型对结果进行重新排序", "warning": "Rerank 会增加 +200-500ms 的延迟和每个请求的额外成本。请谨慎使用。", - "providerModelLabel": "重新排序提供者 / 模型", - "noProviderWithKey": "没有配置 API 密钥的提供者。请配置一个提供者以使用 rerank。", - "selectProviderModel": "选择一个提供者/模型" + "providerModelLabel": "重新排序供应商 / 模型", + "noProviderWithKey": "没有配置 API 密钥的供应商。请配置一个供应商以使用 rerank。", + "selectProviderModel": "选择一个供应商/模型" }, "save": "保存", "saving": "保存中...", @@ -5228,18 +5228,18 @@ "applyClaudeAuthLocal": "申请授权", "exportClaudeAuthFile": "导出授权", "importClaudeAuth": "导入授权", - "claudeApplyModalTitle": "适用于当地克劳德代码", + "claudeApplyModalTitle": "适用于当地Claude Code", "claudeApplyTargetLabel": "目标路径", "claudeApplyBackupLabel": "备份", "claudeApplyMcpHint": "现有的 MCP OAuth 状态将被保留。", "claudeApplyWarning": "这将取代现有的 claudeAiOauth 部分。继续?", "claudeApplyConfirmCheckbox": "我确认我想替换现有的 claudeAiOauth 部分", "claudeApply": "申请", - "claudeAuthAppliedLocal": "克劳德授权在本地应用", + "claudeAuthAppliedLocal": "Claude授权在本地应用", "claudeAuthApplyFailed": "本地申请Claude auth失败", - "claudeAuthExported": "克劳德授权文件导出", + "claudeAuthExported": "Claude授权文件导出", "claudeAuthExportFailed": "无法导出 Claude 身份验证文件", - "claudeImportModalTitle": "导入克劳德·奥特", + "claudeImportModalTitle": "导入Claude·奥特", "claudeImportTabSingle": "单人", "claudeImportTabBulk": "散装", "claudeImportTabUpload": "上传文件", @@ -5250,12 +5250,12 @@ "claudeImportNameLabel": "连接名称(可选)", "claudeImportOverwriteLabel": "如果帐户已存在,则替换现有连接", "claudeImportSubmit": "进口", - "claudeImportSuccess": "克劳德连接导入成功", + "claudeImportSuccess": "Claude连接导入成功", "claudeImportInvalidJson": "无法将文件解析为 JSON", "claudeImportInvalidShape": "该文件不是有效的 .credentials.json", "claudeImportDuplicate": "帐户已存在 - 启用“替换现有”以覆盖", "claudeImportIdentityUnverified": "Bootstrap 无法验证该帐户。启用“替换现有”或提供电子邮件。", - "claudeImportFailed": "导入克劳德授权失败", + "claudeImportFailed": "导入Claude授权失败", "claudeImportBulkModeUpload": "上传文件", "claudeImportBulkModePaste": "粘贴 JSON 数组", "claudeImportBulkModeZip": "上传ZIP", @@ -5618,7 +5618,7 @@ "providerDetailCallbackUrl": "回调 URL", "providerDetailValidClaudeCredentialsFile": "有效的 Claude 凭据文件", "providerDetailPathAutoDetectedAllOs": "路径按操作系统自动检测(Linux/Mac/Windows)。", - "providerDetailMyClaudeAccountPlaceholder": "我的克劳德账户", + "providerDetailMyClaudeAccountPlaceholder": "我的Claude 账户", "providerDetailPathAutoDetected": "根据操作系统 (Linux/Mac) 自动检测路径。", "compatBlockedParamsPlaceholder": "thinking, … (逗号分隔)", "compatAllowedParamsPlaceholder": "reasoning, … (逗号分隔)", @@ -5670,7 +5670,7 @@ "onboardingSearchProviders": "搜索提供者...", "onboardingApiKeyOptional": "API 密钥可选", "onboardingProviderConnected": "提供者已连接", - "onboardingProviderSavedWithWarnings": "提供者保存时带有警告", + "onboardingProviderSavedWithWarnings": "供应商保存时带有警告", "onboardingProviderFinished": "提供者入职完成", "onboardingYourProviderConnection": "您的提供者连接", "onboardingTestPassed": "测试通过", @@ -5682,12 +5682,12 @@ "onboardingValidatingCredentials": "正在验证凭据...", "onboardingSavingConnection": "正在保存提供者连接...", "onboardingProviderFailed": "提供者加入失败", - "onboardingCreatingCompatibleProvider": "创建兼容的提供者...", + "onboardingCreatingCompatibleProvider": "创建兼容的供应商...", "onboardingSavingCompatibleConnection": "正在保存兼容的提供者连接...", "onboardingCustomProviderFallbackName": "定制提供者", "onboardingCustomProviderFailed": "自定义提供者加入失败", "onboardingLoadingOAuthConnection": "正在加载 OAuth 连接...", - "onboardingOAuthNoConnectionFound": "OAuth 已完成,但未找到提供者连接。", + "onboardingOAuthNoConnectionFound": "OAuth 已完成,但未找到供应商连接。", "onboardingOAuthFailed": "OAuth 登录失败", "onboardingAddProvider": "添加 {provider}", "onboardingConnectionName": "连接名称", @@ -5706,7 +5706,7 @@ "onboardingProtocol": "协议", "onboardingOpenAiCompatible": "兼容 OpenAI", "onboardingAnthropicCompatible": "人类兼容", - "onboardingClaudeCodeCompatible": "克劳德代码兼容", + "onboardingClaudeCodeCompatible": "Claude Code兼容", "onboardingProviderPrefix": "提供者前缀", "onboardingProviderPrefixHint": "用于生成托管提供者 ID。", "onboardingChatPath": "聊天路径", @@ -5916,9 +5916,9 @@ "codex": "使用现有的 OAuth 流程连接 OpenAI Codex。", "qwen": "使用现有的 OAuth 流程连接 Qwen Code。" }, - "passthroughModelsDescription": "{provider} 接受提供者本机模型 ID。从 /models 导入或添加用于路由的自定义 ID。", + "passthroughModelsDescription": "{provider} 接受供应商本机模型 ID。从 /models 导入或添加用于路由的自定义 ID。", "bedrockModelsDescription": "Amazon Bedrock 模型的范围按 AWS 区域划分。从 /models 导入或添加在所选区域中启用的基岩模型 ID。", - "bedrockModelPlaceholder": "人类.克劳德十四行诗-4-6", + "bedrockModelPlaceholder": "anthropic.Claudesonnet-4-6", "addProviderSessionCookieTitle": "添加 {provider} 会话 cookie", "openWebProviderSite": "打开 {host}", "addProviderWebTokenTitle": "添加 {provider} 网络令牌", @@ -7283,7 +7283,7 @@ "memorySkillsSkillsmpMarketplace": "SkillsMP 市场", "memorySkillsFailedToSave": "保存失败", "memorySkillsApiKey": "API密钥", - "memorySkillsActiveSkillsProvider": "主动技能提供者", + "memorySkillsActiveSkillsProvider": "主动技能供应商", "cliproxyapiFallback": "CLIProxyAPI 后备", "cliproxyapiEnableFallback": "启用 CLIProxyAPI 回退", "cliproxyapiUrl": "CLIProxyAPI URL", @@ -7357,12 +7357,12 @@ "codexFastTierModelsLabel": "快速层模型", "codexFastTierModelsHint": "启用快速层后,只有勾选的模型会附带 service_tier。", "codexFastTierModelCheckbox": "为 {model} 启用快速层", - "claudeFastModeTitle": "克劳德快速模式", - "claudeFastModeDesc": "选择选定的克劳德请求进入人择快速模式(速度:“快速”)。", + "claudeFastModeTitle": "Claude快速模式", + "claudeFastModeDesc": "选择选定的Claude请求进入Anthropic快速模式(速度:“快速”)。", "claudeFastModeHint": "Anthropic 并未正式支持 SDK 样式客户端的快速模式。启用后,OmniRoute 会转发 X-CPA-Force-Fast-Mode 标头,以便配对的 CLIProxyAPI 构建可以选择欺骗入口点。只有列出的 Opus 模型才会受到 Anthropic 客户端检查的控制。订阅层、最大计划和快速模式信用余额仍然在服务器端强制执行 - 即使打开切换,Anthropic 也可能返回 out_of_credits。", "claudeFastModeModelsLabel": "应用于模型 ({count})", "claudeFastModeModelCheckbox": "为 {model} 启用快速模式", - "claudeFastModeSaveError": "无法更新克劳德快速模式设置", + "claudeFastModeSaveError": "无法更新Claude快速模式设置", "authz": { "cors": { "wildcard": { @@ -7453,7 +7453,7 @@ "resilienceWaitForCooldownScope": "当前客户请求", "resilienceWaitForCooldownTrigger": "当所有候选连接已经冷却时", "resilienceWaitForCooldownEffect": "等待服务器并在第一个冷却时间到期时重试", - "resilienceWaitForCooldownDesc": "这仅影响当前请求。它不存储连接或提供者状态。", + "resilienceWaitForCooldownDesc": "这仅影响当前请求。它不存储连接或供应商状态。", "resilienceEnableServerWait": "启用服务器端等待", "resilienceEnableServerWaitDesc": "启用后,OmniRoute 会等待第一次冷却时间到期并自动重试。", "resilienceMaxAttempts": "最大尝试次数", @@ -8323,14 +8323,14 @@ "techniques": "技巧:", "friendlyTitle": "翻译器", "friendlySubtitle": "使用您现有的应用程序与任何提供者 — 无需重写代码。", - "conceptHeadline": "您的应用程序使用一个 API 的“语言”。翻译器将其转换为使用另一个提供者。", + "conceptHeadline": "您的应用程序使用一个 API 的“语言”。翻译器将其转换为使用另一个供应商。", "conceptDiagramAppLabel": "您的应用程序", "conceptDiagramSourceLabel": "源格式", "conceptDiagramHubLabel": "OpenAI (中心)", - "conceptDiagramTargetLabel": "目标提供者", + "conceptDiagramTargetLabel": "目标供应商", "conceptDiagramExampleApp": "例如 Anthropic SDK", "conceptDiagramExampleSource": "Claude", - "conceptDiagramExampleTarget": "双子座", + "conceptDiagramExampleTarget": "Gemini", "conceptHowItWorksToggle": "它是如何工作的", "conceptHowItWorksBody": "您的应用以其自己的格式发送请求。翻译器检测该格式,通过 OpenAI 作为中介中心进行转换(或在可用的情况下直接进行转换),将其发送到所选提供者,并将响应转换回您应用的格式。", "tabTranslate": "翻译", @@ -8340,7 +8340,7 @@ "simpleAppUsesLabel": "我的应用程序使用", "simpleAppUsesHint": "您的应用程序使用的 API 格式(例如,Anthropic SDK = claude)。", "simpleSendToLabel": "发送到", - "simpleSendToHint": "实际将请求发送到哪里(在 OmniRoute 中连接的提供者)。", + "simpleSendToHint": "实际将请求发送到哪里(在 OmniRoute 中连接的供应商)。", "simpleStartWithLabel": "开始于", "simpleStartWithExamplePlaceholder": "选择一个现成的示例", "simpleStartWithCustomOption": "粘贴您的请求(高级)", @@ -8379,17 +8379,17 @@ "pipelineStepFormatDetectedDesc": "自动检测到的源格式", "pipelineStepOpenAIIntermediate": "OpenAI 中级", "pipelineStepOpenAIIntermediateDesc": "翻译为 OpenAI hub 格式", - "pipelineStepProviderFormat": "提供者格式", - "pipelineStepProviderFormatDesc": "翻译为提供者目标格式", - "pipelineStepProviderResponse": "提供者响应", - "pipelineStepProviderResponseDesc": "来自提供者的流式响应", + "pipelineStepProviderFormat": "供应商格式", + "pipelineStepProviderFormatDesc": "翻译为供应商目标格式", + "pipelineStepProviderResponse": "供应商响应", + "pipelineStepProviderResponseDesc": "来自供应商的流式响应", "conceptDiagramArrow1": "说话", "conceptDiagramArrow2": "翻译", "conceptDiagramArrow3": "转换", "conceptDiagramExampleHub": "OpenAI", "conceptDiagramHubTooltip": "翻译器用于在没有直接映射的格式之间转换的中间枢纽。", "conceptDiagramSourceTooltip": "您的应用程序使用的 API 格式(例如,Anthropic SDK = claude)。", - "conceptDiagramTargetTooltip": "请求将实际发送到的提供者。", + "conceptDiagramTargetTooltip": "请求将实际发送到的供应商。", "compressionEmptyHint": "填写“翻译”标签页上的输入字段(简单控件或原始 JSON)以启用预览。", "compressionModeLabel": "压缩模式", "compressionPreviewButton": "预览压缩", @@ -10401,10 +10401,10 @@ "kpiAvgUtilization": "平均利用率", "kpiBorrowingNow": "现在借款", "conceptTitle": "配额分成是如何工作的", - "conceptIntro": "配额共享通过节约型公平分享将提供者的配额分配给多个 API 密钥:每个密钥获得一个按比例分配的份额,但可以在不超过全球上限的情况下从自由余额中借用。", + "conceptIntro": "配额共享通过节约型公平分享将供应商的配额分配给多个 API 密钥:每个密钥获得一个按比例分配的份额,但可以在不超过全球上限的情况下从自由余额中借用。", "conceptFairShare": "公平共享:每个键接收与其配置权重成比例的配额", "conceptBorrowing": "借用:密钥可以在不违反上限的情况下消耗他人的自由余额", - "conceptGlobalCap": "硬性全球上限:提供者的绝对限制永远不会被超越", + "conceptGlobalCap": "硬性全球上限:供应商的绝对限制永远不会被超越", "conceptWindows": "Windows: 5小时,按小时、按日、按周、按月 — 每个独立跟踪", "conceptKeyHowTitle": "为配额启用密钥", "conceptKeyHowDesc": "在 API 管理器中正常创建密钥 — 它会自动出现在向导的密钥步骤中。在那里勾选独占以使其仅限配额。没有单独的启用步骤。", @@ -10429,7 +10429,7 @@ "wizardStep2Label": "限制", "wizardStep3Label": "密钥", "wizardStep1Title": "选择提供者连接", - "wizardStep1Subtitle": "选择此池将共享配额的提供者帐户,设置名称和默认策略。", + "wizardStep1Subtitle": "选择此池将共享配额的供应商帐户,设置名称和默认策略。", "wizardStep2Title": "配置配额维度", "wizardStep2Subtitle": "为所选连接定义配额计划维度(单位、窗口、限制)。保持不变以保持当前设置。", "wizardStep3Title": "分配 API 密钥", @@ -10443,10 +10443,10 @@ "wizardExclusiveLabel": "独占配额", "wizardExclusiveHint": "启用后,这些 API 密钥将仅允许使用此池的虚拟模型(在保存时应用 allowedQuotas 对账)。", "wizardPreviewLabel": "虚拟模型名称预览", - "wizardConnectionsLabel": "提供者连接", + "wizardConnectionsLabel": "供应商连接", "wizardPrimaryBadge": "主要", "wizardAdditionalConnectionsNote": "附加连接使用其目录默认限制(稍后可编辑)。", - "wizardSingleProviderNote": "一个池使用单一提供者", + "wizardSingleProviderNote": "一个池使用单一供应商", "wizardPreviewMoreModels": "+{count} 更多", "accountQuotaTitle": "账户配额", "accountQuotaNone": "—", @@ -10528,7 +10528,7 @@ "quotaPlans": { "title": "计划与配额", "description": "为每个提供者配置配额计划 — 维度(%、请求、令牌、$)和时间窗口", - "providerLabel": "提供者 / 连接", + "providerLabel": "供应商 / 连接", "detectedPlanLabel": "检测到的计划", "manualPlanLabel": "手动覆盖", "unconfiguredLabel": "未配置 — 需要手动设置", @@ -10560,11 +10560,11 @@ "title": "活动", "description": "最近事件动态", "emptyTitle": "尚无活动", - "emptyDescription": "当您添加提供者、创建组合或旋转密钥时,事件将出现在这里。", + "emptyDescription": "当您添加供应商、创建组合或旋转密钥时,事件将出现在这里。", "todayHeader": "今天", "yesterdayHeader": "昨天", "filterAll": "全部", - "filterProviders": "提供者", + "filterProviders": "供应商", "filterCombos": "组合", "filterApiKeys": "API 密钥", "filterSettings": "设置", @@ -10585,9 +10585,9 @@ "daysAgo": "{n} 天前" }, "eventVerb": { - "providerAdded": "{actor} 添加了提供者 {target}", - "providerRemoved": "{actor} 移除了提供者 {target}", - "providerTested": "{actor} 测试了提供者 {target}", + "providerAdded": "{actor} 添加了供应商 {target}", + "providerRemoved": "{actor} 移除了供应商 {target}", + "providerTested": "{actor} 测试了供应商 {target}", "comboCreated": "{actor} 创建了组合 {target}", "comboUpdated": "{actor} 更新了组合 {target}", "comboDeleted": "{actor} 移除了组合 {target}", @@ -10698,8 +10698,8 @@ "toggling": "切换中…", "viewTraffic": "查看流量", "emptyNoProvidersTitle": "尚未配置提供程序", - "emptyNoProvidersBody": "要使用 AgentBridge,首先连接至少一个提供者。它将是 IDE 请求路由的目标。", - "emptyGoToProviders": "前往提供者", + "emptyNoProvidersBody": "要使用 AgentBridge,首先连接至少一个供应商。它将是 IDE 请求路由的目标。", + "emptyGoToProviders": "前往供应商", "wizardTitle": "设置向导", "wizardSubtitle": "3步设置", "wizardStep1Label": "验证", @@ -10879,7 +10879,7 @@ "sessionsDropdown": "会话", "annotationPlaceholder": "添加备注…", "contextFingerprint": "上下文指纹", - "llmProvider": "检测到的提供者", + "llmProvider": "检测到的供应商", "llmApiKind": "API 类型", "llmModel": "模型", "llmMessages": "消息", @@ -10959,13 +10959,13 @@ "code": { "title": "CLI 代码的", "phrase": "指向 OmniRoute 的代码工具", - "flow": "你 → CLI 代码 → OmniRoute → 提供者", + "flow": "你 → CLI 代码 → OmniRoute → 供应商", "seeOther": "查看 →" }, "agent": { "title": "CLI 代理", "phrase": "通用自主CLI代理,您可以指向OmniRoute", - "flow": "您 → CLI 代理 → OmniRoute → 提供者", + "flow": "您 → CLI 代理 → OmniRoute → 供应商", "seeOther": "查看 →" }, "acp": { @@ -10982,7 +10982,7 @@ "code": { "title": "代码工具", "desc": "指向 Omni", - "flow": "你 → CLI → Omni → 提供者", + "flow": "你 → CLI → Omni → 供应商", "examples": "例如:claude,codex" }, "agent": { @@ -11027,9 +11027,9 @@ "baseUrlLabel": "基础 URL", "apiKeyLabel": "API 密钥", "modelMappingLabel": "模型映射", - "noActiveProviders": "没有活动的提供者。", - "noActiveProvidersDesc": "请前往 Providers 连接至少 1 个提供者,然后再配置 CLI。", - "openProviders": "打开提供者 →" + "noActiveProviders": "没有活动的供应商。", + "noActiveProvidersDesc": "请前往 Providers 连接至少 1 个供应商,然后再配置 CLI。", + "openProviders": "打开供应商 →" } }, "cliCode": { diff --git a/src/i18n/messages/zh-TW.json b/src/i18n/messages/zh-TW.json index 767cbafe03..73f21b38f3 100644 --- a/src/i18n/messages/zh-TW.json +++ b/src/i18n/messages/zh-TW.json @@ -53,7 +53,7 @@ "reloadPage": "重新載入頁面", "connected": "已連線", "disconnected": "已斷開連線", - "notConfigured": "未配置", + "notConfigured": "未設定", "testConnection": "測試連線", "enable": "啟用", "disable": "停用", @@ -242,7 +242,7 @@ "noModelsForProvider": "此提供者沒有可用模型", "mcpCardDescription": "通過 MCP 工具連線 Agent 和自動化流程。", "apiTypeLabel": "API 型別標籤", - "configuredProvidersLabel": "已配置 Provider 標籤", + "configuredProvidersLabel": "已設定 Provider 標籤", "maxRetriesLabel": "最大重試次數標籤", "title": "標題", "output": "輸出", @@ -277,7 +277,7 @@ "description": "描述", "noProviderFound": "未找到提供者", "auto": "自動", - "protocolsDescription": "配置並測試支援的協議端點。", + "protocolsDescription": "設定並測試支援的協議端點。", "cloudSessionNote": "Cloud Session 提示", "advancedSettings": "高階設定", "defaultStrategy": "預設策略", @@ -329,7 +329,7 @@ "machineId": "機器 ID", "globalProxy": "全域性代理", "hitsMisses": "命中未命中", - "testDesc": "執行連線測試以驗證配置。", + "testDesc": "執行連線測試以驗證設定。", "chatDesc": "聊天說明", "importSuccess": "匯入成功", "chat": "聊天", @@ -344,9 +344,9 @@ "modelsPathPlaceholder": "Model 路徑", "noCombosYet": "暫無 Combo", "connectedVerificationPendingWithError": "已連線,驗證待完成:{error}", - "comboDefaultsGuideHint1": "配置 Combo 預設策略和目標。", + "comboDefaultsGuideHint1": "設定 Combo 預設策略和目標。", "enableCloudTitle": "啟用雲端", - "configuredProvidersHint": "僅顯示已配置的 Provider。", + "configuredProvidersHint": "僅顯示已設定的 Provider。", "paused": "已暫停", "llmProviders": "LLM Provider", "enableCombo": "啟用組合", @@ -354,7 +354,7 @@ "nodeVersion": "Node 版本", "openai": "OpenAI", "exportFailedWithError": "匯出失敗:{error}", - "proxyConfigured": "代理已配置", + "proxyConfigured": "代理已設定", "concurrencyPerModel": "每個模型併發數", "protocolTasksLabel": "協議任務標籤", "oauthProviders": "OAuth 提供者", @@ -387,7 +387,7 @@ "modelName": "模型名稱", "apiKeyForCheck": "用於檢查的 API 金鑰", "cloudRequestTimeout": "雲端請求超時", - "showConfiguredOnly": "顯示已配置僅", + "showConfiguredOnly": "顯示已設定僅", "showFreeOnly": "僅免費", "addFirstProvider": "新增您的第一個提供者", "addFirstProviderDesc": "連線 AI 提供者以開始通過 OmniRoute 路由請求。您可以使用免費提供者、API 金鑰或 OAuth 帳戶。", @@ -399,7 +399,7 @@ "chatPathPlaceholder": "聊天路徑佔位符", "databasePath": "資料庫路徑", "usingLocalServer": "正在使用本地 Server", - "globalComboConfig": "全域性 Combo 配置", + "globalComboConfig": "全域性 Combo 設定", "backupFailed": "備份失敗", "tabProtocols": "協議標籤頁", "continue": "繼續", @@ -461,7 +461,7 @@ "modeTest": "測試模式", "failedDeleteChain": "刪除鏈失敗", "providerDesc": "提供者描述", - "templateLoadHint": "選擇模板以快速填充配置。", + "templateLoadHint": "選擇模板以快速填充設定。", "lastFailure": "最近失敗", "moveDown": "移動下移", "providerLabel": "提供者標籤", @@ -493,7 +493,7 @@ "notAvailable": "不可用", "skipAndContinue": "跳過並繼續", "moderations": "稽核", - "proxyConfig": "代理配置", + "proxyConfig": "代理設定", "upstreamProxyProviders": "上游代理 Provider", "exportAll": "匯出全部", "queuedCount": "排隊中數量", @@ -539,7 +539,7 @@ "mcpQuickStartTitle": "MCP 快速開始", "comboUpdated": "Combo 已更新", "weighted": "加權", - "providers": "Provider", + "providers": "供應商", "ccCompatibleLabel": "CC 相容", "noFallbackChainsDesc": "建立一條鏈路,用於定義某個模型的提供者回退順序。", "yesImport": "確認匯入", @@ -552,7 +552,7 @@ "testAllOAuth": "測試所有 OAuth", "mcpQuickStartStep3": "MCP 快速開始步驟 3", "repairEnvFailed": "環境修復失敗", - "zedImportHint": "從 Zed 配置中匯入 Provider。", + "zedImportHint": "從 Zed 設定中匯入 Provider。", "modelsAcrossEndpoints": "跨 Endpoint 的 Model", "autoDisableBannedAccounts": "自動停用被封禁帳戶", "securityDesc": "安全說明", @@ -741,7 +741,7 @@ "tokensLastSync": "上次同步:{date}", "tokensDisconnect": "中斷連線", "tierCoverageTitle": "層級覆蓋範圍", - "tierCoverageSubtitle": "每個後備層配置的提供程式", + "tierCoverageSubtitle": "每個後備層設定的提供程式", "batchDetailCopyId": "複製身份證件", "batchDetailClose": "關閉", "batchDetailEndpoint": "端點", @@ -957,7 +957,7 @@ "omniSkills": "全方位技能", "agentSkills": "代理技能", "chaosConfig": "混沌模式", - "docs": "文件", + "docs": "檔案", "issues": "問題反饋", "endpoints": "端點", "endpointsSubtitle": "您的 AI 連線 URL", @@ -1132,7 +1132,7 @@ "providerQuotaSubtitle": "跟蹤提供者使用限制", "runtimeSubtitle": "即時彈性與會話", "contextCombosSubtitle": "組合壓縮引擎", - "cliToolsSubtitle": "配置 CLI 執行時", + "cliToolsSubtitle": "設定 CLI 執行時", "agentsSubtitle": "管理本地代理", "cloudAgentsSubtitle": "管理基於雲的代理", "apiEndpointsSubtitle": "暴露自定義端點", @@ -1191,11 +1191,11 @@ "settingsSidebar": "側邊欄", "settingsSidebarSubtitle": "自定義側邊欄佈局", "settingsAuthzSubtitle": "路由清單與繞過策略", - "docsSubtitle": "文件", + "docsSubtitle": "檔案", "issuesSubtitle": "報告錯誤", "changelogSubtitle": "釋出說明", "costsQuotaPlans": "計劃與配額", - "costsQuotaPlansSubtitle": "按提供者配置計劃", + "costsQuotaPlansSubtitle": "按提供商設定計劃", "activity": "活動", "activitySubtitle": "近期事件的友好動態", "logsGroup": "日誌", @@ -1227,8 +1227,8 @@ }, "webhooks": { "title": "Webhook", - "description": "配置系統事件的 HTTP 回撥。", - "configuredWebhooks": "已配置的 Webhook", + "description": "設定系統事件的 HTTP 回撥。", + "configuredWebhooks": "已設定的 Webhook", "configuredWebhooksDesc": "管理投遞端點、訂閱事件、狀態和測試傳送。", "addWebhook": "新增 Webhook", "editWebhook": "編輯 Webhook", @@ -1267,13 +1267,13 @@ "edit": "編輯", "enable": "啟用", "disable": "停用", - "noWebhooks": "尚未配置 Webhook。", + "noWebhooks": "尚未設定 Webhook。", "signatureTitle": "Webhook 簽名", "signatureDescription": "每次投遞都會包含一個 X-Webhook-Signature 請求頭,該簽名使用 Webhook 金鑰通過 HMAC-SHA256 生成。信任載荷前請先驗證簽名。", "wizard": { "cancel": "取消", "step1Title": "選擇整合", - "step2Title": "配置目標", + "step2Title": "設定目標", "step3Title": "事件與測試", "back": "返回", "next": "下一步", @@ -1281,8 +1281,8 @@ "step1Desc": "選擇此 Webhook 要對接的目標整合系統。" }, "howItWorks": { - "step1": "選擇一個整合提供者(如 Slack、Discord、自定義 Webhook)並配置連線詳情。", - "step2": "配置要訂閱的系統事件(如補全錯誤、模型回退或用量限制)。", + "step1": "選擇一個整合提供商(如 Slack、Discord、自定義 Webhook)並設定連線詳情。", + "step2": "設定要訂閱的系統事件(如補全錯誤、模型回退或用量限制)。", "step3": "傳送測試負載以驗證端點是否能正常接收資料。", "step4": "使用 Webhook 金鑰對 X-Webhook-Signature HMAC-SHA256 頭進行驗證,以確保端點安全。", "title": "Webhook 工作原理", @@ -1355,7 +1355,7 @@ "chatId": "Telegram 聊天 ID / 頻道", "chatIdPlaceholder": "-100123456789 或 @channelname", "chatIdHint": "聊天/頻道的唯一數字識別符號或公開使用者名稱。", - "tutorial": "如何配置 Telegram Webhook:" + "tutorial": "如何設定 Telegram Webhook:" } }, "compliance": { @@ -1439,20 +1439,20 @@ "auth.login.error": "登入錯誤", "auth.login.failed": "登入失敗", "auth.login.locked": "登入被鎖定", - "auth.login.misconfigured": "登入配置錯誤", + "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 被阻止", + "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": "配額池已刪除", @@ -1492,7 +1492,7 @@ "analytics": "分析", "analyticsDescription": "檢視圖表、趨勢和評測洞察", "cliTools": "CLI 工具", - "cliToolsDescription": "配置 CLI 工具", + "cliToolsDescription": "設定 CLI 工具", "home": "首頁", "homeDescription": "歡迎使用 OmniRoute", "endpoint": "端點", @@ -1511,7 +1511,7 @@ "themesDescription": "為整個儀表板選擇顏色主題", "costsDescription": "跟蹤支出,分析趨勢,管理所有 AI 提供者的預算", "cacheDescription": "監控提供者提示快取效率和本地語義響應複用。", - "limitsDescription": "為每個 API 金鑰和提供者配置速率限制和配額", + "limitsDescription": "為每個 API 金鑰和提供商設定速率限制和配額", "runtimeDescription": "即時執行時可觀測性 — 斷路器、冷卻、模型鎖定、會話和配額告警", "apiManagerDescription": "管理 OmniRoute 例項的 API 金鑰和訪問控制", "batchDescription": "通過批次 API 呼叫非同步處理大量請求", @@ -1519,7 +1519,7 @@ "contextRtkDescription": "針對工具輸出、終端日誌和構建結果的命令感知壓縮。", "contextCombosDescription": "定義如何為不同路由場景組合引擎。", "changelogDescription": "瞭解最新平臺功能和公告。", - "agentsDescription": "管理和配置 AI 代理工具:Codex、Devin、Jules 和自定義代理", + "agentsDescription": "管理和設定 AI 代理工具:Codex、Devin、Jules 和自定義代理", "cloudAgentsDescription": "編排基於雲的 AI 代理,支援即時任務跟蹤和計劃審批", "memoryDescription": "持久的對話記憶,支援語義搜尋和 FTS5 全文索引", "skillsDescription": "安裝和管理沙箱技能,實現自動提示和執行", @@ -1529,25 +1529,25 @@ "searchToolsDescription": "搜尋分析、提供者細分、快取命中率和成本跟蹤", "logsDescription": "即時請求日誌、錯誤追蹤和流式事件檢查器", "auditDescription": "API 金鑰使用、MCP 工具呼叫和策略事件的合規審計追蹤", - "webhooksDescription": "配置 Webhook 端點以接收即時事件通知", + "webhooksDescription": "設定 Webhook 端點以接收即時事件通知", "healthDescription": "系統健康概覽:提供者、斷路器、速率限制和資料庫", - "proxyDescription": "為出站提供者連線配置上游代理設定", - "apiEndpointsDescription": "管理自定義 API 端點配置和路由覆蓋", + "proxyDescription": "為出站提供商連線設定上游代理設定", + "apiEndpointsDescription": "管理自定義 API 端點設定和路由覆蓋", "batchFilesDescription": "瀏覽和管理批處理作業輸出檔案和結果", "analyticsEvalsDescription": "模型評估結果和效能基準", "analyticsSearchDescription": "搜尋查詢分析、快取命中率和成本跟蹤", "analyticsUtilizationDescription": "提供者利用率指標和容量規劃", - "analyticsComboHealthDescription": "組合路由配置的即時健康與效能", + "analyticsComboHealthDescription": "組合路由設定的即時健康與效能", "analyticsCompressionDescription": "上下文壓縮分析和權杖節省", "costsBudgetDescription": "每個 API 金鑰和提供者的預算限制和支出告警", - "costsPricingDescription": "用於權杖成本計算的自定義定價配置", + "costsPricingDescription": "用於權杖成本計算的自定義定價設定", "logsProxyDescription": "上游代理請求日誌和流量檢查", "logsConsoleDescription": "應用控制台輸出和除錯日誌", "logsActivityDescription": "使用者操作和系統事件的審計追蹤", "auditMcpDescription": "MCP 工具呼叫審計追蹤和合規記錄", "auditA2a": "A2A稽核", "auditA2aDescription": "A2A任務執行審計追蹤、狀態轉換、技能呼叫記錄", - "settingsGeneralDescription": "儲存、資料庫和通用例項配置", + "settingsGeneralDescription": "儲存、資料庫和通用例項設定", "settingsAppearanceDescription": "主題、品牌和視覺自定義", "settingsAiDescription": "AI 行為、思維預算、視覺和記憶設定", "settingsCacheDescription": "__MISSING__:TTL for model catalog cache entries", @@ -1576,10 +1576,10 @@ "featureFlagsSaved": "標誌已更新", "featureFlagsError": "更新標誌失敗", "settingsRoutingDescription": "路由規則、模型別名、組合預設值和降級設定", - "settingsResilienceDescription": "斷路器、重試和回退配置", + "settingsResilienceDescription": "斷路器、重試和回退設定", "settingsAdvancedDescription": "高階負載規則、請求限制和代理 API 設定", - "mitmProxyDescription": "配置 MITM 代理設定以進行流量檢查和除錯", - "oneProxyDescription": "配置 1Proxy 設定以實現高階代理鏈", + "mitmProxyDescription": "設定 MITM 代理設定以進行流量檢查和除錯", + "oneProxyDescription": "設定 1Proxy 設定以實現高階代理鏈", "omniSkillsDescription": "安裝和管理用於自動提示和工具執行的沙箱技能" }, "cloudSyncStatus": { @@ -1687,28 +1687,28 @@ "home": { "quickStart": "快速入門", "quickStartDesc": "4 個步驟快速上手:連線提供者、路由模型並監控全域性執行情況。", - "fullDocs": "完整文件", + "fullDocs": "完整檔案", "step1Title": "1. 建立 API 金鑰", "step1Desc": "前往 端點 -> 已註冊金鑰。為每個環境生成一個獨立金鑰。", "step2Title": "2. 連線提供者", "step2Desc": "在 提供者 中新增帳戶。支援 OAuth、API Key 和免費套餐。", - "step3Title": "3. 配置客戶端", + "step3Title": "3. 設定客戶端", "step3Desc": "在 IDE 或 API 客戶端中將基本 URL 設定為 {url}。", "step4Title": "4. 監控與最佳化", "step4Desc": "在 請求日誌分析 中跟蹤 Token、成本與錯誤。", "providersOverview": "提供者概覽", - "configuredOf": "{total} 個可用提供者中已配置 {configured} 個", + "configuredOf": "{total} 個可用提供商中已設定 {configured} 個", "noModelsAvailable": "該提供者當前沒有可用模型。", - "noProvidersConfigured": "尚未配置提供者", + "noProvidersConfigured": "尚未設定提供商", "addProvider": "新增提供者", - "configureFirst": "首先在 {providers} 中配置連線", - "configureProvider": "配置提供者", + "configureFirst": "首先在 {providers} 中設定連線", + "configureProvider": "設定提供商", "modelAvailable": "{count} 模型可用", "modelsAvailable": "{count} 個模型可用", "connectionsActive": "{count} 連線處於活動狀態", "connectionsActivePlural": "{count} 連線處於活動狀態", "copyModelName": "複製模型名稱", - "documentation": "文件", + "documentation": "檔案", "healthMonitor": "健康監測", "reportIssue": "報告問題", "activeError": "{active} 有效 · {errors} 錯誤", @@ -1817,7 +1817,7 @@ "highlightsDiversity": "多樣性", "highlightsFallbackRate": "回退率", "customRange": "自定義", - "overviewDescription": "監控所有提供者和模型的 API 使用模式、權杖消耗、成本和活動趨勢。", + "overviewDescription": "監控所有提供商和模型的 API 使用模式、權杖消耗、成本和活動趨勢。", "evalsDescription": "執行評估套件來測試和驗證您的 LLM 端點。比較模型質量、檢測迴歸和基準延遲。", "overview": "概述", "evals": "評測", @@ -2094,13 +2094,13 @@ "keyName": "金鑰名稱", "keyNamePlaceholder": "例如:生產環境金鑰、開發環境金鑰", "keyNameDesc": "使用清晰的名稱標識該金鑰的用途", - "managementAccessDesc": "允許此 API 金鑰管理 OmniRoute 配置。", + "managementAccessDesc": "允許此 API 金鑰管理 OmniRoute 設定。", "selfServiceVisibility": "自助可見性", "selfServiceVisibilityDesc": "控制此金鑰可檢視自身用量和共享上游配額的範圍。", "ownUsageVisibility": "自身成本和 Token 用量", "ownUsageVisibilityDesc": "允許此金鑰呼叫狀態端點,檢視自身美元用量、預算佔比和 Token 總量。", "sharedAccountQuotaVisibility": "共享帳號配額", - "sharedAccountQuotaVisibilityDesc": "當配置了一個明確連線時,允許此金鑰檢視共享上游帳號配額。", + "sharedAccountQuotaVisibilityDesc": "當設定了一個明確連線時,允許此金鑰檢視共享上游帳號配額。", "localUsageCommand": "允許本機使用量指令", "localUsageCommandDesc": "允許此 API 金鑰使用 @@om-usage 來擷取快取的使用量和配額資訊,而無需呼叫上游提供者。", "localUsageCommandBadge": "使用量命令", @@ -2219,7 +2219,7 @@ "emptyFilterTitle": "沒有金鑰匹配當前篩選條件", "emptyFilterClear": "清除篩選", "disableNonPublicModels": "停用非公開模型", - "disableNonPublicModelsDesc": "拒絕對未發現或未標記為公共的模型在提供者目錄中的請求", + "disableNonPublicModelsDesc": "拒絕對未發現或未標記為公共的模型在供應商目錄中的請求", "normalKeysSection": "普通鍵", "quotaKeysSection": "配額金鑰", "bypassProviderQuota": "繞過供應商配額限制", @@ -2257,7 +2257,7 @@ "generate": "生成", "generating": "生成中...", "loadingModels": "正在載入可用模型...", - "noModels": "暫無可用模型。請先配置支援媒體能力的提供者。", + "noModels": "暫無可用模型。請先設定支援媒體能力的提供商。", "error": "生成失敗", "result": "結果", "imageDescription": "使用 OpenAI、xAI、Together、Hyperbolic、SD WebUI、ComfyUI 等根據文本提示生成影像。", @@ -2275,7 +2275,7 @@ "music": "音樂", "ocr": "OCR" }, - "noProviders": "尚未為此型別配置任何提供者。", + "noProviders": "尚未為此型別設定任何提供商。", "addConnection": "新增連線", "backToProviders": "返回提供者列表", "connections": "{count} 個連線", @@ -2345,7 +2345,7 @@ "rerankResults": "結果重排", "searchHistory": "搜尋歷史", "urlOverlap": "URL 重疊度", - "noSearchProviders": "尚未配置搜尋提供者。請前往設定新增。", + "noSearchProviders": "尚未設定搜尋提供商。請前往設定新增。", "noRerankModels": "沒有可用的重排模型", "webSearch": "網頁搜尋", "provider": "提供者", @@ -2399,14 +2399,14 @@ "rerankConceptTitle": "重新排序", "rerankConceptDesc": "重新排序 = 通過 LLM 重新排序結果以基於查詢提高相關性", "autoConceptTitle": "自動(最便宜)", - "autoConceptDesc": "自動(最便宜)= 自動選擇具有已配置憑據的最便宜可用提供者", + "autoConceptDesc": "自動(最便宜)= 自動選擇具有已設定憑據的最便宜可用提供商", "providerCatalogTitle": "提供者目錄", "kindSearch": "搜尋", "kindFetch": "獲取/抓取", - "statusConfigured": "已配置", + "statusConfigured": "已設定", "statusMissing": "無憑據", "statusRateLimited": "速率受限", - "configureProvider": "在提供者中配置", + "configureProvider": "在提供商中設定", "loadingProviders": "載入提供者…", "failedToLoadProviders": "載入提供者失敗", "costPerQuery": "成本/查詢", @@ -2433,7 +2433,7 @@ "compareRun": "比較", "compareRunning": "比較中…", "autoProvider": "自動(最便宜)", - "configuredStatus": "已配置", + "configuredStatus": "已設定", "rateLimitedStatus": "速率受限", "noCredential": "無憑據", "searchTypeLabel": "型別", @@ -2513,11 +2513,11 @@ "claudeProfiles": "Claude Code 設定檔", "claudeProfilesDescription": "在模型探索後重新產生每個 ~/.claude/profiles/…/settings.json。", "noActiveProviders": "當前沒有活躍的提供者", - "noActiveProvidersDesc": "請先新增並連線提供者以配置 CLI 工具。", + "noActiveProvidersDesc": "請先新增並連線提供商以設定 CLI 工具。", "mapModels": "對映模型", "testConnection": "測試連線", "connectionStatus": "連線狀態", - "configureEndpoint": "配置端點", + "configureEndpoint": "設定端點", "instructions": "使用說明", "modelMapping": "模型對映", "reasoningEffort": "{model} 的推理努力", @@ -2534,8 +2534,8 @@ "routeModelPlaceholder": "將 {model} 路由至...", "baseUrl": "基礎 URL", "apiKey": "API金鑰", - "configured": "已配置", - "notConfigured": "未配置", + "configured": "已設定", + "notConfigured": "未設定", "notInstalled": "未安裝", "custom": "自定義", "unknown": "未知", @@ -2550,8 +2550,8 @@ "runtimeCheckFailed": "執行時檢查失敗", "yourApiKeyPlaceholder": "你的 API 金鑰", "modelPlaceholder": "provider/model-id", - "configurationSaved": "配置儲存成功。", - "failedToSave": "儲存配置失敗。", + "configurationSaved": "設定儲存成功。", + "failedToSave": "儲存設定失敗。", "noApiKeysCreateOne": "無 API 金鑰 - 在“金鑰”頁面建立一個", "defaultOmnirouteKey": "sk_omniroute(預設)", "selectModel": "選擇模型", @@ -2566,13 +2566,13 @@ "cliFoundNotRunnable": "CLI 已找到但無法執行{reason}", "cliRuntimeNotDetected": "未檢測到 CLI 執行時", "binary": "二進位制", - "configPath": "配置路徑", + "configPath": "設定路徑", "configPathShort": "設定", "failedCheckRuntimeStatus": "無法檢查執行時狀態。", "copy": "複製", "copied": "已複製", - "copyConfig": "複製配置", - "saveConfig": "儲存配置", + "copyConfig": "複製設定", + "saveConfig": "儲存設定", "selectionSaved": "選擇已儲存", "guide": "指南", "detected": "檢測到", @@ -2640,9 +2640,9 @@ "providerModelPlaceholder": "提供者/模型 ID", "apply": "應用", "reset": "重置", - "manualConfig": "手動配置", + "manualConfig": "手動設定", "backups": "備份", - "configBackups": "配置備份", + "configBackups": "設定備份", "noBackupsYet": "還沒有備份。每次應用或重置之前都會自動建立備份。", "restore": "恢復", "backupRestoredReloading": "備份已恢復!正在重新載入狀態...", @@ -2650,47 +2650,47 @@ "applied": "已應用!", "failed": "失敗", "resetDone": "重置!", - "omnirouteConfiguredOpenAiCompatible": "OmniRoute 已配置為 OpenAI 相容提供者", + "omnirouteConfiguredOpenAiCompatible": "OmniRoute 已設定為 OpenAI 相容提供商", "provider": "提供者", "model": "模型", "providers": "提供者", "auth": "授權", "noApiKeysAvailable": "沒有可用的 API 金鑰", "usingDefaultOmniroute": "使用預設值:sk_omniroute", - "updateConfig": "更新配置", - "applyConfig": "應用配置", + "updateConfig": "更新設定", + "applyConfig": "應用設定", "noBackupsAvailable": "沒有可用的備份。", - "profileSaved": "配置檔案“{name}”已儲存!", - "failedSaveProfile": "儲存配置檔案失敗", - "profileActivated": "配置檔案已啟用!", - "failedActivateProfile": "啟用配置檔案失敗", - "profiles": "配置檔案", - "savedProfiles": "儲存的配置檔案", - "noProfilesYet": "尚未儲存配置檔案。將當前配置儲存為下面的配置檔案。", + "profileSaved": "設定檔案“{name}”已儲存!", + "failedSaveProfile": "儲存設定檔案失敗", + "profileActivated": "設定檔案已啟用!", + "failedActivateProfile": "啟用設定檔案失敗", + "profiles": "設定檔案", + "savedProfiles": "儲存的設定檔案", + "noProfilesYet": "尚未儲存設定檔案。將當前設定儲存為下面的設定檔案。", "activate": "啟用", - "deleteProfile": "刪除配置檔案", - "profileNamePlaceholder": "配置檔案名稱(例如:個人帳戶)", + "deleteProfile": "刪除設定檔案", + "profileNamePlaceholder": "設定檔案名稱(例如:個人帳戶)", "saveCurrent": "儲存當前", "codexAuthNotePrefix": "Codex 使用", "codexAuthNoteMiddle": "與", - "codexAuthNoteSuffix": "單擊“應用”進行自動配置。", - "claudeManualConfiguration": "Claude CLI - 手動配置", - "codexManualConfiguration": "Codex CLI - 手動配置", - "droidManualConfiguration": "Factory Droid - 手動配置", - "openClawManualConfiguration": "OpenClaw - 手動配置", - "clineManualConfiguration": "Cline - 手動配置", - "kiloManualConfiguration": "Kilo - 手動配置", + "codexAuthNoteSuffix": "單擊“應用”進行自動設定。", + "claudeManualConfiguration": "Claude CLI - 手動設定", + "codexManualConfiguration": "Codex CLI - 手動設定", + "droidManualConfiguration": "Factory Droid - 手動設定", + "openClawManualConfiguration": "OpenClaw - 手動設定", + "clineManualConfiguration": "Cline - 手動設定", + "kiloManualConfiguration": "Kilo - 手動設定", "whenToUseLabel": "何時使用", - "openToolDocs": "開啟工具文件", + "openToolDocs": "開啟工具檔案", "toolUseCases": { "claude": "當您需要強大的規劃工作流程和使用 Claude Code 進行長的多檔案重構時使用。", - "codex": "當您的團隊在 OpenAI Codex CLI 流程和基於配置檔案的身份驗證方面實現標準化時使用。", + "codex": "當您的團隊在 OpenAI Codex CLI 流程和基於設定檔案的身份驗證方面實現標準化時使用。", "droid": "當您需要專注於快速編碼和命令執行迴圈的輕量級終端代理時使用。", "openclaw": "當您需要 Open Claw 風格的編碼代理但通過 OmniRoute 策略進行路由時使用。", - "cline": "當您在編輯器內配置編碼代理並希望使用 OmniRoute 模型進行引導設定時使用。", + "cline": "當您在編輯器內設定編碼代理並希望使用 OmniRoute 模型進行引導設定時使用。", "kilo": "當您的工作流程依賴於 Kilo Code 命令和快速迭代編輯時使用。", "cursor": "在 Cursor 中編碼並且需要通過 OmniRoute 自定義 OpenAI 相容模型時使用。", - "continue": "在 IDE 中執行“Continue”並且需要可移植的基於 JSON 的提供程式配置時使用。", + "continue": "在 IDE 中執行“Continue”並且需要可移植的基於 JSON 的提供程式設定時使用。", "opencode": "當您更喜歡通過 OpenCode 進行終端本機代理執行和指令碼自動化時使用。", "kiro": "在整合 Kiro 並從 OmniRoute 集中控制模型路由時使用。", "windsurf": "當您需要 Windsurf AI IDE 並通過 OmniRoute 路由模型時使用。", @@ -2699,7 +2699,7 @@ "amp": "當您想要 Amp 簡寫工作流,但仍需要 OmniRoute 別名和路由規則支援時使用。", "hermes": "當您需要輕量級終端原生 AI 助手來處理快速任務時使用。", "hermes-agent": "需要使用 Hermes Agent (by Nousresearch) 時使用,預設、委派、視覺與輔助模型均通過 OmniRoute 路由。", - "custom": "用於自定義工具實現或通用 OpenAI 相容配置。" + "custom": "用於自定義工具實現或通用 OpenAI 相容設定。" }, "toolDescriptions": { "antigravity": "帶 MITM 的 Google Antigravity IDE", @@ -2720,7 +2720,7 @@ "amp": "Sourcegraph Amp 程式設計助手 CLI", "hermes": "Hermes AI 終端助手", "hermes-agent": "Hermes Agent (by Nousresearch) — 支援多模型(委派、視覺、壓縮等)的高階終端 AI。", - "custom": "通用 OpenAI 相容 CLI 或 SDK 配置生成器", + "custom": "通用 OpenAI 相容 CLI 或 SDK 設定生成器", "aider": "Aider AI 結對程式設計 CLI,支援 OpenAI 相容的基礎 URL", "forge": "ForgeCode 程式代理 CLI,支援自訂提供者", "cursor-cli": "Cursor Agent CLI 的無頭代理模式", @@ -2771,8 +2771,8 @@ "continue": { "steps": { "1": { - "title": "開啟配置", - "desc": "開啟繼續配置檔案" + "title": "開啟設定", + "desc": "開啟繼續設定檔案" }, "2": { "title": "API金鑰" @@ -2781,12 +2781,12 @@ "title": "選擇模型" }, "4": { - "title": "新增模型配置", - "desc": "將以下配置新增到您的模型陣列中:" + "title": "新增模型設定", + "desc": "將以下設定新增到您的模型陣列中:" } }, "notes": { - "0": "Continue 使用 JSON 配置檔案。" + "0": "Continue 使用 JSON 設定檔案。" } }, "opencode": { @@ -2811,7 +2811,7 @@ } }, "notes": { - "0": "OpenCode 需要配置 API 金鑰。", + "0": "OpenCode 需要設定 API 金鑰。", "1": "將基礎 URL 設定為您的 OmniRoute 端點。" } }, @@ -2861,8 +2861,8 @@ } } }, - "autoConfiguredTab": "自動配置", - "toolCategoriesDesc": "配置 AI 程式設計助手通過 OmniRoute 路由", + "autoConfiguredTab": "自動設定", + "toolCategoriesDesc": "設定 AI 程式設計助手通過 OmniRoute 路由", "allToolsTab": "所有工具", "guidedClientsTab": "引導客戶端", "mitmClientsTab": "MITM 客戶端", @@ -2871,14 +2871,14 @@ "visibleToolsCount": "{count} 個工具可用", "customCliBuilderTitle": "相容 OpenAI 的 CLI 構建器", "customCliBuilderDescription": "為任何接受 OpenAI 相容的基本 URL、API 金鑰和模型 ID 的 CLI 或 SDK 生成環境變數和 JSON 片段。", - "customCliNoModels": "連線至少一個提供者以填充模型選擇器。", + "customCliNoModels": "連線至少一個供應商以填充模型選擇器。", "customCliNameLabel": "CLI 名稱", "customCliNamePlaceholder": "例如我的團隊 CLI", "customCliDefaultModelLabel": "預設型號", "customCliDefaultModelHelp": "使用任何 OmniRoute 模型 ID 或組合。大多數與 OpenAI 相容的 CLI 只需要 /v1 基本 URL 加上模型字串。", "customCliKeyHelper": "對於本地安裝 OmniRoute 可以使用 sk_omniroute。在雲模式下,選擇您的管理 API 金鑰之一。", "customCliAliasMappingsLabel": "別名對映", - "customCliAliasMappingsHelp": "需要穩定簡寫名稱的包裝器指令碼或配置檔案的可選幫助程式別名。", + "customCliAliasMappingsHelp": "需要穩定簡寫名稱的包裝器指令碼或設定檔案的可選幫助程式別名。", "customCliAddAlias": "新增別名", "customCliNoMappings": "還沒有別名對映。如果您的包裝器或團隊指令碼使用穩定的短名稱,請新增一個。", "customCliAliasPlaceholder": "例如評論", @@ -2886,7 +2886,7 @@ "customCliEndpointHintLabel": "如何連線端點", "customCliEndpointHint": "將任何 OpenAI 相容客戶端指向 OmniRoute /v1 基本 URL。原始聊天完成端點是 {endpoint}。當工具需要提供程式物件時使用 JSON 塊,或者在讀取 OPENAI_* 變數時使用 env 指令碼。", "customCliEnvBlockTitle": "環境 / shell 片段", - "customCliJsonBlockTitle": "提供者 JSON 塊", + "customCliJsonBlockTitle": "供應商 JSON 塊", "networkError": "網路錯誤", "other": "其他", "preview": "預覽", @@ -2920,7 +2920,7 @@ "hermesRolesWillUpdate": "{count, plural, one {# 個角色將被更新} other {# 個角色將被更新}}", "hermesPreviewPath": "預覽——將寫入至 ~/.hermes/config.yaml", "hermesSaveDescription": "將選取的模型為每個角色儲存至", - "copilotConfigGenerator": "GitHub Copilot 配置生成器", + "copilotConfigGenerator": "GitHub Copilot 設定生成器", "copilotGeneratorDescriptionPrefix": "產生", "copilotGeneratorDescriptionSuffix": "VS Code GitHub Copilot 的區塊,使用 Azure 廠商模式。選取您想要的模型,然後將 JSON 複製到您的設定檔中。", "copilotCompatibilityWarning": "此設定使用 Azure 廠商解決方案來處理自訂模型清單。已在 VS Code ≥ 1.109GitHub Copilot Chat ≥ v0.37 上測試。未來的擴充功能更新可能會改變此行為。", @@ -2985,13 +2985,13 @@ "more": "另有 +{count} 個", "reqs": "請求", "success": "成功", - "proxyConfigured": "已配置代理", + "proxyConfigured": "已設定代理", "copyComboName": "複製組合名稱", "enableCombo": "啟用組合", "disableCombo": "停用組合", "testCombo": "測試組合", "duplicate": "複製", - "proxyConfig": "代理配置", + "proxyConfig": "代理設定", "nameRequired": "名稱不能為空", "nameInvalid": "僅允許字母、數字、-、_、/ 和 .", "nameHint": "僅允許字母、數字、-、_、/ 和 .", @@ -3031,7 +3031,7 @@ "contextRelaySummaryModel": "摘要模型", "contextRelaySummaryModelHelp": "僅用於生成交接摘要的可選覆蓋模型。留空則複用當前活躍的 combo 模型。", "contextRelayProviderNote": "Context Relay 當前主要為 Codex 帳戶輪換生成交接摘要。與同一提供者的多個帳戶配合使用時,連續性效果最佳。", - "advancedHint": "留空則使用全域性預設值。這些設定會覆蓋每個提供者的配置。", + "advancedHint": "留空則使用全域性預設值。這些設定會覆蓋每個提供商的設定。", "failoverBeforeRetry": "重試之前進行故障轉移", "maxSetRetries": "最大設定重試次數", "setRetryDelayMs": "設定重試延遲(毫秒)", @@ -3102,7 +3102,7 @@ "example": "同一模型掛在多個帳號上,用於分攤吞吐。" }, "random": { - "when": "你只需要簡單分流,且不想做太多配置。", + "when": "你只需要簡單分流,且不想做太多設定。", "avoid": "你需要嚴格的流量保證。", "example": "對等模型之間的快速原型驗證。" }, @@ -3170,7 +3170,7 @@ "disableSessionStickiness": "在每次請求時輪換到不同的連線,而不是根據首則訊息雜湊將整個對話固定到單一連線。覆寫全域預設值。保留為「繼承」以保留多輪對話的提示快取命中效果。" }, "templatesTitle": "快捷模板", - "templatesDescription": "先套用一個初始模板,再按需調整模型和配置。", + "templatesDescription": "先套用一個初始模板,再按需調整模型和設定。", "templateApply": "應用模板", "templateHighAvailability": "高可用", "templateHighAvailabilityDesc": "優先順序路由,配合健康檢查和安全重試。", @@ -3212,13 +3212,13 @@ "saveBlockModels": "請至少新增一個模型。", "saveBlockWeighted": "請將權重總和設定為 100%(當前:{total}%)。", "saveBlockPricing": "請至少為一個模型補充定價資訊,或改用其他策略。", - "recommendationsLabel": "推薦配置", + "recommendationsLabel": "推薦設定", "applyRecommendations": "應用推薦", - "recommendationsUpdated": "已為 {strategy} 更新推薦配置。", - "recommendationsApplied": "推薦配置已應用到當前組合。", + "recommendationsUpdated": "已為 {strategy} 更新推薦設定。", + "recommendationsApplied": "推薦設定已應用到當前組合。", "intelligentPanelTitle": "智慧路由儀表盤", "intelligentPanelDesc": "此自動路由組合的即時評分和健康狀態。", - "configOnlyStatus": "配置檢視", + "configOnlyStatus": "設定檢視", "configOnlyHint": "此面板僅顯示路由輸入,即時熔斷器狀態請到健康頁面檢視。", "routingInputs": "路由輸入", "routingInputsHint": "模式包與權重保留在此處;熔斷器執行狀態保留在健康頁面。", @@ -3238,13 +3238,13 @@ "modePackUpdated": "模式包已更新為 {pack}。", "modePackHint": "切換預設以調整路由引擎偏向,無需重建組合。", "providerScores": "供應商評分", - "allProvidersEvaluated": "未配置候選池。執行時評估所有活躍供應商。", + "allProvidersEvaluated": "未設定候選池。執行時評估所有活躍供應商。", "excludedProviders": "已排除的供應商", "excludedProvidersHint": "熔斷器處於 OPEN 狀態的供應商將被臨時排除在路由之外。", "noExcludedProviders": "當前沒有供應商被排除。", "cooldownMinutes": "冷卻:{minutes} 分鐘", - "builderIntelligentTitle": "智慧路由配置", - "builderIntelligentDesc": "為此自動路由組合配置多因子評分引擎。", + "builderIntelligentTitle": "智慧路由設定", + "builderIntelligentDesc": "為此自動路由組合設定多因子評分引擎。", "candidatePoolLabel": "候選池", "candidatePoolHint": "選擇引擎應評估的供應商。留空則使用所有活躍供應商。", "candidatePoolEmpty": "暫無可用活躍供應商。", @@ -3268,7 +3268,7 @@ "weightStability": "穩定性", "weightTierPriority": "層級", "weightCacheAffinity": "Cache Hit Affinity", - "reviewIntelligentTitle": "智慧路由配置", + "reviewIntelligentTitle": "智慧路由設定", "strategyRecommendations": { "priority": { "title": "穩妥基線", @@ -3292,7 +3292,7 @@ "tip3": "結合佇列超時,在飽和時快速失敗。" }, "random": { - "title": "低配置快速分散", + "title": "低設定快速分散", "description": "適用於不需要嚴格保證、只想簡單分流的場景。", "tip1": "儘量選擇延遲特徵相近的模型。", "tip2": "保留重試機制,以吸收隨機命中的失敗。", @@ -3386,7 +3386,7 @@ "wizardStep3Title": "選擇策略", "wizardStep3Desc": "選擇請求在模型之間的分發方式 — 提供 13 種策略", "wizardStep4Title": "審查並儲存", - "wizardStep4Desc": "審查您的配置並啟用組合", + "wizardStep4Desc": "審查您的設定並啟用組合", "emailVisibilityStateOn": "開啟", "emailVisibilityStateOff": "關閉", "reorderHandle": "拖拽排序", @@ -3444,7 +3444,7 @@ "reviewAdvanced": "高階設定", "reviewAgentFlags": "Agent 標誌", "reviewSequence": "模型序列", - "reviewNoSteps": "未配置任何步驟", + "reviewNoSteps": "未設定任何步驟", "builderStagesDescription": "按順序完成各個階段以定義組合、構建步驟、選擇路由策略並審查結果。", "builderStepsDescription": "按順序構建每個組合步驟:提供者、模型,然後是帳戶。這允許在不同帳戶上重複使用相同的提供者和模型。", "selectProvider": "選擇提供者", @@ -3608,7 +3608,7 @@ "imageGeneration": "影像生成", "imageDesc": "根據文本提示生成影像", "rerank": "重排", - "rerankDesc": "按與查詢的相關性重新排序文件", + "rerankDesc": "按與查詢的相關性重新排序檔案", "audioTranscription": "音訊轉錄", "audioTranscriptionDesc": "將音訊檔案轉錄為文本(Whisper)", "textToSpeech": "文本轉語音", @@ -3619,7 +3619,7 @@ "moderationsDesc": "內容安全稽核與分類", "responsesDesc": "適用於 Codex 和高階智慧體工作流的 OpenAI Responses API", "listModelsDesc": "列出所有已連線提供者下的可用模型", - "settingsApiDesc": "通過 API 讀取和修改 OmniRoute 配置", + "settingsApiDesc": "通過 API 讀取和修改 OmniRoute 設定", "settingsApi": "設定 API", "categoryCore": "核心 API", "categoryMedia": "媒體與多模態", @@ -3628,12 +3628,12 @@ "webSearch": "網頁搜尋", "webSearchDesc": "統一接入多個提供者的網頁搜尋,支援自動故障轉移與快取", "searchProvider": "搜尋提供者", - "searchProviderDesc": "該提供者會用於 `POST /v1/search` 的網頁搜尋。無需配置模型,只要連線 API 金鑰即可使用。", + "searchProviderDesc": "該提供商會用於 `POST /v1/search` 的網頁搜尋。無需設定模型,只要連線 API 金鑰即可使用。", "enableCloudTitle": "啟用雲代理", "whatYouGet": "啟用後可獲得", "cloudBenefitAccess": "從世界任何地方訪問你的 API", "cloudBenefitShare": "方便與團隊共享端點", - "cloudBenefitPorts": "無需開放埠或配置防火牆", + "cloudBenefitPorts": "無需開放埠或設定防火牆", "cloudBenefitEdge": "全球邊緣網路加速", "cloudSessionNote": "雲端會保留你的認證會話 1 天;若未使用,將自動刪除。", "cloudUnstableNote": "目前雲端在部分 Claude Code OAuth 場景下仍不夠穩定。", @@ -3707,7 +3707,7 @@ "openA2aDashboard": "開啟 A2A 管理", "mcpQuickStartTitle": "MCP 快速開始", "mcpQuickStartStep1": "通過 `omniroute --mcp` 啟動 MCP 服務。", - "mcpQuickStartStep2": "將你的 MCP 客戶端配置為通過 stdio 傳輸連線。", + "mcpQuickStartStep2": "將你的 MCP 客戶端設定為通過 stdio 傳輸連線。", "mcpQuickStartStep3": "呼叫 `omniroute_get_health`、`omniroute_list_combos` 等工具驗證連通性。", "a2aQuickStartTitle": "A2A 快速開始", "a2aQuickStartStep1": "通過 `/.well-known/agent.json` 發現 Agent Card。", @@ -3754,7 +3754,7 @@ "tailscaleLastError": "最近錯誤:{error}", "tailscaleInstallTitle": "安裝 Tailscale", "tailscaleInstallIntro": "在此機器上安裝 Tailscale,並準備讓 OmniRoute 啟用 Funnel。", - "tailscaleInstallPasswordHint": "在 macOS 和 Linux 上,安裝軟體包和啟動守護程序可能需要 sudo。", + "tailscaleInstallPasswordHint": "在 macOS 和 Linux 上,安裝軟體包和啟動守護程式可能需要 sudo。", "tailscaleSudoPlaceholder": "可選 sudo 密碼", "tailscaleInstalling": "正在安裝", "tailscaleSudoLabel": "Sudo 密碼(macOS/Linux 上必需)", @@ -3889,8 +3889,8 @@ "apiEndpointsDescription": "可被其他應用程式和服務使用的後端API端點。", "comingSoon": "即將推出", "plannedFeatures": "計劃的功能", - "featureRestApi": "REST API目錄與互動式文件", - "featureWebhooks": "Webhook配置和事件訂閱", + "featureRestApi": "REST API目錄與互動式檔案", + "featureWebhooks": "Webhook設定和事件訂閱", "featureSwagger": "OpenAPI / Swagger規範自動生成", "featureAuth": "每個端點的API金鑰和OAuth範圍管理" }, @@ -3901,28 +3901,28 @@ "confirmSwitchCombo": "確定要將組合“{combo}”設為{action}嗎?", "switchComboFailed": "切換組合狀態失敗。", "switchComboSuccess": "組合“{combo}”已更新。", - "confirmApplyProfile": "確定要應用彈性配置“{profile}”嗎?", - "applyProfileFailed": "應用彈性配置失敗。", - "applyProfileSuccess": "已應用配置“{profile}”。", + "confirmApplyProfile": "確定要應用彈性設定“{profile}”嗎?", + "applyProfileFailed": "應用彈性設定失敗。", + "applyProfileSuccess": "已應用設定“{profile}”。", "confirmResetBreakers": "確定要重置全部斷路器嗎?", "resetBreakersFailed": "重置斷路器失敗。", "resetBreakersSuccess": "斷路器已重置。", - "processStatus": "程序狀態", + "processStatus": "程式狀態", "online": "線上", "offline": "離線", "disableLabel": "停用 {label}", "enableLabel": "啟用 {label}", "transportMode": "傳輸模式", - "transportStdioDesc": "本地 — IDE 通過 omniroute --mcp 啟動程序", + "transportStdioDesc": "本地 — IDE 通過 omniroute --mcp 啟動程式", "transportSseDesc": "遠端 — 基於 HTTP 的 Server-Sent Events", "transportStreamableHttpDesc": "遠端 — 現代雙向 HTTP", "copy": "複製", "mcpDashboardCopyUrl": "複製網址", "mcpDisabledTitle": "MCP 已停用", - "mcpDisabledDesc": "在上方啟用 MCP 後即可配置傳輸模式並檢視伺服器遙測。", + "mcpDisabledDesc": "在上方啟用 MCP 後即可設定傳輸模式並檢視伺服器遙測。", "mcpIntro": "Model Context Protocol — {tools} 個工具,覆蓋 {scopes} 個作用域,支援 {transports} 種傳輸方式(stdio / SSE / Streamable HTTP)。", "mcpStep1": "通過 {code} 執行", - "mcpStep2": "將 MCP 客戶端配置為通過 stdio 傳輸連線。", + "mcpStep2": "將 MCP 客戶端設定為通過 stdio 傳輸連線。", "mcpStep3": "呼叫 {code1} 和 {code2} 等工具。", "pid": "PID", "sessionUptime": "會話執行時長", @@ -3946,11 +3946,11 @@ "active": "已啟用", "activateCombo": "啟用組合", "deactivateCombo": "停用組合", - "applyResilienceProfile": "應用彈性配置", + "applyResilienceProfile": "應用彈性設定", "profileAggressive": "激進", "profileBalanced": "平衡", "profileConservative": "保守", - "applyProfile": "應用配置", + "applyProfile": "應用設定", "resetCircuitBreakers": "重置斷路器", "resetCircuitBreakersHelp": "清除當前斷路器狀態及提供者失敗計數。", "resetAllBreakers": "重置全部斷路器", @@ -4086,15 +4086,15 @@ }, "embedding": { "autoLabel": "自動", - "autoDesc": "使用最佳可用選項:遠端提供者 > 靜態 > 轉換器", - "remoteLabel": "遠端提供者", - "remoteDesc": "通過提供者 API 使用嵌入(需要 API 金鑰)", + "autoDesc": "使用最佳可用選項:遠端供應商 > 靜態 > 轉換器", + "remoteLabel": "遠端供應商", + "remoteDesc": "通過供應商 API 使用嵌入(需要 API 金鑰)", "staticLabel": "靜態本地(藥水)", "staticDesc": "不使用WASM或外部依賴的本地嵌入", "transformersLabel": "Transformers.js (MiniLM)", "transformersDesc": "通過 @huggingface/transformers 本地嵌入 (~400MB RAM)", - "providerModelLabel": "提供者 / 模型", - "noRemoteProviders": "沒有配置 API 金鑰的提供者", + "providerModelLabel": "供應商 / 模型", + "noRemoteProviders": "沒有設定 API 金鑰的供應商", "selectProviderModel": "選擇一個模型", "staticEnabledLabel": "啟用靜態藥水", "staticEnabledDesc": "在本地下載並使用 potion-base-8M 模型", @@ -4208,9 +4208,9 @@ "enableLabel": "啟用重新排序", "enableDesc": "在搜尋後使用重新排序模型對結果進行重新排序", "warning": "Rerank 會增加 +200-500ms 的延遲和每個請求的額外成本。請謹慎使用。", - "providerModelLabel": "重新排序提供者 / 模型", - "noProviderWithKey": "沒有配置 API 金鑰的提供者。請配置一個提供者以使用 rerank。", - "selectProviderModel": "選擇一個提供者/模型" + "providerModelLabel": "重新排序供應商 / 模型", + "noProviderWithKey": "沒有設定 API 金鑰的供應商。請設定一個供應商以使用 rerank。", + "selectProviderModel": "選擇一個供應商/模型" }, "save": "儲存", "saving": "儲存中...", @@ -4270,7 +4270,7 @@ "status": "狀態", "duration": "耗時", "time": "時間", - "sandboxConfig": "沙箱配置", + "sandboxConfig": "沙箱設定", "cpuLimit": "CPU 限制", "cpuLimitDesc": "單個技能允許的最長執行時間", "memoryLimit": "記憶體限制", @@ -4314,7 +4314,7 @@ "activeProvider": "當前提供者:", "changeInSettings": "可在 設定 → 記憶與技能 中修改。", "installs": "安裝", - "marketplaceSkillsMpHint": "請在設定中配置 SkillsMP API 金鑰以瀏覽市場。", + "marketplaceSkillsMpHint": "請在設定中設定 SkillsMP API 金鑰以瀏覽市場。", "marketplaceSkillsShHint": "搜尋 skills.sh 公開目錄以發現並安裝代理技能。", "installSkillModalDesc": "貼上技能清單 JSON 或上傳 .json 檔案。", "uploadJson": "上傳 JSON", @@ -4369,10 +4369,10 @@ "issuesLabel": "檢測到的問題", "operational": "執行中", "providers": "提供者", - "configuredProvidersLabel": "在儀表板中配置", - "configuredProvidersHint": "指已在 /dashboard/providers 中配置憑證的提供者,無論當前執行時狀態如何。", + "configuredProvidersLabel": "在儀表板中設定", + "configuredProvidersHint": "指已在 /dashboard/providers 中設定憑證的提供商,無論當前執行時狀態如何。", "activeProviders": "{count} 個活躍", - "activeProvidersHint": "指當前已啟用並可參與請求路由的已配置提供者。", + "activeProvidersHint": "指當前已啟用並可參與請求路由的已設定提供商。", "monitoredProviders": "{count} 個監控中", "monitoredProvidersHint": "指當前由斷路器健康監控器持續跟蹤的提供者。", "healthyCount": "{count} 健康", @@ -4459,7 +4459,7 @@ }, "telemetry": { "title": "系統遙測", - "description": "來自此 OmniRoute 程序的滾動請求、執行時、會話和記憶體訊號。", + "description": "來自此 OmniRoute 程式的滾動請求、執行時、會話和記憶體訊號。", "uptime": "執行時間", "totalRequests": "請求總數", "avgLatency": "平均延遲", @@ -4478,7 +4478,7 @@ "title": "MITM 代理", "description": "用於攔截和路由客戶端請求的透明代理。", "enable": "啟用 MITM 代理", - "enableDesc": "啟動或停止本地攔截程序和 DNS 覆蓋。", + "enableDesc": "啟動或停止本地攔截程式和 DNS 覆蓋。", "status": "狀態", "running": "執行中", "stopped": "已停止", @@ -4489,7 +4489,7 @@ "apiKey": "路由器 API 金鑰", "apiKeyPlaceholder": "可選;留空則回退到本地金鑰", "sudoPassword": "Sudo 密碼", - "cachedPassword": "已為此程序快取", + "cachedPassword": "已為此程式快取", "saveSettings": "儲存設定", "settingsSaved": "MITM 設定已儲存。", "startedSuccess": "MITM 代理已啟動。", @@ -4510,7 +4510,7 @@ "targetRoutes": "目標路由", "interceptedRequests": "已攔截請求", "activeConnections": "活動連線", - "dnsConfigured": "DNS 已配置", + "dnsConfigured": "DNS 已設定", "pid": "PID", "lastIntercept": "上次攔截", "target": "目標", @@ -4518,10 +4518,10 @@ "localPort": "本地埠", "endpoints": "端點", "enabled": "已啟用", - "configured": "已配置", + "configured": "已設定", "yes": "是", "no": "否", - "noTargets": "未配置目標路由。" + "noTargets": "未設定目標路由。" }, "limits": { "title": "限制和配額", @@ -4668,9 +4668,9 @@ "testingConnection": "測試連線...", "connectionSuccessful": "連線成功!您的提供者已準備就緒。", "noProviderFound": "未找到提供者。您可以稍後從儀表板新增一個。", - "testFailed": "測試失敗,但您可以稍後配置。", + "testFailed": "測試失敗,但您可以稍後設定。", "couldNotTest": "現在無法測試。您可以從儀表板進行測試。", - "doneDesc": "你都準備好了!您的 OmniRoute 例項已配置並準備好代理 AI 請求。", + "doneDesc": "你都準備好了!您的 OmniRoute 例項已設定並準備好代理 AI 請求。", "yourEndpoint": "您的端點:", "continue": "繼續", "retry": "重試", @@ -4695,7 +4695,7 @@ "label": "後備和專業", "description": "本地託管或專用端點用作後備。" }, - "configure": "配置提供者" + "configure": "設定提供商" }, "tierFlowDiagramAlt": "OmniRoute 3 層回退圖", "apiKeyMgmt": "API金鑰管理" @@ -4757,7 +4757,7 @@ }, "editProvider": "編輯提供者", "deleteProvider": "刪除提供者", - "noProviders": "沒有配置提供者", + "noProviders": "沒有設定提供商", "modelAvailability": "模型可用性", "accounts": "帳戶", "newAccount": "新帳戶", @@ -4848,7 +4848,7 @@ "addAnthropicCompatible": "新增 Anthropic 相容端點", "addNewProvider": "新增新提供者", "backToProviders": "返回提供者", - "configureNewProvider": "配置新的 AI 提供者以與您的應用程式一起使用。", + "configureNewProvider": "設定新的 AI 提供商以與您的應用程式一起使用。", "providerLabel": "提供者", "selectProvider": "選擇提供者", "selectedProvider": "選定的提供者", @@ -4863,7 +4863,7 @@ "oauth2Desc": "使用 OAuth2 身份驗證連線您的帳戶。", "displayName": "顯示名稱", "displayNamePlaceholder": "例如,生產 API、開發環境", - "displayNameHint": "可選。用於標識此配置的友好名稱。", + "displayNameHint": "可選。用於標識此設定的友好名稱。", "active": "活躍", "activeDescription": "啟用此提供者以在您的應用程式中使用", "cancel": "取消", @@ -4871,7 +4871,7 @@ "failedCreate": "建立提供者失敗", "errorOccurred": "發生錯誤。請再試一次。", "modelStatus": "模型狀態", - "showConfiguredOnly": "僅顯示已配置", + "showConfiguredOnly": "僅顯示已設定", "allModelsOperational": "所有模型執行正常", "modelsWithIssues": "{count} 有問題的模型", "allModelsNormal": "所有模型當前響應正常。", @@ -4958,7 +4958,7 @@ "noNewModelsToImport": "沒有新模型可匯入 — 所有模型已在登錄檔或自定義模型列表中", "skippingExistingModels": "跳過 {count} 個已有模型", "autoSync": "自動同步", - "autoSyncTooltip": "每 24 小時自動重新整理模型列表(可通過 MODEL_SYNC_INTERVAL_HOURS 配置)", + "autoSyncTooltip": "每 24 小時自動重新整理模型列表(可通過 MODEL_SYNC_INTERVAL_HOURS 設定)", "autoSyncEnabled": "自動同步已啟用 — 模型將定期重新整理", "autoSyncDisabled": "自動同步已停用", "autoSyncToggleFailed": "切換自動同步失敗", @@ -4967,7 +4967,7 @@ "clearAllModelsSuccess": "所有模型已清除", "clearAllModelsFailed": "清除模型失敗", "addConnectionToImport": "新增連線以啟用匯入。", - "noModelsConfigured": "尚未配置模型", + "noModelsConfigured": "尚未設定模型", "connectionCount": "{count} 連線", "fetchingModels": "正在獲取可用模型...", "failedFetchModels": "獲取模型失敗", @@ -5042,8 +5042,8 @@ "singleConnectionPerCompatible": "每個相容節點僅允許一個連線。如果需要更多連線,請新增另一個節點。", "connections": "連線", "providerProxyTitleConfigured": "提供者代理:{host}", - "configured": "已配置", - "providerProxyConfigureHint": "為該提供者的所有連線配置代理", + "configured": "已設定", + "providerProxyConfigureHint": "為該提供商的所有連線設定代理", "providerProxy": "提供者代理", "repairEnv": "修復 .env", "repairEnvWorking": "修復中...", @@ -5099,7 +5099,7 @@ "disableConnection": "停用連線", "enableConnection": "啟用連線", "reauthenticateConnection": "重新驗證此連線", - "proxyConfig": "代理配置", + "proxyConfig": "代理設定", "aliasExistsAlert": "別名“{alias}”已存在。請使用不同的模型或編輯現有別名。", "aliasInputPlaceholder": "alias name", "clickToSetAlias": "Click to set alias", @@ -5161,7 +5161,7 @@ "interceptionLoadError": "載入攔截設定失敗:{error}", "interceptionSaveError": "儲存攔截設定失敗:{error}", "compatUpstreamHeadersLabel": "上游額外請求頭", - "compatUpstreamHeadersHint": "與修改廠商連線/API 配置同屬高許可權能力,僅可信管理員應使用。這些頭會在 OmniRoute 按廠商 API Key 自動加好鑑權頭之後再合併。若「名稱」與系統已加的頭相同(例如都叫 Authorization),則以你填的值為準,會整段替換自動那條(含 Bearer 權杖),上游請求裡不再使用面板裡儲存的金鑰來生成 Authorization。填錯可能導致 401,請謹慎。每個請求頭單獨一行;部分閘道器需要額外 Authentication 等可在此加。滑鼠移入或聚焦「值」可暫時看明文。點空白處、關閉本面板或切走焦點即儲存。", + "compatUpstreamHeadersHint": "與修改廠商連線/API 設定同屬高許可權能力,僅可信管理員應使用。這些頭會在 OmniRoute 按廠商 API Key 自動加好鑑權頭之後再合併。若「名稱」與系統已加的頭相同(例如都叫 Authorization),則以你填的值為準,會整段替換自動那條(含 Bearer 權杖),上游請求裡不再使用面板裡儲存的金鑰來生成 Authorization。填錯可能導致 401,請謹慎。每個請求頭單獨一行;部分閘道器需要額外 Authentication 等可在此加。滑鼠移入或聚焦「值」可暫時看明文。點空白處、關閉本面板或切走焦點即儲存。", "compatUpstreamHeaderName": "請求頭名稱", "compatUpstreamHeaderValue": "值", "compatUpstreamAddRow": "新增請求頭", @@ -5215,7 +5215,7 @@ "failed": "失敗", "leaveBlankKeepCurrentApiKey": "留空以保留當前的 API 金鑰。", "editCompatibleTitle": "編輯 {type} 相容", - "compatibleBaseUrlHint": "{type} 相容 API 的根 URL。若端點路徑是自定義的,請在高階設定中配置。", + "compatibleBaseUrlHint": "{type} 相容 API 的根 URL。若端點路徑是自定義的,請在高階設定中設定。", "apiKeyForCheck": "API 金鑰(用於檢查)", "testModelIdLabel": "模型 ID(選用)", "testModelIdPlaceholder": "例如:my-model-id", @@ -5403,7 +5403,7 @@ "bulkPasteHint": "每行貼上一個 API 金鑰。空行會被忽略,重複金鑰會被跳過。", "ccCompatibleBaseUrlHint": "Claude Code 專用中轉站的 Base URL,不要包含 /messages。", "ccCompatibleBaseUrlPlaceholder": "https://relay.example.com/v1", - "ccCompatibleChatPathHint": "預設使用 Claude Code 嚴格的 Messages API 路徑。僅在中轉站文件要求時修改。", + "ccCompatibleChatPathHint": "預設使用 Claude Code 嚴格的 Messages API 路徑。僅在中轉站檔案要求時修改。", "ccCompatibleContext1mDescription": "當所選 Claude 模型支援時,新增 context-1m beta header。", "ccCompatibleContext1mLabel": "啟用 1M context beta", "ccCompatibleRedactThinkingDescription": "為要求隱藏 Claude 思考流的 CC Compatible 上游新增 redact-thinking beta header。", @@ -5427,8 +5427,8 @@ "compatUpstreamHeaderNamePlaceholder": "上游 Header 名稱", "compatUpstreamHeaderValuePlaceholder": "上游 Header 值", "compatible": "相容", - "configuredCount": "已配置數量", - "consoleApiKeyOracleHint": "用於從 Console 獲取或驗證 API key 的輔助配置。", + "configuredCount": "已設定數量", + "consoleApiKeyOracleHint": "用於從 Console 獲取或驗證 API key 的輔助設定。", "consoleApiKeyOracleLabel": "Console API key Oracle", "consoleApiKeyOraclePlaceholder": "Console API key Oracle 佔位符", "newApiUserIdLabel": "New-API 使用者 ID", @@ -5461,9 +5461,9 @@ "apiKeyInvalidAlertTitle": "API 金鑰健康提醒", "apiKeyWarningAlert": "{count} 個 API 金鑰在以下連線中處於警告狀態:{connections}。請檢查以防止輪換問題。", "apiKeyWarningAlertTitle": "API 金鑰警告", - "googlePseInfo": "配置 Google Programmable Search Engine 以啟用 Web Search。", + "googlePseInfo": "設定 Google Programmable Search Engine 以啟用 Web Search。", "antigravityProjectIdHint": "反重力雲程式碼請求的可選覆蓋。留空以使用 Google OAuth 期間發現的專案。", - "antigravityClientProfileLabel": "客戶端配置", + "antigravityClientProfileLabel": "客戶端設定", "antigravityClientProfileHint": "選擇 OmniRoute 向 API 呈現的 Antigravity 客戶端身份。", "antigravityClientProfileIde": "IDE", "antigravityClientProfileCli": "CLI", @@ -5501,7 +5501,7 @@ "openSettings": "開啟設定", "openaiResponsesStoreDescription": "允許相容的 Responses API 請求保留已儲存的響應狀態。", "openaiResponsesStoreLabel": "OpenAI Responses 儲存", - "perplexitySearchSharedKeyInfo": "Perplexity Search 可使用共享 key 配置。", + "perplexitySearchSharedKeyInfo": "Perplexity Search 可使用共享 key 設定。", "perplexityWebCookieHint": "從 Perplexity Web 會話複製 Cookie。", "perplexityWebCookiePlaceholder": "Perplexity Web Cookie", "personalAccessTokenLabel": "個人訪問權杖", @@ -5514,9 +5514,9 @@ "rateLimitOverridesMinTimeLabel": "最小間隔(毫秒)", "rateLimitOverridesRpmHint": "此連線的每分鐘最大請求數。覆蓋提供者預設值。", "rateLimitOverridesRpmLabel": "RPM(請求/分鐘)", - "rateLimitOverridesTpdHint": "此連線的每日最大權杖數。覆蓋提供者預設值。", + "rateLimitOverridesTpdHint": "此連線的每日最大權杖數。覆蓋提供商預設值。", "rateLimitOverridesTpdLabel": "TPD(權杖/天)", - "rateLimitOverridesTpmHint": "此連線的每分鐘最大權杖數。覆蓋提供者預設值。", + "rateLimitOverridesTpmHint": "此連線的每分鐘最大權杖數。覆蓋提供商預設值。", "rateLimitOverridesTpmLabel": "TPM(權杖/分鐘)", "refreshOauthTokenTitle": "重新整理 OAuth Token", "regionHint": "選擇此 Provider 使用的區域。", @@ -5535,7 +5535,7 @@ "searchByModel": "依模型搜尋…", "searchProvidersHeading": "搜尋 Provider", "searxngBaseUrlHint": "SearXNG 例項的 Base URL。", - "searxngInfo": "配置 SearXNG 以啟用自託管 Web Search。", + "searxngInfo": "設定 SearXNG 以啟用自託管 Web Search。", "sessionCookieLabel": "Session Cookie", "showEmail": "顯示郵箱", "snowflakeBaseUrlHint": "Snowflake Cortex 服務的 Base URL。", @@ -5576,7 +5576,7 @@ "zedImportDescription": "探索 Zed IDE 存放在 OS 鑰匙圈中的 AI 提供者憑證(OpenAI、Anthropic、Google、Mistral、xAI),並將其匯入為連線。此機器上必須已安裝 Zed IDE。", "zedImportButton": "從 Zed 匯入", "zedImportFailed": "Zed 匯入失敗", - "zedImportHint": "從 Zed 配置中匯入 Provider。", + "zedImportHint": "從 Zed 設定中匯入 Provider。", "zedImportNetworkError": "Zed 匯入網路錯誤", "zedImportNone": "沒有可從 Zed 匯入的內容", "zedImportSuccess": "Zed 匯入成功", @@ -5633,9 +5633,9 @@ "webFetch": "網頁抓取", "webFetchTooltip": "從網頁 URL 抽取內容的提供者(HTML → Markdown、抓取、截圖)", "webFetchProvidersHeading": "網頁抓取提供者", - "compatibleProvidersDesc": "您託管或配置的 OpenAI 相容和 Anthropic 相容端點。將任意 OpenAI SDK 指向您的 URL 並在此處路由請求。", - "oauthProvidersDesc": "通過 OAuth 認證的提供者——登入一次,OmniRoute 自動處理權杖輪換。", - "webCookieProvidersDesc": "這些提供者使用瀏覽器網路會話、cookie 或網路權杖而不是 API 金鑰。開啟提供程式以新增所需的會話憑據。", + "compatibleProvidersDesc": "您託管或設定的 OpenAI 相容和 Anthropic 相容端點。將任意 OpenAI SDK 指向您的 URL 並在此處路由請求。", + "oauthProvidersDesc": "通過 OAuth 認證的提供商——登入一次,OmniRoute 自動處理權杖輪換。", + "webCookieProvidersDesc": "這些提供商使用瀏覽器網路會話、cookie 或網路權杖而不是 API 金鑰。開啟提供程式以新增所需的會話憑據。", "apiKeyProvidersDesc": "標準 API 金鑰提供者。新增金鑰後,OmniRoute 代為路由、重試和限流。", "noAuthProvidersDesc": "無需憑證的開放端點——無需註冊即可立即使用。", "upstreamProxyProvidersDesc": "通過上游代理路由出站流量。適用於企業網路或流量審計場景。", @@ -5644,7 +5644,7 @@ "enterpriseCloudDesc": "企業級和雲託管模型,提供增強 SLA、合規認證和專用容量。", "cloudAgentProvidersDesc": "自主雲代理,可執行長時間執行的任務,支援計劃審批和即時狀態跟蹤。", "localProvidersDesc": "在您自己的硬體上執行的自託管模型。資料不會離開您的基礎設施。", - "searchProvidersDesc": "網頁和文件搜尋提供者。可附加到 LLM 呼叫以實現檢索增強生成(RAG)。", + "searchProvidersDesc": "網頁和檔案搜尋提供商。可附加到 LLM 呼叫以實現檢索增強生成(RAG)。", "audioProvidersDesc": "文本轉語音和語音轉文本提供者,用於語音輸入輸出和音訊轉錄管道。", "embeddingRerankProvidersDesc": "向量嵌入和重排序提供者,用於語義搜尋、RAG 管道和相似度評分。", "imageProvidersDesc": "影像生成和視覺提供者——從文本建立影像或分析現有影像。", @@ -5670,7 +5670,7 @@ "onboardingSearchProviders": "搜尋提供者...", "onboardingApiKeyOptional": "API 金鑰可選", "onboardingProviderConnected": "提供者已連線", - "onboardingProviderSavedWithWarnings": "提供者儲存時帶有警告", + "onboardingProviderSavedWithWarnings": "供應商儲存時帶有警告", "onboardingProviderFinished": "提供者入職完成", "onboardingYourProviderConnection": "您的提供者連線", "onboardingTestPassed": "測試通過", @@ -5682,12 +5682,12 @@ "onboardingValidatingCredentials": "正在驗證憑據...", "onboardingSavingConnection": "正在儲存提供者連線...", "onboardingProviderFailed": "提供者加入失敗", - "onboardingCreatingCompatibleProvider": "建立相容的提供者...", + "onboardingCreatingCompatibleProvider": "建立相容的供應商...", "onboardingSavingCompatibleConnection": "正在儲存相容的提供者連線...", "onboardingCustomProviderFallbackName": "定製提供者", "onboardingCustomProviderFailed": "自定義提供者加入失敗", "onboardingLoadingOAuthConnection": "正在載入 OAuth 連線...", - "onboardingOAuthNoConnectionFound": "OAuth 已完成,但未找到提供者連線。", + "onboardingOAuthNoConnectionFound": "OAuth 已完成,但未找到供應商連線。", "onboardingOAuthFailed": "OAuth 登入失敗", "onboardingAddProvider": "新增 {provider}", "onboardingConnectionName": "連線名稱", @@ -5916,7 +5916,7 @@ "codex": "使用現有的 OAuth 流程連線 OpenAI Codex。", "qwen": "使用現有的 OAuth 流程連線 Qwen Code。" }, - "passthroughModelsDescription": "{provider} 接受提供者本機模型 ID。從 /models 匯入或新增用於路由的自定義 ID。", + "passthroughModelsDescription": "{provider} 接受供應商本機模型 ID。從 /models 匯入或新增用於路由的自定義 ID。", "bedrockModelsDescription": "Amazon Bedrock 模型的範圍按 AWS 區域劃分。從 /models 匯入或新增在所選區域中啟用的基岩模型 ID。", "bedrockModelPlaceholder": "人類.克勞德十四行詩-4-6", "addProviderSessionCookieTitle": "新增 {provider} 會話 cookie", @@ -5926,7 +5926,7 @@ "webTokenCredentialLabel": "網路會話權杖", "webNoAuthCredentialLabel": "無需任何憑證", "webCookieCredentialHint": "所需 cookie:{credential}。貼上您自己登入的 {provider} Web 會話中的 Cookie 標頭值。請勿包含 Cookie: 字首。", - "webTokenCredentialHint": "憑證:{credential}。貼上您自己登入的 {provider} Web 會話中的權杖值,或者貼上 DevTools HAR 匯出(如果提供者支援)的權杖值。", + "webTokenCredentialHint": "憑證:{credential}。貼上您自己登入的 {provider} Web 會話中的權杖值,或者貼上 DevTools HAR 匯出(如果提供商支援)的權杖值。", "webCookieEditHint": "留空以保留當前會話 cookie。所需 cookie:{credential}。", "webTokenEditHint": "留空以保留當前的 ​​Web 會話權杖。憑證:{credential}。", "webSessionGuideTitle": "如何獲取會話憑證", @@ -6004,7 +6004,7 @@ "routingRegexFlagsHint": "JavaScript 正則修飾符(g = 全部匹配,i = 忽略大小寫,s = 點匹配換行,m = 多行)。預設 'g'。", "routingBlockTextHint": "新系統塊的完整文本。使用字面字串;系統塊僅儲存文本。", "routingIdempotencyKeyHint": "可選。設定後,如果已有以該鍵開頭的塊存在,則跳過此操作,避免重試時重複插入。", - "routingBillingEntrypointHint": "作為 'cc_entrypoint=' 注入的值。Anthropic 接受 'sdk-cli'(Agent SDK)、'cli'(Claude Code CLI)或其他文件化的值。", + "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'。", @@ -6185,7 +6185,7 @@ "customBannedSignalsPlaceholder": "例如:api key revoked", "noCustomBannedSignals": "無自訂關鍵字。僅內建關鍵字生效。", "resilienceStructureTitle": "彈性結構", - "resilienceStructureDesc": "此頁面僅配置行為。即時斷路器狀態顯示在執行狀況頁面上。組合特定的重試和迴圈槽控制保留在組合設定上。", + "resilienceStructureDesc": "此頁面僅設定行為。即時斷路器狀態顯示在執行狀況頁面上。組合特定的重試和迴圈槽控制保留在組合設定上。", "enableThinking": "激發思考", "maxThinkingTokens": "最大思考權杖", "enableProxy": "啟用代理", @@ -6275,15 +6275,15 @@ "evictions": "驅逐", "loadingCacheStats": "正在載入快取統計資訊...", "globalProxy": "全域性代理", - "globalProxyDesc": "為所有 API 呼叫配置全域性出站代理。單獨的提供者、組合和鍵可以覆蓋此設定。", - "noGlobalProxy": "沒有配置全域性代理", + "globalProxyDesc": "為所有 API 呼叫設定全域性出站代理。單獨的提供商、組合和鍵可以覆蓋此設定。", + "noGlobalProxy": "沒有設定全域性代理", "proxyPool": "代理池", "freePool": "免費池", - "proxyDocumentation": "代理文件", - "proxyGlobalConfigTab": "全域性配置", + "proxyDocumentation": "代理檔案", + "proxyGlobalConfigTab": "全域性設定", "proxyPoolTab": "代理池", "freePoolTab": "免費泳池", - "proxyDocumentationTab": "文件", + "proxyDocumentationTab": "檔案", "proxySubscriptionsTab": "訂閱", "proxySubscription": { "error": { @@ -6293,7 +6293,7 @@ } }, "bulkHealthcheck": "批次健康檢查", - "bulkHealthcheckDesc": "針對目標 URL 測試所有已配置代理,找出可用代理。", + "bulkHealthcheckDesc": "針對目標 URL 測試所有已設定代理,找出可用代理。", "healthcheckTesting": "測試中...", "healthcheckAll": "全部健康檢查", "healthcheckFailed": "執行健康檢查失敗", @@ -6378,7 +6378,7 @@ "passthrough": "直通", "passthroughDesc": "沒有變化——客戶控制思維預算", "auto": "自動", - "autoDesc": "丟棄所有思考配置,由提供者自行決定", + "autoDesc": "丟棄所有思考設定,由提供商自行決定", "custom": "定製", "customDesc": "為所有請求設定固定的 Token 預算", "adaptive": "自適應", @@ -6427,12 +6427,12 @@ "enableFingerprintTitle": "為 {provider} 啟用指紋", "disableFingerprintTitle": "為 {provider} 停用指紋", "systemTransforms": "系統塊轉換管道", - "systemTransformsDesc": "在轉發之前,每個提供者訂購的轉換管道應用於請求正文。支援任何提供者 ID。", + "systemTransformsDesc": "在轉發之前,每個供應商訂購的轉換管道應用於請求正文。支援任何提供商 ID。", "systemTransformsAddProvider": "新增提供者", "systemTransformsAddProviderPlaceholder": "選擇提供者...", - "systemTransformsAddProviderAllConfigured": "所有提供者均已配置", + "systemTransformsAddProviderAllConfigured": "所有提供商均已設定", "systemTransformsRemoveProvider": "刪除提供者", - "systemTransformsNoProviders": "沒有配置提供者。新增提供者即可開始。", + "systemTransformsNoProviders": "沒有設定供應商。新增提供商即可開始。", "systemTransformsOpMoveUp": "向上移動", "systemTransformsOpMoveDown": "下移", "systemTransformsOpDelete": "刪除操作", @@ -6555,7 +6555,7 @@ "comboDefaultsGuideTitle": "如何調整組合預設值", "comboDefaultsGuideHint1": "在低延遲流中保持較低的重試次數;僅增加長生成任務的超時。", "comboDefaultsGuideHint2": "當一個提供程式需要與全域性預設值不同的超時/重試行為時,請使用提供程式覆蓋。", - "globalComboConfig": "全域性組合配置", + "globalComboConfig": "全域性組合設定", "moveUp": "向上移動", "moveDown": "向下移動", "allProvidersAdded": "所有供應商已新增", @@ -6594,8 +6594,8 @@ "contextRelayHandoffThreshold": "交接閾值", "contextRelayMaxMessages": "摘要最大訊息數", "contextRelaySummaryModel": "摘要模型", - "contextRelayProviderNote": "Context Relay 當前會為 Codex 帳戶生成交接摘要,並將這些值作為新的或未配置 combo 的全域性預設值。", - "providerProfiles": "提供者策略配置", + "contextRelayProviderNote": "Context Relay 當前會為 Codex 帳戶生成交接摘要,並將這些值作為新的或未設定 combo 的全域性預設值。", + "providerProfiles": "提供商策略設定", "providerProfilesDesc": "為 OAuth(基於會話)和 API Key(計費型)提供者分別設定彈性策略。由於速率限制更低,OAuth 提供者通常採用更嚴格的閾值。", "oauthProviders": "OAuth 提供者", "apiKeyProviders": "API 金鑰提供者", @@ -6684,7 +6684,7 @@ "errorDuringRestore": "恢復期間發生錯誤", "errorDuringImport": "匯入時發生錯誤", "modelPricing": "模型定價", - "modelPricingDesc": "配置每個模型的成本費率 • 所有費率均以美元/100 萬 Tokens 為單位", + "modelPricingDesc": "設定每個模型的成本費率 • 所有費率均以美元/100 萬 Tokens 為單位", "pricingCoverage": "覆蓋率", "pricingAuth": "驗證", "pricingSort": "排序", @@ -6726,7 +6726,7 @@ "model": "模型", "models": "模型", "moreProviders": "{count} 更多提供者", - "withPricing": "已配置定價", + "withPricing": "已設定定價", "policiesCircuitBreakers": "策略與斷路器", "activeIssuesDetected": "檢測到活躍問題", "off": "關閉", @@ -6741,7 +6741,7 @@ "totalModels": "模型總數", "active": "活躍", "costCalculation": "成本計算", - "costCalculationDesc": "成本是根據為每個模型配置的權杖使用情況和定價費率計算的。", + "costCalculationDesc": "成本是根據為每個模型設定的權杖使用情況和定價費率計算的。", "pricingFormat": "定價格式", "pricingFormatDesc": "所有費率均以美元/100 萬 Tokens 為單位(每百萬 Tokens 美元)。", "tokenTypes": "Token 型別", @@ -6802,16 +6802,16 @@ "selectCombo": "選擇組合...", "priorityHint": "數值越高越優先檢查。具體模式建議使用 10+。", "patternHint": "使用 * 匹配任意字元,? 匹配單個字元。不區分大小寫。", - "noRoutingRules": "未配置路由規則。請求預設使用全域性組合。", + "noRoutingRules": "未設定路由規則。請求預設使用全域性組合。", "routingRuleHint": "新增類似 claude-opus* -> frontier-combo 的規則,以自動路由請求。", "deleteRoutingRule": "刪除此模型路由規則?", "exactMatchMode": "精確匹配", "wildcardPatternMode": "萬用字元模式", "exactMatchModeDesc": "對已棄用或已重新命名的模型 ID 使用精確別名。", "wildcardPatternModeDesc": "當一組模型應對映到同一目標時,使用帶 * 和 ? 的萬用字元別名。", - "noExactAliasesConfigured": "未配置精確匹配別名。", + "noExactAliasesConfigured": "未設定精確匹配別名。", "wildcardRulesTitle": "萬用字元規則", - "noWildcardAliasesConfigured": "未配置萬用字元別名。", + "noWildcardAliasesConfigured": "未設定萬用字元別名。", "overview": "概覽", "unknownError": "未知錯誤", "pricingSourceLiteLLM": "LiteLLM 定價來源", @@ -6872,9 +6872,9 @@ "compressionModeAggressiveDesc": "摘要 + 工具結果壓縮 + 漸進老化,以實現最大節省", "compressionModeUltra": "極速", "compressionModeUltraDesc": "使用包括語義去重在內的全部技術進行最大壓縮", - "compressionAggressiveConfig": "Aggressive 引擎配置", + "compressionAggressiveConfig": "Aggressive 引擎設定", "compressionAggressiveConfigDesc": "微調摘要、工具壓縮和老化閾值", - "compressionUltraConfig": "Ultra 引擎配置", + "compressionUltraConfig": "Ultra 引擎設定", "compressionUltraConfigDesc": "微調啟發式剪枝、SLM 後備和每條訊息閾值", "compressionUltraRate": "保留比例", "compressionUltraMinScore": "最低分數閾值", @@ -6908,7 +6908,7 @@ "compressionExclusionsSaved": "__MISSING__:Saved", "compressionExclusionsCount": "__MISSING__:{count, plural, one {# exclusion} other {# exclusions}} configured", "compressionExclusionsEmpty": "__MISSING__:No exclusions configured — every model/endpoint is eligible for compression (default behavior).", - "compressionCavemanConfig": "Caveman 引擎配置", + "compressionCavemanConfig": "Caveman 引擎設定", "compressionCavemanConfigDesc": "微調基於規則的壓縮引擎", "compressionCavemanPanelHint": "其開關與等級在面板中設定:", "compressionRoles": "壓縮訊息角色", @@ -6938,8 +6938,8 @@ "qdrantEnableDesc": "啟用後,語義/混合策略可以使用 Qdrant 來檢索記憶。", "qdrantTesting": "測試...", "qdrantTestConnection": "測試連線", - "qdrantSaved": "配置已儲存", - "qdrantSaveError": "儲存配置失敗", + "qdrantSaved": "設定已儲存", + "qdrantSaveError": "儲存設定失敗", "qdrantHostHint": "沒有埠。示例:127.0.0.1 或 http://qdrant", "qdrantPort": "港口", "qdrantPortHint": "Qdrant 預設值:6333", @@ -6953,14 +6953,14 @@ "qdrantHelpStep4": "4. 儲存,測試連線,然後測試搜尋。", "qdrantEmbeddingQuickSelect": "從發現的模型中快速選擇...", "qdrantEmbeddingInputPlaceholder": "openai/text-embedding-3-small", - "qdrantEmbeddingHint": "格式:提供者/模型。必須配置提供者憑證。", + "qdrantEmbeddingHint": "格式:提供商/模型。必須設定供應商憑證。", "qdrantApiKeyPlaceholderKeep": "(留空以保留當前金鑰)", "qdrantApiKeyPlaceholderOptional": "(如不用則留空)", "qdrantSaveHint": "提示:編輯主機/埠/集合/模型,然後單擊“儲存”。 API 金鑰是可選的。", "qdrantSearchTestTitle": "搜尋測試", "qdrantSearchTestDesc": "在 Qdrant 中生成嵌入和搜尋。", "qdrantSearchPlaceholder": "示例:使用者偏好、歷史記錄等", - "qdrantNoResults": "無結果(或未配置 Qdrant)。", + "qdrantNoResults": "無結果(或未設定 Qdrant)。", "qdrantCleanupTitle": "保留和清理", "qdrantCleanupDesc": "根據以下內容刪除過期和舊的積分", "searching": "正在尋找...", @@ -7051,13 +7051,13 @@ "routingServerRejectedSave": "⚠ 伺服器拒絕儲存:", "routingAddTransformOp": "新增變換操作", "routingClientCacheControlTitle": "客戶端快取控制", - "routingClientCacheControlDesc": "配置 OmniRoute 是否保留客戶端提交的 cache_control 標記", + "routingClientCacheControlDesc": "設定 OmniRoute 是否保留客戶端提交的 cache_control 標記", "routingClientCacheControlAutoDesc": "對於確定性的 Claude 相容流程,按原樣保留客戶端提交的 cache_control。如果請求未攜帶 cache_control,OmniRoute 不會注入任何由橋接器擁有的標記,以相容 CC 相容的第三方代理。", "routingClientCacheControlAlwaysLabel": "始終保留", "routingClientCacheControlAlwaysDesc": "始終按原樣將客戶端提交的 cache_control 請求頭轉發給上游提供者。", "routingClientCacheControlNeverLabel": "從不保留", "routingClientCacheControlNeverDesc": "始終移除客戶端的 cache_control 請求頭,在原生提供者流程支援時由 OmniRoute 管理快取。", - "routingZeroConfigTitle": "零配置自動路由", + "routingZeroConfigTitle": "零設定自動路由", "routingZeroConfigDesc": "啟用使用 auto/ 字首的自動提供者選擇。啟用後,發往 auto、auto/coding、auto/fast 等的請求將在所有已連線提供者之間動態路由。", "routingDefaultAutoVariant": "預設自動變體", "visionBridge": "願景橋", @@ -7283,7 +7283,7 @@ "memorySkillsSkillsmpMarketplace": "SkillsMP 市場", "memorySkillsFailedToSave": "儲存失敗", "memorySkillsApiKey": "API金鑰", - "memorySkillsActiveSkillsProvider": "主動技能提供者", + "memorySkillsActiveSkillsProvider": "主動技能供應商", "cliproxyapiFallback": "CLIProxyAPI 後備", "cliproxyapiEnableFallback": "啟用 CLIProxyAPI 回退", "cliproxyapiUrl": "CLIProxyAPI URL", @@ -7293,7 +7293,7 @@ "cliproxyapiImportAuthDesc": "將 CLIProxyAPI 已儲存在 ~/.cli-proxy-api/ 中的 OAuth 帳戶匯入為 OmniRoute 連線,這樣您就不必再次登入每個帳戶。支援的帳戶類型(Gemini、Codex、Claude、Antigravity、Qwen、Kimi)會被匯入;其他則會跳過。", "cliproxyapiImportAuthButton": "匯入帳戶", "payloadRulesTitle": "負載規則", - "payloadRulesDesc": "按模型與協議配置請求 payload 的變更。修改會持久化到設定中,並在儲存後立即熱載入到執行時。", + "payloadRulesDesc": "按模型與協議設定請求 payload 的變更。修改會持久化到設定中,並在儲存後立即熱載入到執行時。", "payloadRuleDefaultTitle": "default", "payloadRuleDefaultDesc": "僅在外發 payload 缺少目標路徑時應用引數。", "payloadRuleOverrideTitle": "override", @@ -7313,7 +7313,7 @@ "payloadValidJsonRequired": "儲存前 Payload 規則必須是合法 JSON。", "savePayloadRules": "儲存 Payload 規則", "requestLimitsTitle": "請求限制", - "requestLimitsDesc": "配置全域性請求限制與併發保護。", + "requestLimitsDesc": "設定全域性請求限制與併發保護。", "maxRequestSizeLabel": "最大請求大小(MB)", "maxRequestSizeDesc": "傳入 API 請求允許的最大大小。", "maxResponseSizeLabel": "最大響應大小(MB)", @@ -7392,9 +7392,9 @@ "desc": "管理範圍的 API 金鑰(或儀表盤會話)可從非環回地址訪問的 LOCAL_ONLY 字首。", "add": "新增字首", "placeholder": "/api/mcp/v2/", - "empty": "未配置任何字首,繞過實際處於關閉狀態。" + "empty": "未設定任何字首,繞過實際處於關閉狀態。" }, - "cli_tools_runtime_note": "可建立子程序的字首。編譯期已停用,無法設為可繞過。僅供檢視。" + "cli_tools_runtime_note": "可建立子程式的字首。編譯期已停用,無法設為可繞過。僅供檢視。" }, "password": { "prompt": { @@ -7414,13 +7414,13 @@ "auth_required": "需要鑑權", "public": "公開", "always_protected": "始終受保護", - "spawn_capable": "可建立子程序" + "spawn_capable": "可建立子程式" }, "error": { "PASSWORD_REQUIRED": "需要輸入當前密碼才能應用這些更改。", "PASSWORD_MISMATCH": "當前密碼不正確。", "INSUFFICIENT_SCOPE": "API 金鑰缺少 manage 範圍。", - "BYPASS_PREFIX_NOT_ALLOWED": "其中一個或多個字首指向可建立子程序的路由,無法被繞過。", + "BYPASS_PREFIX_NOT_ALLOWED": "其中一個或多個字首指向可建立子程式的路由,無法被繞過。", "GENERIC": "更新授權設定失敗。" } }, @@ -7453,7 +7453,7 @@ "resilienceWaitForCooldownScope": "當前客戶請求", "resilienceWaitForCooldownTrigger": "當所有候選連線已經冷卻時", "resilienceWaitForCooldownEffect": "等待伺服器並在第一個冷卻時間到期時重試", - "resilienceWaitForCooldownDesc": "這僅影響當前請求。它不儲存連線或提供者狀態。", + "resilienceWaitForCooldownDesc": "這僅影響當前請求。它不儲存連線或供應商狀態。", "resilienceEnableServerWait": "啟用伺服器端等待", "resilienceEnableServerWaitDesc": "啟用後,OmniRoute 會等待第一次冷卻時間到期並自動重試。", "resilienceMaxAttempts": "最大嘗試次數", @@ -8048,7 +8048,7 @@ "contextCaveman": { "title": "Caveman 引擎", "description": "基於規則的訊息壓縮,包含語言包、分析和輸出模式控制。", - "advancedConfig": "高階配置", + "advancedConfig": "高階設定", "advancedConfigDesc": "微調壓縮行為", "aggressiveSettings": "激進的設定", "aggressiveSettingsDesc": "最大壓縮與潛在的質量權衡", @@ -8152,7 +8152,7 @@ "featureMissingToolResponse": "工具響應注入", "featureMissingToolResponseDesc": "當客戶端傳送 tool_calls 但沒有對應響應時,注入空的 tool_result 訊息。", "featureThinkingBudget": "思考預算", - "featureThinkingBudgetDesc": "自動管理 thinking 配置。當最後一條訊息不是使用者訊息時移除 thinking 引數。", + "featureThinkingBudgetDesc": "自動管理 thinking 設定。當最後一條訊息不是使用者訊息時移除 thinking 引數。", "featureDirectPaths": "直接轉換路徑", "featureDirectPathsDesc": "某些格式組合(Claude→Gemini)有繞過 OpenAI 中樞的直接轉換器,可產生更準確的輸出。", "featureImageMapping": "影像尺寸對映", @@ -8323,11 +8323,11 @@ "techniques": "技巧:", "friendlyTitle": "翻譯器", "friendlySubtitle": "使用您現有的應用程式與任何提供者 — 無需重寫程式碼。", - "conceptHeadline": "您的應用程式使用一個 API 的“語言”。翻譯器將其轉換為使用另一個提供者。", + "conceptHeadline": "您的應用程式使用一個 API 的“語言”。翻譯器將其轉換為使用另一個供應商。", "conceptDiagramAppLabel": "您的應用程式", "conceptDiagramSourceLabel": "源格式", "conceptDiagramHubLabel": "OpenAI (中心)", - "conceptDiagramTargetLabel": "目標提供者", + "conceptDiagramTargetLabel": "目標供應商", "conceptDiagramExampleApp": "例如 Anthropic SDK", "conceptDiagramExampleSource": "Claude", "conceptDiagramExampleTarget": "雙子座", @@ -8340,7 +8340,7 @@ "simpleAppUsesLabel": "我的應用程式使用", "simpleAppUsesHint": "您的應用程式使用的 API 格式(例如,Anthropic SDK = claude)。", "simpleSendToLabel": "傳送到", - "simpleSendToHint": "實際將請求傳送到哪裡(在 OmniRoute 中連線的提供者)。", + "simpleSendToHint": "實際將請求傳送到哪裡(在 OmniRoute 中連線的供應商)。", "simpleStartWithLabel": "開始於", "simpleStartWithExamplePlaceholder": "選擇一個現成的示例", "simpleStartWithCustomOption": "貼上您的請求(高階)", @@ -8379,17 +8379,17 @@ "pipelineStepFormatDetectedDesc": "自動檢測到的源格式", "pipelineStepOpenAIIntermediate": "OpenAI 中級", "pipelineStepOpenAIIntermediateDesc": "翻譯為 OpenAI hub 格式", - "pipelineStepProviderFormat": "提供者格式", - "pipelineStepProviderFormatDesc": "翻譯為提供者目標格式", - "pipelineStepProviderResponse": "提供者響應", - "pipelineStepProviderResponseDesc": "來自提供者的流式響應", + "pipelineStepProviderFormat": "供應商格式", + "pipelineStepProviderFormatDesc": "翻譯為供應商目標格式", + "pipelineStepProviderResponse": "供應商響應", + "pipelineStepProviderResponseDesc": "來自供應商的流式響應", "conceptDiagramArrow1": "說話", "conceptDiagramArrow2": "翻譯", "conceptDiagramArrow3": "轉換", "conceptDiagramExampleHub": "OpenAI", "conceptDiagramHubTooltip": "翻譯器用於在沒有直接對映的格式之間轉換的中間樞紐。", "conceptDiagramSourceTooltip": "您的應用程式使用的 API 格式(例如,Anthropic SDK = claude)。", - "conceptDiagramTargetTooltip": "請求將實際傳送到的提供者。", + "conceptDiagramTargetTooltip": "請求將實際傳送到的供應商。", "compressionEmptyHint": "在「翻譯」標籤頁(簡易控制或原始 JSON)中填寫輸入欄位以啟用預覽。", "compressionModeLabel": "壓縮模式", "compressionPreviewButton": "預覽壓縮", @@ -8459,7 +8459,7 @@ "evalsStrategyContainsDescription": "檢查 LLM 輸出是否包含期望的子串。", "evalsStrategyExactDescription": "檢查 LLM 輸出是否與期望值完全一致。", "evalsStrategyRegexDescription": "通過正規表示式校驗 LLM 輸出。", - "evalsStrategyCustomDescription": "自定義評估邏輯(通過 JSON 配置)。", + "evalsStrategyCustomDescription": "自定義評估邏輯(通過 JSON 設定)。", "historyColumnSuiteName": "套件名稱", "historyColumnTarget": "目標", "historyColumnPassRate": "通過率", @@ -8671,7 +8671,7 @@ "scorecardSuites": "套件", "evalCompareTarget": "對比目標", "suiteBuilderCaseModelPlaceholder": "例如 gpt-4o-mini", - "evalControlsHint": "配置評估目標和 API 金鑰,然後執行套件以驗證模型質量。", + "evalControlsHint": "設定評估目標和 API 金鑰,然後執行套件以驗證模型質量。", "recentRunsTitle": "最近執行", "suiteBuilderCaseSystemPromptLabel": "系統提示", "suiteBuilderCaseExpectedPlaceholder": "例如 def fibonacci", @@ -8714,7 +8714,7 @@ "suiteBuilderCaseTagsLabel": "標籤", "suiteBuilderNewSuite": "新建 Suite", "notifyEvalLoadFailed": "載入評估資料失敗", - "notConfigured": "未配置", + "notConfigured": "未設定", "suiteBuilderCaseNamePlaceholder": "例如 Python 斐波那契測試", "intervalLabel": "間隔", "suiteBuilderCreateAction": "建立套件", @@ -8840,7 +8840,7 @@ "readingFromCache": "從 AWS SSO 快取中讀取", "readingFromCursor": "從 Cursor IDE 資料庫讀取", "initializing": "正在初始化...", - "pricingConfig": "定價配置", + "pricingConfig": "定價設定", "loadingPricing": "正在載入定價資料...", "pricingRatesFormat": "定價格式", "noPricingData": "無可用定價資料", @@ -8899,12 +8899,12 @@ "loading": "正在載入...", "invalidPassword": "密碼無效", "errorOccurredRetry": "發生錯誤。請再試一次。", - "configureInstance": "開始配置你的 OmniRoute 例項", + "configureInstance": "開始設定你的 OmniRoute 例項", "runOnboardingWizard": "執行入門嚮導來設定您的密碼並連線您的第一個 AI 提供者。", "startOnboarding": "開始引導", "secureYourInstance": "保護您的例項", "setPasswordDescription": "設定密碼以保護您的儀表板並保護您的 API 端點免遭未經授權的訪問。", - "configurePassword": "配置密碼", + "configurePassword": "設定密碼", "continue": "繼續", "windowWillClose": "該視窗將自動關閉...", "closeTabNow": "您現在可以關閉此選項卡。", @@ -8958,7 +8958,7 @@ "navigateHome": "導航至主頁", "toggleMenu": "切換選單", "featuresLink": "特點", - "docsLink": "文件", + "docsLink": "檔案", "github": "GitHub", "versionLive": "v1.0 現已上線", "oneEndpoint": "一個端點", @@ -8979,7 +8979,7 @@ "featureOAuthApiKeysTitle": "OAuth 與 API 金鑰", "featureOAuthApiKeysDesc": "在一個保管庫中安全地管理憑據。", "featureCloudSyncTitle": "雲同步", - "featureCloudSyncDesc": "立即跨裝置同步您的配置。", + "featureCloudSyncDesc": "立即跨裝置同步您的設定。", "featureCliSupportTitle": "CLI 支援", "featureCliSupportDesc": "適用於 Claude Code、Codex、Cline、Cursor 等工具。", "featureDashboardTitle": "儀表板", @@ -8993,11 +8993,11 @@ "howItWorksStep3Title": "3. AI 提供者", "howItWorksStep3Description": "請求會被立即轉發給 OpenAI、Anthropic、Gemini 或其他提供者完成處理。", "getStartedIn30Seconds": "30 秒內開始", - "getStartedDescription": "安裝 OmniRoute,通過 Web 儀表板配置你的提供者,然後開始路由 AI 請求。", + "getStartedDescription": "安裝 OmniRoute,通過 Web 儀表板設定你的提供商,然後開始路由 AI 請求。", "installOmniRoute": "安裝 OmniRoute", "installStepDescription": "執行 npx 命令立即啟動伺服器", "openDashboard": "開啟儀表板", - "openDashboardStepDescription": "通過 Web 介面配置提供者和 API 金鑰", + "openDashboardStepDescription": "通過 Web 介面設定提供商和 API 金鑰", "routeRequests": "路由請求", "routeRequestsStepDescription": "將您的 CLI 工具指向 {endpoint}", "terminal": "終端", @@ -9007,7 +9007,7 @@ "serverRunningOnLabel": "伺服器運行於", "dashboardLabel": "儀表板", "readyToRoute": "已準備好開始路由! ✓", - "configureProvidersNote": "📝 在儀表板中配置提供者或使用環境變數", + "configureProvidersNote": "📝 在儀表板中設定提供商或使用環境變數", "dataLocation": "資料位置:", "dataLocationMacLinux": "macOS/Linux:", "dataLocationWindows": "Windows:", @@ -9015,7 +9015,7 @@ "dashboardLink": "儀表板", "changelog": "變更日誌", "resources": "資源", - "documentation": "文件", + "documentation": "檔案", "npm": "npm", "legal": "法律", "mitLicense": "MIT 許可證", @@ -9033,10 +9033,10 @@ "ctaTitle": "準備好簡化你的 AI 基礎設施了嗎?", "ctaDescription": "加入更多開發者,一起用 OmniRoute 簡化 AI 整合流程。開源且可免費開始使用。", "startFree": "免費開始", - "readDocumentation": "閱讀文件" + "readDocumentation": "閱讀檔案" }, "docs": { - "title": "文件", + "title": "檔案", "quickStart": "快速入門", "deploymentGuides": "部署指南", "features": "特點", @@ -9057,14 +9057,14 @@ "supportsChat": "支援聊天和響應端點。", "oauthAutoRefresh": "支援自動重新整理 Token 的 OAuth 連線。", "fullStreaming": "所有模型都支援完整流式輸出。", - "docsLabel": "文件", + "docsLabel": "檔案", "docsHeroDescription": "面向多提供者 LLM 的 AI 閘道器。一個端點即可統一接入 OpenAI、Anthropic、Gemini、GitHub Copilot、Claude Code、Cursor 等 20+ 提供者。", "openDashboard": "開啟儀表板", "endpointPage": "端點頁面", "github": "GitHub", "reportIssue": "報告問題", "onThisPage": "在此頁面上", - "documentationVersion": "文件 - v{version}", + "documentationVersion": "檔案 - v{version}", "quickStartStep1Title": "1.安裝並執行", "quickStartStep1Prefix": "執行", "quickStartStep1Middle": "或者從 GitHub 克隆並執行", @@ -9076,7 +9076,7 @@ "quickStartStep4Prefix": "將您的 IDE 或 API 客戶端指向", "quickStartStep4Suffix": "例如使用提供者字首", "deploySetupTitle": "設定指南", - "deploySetupText": "OmniRoute 的分步安裝、環境配置和首次執行演練。", + "deploySetupText": "OmniRoute 的分步安裝、環境設定和首次執行演練。", "deployElectronTitle": "電子桌面", "deployElectronText": "在 Windows、macOS 和 Linux 上將 OmniRoute 作為本機桌面應用程式執行。", "deployDockerTitle": "碼頭工人", @@ -9094,17 +9094,17 @@ "featureCombosTitle": "組合和平衡", "featureCombosText": "使用後備鏈和平衡策略建立模型組合:迴圈、優先順序、隨機、最少使用和成本最佳化。", "featureUsageTitle": "使用情況和成本跟蹤", - "featureUsageText": "即時權杖計數、每個提供者/模型的成本計算以及按 API 金鑰和帳戶劃分的詳細使用情況細分。", + "featureUsageText": "即時權杖計數、每個提供商/模型的成本計算以及按 API 金鑰和帳戶劃分的詳細使用情況細分。", "featureAnalyticsTitle": "分析儀表板", "featureAnalyticsText": "視覺化分析,包含隨時間變化的請求、權杖、錯誤、延遲、成本和模型受歡迎程度的圖表。", "featureHealthTitle": "健康監測", "featureHealthText": "即時健康檢查、提供者狀態、斷路器狀態以及具有指數退避功能的自動速率限制檢測。", "featureCliTitle": "CLI工具", - "featureCliText": "可在儀表板中管理 IDE 配置、匯出/匯入備份、發現 Codex 配置檔案並修改設定。", + "featureCliText": "可在儀表板中管理 IDE 設定、匯出/匯入備份、發現 Codex 設定檔案並修改設定。", "featureSecurityTitle": "安全與策略", "featureSecurityText": "API 金鑰身份驗證、IP 過濾、提示注入防護、域策略、會話管理和稽核日誌記錄。", "featureCloudSyncTitle": "雲同步", - "featureCloudSyncText": "將配置同步到 Cloudflare Workers,以便通過加密憑據和自動故障轉移實現遠端訪問。", + "featureCloudSyncText": "將設定同步到 Cloudflare Workers,以便通過加密憑據和自動故障轉移實現遠端訪問。", "providersAcrossConnectionTypes": "跨三種連線型別的 {count} 提供者。", "manageProviders": "管理提供者", "providersCount": "{count} 提供者", @@ -9114,9 +9114,9 @@ "useCaseSingleEndpointTitle": "許多提供者的單一端點", "useCaseSingleEndpointText": "將客戶端統一指向一個 Base URL,再通過模型字首進行路由(例如:gh/、cc/、kr/、openai/)。", "useCaseFallbackTitle": "使用組合進行回退和模型切換", - "useCaseFallbackText": "在儀表板中建立組合模型,並在提供者內部輪換時保持客戶端配置穩定。", + "useCaseFallbackText": "在儀表板中建立組合模型,並在提供商內部輪換時保持客戶端設定穩定。", "useCaseUsageVisibilityTitle": "使用情況、成本和除錯可見性", - "useCaseUsageVisibilityText": "在“使用情況”和“分析”選項卡中按提供者、帳戶和 API 金鑰跟蹤權杖和成本。", + "useCaseUsageVisibilityText": "在“使用情況”和“分析”選項卡中按提供商、帳戶和 API 金鑰跟蹤權杖和成本。", "clientCherryStudioTitle": "櫻桃工作室", "baseUrlLabel": "基礎 URL", "chatEndpointLabel": "聊天端點", @@ -9136,7 +9136,7 @@ "clientWindsurfTitle": "Windsurf", "clientWindsurfBullet1": "將 OmniRoute 用作 OpenAI 相容的 base URL,並保留顯式提供者字首,以實現確定性路由。", "clientWindsurfBullet2": "常規流量將模型指向 `/v1/chat/completions`,併為 Codex 風格流程保留 `/v1/responses`。", - "clientWindsurfBullet3": "使用儀表盤 -> CLI 工具獲取現成的 Windsurf 配置指南。", + "clientWindsurfBullet3": "使用儀表盤 -> CLI 工具獲取現成的 Windsurf 設定指南。", "clientClineTitle": "Cline", "clientClineBullet1": "Cline 最適合使用顯式的提供者/模型字首,這樣路由器無需猜測後端。", "clientClineBullet2": "常規模型使用 `/v1/chat/completions`,並在不同帳戶間複用同一個 OmniRoute base URL。", @@ -9158,7 +9158,7 @@ "protocolA2aStep2": "向 `POST /a2a` 傳送 `message/send` 或 `message/stream` 請求。", "protocolA2aStep3": "通過 `tasks/get` 和 `tasks/cancel` 管理任務生命週期。", "protocolTroubleshootingTitle": "協議故障排查", - "protocolTroubleshooting1": "如果 MCP 狀態為離線,請確認 stdio 程序正在執行,且心跳檔案持續更新。", + "protocolTroubleshooting1": "如果 MCP 狀態為離線,請確認 stdio 程式正在執行,且心跳檔案持續更新。", "protocolTroubleshooting2": "如果 A2A 任務長時間停留在 `working`,請檢查 `/api/a2a/tasks/:id` 和流事件中是否出現終態。", "protocolTroubleshooting3": "可使用 `/dashboard/mcp` 和 `/dashboard/a2a` 進行執行控制並檢視審計資訊。", "endpointChatNote": "OpenAI 相容聊天端點(預設)。", @@ -9190,7 +9190,7 @@ "troubleshootingOAuth": "對於 OAuth 提供者,如果 Token 過期,請重新認證,並檢查提供者卡片上的狀態指示器。", "endpointCompletionsNote": "用於文本生成的舊版 completions 端點。", "endpointModerationsNote": "內容稽核和安全分類。", - "endpointRerankNote": "用於檢索增強生成的文件重排序(Cohere、Jina)。", + "endpointRerankNote": "用於檢索增強生成的檔案重排序(Cohere、Jina)。", "endpointSearchNote": "通過 5 個提供者進行網頁搜尋(Serper、Brave、Exa、Tavily、Perplexity)。", "endpointSearchAnalyticsNote": "搜尋請求的分析和指標。", "endpointVideoNote": "影片生成(ComfyUI、SD WebUI 工作流)。", @@ -9217,11 +9217,11 @@ "mcpToolsRoutingTitle": "路由與發現", "mcpToolsRoutingDesc": "健康檢查、組合管理、配額監控、成本報告和模型目錄訪問。", "mcpToolsOperationsTitle": "運維與策略", - "mcpToolsOperationsDesc": "路由模擬、預算保護、策略切換、韌性配置和提供者指標。", + "mcpToolsOperationsDesc": "路由模擬、預算保護、策略切換、韌性設定和提供商指標。", "mcpToolsCacheTitle": "快取管理", "mcpToolsCacheDesc": "檢視快取統計,並清空語義快取或簽名快取。", "mcpToolsCompressionTitle": "壓縮發動機", - "mcpToolsCompressionDesc": "配置 RTK/Brotli 壓縮、交換引擎並按組合檢查壓縮分析。", + "mcpToolsCompressionDesc": "設定 RTK/Brotli 壓縮、交換引擎並按組合檢查壓縮分析。", "mcpToolsOneProxyTitle": "1代理/隧道", "mcpToolsOneProxyDesc": "管理出站代理、輪換住宅 IP 並檢查代理執行狀況。", "mcpToolsMemoryTitle": "記憶", @@ -9241,19 +9241,19 @@ "protocolAcpTitle": "ACP(Agent 通訊)", "protocolAcpDesc": "通過 ACP 登錄檔註冊和管理 Agent,用於 Agent 間通訊和工具共享。", "protocolAcpStep1": "前往儀表盤 → Agents 檢視已註冊的 ACP Agent。", - "protocolAcpStep2": "使用能力和端點配置註冊新的 Agent。", - "protocolAcpStep3": "使用 CLI 工具配置 Agent 通訊通道。" + "protocolAcpStep2": "使用能力和端點設定註冊新的 Agent。", + "protocolAcpStep3": "使用 CLI 工具設定 Agent 通訊通道。" }, "legal": { "privacyPolicy": "隱私政策", "termsOfService": "服務條款", - "providerConfigurations": "提供者配置", + "providerConfigurations": "提供商設定", "apiKeys": "API 金鑰", "usageLogs": "使用日誌", "applicationSettings": "應用程式設定", "viewExportAnalytics": "檢視和匯出使用情況分析", "clearHistory": "隨時清除使用記錄", - "configureRetention": "配置日誌保留策略", + "configureRetention": "設定日誌保留策略", "backupRestore": "備份和恢復您的資料庫", "privacyMetadataTitle": "隱私政策 | OmniRoute", "privacyMetadataDescription": "OmniRoute AI API 代理路由器的隱私政策。", @@ -9272,18 +9272,18 @@ "privacyDataProviderConfigurationsDesc": "連線 URL、提供者型別和優先順序設定", "privacyDataApiKeysDesc": "已加密並存儲在本地,用於與 AI 提供者進行身份驗證", "privacyDataUsageLogsDesc": "請求計數、權杖使用情況、模型名稱、時間戳和響應時間", - "privacyDataApplicationSettingsDesc": "主題偏好、路由策略和組合配置", + "privacyDataApplicationSettingsDesc": "主題偏好、路由策略和組合設定", "privacySection3Title": "3. 無遙測", - "privacySection3Text": "OmniRoute 不收集遙測、分析或崩潰報告。不會向我們或任何第三方傳送資料。你的使用模式、API 呼叫和配置都會保持私密。", + "privacySection3Text": "OmniRoute 不收集遙測、分析或崩潰報告。不會向我們或任何第三方傳送資料。你的使用模式、API 呼叫和設定都會保持私密。", "privacySection4Title": "4. 第三方 AI 提供者", - "privacySection4Text": "當你通過 OmniRoute 發起 API 呼叫時,請求會被轉發到你配置的 AI 提供者(例如:OpenAI、Anthropic、Google)。這些提供者有各自的隱私政策,請查閱:", + "privacySection4Text": "當你通過 OmniRoute 發起 API 呼叫時,請求會被轉發到你設定的 AI 提供商(例如:OpenAI、Anthropic、Google)。這些提供商有各自的隱私政策,請查閱:", "privacyOpenAiPolicy": "OpenAI 隱私政策", "privacyAnthropicPolicy": "Anthropic 隱私政策", "privacyGooglePolicy": "Google 隱私政策", "privacySection5Title": "5. 雲同步(可選)", - "privacySection5Text": "如果您啟用可選的雲同步功能,提供者配置和 API 金鑰可能會傳輸到配置的雲端點。此功能預設處於停用狀態,需要明確選擇加入。", + "privacySection5Text": "如果您啟用可選的雲同步功能,提供商設定和 API 金鑰可能會傳輸到設定的雲端點。此功能預設處於停用狀態,需要明確選擇加入。", "privacySection6Title": "6. 日誌記錄", - "privacyLoggingIntro": "可以通過儀表板設定配置請求日誌。您可以:", + "privacyLoggingIntro": "可以通過儀表板設定設定請求日誌。您可以:", "privacySection7Title": "7. 您的權利", "privacySection7TextStart": "由於所有資料都儲存在本地,因此您擁有完全的控制權。您可以隨時刪除您的資料,方法是刪除", "privacySection7TextEnd": "目錄或使用儀表板中的資料庫備份和恢復功能。", @@ -9294,13 +9294,13 @@ "termsResponsibilityCompliance": "你必須遵守通過 OmniRoute 訪問的每個 AI 提供者的服務條款。", "termsResponsibilitySecurity": "你需要負責本地 OmniRoute 安裝的安全,包括設定密碼和限制網路訪問。", "termsSection3Title": "3. 工作原理", - "termsSection3Text": "OmniRoute 充當中間代理。傳送到 OmniRoute 的 API 呼叫會被轉換後轉發到你配置的 AI 提供者。除必要的協議轉換外,OmniRoute 不會修改你的請求或響應內容。", + "termsSection3Text": "OmniRoute 充當中間代理。傳送到 OmniRoute 的 API 呼叫會被轉換後轉發到你設定的 AI 提供商。除必要的協議轉換外,OmniRoute 不會修改你的請求或響應內容。", "termsSection4Title": "4. 資料處理", "termsDataStoredLocally": "所有資料都儲存在你本機上的 SQLite 資料庫中。", "termsNoTransmission": "除非你明確啟用雲同步功能,否則 OmniRoute 不會將任何資料傳輸到外部伺服器。", - "termsDataLocationText": "使用日誌、API 金鑰和配置儲存在", + "termsDataLocationText": "使用日誌、API 金鑰和設定儲存在", "termsSection5Title": "5. 免責宣告", - "termsSection5Text": "OmniRoute 按“原樣”提供,不附帶任何形式的保證。我們不對 API 使用成本、服務中斷或資料丟失造成的任何損失負責。請始終為配置做好備份。", + "termsSection5Text": "OmniRoute 按“原樣”提供,不附帶任何形式的保證。我們不對 API 使用成本、服務中斷或資料丟失造成的任何損失負責。請始終為設定做好備份。", "termsSection6Title": "6. 開源", "termsSection6Text": "OmniRoute 是開源軟體。您可以根據其許可條款自由檢查、修改和分發它。" }, @@ -9350,21 +9350,21 @@ "comparisonTitle": "CLI 工具與 Agent 目標有什麼區別?", "comparisonCliToolsLabel": "CLI 工具頁面", "comparisonCliToolsTitle": "你的 IDE 通過 OmniRoute 傳送請求", - "comparisonCliToolsDesc": "配置 Claude Code、Codex、Cursor 和其他 IDE,將 OmniRoute 用作它們的 API base URL。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 將工具用作端點。", + "comparisonSummary": "簡而言之:CLI 工具 = 你設定工具指向 OmniRoute。Agent 目標 = OmniRoute 將工具用作端點。", "agentUseCaseHint": "可通過 ACP 協議用作執行目標", "flowDiagramClient": "客戶端應用", "flowDiagramClientDesc": "SDK、API 或上游服務", "flowDiagramOmniRoute": "OmniRoute", "flowDiagramOmniRouteDesc": "接收請求並選擇目標", - "flowDiagramSpawn": "啟動程序", + "flowDiagramSpawn": "啟動程式", "flowDiagramSpawnDesc": "通過 stdio 啟動 CLI 二進位制檔案", "flowDiagramCli": "CLI 代理", "flowDiagramCliDesc": "使用自身認證/模型處理", - "fingerprintSettingsHint": "CLI 指紋匹配(偽裝成特定 CLI 工具的請求)可在以下位置配置:", + "fingerprintSettingsHint": "CLI 指紋匹配(偽裝成特定 CLI 工具的請求)可在以下位置設定:", "settingsRoutingLink": "設定/路由", "openSettings": "設定", "copyRawUrlTitle": "將原始 URL 複製到剪貼簿", @@ -9382,7 +9382,7 @@ "howToUseStep1": "在你想讓代理瞭解的技能上點選 {copyUrl}。", "howToUseStep2": "在你的 AI 代理(Claude、Cursor、Cline…)中輸入:", "howToUseStep2Code": "在 [pasted-url] 處使用該技能", - "howToUseStep3": "代理會獲取 SKILL.md 並學習 OmniRoute 的 API 或 CLI — 無需手動文件。" + "howToUseStep3": "代理會獲取 SKILL.md 並學習 OmniRoute 的 API 或 CLI — 無需手動檔案。" }, "cloudAgents": { "title": "雲代理", @@ -9416,7 +9416,7 @@ "notConnected": "未連線", "configure": "設定", "settingsTitle": "雲代理設定", - "settingsDesc": "為雲代理配置本地偏好。", + "settingsDesc": "為雲代理設定本地偏好。", "settingEnableAgents": "啟用雲代理", "settingEnableAgentsDesc": "允許 OmniRoute 編排自主編碼代理。", "settingAutoPR": "自動建立 PR", @@ -9529,7 +9529,7 @@ "behaviorDeterministic": "僅快取 temperature=0 的非流式請求。", "behaviorBypass": "通過請求頭 {header} 繞過快取。", "behaviorTwoTier": "雙層儲存:記憶體 LRU(快速)+ SQLite(重啟後持久化)。", - "behaviorTtl": "預設 TTL:30 分鐘。可通過 {envVar} 配置。", + "behaviorTtl": "預設 TTL:30 分鐘。可通過 {envVar} 設定。", "idempotency": "冪等層", "activeDedupKeys": "活躍去重鍵", "dedupWindow": "去重視窗", @@ -9646,9 +9646,9 @@ "levelCombo": "組合", "levelKey": "金鑰", "levelDirect": "直接(無代理)", - "titleGlobal": "全域性代理配置", + "titleGlobal": "全域性代理設定", "titleLevel": "{level} 代理 — {label}", - "loading": "正在載入代理配置...", + "loading": "正在載入代理設定...", "inheritingFrom": "繼承自", "source": "來源", "savedProxy": "已儲存代理", @@ -9674,9 +9674,9 @@ "errorSelectProxyFirst": "請先選擇代理。", "errorProxyNotFound": "所選代理未找到。", "errorClearSavedProxy": "清除已儲存代理失敗", - "errorSaveProxy": "儲存代理配置失敗", - "errorClearProxy": "清除代理配置失敗", - "errorSocks5Hidden": "SOCKS5 已配置但已隱藏,因為 NEXT_PUBLIC_ENABLE_SOCKS5_PROXY=false。" + "errorSaveProxy": "儲存代理設定失敗", + "errorClearProxy": "清除代理設定失敗", + "errorSocks5Hidden": "SOCKS5 已設定但已隱藏,因為 NEXT_PUBLIC_ENABLE_SOCKS5_PROXY=false。" }, "oauthModal": { "title": "連線 {providerName}", @@ -9688,7 +9688,7 @@ "deviceCodeVerificationUrl": "驗證 URL", "deviceCodeYourCode": "您的程式碼", "deviceCodeWaiting": "等待授權...", - "googleOAuthWarning": "遠端訪問 + Google OAuth:預設憑據僅接受重定向到 localhost。授權後,您的瀏覽器將嘗試開啟 localhost — 複製該完整 URL 並貼上到下方。要完全遠端使用而無需此手動步驟,配置您自己的 OAuth 憑據。", + "googleOAuthWarning": "遠端訪問 + Google OAuth:預設憑據僅接受重定向到 localhost。授權後,您的瀏覽器將嘗試開啟 localhost — 複製該完整 URL 並貼上到下方。要完全遠端使用而無需此手動步驟,設定您自己的 OAuth 憑據。", "remoteAccessInfo": "遠端訪問:由於您是遠端訪問 OmniRoute,授權後您會看到一個錯誤頁面(localhost 未找到)。這是正常的 — 只需從瀏覽器位址列複製完整 URL 並貼上到下方。", "step1OpenUrl": "步驟 1:在瀏覽器中開啟此 URL", "copy": "複製", @@ -9723,7 +9723,7 @@ "errorImportFailed": "匯入失敗" }, "pricingModal": { - "title": "定價配置", + "title": "定價設定", "loading": "正在載入定價資料...", "pricingRatesFormat": "定價費率格式", "ratesDescription": "所有費率均為 每百萬權杖美元($/1M 權杖)。示例:輸入費率為 2.50 表示每 1,000,000 個輸入權杖收費 2.50 美元。", @@ -9806,7 +9806,7 @@ "errorSaveFailed": "儲存代理失敗", "errorDeleteFailed": "刪除代理失敗", "errorForceDeleteConfirm": "此代理仍在分配中。強制刪除並移除所有分配?", - "errorMigrateFailed": "遷移舊版代理配置失敗", + "errorMigrateFailed": "遷移舊版代理設定失敗", "errorBulkFailed": "執行批次分配失敗", "success": "✓", "failure": "✗", @@ -9827,7 +9827,7 @@ "relayProbeSummary": "中繼探測:{alive}/{tested} 存活", "bulkImport": "批次匯入", "bulkImportTitle": "批次匯入代理", - "bulkImportDescription": "使用管道符分隔格式貼上代理配置。每行一個代理。已有代理(相同 host + port)將被更新。", + "bulkImportDescription": "使用管道符分隔格式貼上代理設定。每行一個代理。已有代理(相同 host + port)將被更新。", "bulkImportParse": "解析", "bulkImportImport": "匯入 {count} 個代理", "bulkImportImporting": "正在匯入...", @@ -9929,8 +9929,8 @@ "modelPlaceholder": "例如 openai/gpt-4o", "endpointLabel": "端點", "parametersLabel": "引數", - "collapseConfig": "摺疊配置面板", - "expandConfig": "展開配置面板", + "collapseConfig": "摺疊設定面板", + "expandConfig": "展開設定面板", "temperature": "溫度", "maxTokens": "最大權杖數", "topP": "Top-p", @@ -9958,7 +9958,7 @@ "improvePromptAria": "使用 AI 改善提示詞", "confirmImprovePrompt": "確認改善提示詞", "improvePromptDescription": "這將會把您目前的系統提示詞傳送至 以生成改善版本。", - "improveQuotaWarning": "這將消耗配置中模型配額的用量。", + "improveQuotaWarning": "這將消耗設定中模型配額的用量。", "improveConfirm": "最佳化", "exportCode": "匯出程式碼", "exportCodeTitle": "匯出程式碼", @@ -10250,7 +10250,7 @@ "refresh": "重新整理", "columns": "列", "loadingProxyLogs": "正在載入代理日誌...", - "noProxyLogs": "尚無代理日誌。配置代理併發起 API 呼叫後會顯示在這裡。", + "noProxyLogs": "尚無代理日誌。設定代理併發起 API 呼叫後會顯示在這裡。", "noMatchingLogs": "沒有日誌匹配當前篩選條件。", "tlsFingerprint": "Chrome 124 TLS 指紋", "colPublicIp": "公共IP" @@ -10346,12 +10346,12 @@ "description": "通過百分比限制跨 API 金鑰共享提供者配額", "newPool": "新建池", "betaTitle": "Beta — UI preview.", - "betaDescription": "配置儲存在 localStorage 中(尚未持久化到伺服器)。每次請求的上限執行將在未來更新中實現。", + "betaDescription": "設定儲存在 localStorage 中(尚未持久化到伺服器)。每次請求的上限執行將在未來更新中實現。", "kpiActivePools": "活躍池", "kpiKeysAllocated": "已分配金鑰", "kpiAvgUnallocated": "平均未分配", "kpiProvidersWithQuota": "有配額的提供者", - "emptyTitle": "未配置池", + "emptyTitle": "未設定池", "emptyDescription": "建立池以分配 API 金鑰,通過百分比分配共享提供者的配額視窗。", "loading": "載入中…", "removePool": "移除池", @@ -10393,7 +10393,7 @@ "equalSplit": "平均分配", "save": "儲存分配", "betaPreviewLabel": "Beta — UI 預覽。", - "betaConfigSavedPrefix": "配置儲存在", + "betaConfigSavedPrefix": "設定儲存在", "betaConfigSavedSuffix": "(尚未保留在伺服器上)。每個請求上限的強制執行尚未連線到代理管道中。此螢幕可讓您設計和視覺化配額分配;真正的執行將在未來的迭代中通過資料庫永續性和上游呼叫攔截來實現。", "policyLabel": "政策:", "resetIn": "重置於", @@ -10401,10 +10401,10 @@ "kpiAvgUtilization": "平均利用率", "kpiBorrowingNow": "現在借款", "conceptTitle": "配額分成是如何工作的", - "conceptIntro": "配額共享通過節約型公平分享將提供者的配額分配給多個 API 金鑰:每個金鑰獲得一個按比例分配的份額,但可以在不超過全球上限的情況下從自由余額中借用。", - "conceptFairShare": "公平共享:每個鍵接收與其配置權重成比例的配額", + "conceptIntro": "配額共享通過節約型公平分享將供應商的配額分配給多個 API 金鑰:每個金鑰獲得一個按比例分配的份額,但可以在不超過全球上限的情況下從自由余額中借用。", + "conceptFairShare": "公平共享:每個鍵接收與其設定權重成比例的配額", "conceptBorrowing": "借用:金鑰可以在不違反上限的情況下消耗他人的自由余額", - "conceptGlobalCap": "硬性全球上限:提供者的絕對限制永遠不會被超越", + "conceptGlobalCap": "硬性全球上限:供應商的絕對限制永遠不會被超越", "conceptWindows": "Windows: 5小時,按小時、按日、按周、按月 — 每個獨立跟蹤", "conceptKeyHowTitle": "為配額啟用金鑰", "conceptKeyHowDesc": "在 API 管理器中正常建立金鑰 — 它會自動出現在嚮導的金鑰步驟中。在那裡勾選獨佔以使其僅限配額。沒有單獨的啟用步驟。", @@ -10429,8 +10429,8 @@ "wizardStep2Label": "限制", "wizardStep3Label": "金鑰", "wizardStep1Title": "選擇提供者連線", - "wizardStep1Subtitle": "選擇此池將共享配額的提供者帳戶,設定名稱和預設策略。", - "wizardStep2Title": "配置配額維度", + "wizardStep1Subtitle": "選擇此池將共享配額的供應商帳戶,設定名稱和預設策略。", + "wizardStep2Title": "設定配額維度", "wizardStep2Subtitle": "為所選連線定義配額計劃維度(單位、視窗、限制)。保持不變以保持當前設定。", "wizardStep3Title": "分配 API 金鑰", "wizardStep3Subtitle": "將 API 金鑰分配給該池,設定權重 % 分配和可選上限。", @@ -10443,10 +10443,10 @@ "wizardExclusiveLabel": "獨佔配額", "wizardExclusiveHint": "啟用後,這些 API 金鑰將僅允許使用此池的虛擬模型(在儲存時應用 allowedQuotas 對帳)。", "wizardPreviewLabel": "虛擬模型名稱預覽", - "wizardConnectionsLabel": "提供者連線", + "wizardConnectionsLabel": "供應商連線", "wizardPrimaryBadge": "主要", "wizardAdditionalConnectionsNote": "附加連線使用其目錄預設限制(稍後可編輯)。", - "wizardSingleProviderNote": "一個池使用單一提供者", + "wizardSingleProviderNote": "一個池使用單一供應商", "wizardPreviewMoreModels": "+{count} 更多", "accountQuotaTitle": "帳戶配額", "accountQuotaNone": "—", @@ -10498,13 +10498,13 @@ "deactivateFailed": "停用 {name} 失敗", "uninstalled": "{name} 已解除安裝", "uninstallFailed": "解除安裝 {name} 失敗", - "configure": "配置:{name}", + "configure": "設定:{name}", "configurePlugin": "設定", - "noConfigSettings": "此外掛無可配置的設定。", + "noConfigSettings": "此外掛無可設定的設定。", "saving": "儲存中…", - "saveConfiguration": "儲存配置", - "configurationSaved": "配置已儲存", - "saveConfigurationFailed": "儲存配置失敗", + "saveConfiguration": "儲存設定", + "configurationSaved": "設定已儲存", + "saveConfigurationFailed": "儲存設定失敗", "pluginNotFound": "未找到外掛", "version": "版本", "author": "作者", @@ -10527,11 +10527,11 @@ }, "quotaPlans": { "title": "計劃與配額", - "description": "為每個提供者配置配額計劃 — 維度(%、請求、權杖、$)和時間視窗", - "providerLabel": "提供者 / 連線", + "description": "為每個提供商設定配額計劃 — 維度(%、請求、權杖、$)和時間視窗", + "providerLabel": "供應商 / 連線", "detectedPlanLabel": "檢測到的計劃", "manualPlanLabel": "手動覆蓋", - "unconfiguredLabel": "未配置 — 需要手動設定", + "unconfiguredLabel": "未設定 — 需要手動設定", "dimensionLabel": "尺寸", "addDimension": "新增維度", "removeDimension": "移除", @@ -10552,7 +10552,7 @@ "useCatalogButton": "使用目錄", "saveOverrideButton": "儲存覆蓋", "revertToCatalogButton": "恢復到目錄", - "unknownProviderNotice": "在左側選擇一個提供者以配置其配額計劃。", + "unknownProviderNotice": "在左側選擇一個提供商以設定其配額計劃。", "catalogTitle": "已知目錄", "catalogDescription": "自動檢測到以下提供者的計劃:" }, @@ -10560,11 +10560,11 @@ "title": "活動", "description": "最近事件動態", "emptyTitle": "尚無活動", - "emptyDescription": "當您新增提供者、建立組合或旋轉金鑰時,事件將出現在這裡。", + "emptyDescription": "當您新增供應商、建立組合或旋轉金鑰時,事件將出現在這裡。", "todayHeader": "今天", "yesterdayHeader": "昨天", "filterAll": "全部", - "filterProviders": "提供者", + "filterProviders": "供應商", "filterCombos": "組合", "filterApiKeys": "API 金鑰", "filterSettings": "設定", @@ -10585,9 +10585,9 @@ "daysAgo": "{n} 天前" }, "eventVerb": { - "providerAdded": "{actor} 添加了提供者 {target}", - "providerRemoved": "{actor} 移除了提供者 {target}", - "providerTested": "{actor} 測試了提供者 {target}", + "providerAdded": "{actor} 新增了供應商 {target}", + "providerRemoved": "{actor} 移除了供應商 {target}", + "providerTested": "{actor} 測試了供應商 {target}", "comboCreated": "{actor} 建立了組合 {target}", "comboUpdated": "{actor} 更新了組合 {target}", "comboDeleted": "{actor} 移除了組合 {target}", @@ -10625,7 +10625,7 @@ "authLoginError": "{actor} 的登入錯誤", "authLoginFailed": "{name} 登入失敗", "authLoginLocked": "{actor} 在嘗試次數過多後被鎖定", - "authLoginMisconfigured": "身份驗證配置無效", + "authLoginMisconfigured": "身份驗證設定無效", "authLoginSetupRequired": "需要進行身份驗證設定", "authLogoutSuccess": "{actor} 已登出", "syncTokenCreated": "{actor} 建立了同步權杖", @@ -10638,7 +10638,7 @@ }, "agentBridge": { "title": "AgentBridge", - "subtitle": "使用 IDE 代理與 OmniRoute 模型 — 無需配置", + "subtitle": "使用 IDE 代理與 OmniRoute 模型 — 無需設定", "riskBannerTitle": "自行承擔風險", "riskBannerBody": "AgentBridge 攔截來自 IDE 代理的 HTTPS 流量。通過啟用它,您接受遵守每個代理服務條款的責任。切勿在禁止 TLS 檢查的裝置或網路上使用。", "riskBannerDismiss": "關閉", @@ -10685,11 +10685,11 @@ "agentHosts": "攔截的主機", "certTrusted": "證書已信任", "certNotTrusted": "證書不受信任", - "investigatingNotice": "該代理正在接受調查。主機和 API 介面仍在確認中。一旦上游 API 文件完成,設定將可用。", + "investigatingNotice": "該代理正在接受調查。主機和 API 介面仍在確認中。一旦上游 API 檔案完成,設定將可用。", "modelMappingsLabel": "模型對映", "sourceModel": "源模型(代理原生)", "targetModel": "目標模型 (OmniRoute)", - "noMappings": "未配置模型對映。執行設定嚮導以自動檢測模型。", + "noMappings": "未設定模型對映。執行設定嚮導以自動檢測模型。", "selectModel": "選擇…", "saveMappings": "儲存對映", "setupWizard": "設定嚮導", @@ -10697,9 +10697,9 @@ "stopDns": "停止 DNS", "toggling": "切換中…", "viewTraffic": "檢視流量", - "emptyNoProvidersTitle": "尚未配置提供程式", - "emptyNoProvidersBody": "要使用 AgentBridge,首先連線至少一個提供者。它將是 IDE 請求路由的目標。", - "emptyGoToProviders": "前往提供者", + "emptyNoProvidersTitle": "尚未設定提供程式", + "emptyNoProvidersBody": "要使用 AgentBridge,首先連線至少一個供應商。它將是 IDE 請求路由的目標。", + "emptyGoToProviders": "前往供應商", "wizardTitle": "設定嚮導", "wizardSubtitle": "3步設定", "wizardStep1Label": "驗證", @@ -10707,8 +10707,8 @@ "wizardStep3Label": "對映", "wizardStep1Desc": "確認伺服器正在執行並且證書已安裝。", "wizardStep2Desc": "以下條目將被新增到 /etc/hosts 以通過 AgentBridge 重定向流量:", - "wizardStep3Desc": "您現在可以在代理卡中配置模型對映。重啟 IDE 以應用更改。", - "wizardStep3Success": "代理已配置!", + "wizardStep3Desc": "您現在可以在代理卡中設定模型對映。重啟 IDE 以應用更改。", + "wizardStep3Success": "代理已設定!", "wizardServerCheck": "AgentBridge 伺服器", "wizardRunning": "執行中", "wizardNotRunning": "未執行", @@ -10723,7 +10723,7 @@ "modelSelectorSearch": "搜尋模型…", "noModelsFound": "未找到模型", "quickLinks": "快速連結", - "quickLinkProviders": "配置提供程式", + "quickLinkProviders": "設定提供程式", "quickLinkInspector": "在流量檢查器中檢視流量", "unknownError": "未知錯誤", "maintenanceTitle": "維護與診斷", @@ -10879,7 +10879,7 @@ "sessionsDropdown": "會話", "annotationPlaceholder": "新增備註…", "contextFingerprint": "上下文指紋", - "llmProvider": "檢測到的提供者", + "llmProvider": "檢測到的供應商", "llmApiKind": "API 型別", "llmModel": "模型", "llmMessages": "訊息", @@ -10959,13 +10959,13 @@ "code": { "title": "CLI 程式碼的", "phrase": "指向 OmniRoute 的程式碼工具", - "flow": "你 → CLI 程式碼 → OmniRoute → 提供者", + "flow": "你 → CLI 程式碼 → OmniRoute → 供應商", "seeOther": "檢視 →" }, "agent": { "title": "CLI 代理", "phrase": "通用自主CLI代理,您可以指向OmniRoute", - "flow": "您 → CLI 代理 → OmniRoute → 提供者", + "flow": "您 → CLI 代理 → OmniRoute → 供應商", "seeOther": "檢視 →" }, "acp": { @@ -10982,7 +10982,7 @@ "code": { "title": "程式碼工具", "desc": "指向 Omni", - "flow": "你 → CLI → Omni → 提供者", + "flow": "你 → CLI → Omni → 供應商", "examples": "例如:claude,codex" }, "agent": { @@ -11001,12 +11001,12 @@ "card": { "detected": "檢測到", "notDetected": "未檢測到", - "configured": "已配置", - "notConfigured": "未配置", - "configure": "配置 →", + "configured": "已設定", + "notConfigured": "未設定", + "configure": "設定 →", "howToInstall": "如何安裝 →", "versionNotFound": "找不到", - "manualConfig": "手動配置", + "manualConfig": "手動設定", "installGuide": "安裝指南", "endpointLabel": "端點", "baseUrlFull": "完整基礎 URL", @@ -11019,7 +11019,7 @@ "back": "返回", "apply": "儲存", "reset": "清除", - "manualConfig": "手動配置", + "manualConfig": "手動設定", "vendor": "供應商", "category": "型別", "detectionStatus": "檢測", @@ -11027,9 +11027,9 @@ "baseUrlLabel": "基礎 URL", "apiKeyLabel": "API 金鑰", "modelMappingLabel": "模型對映", - "noActiveProviders": "沒有活動的提供者。", - "noActiveProvidersDesc": "請前往 Providers 連線至少 1 個提供者,然後再配置 CLI。", - "openProviders": "開啟提供者 →" + "noActiveProviders": "沒有活動的供應商。", + "noActiveProvidersDesc": "請前往 Providers 連線至少 1 個供應商,然後再設定 CLI。", + "openProviders": "開啟供應商 →" } }, "cliCode": { @@ -11069,7 +11069,7 @@ "setupGuideCustomAgentDesc": "填寫下面的表格以註冊自定義 CLI 代理。", "setupGuideCommandMissingTitle": "找不到命令", "setupGuideCommandMissingDesc": "檢查二進位制檔案是否在 PATH 中。", - "fingerprintSettingsHint": "在中配置路由和指紋", + "fingerprintSettingsHint": "在中設定路由和指紋", "settingsRoutingLink": "設定 → 路由", "installed": "已安裝", "notFound": "未找到", @@ -11278,7 +11278,7 @@ "conceptCard": { "agent": { "title": "代理技能 — 外呼", - "description": "代理技能是機器可讀的 SKILL.md 文件,外部 AI 代理(Claude Code、Cursor、Copilot 等)從 GitHub 獲取這些文件,以瞭解如何通過 REST 或 CLI 操作 OmniRoute。它們由代理讀取,而不是由 OmniRoute 執行。", + "description": "代理技能是機器可讀的 SKILL.md 檔案,外部 AI 代理(Claude Code、Cursor、Copilot 等)從 GitHub 獲取這些檔案,以瞭解如何通過 REST 或 CLI 操作 OmniRoute。它們由代理讀取,而不是由 OmniRoute 執行。", "crossLinkLabel": "瞭解區別 →" }, "omni": { @@ -11333,9 +11333,9 @@ "refresh": "重新整理", "copyUrl": "複製 URL", "viewOnGithub": "在 GitHub 上檢視", - "previewLoading": "載入技能文件…", - "previewError": "載入技能文件失敗。", - "previewEmpty": "選擇一個技能以預覽其文件。", + "previewLoading": "載入技能檔案…", + "previewError": "載入技能檔案失敗。", + "previewEmpty": "選擇一個技能以預覽其檔案。", "generateButton": "生成缺失的技能", "coverageBar": { "complete": "完成",