From 86cfc468bd141bad7ed82af2eb4eba41059767ad Mon Sep 17 00:00:00 2001 From: gmw Date: Fri, 27 Mar 2026 11:04:57 +0800 Subject: [PATCH] feat: Improve the Chinese translation --- src/i18n/messages/zh-CN.json | 527 +++++++++++++++++++---------------- 1 file changed, 282 insertions(+), 245 deletions(-) diff --git a/src/i18n/messages/zh-CN.json b/src/i18n/messages/zh-CN.json index 7bcf437bc7..f2dcc08de7 100644 --- a/src/i18n/messages/zh-CN.json +++ b/src/i18n/messages/zh-CN.json @@ -57,78 +57,86 @@ "note": "注意事项", "free": "免费", "skipToContent": "跳至内容", - "maintenanceServerIssues": "Server is experiencing issues. Some features may be unavailable.", - "maintenanceServerUnreachable": "Server is unreachable. Reconnecting...", - "accept": "accept", - "accountId": "accountId", - "alias": "alias", - "apiKeyId": "apiKeyId", - "apiKeyName": "apiKeyName", - "apiKeySecret": "apiKeySecret", - "authorization": "authorization", - "content-type": "content-type", - "content-length": "content-length", - "cookie": "cookie", - "file": "file", - "host": "host", - "id": "id", - "import": "import", - "limit": "limit", - "offset": "offset", - "open": "open", - "origin": "origin", - "promptTokens": "promptTokens", - "completionTokens": "completionTokens", - "totalTokens": "totalTokens", - "rawModel": "rawModel", - "scope": "scope", - "skill": "skill", - "sortBy": "sortBy", - "sortOrder": "sortOrder", - "tab": "tab", - "text": "text", - "textarea": "textarea", - "tool": "tool", - "toolId": "toolId", - "web": "web", - "whereUsed": "whereUsed", - "whitelist": "whitelist", - "blacklist": "blacklist", - "resolve": "resolve", - "force": "force", - "base64url": "base64url", - "hex": "hex", - "range": "range", - "component": "component", - "redirect_uri": "redirect_uri", - "idempotency-key": "idempotency-key", - "error_description": "error_description", - "code": "code", - "compatible": "compatible", - "chat-completions": "chat-completions", - "oauth": "oauth", - "auth_token": "auth_token", - "crypto": "crypto", - "hours": "hours", - "selfsigned": "selfsigned", - "proxy_id": "proxy_id", - "proxyId": "proxyId", - "connectionId": "connectionId", - "resolveConnectionId": "resolveConnectionId", - "resolve_connection_id": "resolve_connection_id", - "scope_id": "scope_id", - "scopeId": "scopeId", - "jwtSecret": "jwtSecret", + "maintenanceServerIssues": "服务器当前存在异常,部分功能可能暂时不可用。", + "maintenanceServerUnreachable": "服务器暂时无法连接,正在重新连接...", + "accept": "接受", + "accountId": "Account ID", + "alias": "别名", + "apiKeyId": "API Key ID", + "apiKeyName": "API Key 名称", + "apiKeySecret": "API Key 密钥", + "authorization": "Authorization", + "content-type": "Content Type", + "content-length": "Content Length", + "cookie": "Cookie", + "file": "文件", + "host": "Host", + "id": "ID", + "import": "导入", + "limit": "限制", + "offset": "偏移量", + "open": "打开", + "origin": "来源", + "promptTokens": "输入 Tokens", + "completionTokens": "输出 Tokens", + "totalTokens": "总 Tokens", + "rawModel": "原始模型", + "scope": "作用域", + "skill": "技能", + "sortBy": "排序依据", + "sortOrder": "排序顺序", + "tab": "标签页", + "text": "文本", + "textarea": "文本域", + "tool": "工具", + "toolId": "工具 ID", + "web": "网页", + "whereUsed": "使用位置", + "whitelist": "白名单", + "blacklist": "黑名单", + "resolve": "解析", + "force": "强制", + "base64url": "Base64 URL", + "hex": "Hex", + "range": "范围", + "component": "组件", + "redirect_uri": "Redirect URI", + "idempotency-key": "Idempotency Key", + "error_description": "Error Description", + "code": "代码", + "compatible": "兼容", + "chat-completions": "Chat Completions", + "oauth": "OAuth", + "auth_token": "Auth Token", + "crypto": "加密", + "hours": "小时", + "selfsigned": "自签名", + "proxy_id": "Proxy ID", + "proxyId": "Proxy ID", + "connectionId": "Connection ID", + "resolveConnectionId": "解析 Connection ID", + "resolve_connection_id": "解析 Connection ID", + "scope_id": "Scope ID", + "scopeId": "Scope ID", + "jwtSecret": "JWT Secret", "keytar": "keytar", "better-sqlite3": "better-sqlite3", "undici": "undici", - "builder-id": "builder-id", - "musicDesc": "musicDesc", - "musicGeneration": "musicGeneration", - "idc": "idc", - "cloud-status-changed": "cloud-status-changed", - "where_used": "where_used", - "windowMs": "windowMs" + "builder-id": "Builder ID", + "musicDesc": "音乐描述", + "musicGeneration": "音乐生成", + "idc": "IDC", + "cloud-status-changed": "云状态已变更", + "where_used": "使用位置", + "windowMs": "时间窗口(ms)", + "social-github": "GitHub", + "social-google": "Google", + "TOOL_ALLOWLIST": "工具允许列表", + "TOOL_DENYLIST": "工具拒绝列表", + "Failed to save pricing": "保存定价失败", + "Failed to reset pricing": "重置定价失败", + "apikey": "API Key", + "http": "HTTP" }, "sidebar": { "home": "首页", @@ -357,7 +365,7 @@ "failedUpdatePermissionsRetry": "更新权限失败,请重试。", "unknownProvider": "未知", "copyMaskedKey": "复制遮罩后的密钥", - "modelsCount": "{count} 个模型", + "modelsCount": "{count, plural, one {# 个模型} other {# 个模型}}", "lastUsedOn": "最近使用:{date}", "editPermissions": "编辑权限", "deleteKey": "删除密钥", @@ -367,22 +375,22 @@ "allowAllDesc": "该密钥可访问所有可用模型。", "restrictDesc": "该密钥可访问 {totalModels} 个模型中的 {selectedCount} 个。", "selectedCount": "已选择 {count} 个", - "keyOnlyAvailableAtCreation": "Full key available only at creation time — copy it when you first create the key" + "keyOnlyAvailableAtCreation": "完整密钥仅会在创建时显示一次,请在首次创建时立即复制保存" }, "auditLog": { "title": "审核日志", "searchPlaceholder": "搜索操作...", "action": "操作", - "actor": "演员", + "actor": "操作人", "target": "目标", "ipAddress": "IP地址", "timestamp": "时间戳", "noEntries": "未找到审核条目", "filterByAction": "按操作过滤...", - "filterByActor": "按演员筛选...", + "filterByActor": "按操作人筛选...", "filterEntriesAria": "过滤审核日志条目", "filterByActionTypeAria": "按操作类型过滤", - "filterByActorAria": "按演员筛选", + "filterByActorAria": "按操作人筛选", "refreshAuditLogAria": "刷新审核日志", "tableAria": "审核日志条目", "failedFetchAuditLog": "无法获取审核日志", @@ -441,38 +449,38 @@ "rerankModel": "重排模型", "positionDelta": "排名变化", "emptyState": "发送搜索请求后即可查看结果", - "safeSearchOff": "Off", - "safeSearchModerate": "Moderate", - "safeSearchStrict": "Strict", - "queryPlaceholder": "Enter search query...", - "providerAuto": "auto (cheapest)", - "searchTypeWeb": "web", - "searchTypeNews": "news", - "optionAny": "any", - "timeRangeDay": "Past day", - "timeRangeWeek": "Past week", - "timeRangeMonth": "Past month", - "timeRangeYear": "Past year", + "safeSearchOff": "关闭", + "safeSearchModerate": "中等", + "safeSearchStrict": "严格", + "queryPlaceholder": "输入搜索词...", + "providerAuto": "自动(最低成本)", + "searchTypeWeb": "网页", + "searchTypeNews": "新闻", + "optionAny": "任意", + "timeRangeDay": "过去一天", + "timeRangeWeek": "过去一周", + "timeRangeMonth": "过去一个月", + "timeRangeYear": "过去一年", "domainPlaceholder": "example.com", - "requestTimedOut": "Request timed out ({seconds}s)", - "networkError": "Network error" + "requestTimedOut": "请求超时({seconds}s)", + "networkError": "网络错误" }, "cliTools": { - "title": "CLI工具", - "noActiveProviders": "没有活跃的提供商", + "title": "CLI 工具", + "noActiveProviders": "当前没有活跃的提供商", "noActiveProvidersDesc": "请先添加并连接提供商以配置 CLI 工具。", - "mapModels": "地图模型", + "mapModels": "映射模型", "testConnection": "测试连接", "connectionStatus": "连接状态", "configureEndpoint": "配置端点", "instructions": "使用说明", "modelMapping": "模型映射", - "baseUrl": "基本网址", + "baseUrl": "Base URL", "apiKey": "API密钥", "configured": "已配置", "notConfigured": "未配置", "notInstalled": "未安装", - "custom": "定制", + "custom": "自定义", "unknown": "未知", "lastSavedAt": "最后保存:{date}", "never": "从来没有", @@ -483,7 +491,7 @@ "monthsAgoShort": "{count} 个月前", "yearsAgoShort": "{count}年前", "runtimeCheckFailed": "运行时检查失败", - "yourApiKeyPlaceholder": "你的 api 密钥", + "yourApiKeyPlaceholder": "你的 API 密钥", "modelPlaceholder": "provider/model-id", "configurationSaved": "配置保存成功。", "failedToSave": "保存配置失败。", @@ -552,14 +560,14 @@ "hide": "隐藏", "howToInstall": "如何安装", "installationGuide": "安装指南", - "platforms": "macOS / Linux / Windows:", + "platforms": "macOS / Linux / Windows:", "afterInstallationRun": "安装后,运行", "toVerify": "来验证。", "current": "当前", "baseUrlPlaceholder": "https://.../v1", "resetToDefault": "重置为默认值", "providerModelPlaceholder": "提供商/模型 ID", - "apply": "申请", + "apply": "应用", "reset": "重置", "manualConfig": "手动配置", "backups": "备份", @@ -581,16 +589,16 @@ "updateConfig": "更新配置", "applyConfig": "应用配置", "noBackupsAvailable": "没有可用的备份。", - "profileSaved": "个人资料“{name}”已保存!", - "failedSaveProfile": "保存个人资料失败", - "profileActivated": "个人资料已激活!", - "failedActivateProfile": "无法激活个人资料", - "profiles": "型材", + "profileSaved": "配置档案“{name}”已保存!", + "failedSaveProfile": "保存配置档案失败", + "profileActivated": "配置档案已激活!", + "failedActivateProfile": "激活配置档案失败", + "profiles": "配置档案", "savedProfiles": "保存的配置文件", "noProfilesYet": "尚未保存配置文件。将当前配置保存为下面的配置文件。", "activate": "激活", - "deleteProfile": "删除个人资料", - "profileNamePlaceholder": "个人资料名称(例如个人帐户)", + "deleteProfile": "删除配置档案", + "profileNamePlaceholder": "配置档案名称(例如:个人账户)", "saveCurrent": "保存当前", "codexAuthNotePrefix": "Codex 使用", "codexAuthNoteMiddle": "与", @@ -598,21 +606,21 @@ "claudeManualConfiguration": "Claude CLI - 手动配置", "codexManualConfiguration": "Codex CLI - 手动配置", "droidManualConfiguration": "Factory Droid - 手动配置", - "openClawManualConfiguration": "开爪 - 手动配置", + "openClawManualConfiguration": "OpenClaw - 手动配置", "clineManualConfiguration": "Cline - 手动配置", - "kiloManualConfiguration": "千码手动配置", + "kiloManualConfiguration": "Kilo - 手动配置", "toolDescriptions": { "antigravity": "带 MITM 的 Google Antigravity IDE", - "claude": "人类克劳德代码 CLI", + "claude": "Claude Code CLI", "codex": "OpenAI Codex CLI", - "droid": "工厂机器人AI助手", - "openclaw": "开爪AI助手", + "droid": "Factory Droid AI 助手", + "openclaw": "OpenClaw AI 助手", "cline": "Cline AI 编码助手 CLI", "kilo": "Kilo Code AI 助手 CLI", - "cursor": "光标AI代码编辑器", + "cursor": "Cursor AI 代码编辑器", "continue": "继续AI助手", "opencode": "OpenCode AI 编码智能体(终端)", - "kiro": "Amazon Kiro — AI 驱动 IDE" + "kiro": "Amazon Kiro - AI 驱动 IDE" }, "guides": { "cursor": { @@ -630,7 +638,7 @@ "desc": "开启 “OpenAI API key” 选项" }, "3": { - "title": "基本网址" + "title": "Base URL" }, "4": { "title": "API密钥" @@ -709,11 +717,11 @@ } } }, - "mitmHowWorksDesc": "{toolName} sends requests to its provider endpoint. MITM intercepts and redirects them to OmniRoute.", - "mitmStep1": "1. Start MITM to route requests through OmniRoute.", - "mitmStep2Prefix": "2. Add", - "mitmStep2Suffix": "to your hosts file as 127.0.0.1.", - "mitmStep3": "3. Open {toolName} and requests will be proxied.", + "mitmHowWorksDesc": "{toolName} 会先向原始提供商端点发起请求,随后由 MITM 拦截并重定向到 OmniRoute。", + "mitmStep1": "1. 启动 MITM,让请求经由 OmniRoute 路由。", + "mitmStep2Prefix": "2. 将", + "mitmStep2Suffix": "添加到你的 hosts 文件,并指向 127.0.0.1。", + "mitmStep3": "3. 打开 {toolName},后续请求就会自动通过代理转发。", "whenToUseLabel": "何时使用", "openToolDocs": "打开工具文档", "toolUseCases": { @@ -1022,7 +1030,7 @@ "embedding": "向量", "image": "图像", "custom": "自定义", - "modelsCount": "{count} 个模型", + "modelsCount": "{count, plural, one {# 个模型} other {# 个模型}}", "sectionTitle": "集成入口", "sectionDescription": "OpenAI 兼容 API 与操作协议端点", "tabApis": "OpenAI 兼容 API", @@ -1194,9 +1202,9 @@ "down": "下线", "uptime": "正常运行时间", "memory": "内存", - "memoryRss": "记忆 (RSS)", + "memoryRss": "内存(RSS)", "heap": "堆", - "cpu": "中央处理器", + "cpu": "CPU", "database": "数据库", "version": "版本", "lastCheck": "最后检查", @@ -1220,7 +1228,7 @@ "totalRequests": "请求总数", "noDataYet": "还没有数据", "promptCache": "提示缓存", - "entries": "参赛作品", + "entries": "条目", "hitRate": "命中率", "hitsMisses": "命中/未命中", "signatureCache": "签名缓存", @@ -1229,36 +1237,36 @@ "signatureFamily": "家庭", "signatureSession": "会话", "recovering": "正在恢复中", - "noCBData": "没有可用的断路器数据。先提出一些要求。", + "noCBData": "当前没有可用的断路器数据,请先发起一些请求。", "providerHealthStatusAria": "提供商健康状况", "issuesLabel": "检测到的问题", - "operational": "运营中", + "operational": "运行中", "providers": "提供商", "healthyCount": "{count} 健康", "nodeVersion": "节点 {version}", "failures": "{count} 失败", "failuresPlural": "{count} 失败", - "lastFailure": "最后", + "lastFailure": "最近一次", "rateLimitStatus": "速率限制状态", "activeLimiters": "{count} 主动限制器", "activeLimitersPlural": "{count} 主动限制器", - "queued": "排队", + "queued": "排队中", "queuedCount": "{count} 已排队", - "running": "跑步", + "running": "运行中", "runningCount": "{count} 正在运行", - "ok": "好的", + "ok": "正常", "activeLockouts": "主动锁定", "resetConfirm": "将所有断路器重置为正常状态?这将清除所有故障计数并将所有提供商恢复到运行状态。", "resetAllTitle": "将所有断路器重置为正常状态", "resetting": "正在重置...", "resetAll": "全部重置", "until": "直到 {time}", - "activeProviders": "{count} active", - "monitoredProviders": "{count} monitored", + "activeProviders": "{count} 个活跃", + "monitoredProviders": "{count} 个监控中", "configuredProvidersLabel": "在仪表板中配置", - "configuredProvidersHint": "凭证保存在 /dashboard/providers 中的提供者,无论运行时状态如何。", - "activeProvidersHint": "当前启用路由请求的已配置提供程序。", - "monitoredProvidersHint": "目前由断路器运行状况监控器跟踪提供者。" + "configuredProvidersHint": "指已在 /dashboard/providers 中配置凭证的提供商,无论当前运行时状态如何。", + "activeProvidersHint": "指当前已启用并可参与请求路由的已配置提供商。", + "monitoredProvidersHint": "指当前由断路器健康监控器持续跟踪的提供商。" }, "limits": { "title": "限制和配额", @@ -1278,10 +1286,10 @@ "loading": "正在加载...", "refresh": "刷新", "filterByAction": "按操作过滤...", - "filterByActor": "按演员筛选...", + "filterByActor": "按操作人筛选...", "filterEntriesAria": "过滤审核日志条目", "filterByActionTypeAria": "按操作类型过滤", - "filterByActorAria": "按演员筛选", + "filterByActorAria": "按操作人筛选", "refreshAuditLogAria": "刷新审核日志", "tableAria": "审核日志条目", "failedFetchAuditLog": "无法获取审核日志", @@ -1289,7 +1297,7 @@ "search": "搜索", "timestamp": "时间戳", "action": "操作", - "actor": "演员", + "actor": "操作人", "target": "目标", "details": "详情", "ipAddress": "IP地址", @@ -1322,7 +1330,7 @@ "usageTracking": "使用情况追踪", "apiKeyMgmt": "API密钥管理", "securityDesc": "设置密码以保护您的仪表板,或暂时跳过。", - "providerDesc": "连接您的第一个人工智能提供商。您可以稍后添加更多。", + "providerDesc": "连接你的第一个 AI 提供商。你之后还可以继续添加。", "apiKeyRequired": "API 密钥(必填)", "customUrlOptional": "自定义 URL(可选)", "testDesc": "让我们验证您的提供商连接是否有效。", @@ -1433,13 +1441,13 @@ "testSummary": "{passed}/{total} 通过,{failed} 失败", "nameLabel": "名称", "prefixLabel": "前缀", - "baseUrlLabel": "基本网址", + "baseUrlLabel": "Base URL", "apiTypeLabel": "API类型", "prefixHint": "必填。模型名称使用的唯一前缀。", "nameHint": "必填。该节点的友好标签。", "baseUrlHint": "必填。  提供商 API 基本 URL。", - "anthropicPrefixPlaceholder": "交流产品", - "openaiPrefixPlaceholder": "OC-产品", + "anthropicPrefixPlaceholder": "ac-prod", + "openaiPrefixPlaceholder": "oc-prod", "anthropicBaseUrlPlaceholder": "https://api.anthropic.com/v1", "openaiBaseUrlPlaceholder": "https://api.openai.com/v1", "validateConnection": "验证连接", @@ -1491,7 +1499,7 @@ "enterNewApiKey": "输入新的 API 密钥", "optional": "可选", "anthropicCompatibleName": "Anthropic 兼容", - "openaiCompatibleName": "兼容 OpenAI", + "openaiCompatibleName": "OpenAI 兼容", "failedImportModels": "导入模型失败", "noModelsReturnedFromEndpoint": "/models 端点没有返回任何模型。", "importingModelsProgress": "正在导入 {current} 个模型(共 {total} 个)...", @@ -1499,21 +1507,21 @@ "importingModelById": "正在导入 {modelId}...", "importSuccessCount": "成功导入 {count, plural, one {# 个模型} other {# 个模型}}!", "noNewModelsAddedExisting": "没有添加新模型(全部已存在)。", - "importDoneCount": "✓ 完成!共导入 {count, plural, one {# 个模型。} other {# 个模型。}}", + "importDoneCount": "✓ 完成!{count, plural, one {已导入 # 个模型。} other {已导入 # 个模型。}}", "unexpectedErrorOccurred": "发生意外错误", - "connectionCountLabel": "{count} 个连接", - "messagesPath": "消息", - "responsesPath": "回应", - "chatCompletionsPath": "聊天/完成", + "connectionCountLabel": "{count, plural, one {# 个连接} other {# 个连接}}", + "messagesPath": "messages", + "responsesPath": "responses", + "chatCompletionsPath": "chat/completions", "add": "添加", "edit": "编辑", "delete": "删除", "anthropic": "Anthropic", - "openai": "开放人工智能", + "openai": "OpenAI", "singleConnectionPerCompatible": "每个兼容节点仅允许一个连接。如果需要更多连接,请添加另一个节点。", "connections": "连接", "providerProxyTitleConfigured": "提供商代理:{host}", - "configured": "配置的", + "configured": "已配置", "providerProxyConfigureHint": "为该提供商的所有连接配置代理", "providerProxy": "提供商代理", "noConnectionsYet": "还没有连接", @@ -1527,11 +1535,11 @@ "statusConnected": "已连接", "statusRuntimeIssue": "运行时问题", "statusAuthFailed": "验证失败", - "statusRateLimited": "速率有限", + "statusRateLimited": "被限流", "statusNetworkIssue": "网络问题", "statusTestUnsupported": "测试不受支持", "statusUnavailable": "不可用", - "statusFailed": "失败了", + "statusFailed": "失败", "statusError": "错误", "oauthAccount": "OAuth 帐户", "errorTypeRuntime": "本地运行时", @@ -1544,13 +1552,13 @@ "errorTypeNetworkError": "网络错误", "errorTypeTestUnsupported": "测试不支持", "errorTypeUpstreamError": "上游错误", - "proxySourceGlobal": "全球", + "proxySourceGlobal": "全局", "proxySourceProvider": "提供商", "proxySourceKey": "密钥", "proxyConfiguredBySource": "代理 ({source}):{host}", "autoPriority": "自动:{priority}", "proxy": "代理", - "retestAuthentication": "重新测试认证", + "retestAuthentication": "重新验证身份", "retest": "重新测试", "disableConnection": "禁用连接", "enableConnection": "启用连接", @@ -1567,7 +1575,7 @@ "compatAdjustmentsTitle": "兼容性", "compatButtonLabel": "兼容性", "compatToolIdShort": "工具 ID 9 位", - "compatDeveloperShort": "Developer 角色", + "compatDeveloperShort": "developer 角色", "compatDoNotPreserveDeveloper": "不保留 developer 角色", "compatBadgeNoPreserve": "不保留", "compatProtocolLabel": "客户端请求协议", @@ -1637,7 +1645,7 @@ }, "settings": { "title": "设置", - "general": "一般", + "general": "常规", "security": "安全", "appearance": "外观", "routing": "路由", @@ -1655,7 +1663,7 @@ "changePassword": "更改密码", "enablePassword": "启用密码", "darkMode": "深色模式", - "lightMode": "灯光模式", + "lightMode": "浅色模式", "systemTheme": "系统主题", "enableCache": "启用缓存", "cacheTTL": "缓存生存时间", @@ -1676,7 +1684,7 @@ "maxThinkingTokens": "最大思考令牌", "enableProxy": "启用代理", "proxyUrl": "代理网址", - "pricingRates": "定价格式", + "pricingRates": "定价费率格式", "currentPricing": "当前定价概述", "loadingPricing": "正在加载定价数据...", "noPricing": "无可用定价数据", @@ -1701,12 +1709,12 @@ "savedSuccessfully": "设置保存成功", "ai": "人工智能", "advanced": "高级", - "localMode": "本地模式 - 所有数据都存储在您的计算机上", + "localMode": "本地模式 - 所有数据都存储在你的设备上", "settingsSectionsAria": "设置部分", "switchThemes": "在浅色和深色主题之间切换", "themeSelectionAria": "主题选择", - "themeLight": "光", - "themeDark": "黑暗", + "themeLight": "浅色", + "themeDark": "深色", "themeSystem": "系统", "hideHealthLogs": "隐藏健康检查日志", "hideHealthLogsDesc": "开启后,将抑制服务器控制台中的 [HealthCheck] 消息", @@ -1722,15 +1730,15 @@ "themeCyan": "青色", "promptCache": "提示缓存", "flushCache": "刷新缓存", - "flushing": "法拉盛…", + "flushing": "正在刷新...", "size": "尺寸", - "hits": "点击数", + "hits": "命中次数", "evictions": "驱逐", "loadingCacheStats": "正在加载缓存统计信息...", - "globalProxy": "全球代理", + "globalProxy": "全局代理", "globalProxyDesc": "为所有 API 调用配置全局出站代理。单独的提供商、组合和键可以覆盖此设置。", "noGlobalProxy": "没有配置全局代理", - "globalLabel": "全球", + "globalLabel": "全局", "configure": "配置", "globalSystemPrompt": "全局系统提示", "systemPromptDesc": "在代理级别注入所有请求", @@ -1742,7 +1750,7 @@ "thinkingBudgetDesc": "控制所有请求中 AI 推理令牌的使用", "passthrough": "直通", "passthroughDesc": "没有变化——客户控制思维预算", - "auto": "汽车", + "auto": "自动", "autoDesc": "放弃所有思考配置——让提供商决定", "custom": "定制", "customDesc": "为所有请求设置固定的令牌预算", @@ -1753,7 +1761,7 @@ "effortMedium": "中型(10K 代币)", "effortHigh": "高(128K 代币)", "tokenBudget": "代币预算", - "tokens": "代币", + "tokens": "Tokens", "baseEffortLevel": "基本努力水平", "adaptiveHint": "自适应模式根据消息计数、工具使用情况和提示长度从此基本级别进行扩展。", "requireLogin": "需要登录", @@ -1818,8 +1826,8 @@ "cheapModel": "低成本模型", "detectionPatterns": "检测模式", "newPattern": "例如:\"生成标题\"", - "aliasPatternPlaceholder": "克劳德十四行诗-*", - "aliasTargetPlaceholder": "克劳德十四行诗-4-20250514", + "aliasPatternPlaceholder": "claude-sonnet-*", + "aliasTargetPlaceholder": "claude-sonnet-4-20250514", "pattern": "图案", "targetModel": "目标模型", "add": "+ 添加", @@ -1855,14 +1863,14 @@ "failedLoadAuditLog": "无法加载审核日志", "noAuditEvents": "未找到审核事件", "action": "操作", - "actor": "演员", + "actor": "操作人", "details": "详情", "time": "时间", "fallbackChainsTitle": "后备链", "fallbackChainsDesc": "定义每个模型的提供商后备顺序", "addChain": "+ 添加链", "modelName": "模型名称", - "modelNamePlaceholder": "克劳德十四行诗-4-20250514", + "modelNamePlaceholder": "claude-sonnet-4-20250514", "providersCommaSeparated": "提供商(用逗号分隔,按优先级排序)", "providersCommaSeparatedPlaceholder": "anthropic, openai, gemini", "createChain": "创建链", @@ -1922,8 +1930,8 @@ "activeLimiters": "有源限制器", "noActiveLimiters": "尚无活动的速率限制器。", "reservoir": "水库", - "running": "跑步", - "queued": "排队", + "running": "运行中", + "queued": "排队中", "circuitBreakers": "断路器", "breakerStateClosed": "关闭", "breakerStateOpen": "打开", @@ -1985,7 +1993,7 @@ "daysAgo": "{count} 天前", "backupReasonManual": "手动", "backupReasonPreRestore": "预恢复", - "connectionsCount": "{count} 个连接", + "connectionsCount": "{count, plural, one {# 个连接} other {# 个连接}}", "noChangesSinceBackup": "自上次备份以来没有任何变化", "backupFailed": "备份失败", "restoreFailed": "恢复失败", @@ -2046,7 +2054,7 @@ }, "translator": { "title": "翻译者", - "metaTitle": "翻译游乐场 |全方位路由", + "metaTitle": "翻译游乐场 | OmniRoute", "metaDescription": "调试、测试和可视化提供商之间的 API 格式转换", "playgroundTitle": "翻译游乐场", "playground": "游乐场", @@ -2227,7 +2235,7 @@ "latencyP99": "p99", "promptCache": "提示缓存", "systemHealth": "系统健康状况", - "entries": "参赛作品", + "entries": "条目", "activeCount": "{count} 活跃", "openCircuitBreakersDetected": "检测到断路器开路", "hitRate": "命中率", @@ -2235,7 +2243,7 @@ "circuitBreakers": "断路器", "lockedIPs": "锁定IP", "lockoutsAutoRefreshHint": "每个模型速率限制锁定 • 自动刷新 10 秒", - "lockedCount": "{count} 个锁定", + "lockedCount": "{count, plural, one {# 个锁定} other {# 个锁定}}", "timeLeft": "剩余 {time}", "howItWorks": "工作原理", "howItWorksSubtitle": "了解评估如何验证您的 LLM 回答", @@ -2266,7 +2274,7 @@ "modelsUnderTest": "测试中的模型", "searchSuitesPlaceholder": "搜索套件...", "passSuffix": "通过", - "casesCount": "{count} 个案例", + "casesCount": "{count, plural, one {# 个案例} other {# 个案例}}", "runEval": "运行评估", "runningProgress": "正在运行 {current}/{total}...", "passRate": "通过率", @@ -2310,7 +2318,7 @@ "providerLimits": "提供商限制", "noProviders": "没有连接提供商", "connectProvidersForQuota": "通过 OAuth 连接提供商,以跟踪 API 配额限制和使用情况。", - "accountsCount": "{count} 个账户", + "accountsCount": "{count, plural, one {# 个账户} other {# 个账户}}", "filteredFromCount": "(从 {count} 过滤)", "autoRefresh": "自动刷新", "refreshAll": "全部刷新", @@ -2405,25 +2413,25 @@ "noData": "无数据", "share": "分享", "unableToLoad": "无法加载系统指标", - "product": "产品展示", + "product": "产品", "resources": "资源", - "company": "公司简介" + "company": "公司" }, "auth": { "welcome": "欢迎", "signIn": "登录", "enterPassword": "输入您的密码以继续", "password": "密码", - "unifiedProxy": "统一AI API代理", - "unifiedAiApiProxy": "统一AI API代理", + "unifiedProxy": "统一 AI API 代理", + "unifiedAiApiProxy": "统一 AI API 代理", "unifiedAiApiProxyDesc": "通过单个端点将请求路由到多个 AI 提供商。内置负载平衡、故障转移和使用情况跟踪。", "passwordNotEnabled": "未启用密码保护", "loading": "正在加载...", "invalidPassword": "密码无效", "errorOccurredRetry": "发生错误。请再试一次。", - "configureInstance": "让我们配置您的 OmniRoute 实例", + "configureInstance": "开始配置你的 OmniRoute 实例", "runOnboardingWizard": "运行入门向导来设置您的密码并连接您的第一个 AI 提供商。", - "startOnboarding": "开始入职", + "startOnboarding": "开始引导", "secureYourInstance": "保护您的实例", "setPasswordDescription": "设置密码以保护您的仪表板并保护您的 API 端点免遭未经授权的访问。", "configurePassword": "配置密码", @@ -2450,26 +2458,28 @@ "methodCliTitle": "方法 1:CLI 重置", "methodCliDescription": "在运行 OmniRoute 的服务器上运行以下命令:", "methodCliHint": "这将提示您设置新密码。必须首先停止服务器。", - "methodManualTitle": "方法二:手动复位", + "methodManualTitle": "方法 2:手动重置", "methodManualDescription": "从数据库中删除密码并在启动时设置新密码:", - "setPasswordInYour": "在您的密码中设置一个新密码", + "setPasswordInYour": "在以下位置设置新密码:", "fileLabelSuffix": "文件:", - "newPasswordPlaceholder": "你的新密码", + "newPasswordPlaceholder": "your_new_password", "deleteSettingsFile": "删除", - "orRemovePasswordHashField": "或删除passwordHash字段", - "restartServerWithNewPassword": "重新启动服务器 - 它将使用新密码", + "orRemovePasswordHashField": "或删除 passwordHash 字段", + "restartServerWithNewPassword": "重启服务器,系统会使用新密码", "backToLogin": "返回登录", "forgotPassword": "忘记密码?", "defaultPasswordHint": "默认密码:123456(除非已设置 INITIAL_PASSWORD)", - "waitingForAuthorization": "Waiting for authorization...", - "waitingForGoogleAuthorization": "Waiting for Google authorization...", - "waitingForOpenAIAuthorization": "Waiting for OpenAI authorization...", - "waitingForAntigravityAuthorization": "Waiting for Antigravity authorization...", - "waitingForIFlowAuthorization": "Waiting for iFlow authorization...", - "exchangingCodeForTokens": "Exchanging code for tokens..." + "Authorization": "Authorization", + "Content-Disposition": "Content-Disposition", + "waitingForAuthorization": "正在等待授权...", + "waitingForGoogleAuthorization": "正在等待 Google 授权...", + "waitingForOpenAIAuthorization": "正在等待 OpenAI 授权...", + "waitingForAntigravityAuthorization": "正在等待 Antigravity 授权...", + "waitingForIFlowAuthorization": "正在等待 iFlow 授权...", + "exchangingCodeForTokens": "正在用授权码换取 Tokens..." }, "landing": { - "brandName": "全方位路由", + "brandName": "OmniRoute", "navigateHome": "导航至主页", "toggleMenu": "切换菜单", "featuresLink": "特点", @@ -2477,7 +2487,7 @@ "github": "GitHub", "versionLive": "v1.0 现已上线", "oneEndpoint": "一个端点", - "allProviders": "所有人工智能提供商", + "allProviders": "所有 AI 提供商", "heroDescription": "带 Web 仪表板的 AI 端点代理,是 CLIProxyAPI 的 JavaScript 版本。可与 Claude Code、OpenAI Codex、Cline、RooCode 等 CLI 工具无缝配合。", "getStarted": "开始使用", "viewOnGithub": "在 GitHub 上查看", @@ -2505,7 +2515,7 @@ "howItWorksStep1Description": "您的请求从您最喜欢的工具或我们的统一 SDK 开始。只需更改基本 URL 即可。", "howItWorksStep2Title": "2. OmniRoute 中枢", "howItWorksStep2Description": "我们的引擎分析提示、检查提供商的运行状况以及最低延迟或成本的路线。", - "howItWorksStep3Title": "3.人工智能提供商", + "howItWorksStep3Title": "3. AI 提供商", "howItWorksStep3Description": "请求会被立即转发给 OpenAI、Anthropic、Gemini 或其他提供商完成处理。", "getStartedIn30Seconds": "30 秒内开始", "getStartedDescription": "安装 OmniRoute,通过 Web 仪表板配置你的提供商,然后开始路由 AI 请求。", @@ -2513,7 +2523,7 @@ "installStepDescription": "运行 npx 命令立即启动服务器", "openDashboard": "打开仪表板", "openDashboardStepDescription": "通过 Web 界面配置提供商和 API 密钥", - "routeRequests": "路线请求", + "routeRequests": "路由请求", "routeRequestsStepDescription": "将您的 CLI 工具指向 {endpoint}", "terminal": "终端", "copy": "复制", @@ -2521,31 +2531,31 @@ "startingOmniRoute": "正在启动 OmniRoute...", "serverRunningOnLabel": "服务器运行于", "dashboardLabel": "仪表板", - "readyToRoute": "准备好路线! ✓", + "readyToRoute": "已准备好开始路由! ✓", "configureProvidersNote": "📝 在仪表板中配置提供商或使用环境变量", "dataLocation": "数据位置:", "dataLocationMacLinux": " macOS/Linux:", - "dataLocationWindows": " 窗户:", - "product": "产品展示", + "dataLocationWindows": " Windows:", + "product": "产品", "dashboardLink": "仪表板", "changelog": "变更日志", "resources": "资源", "documentation": "文档", - "npm": "国家公共管理", + "npm": "npm", "legal": "法律", - "mitLicense": "麻省理工学院许可证", + "mitLicense": "MIT 许可证", "footerTagline": "AI 生成的统一端点。轻松连接、路由和管理您的 AI 提供商。", "copyright": "© {year} OmniRoute。保留所有权利。", - "flowToolClaudeCode": "克劳德·科德", + "flowToolClaudeCode": "Claude Code", "flowToolOpenAICodex": "OpenAI Codex", - "flowToolCline": "克莱因", - "flowToolCursor": "光标", - "flowProviderOpenAI": "开放人工智能", + "flowToolCline": "Cline", + "flowToolCursor": "Cursor", + "flowProviderOpenAI": "OpenAI", "flowProviderAnthropic": "Anthropic", - "flowProviderGemini": "双子座", + "flowProviderGemini": "Gemini", "flowProviderGithubCopilot": "GitHub Copilot", - "interactiveDiagram": "桌面上可见的交互式图表", - "ctaTitle": "准备好简化您的人工智能基础设施了吗?", + "interactiveDiagram": "可交互流程图", + "ctaTitle": "准备好简化你的 AI 基础设施了吗?", "ctaDescription": "加入更多开发者,一起用 OmniRoute 简化 AI 集成流程。开源且可免费开始使用。", "startFree": "免费开始", "readDocumentation": "阅读文档" @@ -2618,21 +2628,21 @@ "useCaseUsageVisibilityTitle": "使用情况、成本和调试可见性", "useCaseUsageVisibilityText": "在“使用情况”和“分析”选项卡中按提供商、帐户和 API 密钥跟踪令牌和成本。", "clientCherryStudioTitle": "樱桃工作室", - "baseUrlLabel": "基本网址", + "baseUrlLabel": "Base URL", "chatEndpointLabel": "聊天端点", "modelRecommendationLabel": "模型建议:显式前缀", "clientCodexTitle": "Codex / GitHub Copilot 模型", "clientCodexBullet1": "使用模型 ID", "clientCodexBullet2": "Codex 系列模型会自动路由到", "clientCodexBullet3": "非法典模型继续", - "clientCursorTitle": "光标集成开发环境", + "clientCursorTitle": "Cursor IDE", "clientCursorBullet1": "使用", - "clientCursorBullet1Suffix": "光标模型的前缀。", + "clientCursorBullet1Suffix": "Cursor 模型前缀。", "clientCursorBullet2": "OAuth 连接方式:在 Providers 页面中登录。", - "clientClaudeTitle": "克劳德·代码 / 反重力", + "clientClaudeTitle": "Claude Code / Antigravity", "clientClaudeBullet1Prefix": "使用", - "clientClaudeBullet1Middle": "(克劳德)或", - "clientClaudeBullet1Suffix": "(反重力)前缀。", + "clientClaudeBullet1Middle": "(Claude)或", + "clientClaudeBullet1Suffix": "(Antigravity)前缀。", "protocolsTitle": "协议:MCP 与 A2A", "protocolsDescription": "除了 OpenAI 兼容 API 之外,OmniRoute 还提供两类操作协议:用于工具执行的 MCP,以及用于智能体协作工作流的 A2A。", "protocolMcpTitle": "MCP(Model Context Protocol)", @@ -2688,11 +2698,11 @@ "clearHistory": "随时清除使用记录", "configureRetention": "配置日志保留策略", "backupRestore": "备份和恢复您的数据库", - "privacyMetadataTitle": "隐私政策 |全方位路由", + "privacyMetadataTitle": "隐私政策 | OmniRoute", "privacyMetadataDescription": "OmniRoute AI API 代理路由器的隐私政策。", - "termsMetadataTitle": "服务条款 |全方位路由", + "termsMetadataTitle": "服务条款 | OmniRoute", "termsMetadataDescription": "OmniRoute AI API 代理路由器的服务条款。", - "backToHome": "回到家", + "backToHome": "返回首页", "lastUpdated": "最后更新:{date}", "policyLastUpdatedDate": "2026 年 2 月 13 日", "listSeparator": "-", @@ -2703,12 +2713,12 @@ "privacySection2Title": "2. 我们存储的数据", "privacyDataStoredIn": "以下数据存储在本地", "privacyDataProviderConfigurationsDesc": "连接 URL、提供商类型和优先级设置", - "privacyDataApiKeysDesc": "加密并存储在本地,以便与人工智能提供商进行身份验证", + "privacyDataApiKeysDesc": "已加密并存储在本地,用于与 AI 提供商进行身份验证", "privacyDataUsageLogsDesc": "请求计数、令牌使用情况、模型名称、时间戳和响应时间", "privacyDataApplicationSettingsDesc": "主题偏好、路由策略和组合配置", "privacySection3Title": "3. 无遥测", "privacySection3Text": "OmniRoute 不收集遥测、分析或崩溃报告。不会向我们或任何第三方发送数据。你的使用模式、API 调用和配置都会保持私密。", - "privacySection4Title": "4. 第三方人工智能提供商", + "privacySection4Title": "4. 第三方 AI 提供商", "privacySection4Text": "当你通过 OmniRoute 发起 API 调用时,请求会被转发到你配置的 AI 提供商(例如:OpenAI、Anthropic、Google)。这些提供商有各自的隐私政策,请查阅:", "privacyOpenAiPolicy": "OpenAI 隐私政策", "privacyAnthropicPolicy": "Anthropic 隐私政策", @@ -2753,20 +2763,20 @@ "versionCommand": "版本命令", "spawnArgs": "启动参数", "addAgent": "添加智能体", - "scanning": "Scanning system for CLI agents...", - "opencodeIntegration": "OpenCode Integration", - "opencodeDetected": "opencode {version} detected", - "opencodeDesc": "Generate a ready-to-use {configFile} with your OmniRoute base URL and all available models — drop it in your project root and run {command}.", - "downloadConfig": "Download {file}", - "downloaded": "Downloaded!", - "setupGuideTitle": "Setup guide", - "openCliTools": "Open CLI Tools", - "setupGuideDetectCliTitle": "Detect installed CLIs", - "setupGuideDetectCliDesc": "Click Refresh after installing or updating a CLI so OmniRoute can rescan binaries and versions.", - "setupGuideCustomAgentTitle": "Register custom binary", - "setupGuideCustomAgentDesc": "Use Add Custom Agent when your CLI is not in the built-in list. Provide binary name and version command.", - "setupGuideCommandMissingTitle": "Fix 'command not found'", - "setupGuideCommandMissingDesc": "Ensure the CLI command exists in PATH, open a new terminal session, and rerun Refresh." + "scanning": "正在扫描系统中的 CLI 智能体...", + "opencodeIntegration": "OpenCode 集成", + "opencodeDetected": "已检测到 opencode {version}", + "opencodeDesc": "生成可直接使用的 {configFile},其中会填入你的 OmniRoute Base URL 和全部可用模型。将它放到项目根目录后运行 {command} 即可。", + "downloadConfig": "下载 {file}", + "downloaded": "已下载!", + "setupGuideTitle": "设置指南", + "openCliTools": "打开 CLI Tools", + "setupGuideDetectCliTitle": "检测已安装的 CLI", + "setupGuideDetectCliDesc": "安装或更新 CLI 后点击“刷新”,让 OmniRoute 重新扫描可执行文件和版本信息。", + "setupGuideCustomAgentTitle": "注册自定义可执行文件", + "setupGuideCustomAgentDesc": "如果你的 CLI 不在内置列表中,请使用“添加自定义智能体”,并填写可执行文件名与版本命令。", + "setupGuideCommandMissingTitle": "修复“command not found”", + "setupGuideCommandMissingDesc": "请确认 CLI 命令已存在于 PATH 中,重新打开一个终端会话后再次点击“刷新”。" }, "autoCombo": { "title": "自动组合引擎", @@ -2792,19 +2802,46 @@ "modePackOfflineFriendly": "离线友好" }, "templateNames": { - "simple-chat": "Simple Chat", - "streaming": "Streaming", - "system-prompt": "System Prompt", - "thinking": "Thinking", - "tool-calling": "Tool Calling", - "multi-turn": "Multi-turn" + "simple-chat": "简单对话", + "streaming": "流式响应", + "system-prompt": "系统提示词", + "thinking": "思考模式", + "tool-calling": "工具调用", + "multi-turn": "多轮对话" }, "templateDescriptions": { - "simple-chat": "Basic chat template", - "streaming": "Streaming template", - "system-prompt": "System prompt template", - "thinking": "Thinking template", - "tool-calling": "Tool calling template", - "multi-turn": "Multi-turn template" + "simple-chat": "带系统消息的基础对话模板", + "streaming": "用于流式响应的模板", + "system-prompt": "带自定义系统提示词的模板", + "thinking": "带推理/思考预算的模板", + "tool-calling": "用于工具/函数调用的模板", + "multi-turn": "用于多轮对话的模板" + }, + "templatePayloads": { + "simpleChat": { + "system": "你是一名乐于助人的 AI 助手。", + "userGreeting": "你好!今天我可以帮你做些什么?" + }, + "streaming": { + "prompt": "写一个关于" + }, + "systemPrompt": { + "question": "生命的意义是什么?", + "systemInstruction": "请给出一个深思熟虑、带有哲学意味的回答。" + }, + "thinking": { + "question": "请解释量子计算" + }, + "toolCalling": { + "cityNameDescription": "需要查询天气的城市名称", + "toolDescription": "获取某个地点的当前天气", + "userWeather": "东京现在天气怎么样?" + }, + "multiTurn": { + "system": "你是一名乐于助人的助手。", + "assistantExample": "我很乐意帮助你处理这件事。", + "userInitial": "我需要帮助来处理", + "userFollowUp": "你可以再详细说明一下吗?" + } } }