mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-07-24 12:44:18 +08:00
f21d6f7a42
* fix(i18n): rename "Write Common Config" checkbox to "Apply Common Config" The original label "Write Common Config" (写入通用配置) was ambiguous about data flow direction — it read as "write current config INTO the common config" when the actual behavior is the reverse: merge the saved common config snippet INTO this provider's config. Rename to "Apply Common Config" across zh/zh-TW/en/ja, including all hint/guide/notice references and component defaultValue fallbacks, to make the action unambiguous. Also aligns the Gemini hint wording with the claude/codex "when checked" phrasing. * docs(ja): sync Japanese docs with renamed 'Apply Common Config' label Codex review on #4829 pointed out the Japanese user manual and README still referenced the old checkbox label after the rename. - docs/user-manual/ja/2-providers/2.1-add.md: 共通設定を書き込み → 共通設定を適用 - README_JA.md: 共有設定を書き込む → 共有設定を適用
2909 lines
145 KiB
JSON
2909 lines
145 KiB
JSON
{
|
||
"app": {
|
||
"title": "CC Switch",
|
||
"description": "Claude Code / Codex / Gemini CLI 全方位辅助工具"
|
||
},
|
||
"common": {
|
||
"add": "添加",
|
||
"edit": "编辑",
|
||
"delete": "删除",
|
||
"save": "保存",
|
||
"saving": "保存中...",
|
||
"cancel": "取消",
|
||
"confirm": "确定",
|
||
"close": "关闭",
|
||
"done": "完成",
|
||
"settings": "设置",
|
||
"about": "关于",
|
||
"version": "版本",
|
||
"loading": "加载中...",
|
||
"notInstalled": "未安装",
|
||
"success": "成功",
|
||
"error": "错误",
|
||
"unknown": "未知",
|
||
"enterValidValue": "请输入有效的内容",
|
||
"clear": "清除",
|
||
"toggleTheme": "切换主题",
|
||
"format": "格式化",
|
||
"formatSuccess": "格式化成功",
|
||
"formatError": "格式化失败:{{error}}",
|
||
"copy": "复制",
|
||
"view": "查看",
|
||
"back": "返回",
|
||
"refresh": "刷新",
|
||
"refreshing": "刷新中...",
|
||
"import": "导入",
|
||
"all": "全部",
|
||
"search": "查询",
|
||
"reset": "重置",
|
||
"actions": "操作",
|
||
"deleting": "删除中...",
|
||
"auto": "自动",
|
||
"enabled": "已开启",
|
||
"notSet": "未设置"
|
||
},
|
||
"firstRunNotice": {
|
||
"title": "欢迎使用 CC Switch",
|
||
"bodyDefault": "CC Switch 可以帮你在 Claude Code / Codex / Gemini CLI 的多个供应商之间一键切换。如果你之前已经配置过这些工具,CC Switch 会自动把现有设置保存为名为 “default” 的供应商,保证你的配置不会丢失。",
|
||
"bodyOfficial": "列表里还预置了 “官方(Official)” 供应商,随时点一下即可切回官方默认配置。切换前 CC Switch 会自动把当前配置备份回 default,可以放心来回切。CC Switch 就是这样工作的 😊",
|
||
"confirm": "我知道了"
|
||
},
|
||
"apiKeyInput": {
|
||
"placeholder": "请输入API Key",
|
||
"show": "显示API Key",
|
||
"hide": "隐藏API Key"
|
||
},
|
||
"jsonEditor": {
|
||
"mustBeObject": "配置必须是JSON对象,不能是数组或其他类型",
|
||
"invalidJson": "JSON格式错误"
|
||
},
|
||
"commonConfig": {
|
||
"guideTitle": "什么是通用配置片段?",
|
||
"guidePurpose": "用来在不同供应商之间共享插件、环境变量等非敏感配置。切换供应商时不会丢失这些设置。",
|
||
"guideUsage": "用法:① 点击「从编辑内容提取」保存通用部分 ② 新建供应商时勾选「应用通用配置」",
|
||
"guideReExtract": "如果您新安装了插件或 Hook,请重新提取一次通用配置,以便同步到其他供应商。",
|
||
"guideReassurance": "放心:您的原始配置已保存在默认供应商中,不会丢失。",
|
||
"emptyTitle": "还没有通用配置片段",
|
||
"emptyHint": "点击下方「从编辑内容提取」按钮,从当前配置中提取可复用的部分"
|
||
},
|
||
"claudeConfig": {
|
||
"configLabel": "Claude Code 配置 (JSON) *",
|
||
"writeCommonConfig": "应用通用配置",
|
||
"editCommonConfig": "编辑通用配置",
|
||
"editCommonConfigTitle": "编辑通用配置片段",
|
||
"commonConfigHint": "该片段会在勾选\"应用通用配置\"时合并到 settings.json 中",
|
||
"fullSettingsHint": "完整的 Claude Code settings.json 配置内容",
|
||
"extractFromCurrent": "从编辑内容提取",
|
||
"extractNoCommonConfig": "当前编辑内容没有可提取的通用配置",
|
||
"extractFailed": "提取失败: {{error}}",
|
||
"saveFailed": "保存失败: {{error}}",
|
||
"hideAttribution": "隐藏 AI 署名",
|
||
"enableTeammates": "Teammates 模式",
|
||
"enableToolSearch": "启用 Tool Search",
|
||
"effortMax": "最大强度思考",
|
||
"disableAutoUpgrade": "禁用自动升级"
|
||
},
|
||
"header": {
|
||
"viewOnGithub": "在 GitHub 上查看",
|
||
"toggleDarkMode": "切换到暗色模式",
|
||
"toggleLightMode": "切换到亮色模式",
|
||
"addProvider": "添加供应商",
|
||
"switchToChinese": "切换到中文",
|
||
"switchToEnglish": "切换到英文",
|
||
"enterEditMode": "进入编辑模式",
|
||
"exitEditMode": "退出编辑模式",
|
||
"windowMinimize": "最小化窗口",
|
||
"windowMaximize": "最大化窗口",
|
||
"windowRestore": "还原窗口",
|
||
"windowClose": "关闭窗口"
|
||
},
|
||
"provider": {
|
||
"connectivityCheck": "检测连通",
|
||
"tabProvider": "供应商",
|
||
"tabUniversal": "统一供应商",
|
||
"noProviders": "还没有添加任何供应商",
|
||
"noProvidersDescription": "如果你已有配置,请点击\"导入当前配置\",所有数据将安全保存在 default 供应商中",
|
||
"noProvidersDescriptionSnippet": "除 Key 和请求地址外的数据(如插件配置)会被保存到通用配置片段,用于在不同供应商之间共享",
|
||
"importCurrent": "导入当前配置",
|
||
"importFromClaude": "将 Claude Code 中已有的供应商导入",
|
||
"importCurrentDescription": "将当前正在使用的配置导入为默认供应商",
|
||
"currentlyUsing": "当前使用",
|
||
"enable": "启用",
|
||
"inUse": "使用中",
|
||
"blockedByProxyHint": "代理接管模式下不可切换到官方供应商",
|
||
"editProvider": "编辑供应商",
|
||
"editProviderHint": "更新配置后将立即应用到当前供应商。",
|
||
"deleteProvider": "删除供应商",
|
||
"addNewProvider": "添加新供应商",
|
||
"addFooterHint": "💡 选择预设后,请在下方填写 API Key 等字段",
|
||
"addClaudeProvider": "添加 Claude Code 供应商",
|
||
"addCodexProvider": "添加 Codex 供应商",
|
||
"addGeminiProvider": "添加 Gemini 供应商",
|
||
"addOpenCodeProvider": "添加 OpenCode 供应商",
|
||
"addToConfig": "添加",
|
||
"removeFromConfig": "移除",
|
||
"setAsDefault": "设为默认",
|
||
"isDefault": "当前默认",
|
||
"inConfig": "已添加",
|
||
"addProviderHint": "填写信息后即可在列表中快速切换供应商。",
|
||
"editClaudeProvider": "编辑 Claude Code 供应商",
|
||
"editCodexProvider": "编辑 Codex 供应商",
|
||
"configError": "配置错误",
|
||
"notConfigured": "未配置官网地址",
|
||
"applyToClaudePlugin": "应用到 Claude 插件",
|
||
"removeFromClaudePlugin": "从 Claude 插件移除",
|
||
"dragToReorder": "拖拽以重新排序",
|
||
"dragHandle": "拖拽排序",
|
||
"searchPlaceholder": "按名称/备注/网址搜索供应商...",
|
||
"searchAriaLabel": "搜索供应商",
|
||
"searchScopeHint": "根据名称、备注和官网链接匹配结果。",
|
||
"searchCloseHint": "按 Esc 关闭",
|
||
"searchCloseAriaLabel": "关闭供应商搜索",
|
||
"noSearchResults": "没有符合搜索条件的供应商。",
|
||
"duplicate": "复制",
|
||
"sortUpdateFailed": "排序更新失败",
|
||
"configureUsage": "配置用量查询",
|
||
"officialPartner": "官方合作伙伴",
|
||
"managedByHermes": "Hermes 托管",
|
||
"managedByHermesHint": "该条目定义在 Hermes 的 providers: dict,请在 Hermes Web UI 中编辑或删除。",
|
||
"openTerminal": "打开终端",
|
||
"terminalOpened": "终端已打开",
|
||
"terminalOpenFailed": "打开终端失败",
|
||
"name": "供应商名称",
|
||
"namePlaceholder": "例如:Claude 官方",
|
||
"websiteUrl": "官网链接",
|
||
"notes": "备注",
|
||
"notesPlaceholder": "例如:公司专用账号",
|
||
"configJson": "配置 JSON",
|
||
"writeCommonConfig": "应用通用配置",
|
||
"editCommonConfigButton": "编辑通用配置",
|
||
"configJsonHint": "请填写完整的 Claude Code 配置",
|
||
"editCommonConfigTitle": "编辑通用配置片段",
|
||
"editCommonConfigHint": "通用配置片段将合并到所有启用它的供应商配置中",
|
||
"addProvider": "添加供应商",
|
||
"sortUpdated": "排序已更新",
|
||
"usageSaved": "用量查询配置已保存",
|
||
"usageSaveFailed": "用量查询配置保存失败",
|
||
"geminiConfig": "Gemini 配置",
|
||
"geminiConfigHint": "使用 .env 格式配置 Gemini",
|
||
"form": {
|
||
"gemini": {
|
||
"model": "模型",
|
||
"oauthTitle": "OAuth 认证模式",
|
||
"oauthHint": "Google 官方使用 OAuth 个人认证,无需填写 API Key。首次使用时会自动打开浏览器进行登录。",
|
||
"apiKeyPlaceholder": "请输入 Gemini API Key"
|
||
}
|
||
}
|
||
},
|
||
"claudeCode": {
|
||
"needsRouting": "需要路由",
|
||
"noRoutingSupport": "不支持路由"
|
||
},
|
||
"codex": {
|
||
"needsRouting": "需要路由",
|
||
"noRoutingSupport": "不支持路由"
|
||
},
|
||
"claudeDesktop": {
|
||
"officialNotice": "Claude Desktop 官方供应商使用应用内置的 1P 登录,无需配置 API Key 和接口地址。",
|
||
"mode": "模型处理方式",
|
||
"modeDirect": "直连",
|
||
"modeProxy": "需要路由",
|
||
"modelMappingToggle": "需要模型映射",
|
||
"modelMappingOffHint": "仅当供应商直接接受 Claude Desktop 可识别的三档角色 ID(claude-sonnet-* / claude-opus-* / claude-haiku-*)时才适用直连;其他模型名(含 claude-3-5-sonnet-… 等旧式 ID)请打开此开关走映射。",
|
||
"modelMappingOnHint": "Claude Desktop 只接受 claude-sonnet-* / claude-opus-* / claude-haiku-* 三档角色 ID。开启后 CC Switch 会把这三档映射到供应商的实际模型,并在使用期间保持本地路由开启。",
|
||
"routeMapTitle": "模型映射",
|
||
"routeMapHint": "为 Sonnet、Opus、Haiku 三档分别填写实际请求模型;菜单显示名可写 DeepSeek、Kimi 等品牌名。留空的档会自动沿用 Sonnet(或第一个已填档)的模型,确保子 agent 调用的 Haiku 始终可用。",
|
||
"routeModelLabel": "模型角色",
|
||
"routeRoleSonnet": "Sonnet",
|
||
"routeRoleOpus": "Opus",
|
||
"routeRoleFable": "Fable",
|
||
"routeRoleHaiku": "Haiku",
|
||
"labelOverrideLabel": "菜单显示名",
|
||
"upstreamModelLabel": "实际请求模型",
|
||
"supports1mLabel": "声明支持 1M",
|
||
"supports1mShort": "1M",
|
||
"directModelListTitle": "手动指定 Claude Desktop 模型列表(高级,可选)",
|
||
"directModelListCollapsedHint": "原生 Claude 模型供应商通常不用填写,Claude Desktop 会自动读取 /v1/models。",
|
||
"directModelListHint": "仅当供应商的 /v1/models 不可用或没有返回 Claude Desktop 可识别的 Sonnet / Opus / Haiku 模型名时填写;勾选 1M 会向 Claude Desktop 声明支持 1M 上下文。",
|
||
"directModelInvalid": "直连模型必须使用 Claude Desktop 可识别的 Sonnet / Opus / Haiku 模型名",
|
||
"addModel": "添加模型",
|
||
"addRoute": "添加模型",
|
||
"routeInvalid": "请选择模型角色并填写实际请求模型",
|
||
"routesRequired": "至少填写一个模型映射",
|
||
"statusTitle": "Claude Desktop 配置需要检查",
|
||
"statusUnsupported": "当前平台暂不支持 Claude Desktop 3P 配置写入。",
|
||
"statusStaleRawModels": "Claude Desktop profile 中存在非 Sonnet / Opus / Haiku 角色模型名,新版 Claude Desktop 可能拒绝加载;重新切换当前供应商可修复。",
|
||
"statusMissingRouteMappings": "当前供应商启用了模型映射,但没有有效路由;请编辑供应商并补全至少一个模型映射。",
|
||
"statusGatewayTokenMissing": "当前本地路由 token 尚未生成;重新切换该供应商会写入新的本地 token。",
|
||
"statusBaseUrlMismatch": "Claude Desktop profile 指向的地址与当前供应商不一致;当前为 {{actual}},应为 {{expected}}。重新切换当前供应商可修复。",
|
||
"route": {
|
||
"tooltip": {
|
||
"active": "Claude Desktop 本地路由已开启 - {{address}}:{{port}}",
|
||
"inactive": "开启 Claude Desktop 本地路由,用于需要模型映射或格式转换的供应商。当前配置地址:{{address}}:{{port}}"
|
||
}
|
||
}
|
||
},
|
||
"notifications": {
|
||
"providerAdded": "供应商已添加",
|
||
"providerSaved": "供应商配置已保存",
|
||
"providerDeleted": "供应商删除成功",
|
||
"switchSuccess": "切换成功!",
|
||
"codexRestartRequired": "切换成功,请重启客户端以生效",
|
||
"claudeDesktopRestartRequired": "切换成功,重启 Claude Desktop 后生效",
|
||
"claudeDesktopProxyRestartRequired": "切换成功,请保持 CC Switch 运行,并重启 Claude Desktop 后生效",
|
||
"addToConfigSuccess": "已添加到配置",
|
||
"removeFromConfigSuccess": "已从配置移除",
|
||
"switchFailedTitle": "切换失败",
|
||
"switchFailed": "切换失败:{{error}}",
|
||
"autoImported": "已从现有配置创建默认供应商",
|
||
"addFailed": "添加供应商失败:{{error}}",
|
||
"saveFailed": "保存失败:{{error}}",
|
||
"saveFailedGeneric": "保存失败,请重试",
|
||
"appliedToClaudePlugin": "已应用到 Claude 插件",
|
||
"removedFromClaudePlugin": "已从 Claude 插件移除",
|
||
"syncClaudePluginFailed": "同步 Claude 插件失败",
|
||
"skipClaudeOnboardingFailed": "跳过 Claude Code 初次安装确认失败",
|
||
"clearClaudeOnboardingSkipFailed": "恢复 Claude Code 初次安装确认失败",
|
||
"updateSuccess": "供应商更新成功",
|
||
"updateFailed": "更新供应商失败:{{error}}",
|
||
"deleteSuccess": "供应商已删除",
|
||
"deleteFailed": "删除供应商失败:{{error}}",
|
||
"settingsSaved": "设置已保存",
|
||
"settingsSaveFailed": "保存设置失败:{{error}}",
|
||
"proxyRequiredForSwitch": "此供应商{{reason}},需要路由服务才能正常使用,请先启动路由",
|
||
"proxyReasonCopilot": "使用 GitHub Copilot 作为 Claude 供应商",
|
||
"proxyReasonOpenAIChat": "使用 OpenAI Chat 接口格式",
|
||
"proxyReasonOpenAIResponses": "使用 OpenAI Responses 接口格式",
|
||
"proxyReasonFullUrl": "开启了完整 URL 连接模式",
|
||
"openAIFormatHint": "此供应商使用 OpenAI 兼容格式,需要开启路由服务才能正常使用",
|
||
"copilotProxyHint": "GitHub Copilot 作为 Claude 供应商时始终需要本地路由;路由会根据当前模型自动选择 Chat Completions 或 Responses。",
|
||
"openLinkFailed": "链接打开失败",
|
||
"openclawModelsRegistered": "模型已注册到 /model 列表",
|
||
"openclawDefaultModelSet": "已设为默认模型",
|
||
"openclawDefaultModelSetFailed": "设置默认模型失败",
|
||
"openclawNoModels": "该供应商没有配置模型",
|
||
"backfillWarning": "切换成功,但旧供应商配置回填失败,您手动修改的配置可能未保存",
|
||
"windowControlFailed": "窗口控制失败:{{error}}",
|
||
"officialBlockedByProxy": "本地路由模式下不能切换到官方供应商,使用路由访问官方 API 可能导致账号被封禁",
|
||
"proxyOfficialWarning": "当前供应商 {{name}} 是官方供应商,建议切换到第三方供应商后再使用本地路由"
|
||
},
|
||
"confirm": {
|
||
"deleteProvider": "删除供应商",
|
||
"deleteProviderMessage": "确定要删除供应商 \"{{name}}\" 吗?此操作无法撤销。",
|
||
"removeProvider": "移除供应商",
|
||
"removeProviderMessage": "确定要从配置中移除供应商 \"{{name}}\" 吗?\n\n移除后该供应商将不再生效,但配置数据会保留在 CC Switch 中,您可以随时重新添加。",
|
||
"proxy": {
|
||
"title": "启用本地路由服务",
|
||
"message": "本地路由是一项高级功能,启用前请确保您已了解其工作原理。\n\n建议先查阅相关文档或咨询您的供应商,以获取正确的配置方式。",
|
||
"confirm": "我已了解,继续启用"
|
||
},
|
||
"failover": {
|
||
"title": "启用故障转移功能",
|
||
"message": "故障转移是一项高级功能,启用前请确保您已了解其工作原理。\n\n建议先在故障转移队列中配置好供应商优先级。",
|
||
"confirm": "我已了解,继续启用"
|
||
},
|
||
"unifyCodexHistory": {
|
||
"title": "统一 Codex 会话历史",
|
||
"message": "开启后,官方订阅与第三方将共用同一个会话历史列表。注意:跨供应商继续旧会话时,可能因对方后端无法解密 encrypted_content 推理内容而失败。\n\n可选择同时把现有官方会话历史迁入共享列表(迁移前自动备份到 ~/.cc-switch/backups,关闭开关时可选择恢复)。",
|
||
"migrateExisting": "同时迁入现有官方会话历史",
|
||
"confirm": "我已了解,继续开启"
|
||
},
|
||
"unifyCodexHistoryOff": {
|
||
"title": "关闭统一会话历史",
|
||
"message": "关闭后,官方订阅与第三方将恢复各自独立的会话历史列表。开启期间产生的会话因无法区分来源,将留在第三方历史中,官方订阅将看不到它们。",
|
||
"restoreBackup": "把开启时迁入的官方会话还原回官方历史(按备份精确还原)",
|
||
"confirm": "关闭"
|
||
},
|
||
"usage": {
|
||
"title": "配置用量查询",
|
||
"message": "用量查询需要配置专用的查询脚本或 API 参数,请确保您已从供应商处获取相关信息。\n\n如不确定如何配置,请先查阅供应商文档。",
|
||
"confirm": "我已了解,继续配置"
|
||
},
|
||
"streamCheck": {
|
||
"title": "模型健康检测",
|
||
"message": "健康检测通过直接发送 API 请求来测试供应商连通性,以下情况可能导致检测失败:\n\n• 官方供应商(使用 OAuth 登录,无独立 API Key)\n• 部分中转服务(会校验请求是否来自 Claude Code CLI)\n• AWS Bedrock(使用 IAM 签名认证)\n\n检测失败不代表供应商不可用,仅表示无法通过独立请求验证。请以应用内的实际情况为准。",
|
||
"confirm": "我已了解,继续检测"
|
||
},
|
||
"autoSync": {
|
||
"title": "开启自动同步",
|
||
"message": "开启自动同步后,每次数据库变更都会自动上传到 WebDAV 服务器。\n\n这可能会产生较高的网络流量消耗,请确保您的网络环境和 WebDAV 服务支持频繁的数据传输。",
|
||
"confirm": "我已了解,继续开启"
|
||
},
|
||
"commonConfig": {
|
||
"title": "关于通用配置",
|
||
"message": "「通用配置片段」可以在不同供应商之间共享插件、环境变量等配置,避免切换供应商时丢失这些设置。\n\n使用方法:\n① 编辑供应商时点击「编辑通用配置」→「从编辑内容提取」\n② 新建供应商时勾选「应用通用配置」(默认已勾选)\n\n如果您新安装了插件或 Hook,请重新提取一次通用配置。",
|
||
"confirm": "我知道了"
|
||
}
|
||
},
|
||
"settings": {
|
||
"title": "设置",
|
||
"general": "通用",
|
||
"tabGeneral": "通用",
|
||
"tabAuth": "认证",
|
||
"tabAdvanced": "高级",
|
||
"tabProxy": "路由",
|
||
"authCenter": {
|
||
"title": "OAuth 认证中心",
|
||
"description": "在 Claude Code 中使用您的其他订阅,请注意合规风险。",
|
||
"beta": "Beta",
|
||
"copilotDescription": "管理 GitHub Copilot 账号",
|
||
"codexOauthDescription": "管理 ChatGPT 账号"
|
||
},
|
||
"advanced": {
|
||
"configDir": {
|
||
"title": "配置文件目录",
|
||
"description": "管理 Claude、Codex 和 Gemini 的配置存储路径"
|
||
},
|
||
"proxy": {
|
||
"title": "本地路由",
|
||
"description": "控制路由服务开关、查看状态与端口信息",
|
||
"enableFeature": "在主页面显示本地路由开关",
|
||
"enableFeatureDescription": "开启后,主页面顶部将显示路由和故障转移开关",
|
||
"enableFailoverToggle": "在主页面显示故障转移开关",
|
||
"enableFailoverToggleDescription": "开启后,主页面顶部将独立显示故障转移开关",
|
||
"running": "运行中",
|
||
"stopped": "已停止"
|
||
},
|
||
"modelTest": {
|
||
"title": "模型测试配置",
|
||
"description": "配置模型测试使用的默认模型和提示词"
|
||
},
|
||
"failover": {
|
||
"title": "自动故障转移",
|
||
"description": "配置故障转移队列和熔断策略"
|
||
},
|
||
"pricing": {
|
||
"title": "成本定价",
|
||
"description": "管理各模型 Token 计费规则"
|
||
},
|
||
"globalProxy": {
|
||
"title": "全局出站代理",
|
||
"description": "配置 CC Switch 访问外部 API 时使用的代理"
|
||
},
|
||
"data": {
|
||
"title": "数据管理",
|
||
"description": "导入和导出本地配置数据"
|
||
},
|
||
"backup": {
|
||
"title": "备份与恢复",
|
||
"description": "管理自动备份,查看和恢复数据库快照"
|
||
},
|
||
"cloudSync": {
|
||
"title": "云同步",
|
||
"description": "通过 WebDAV 在多设备间同步数据"
|
||
},
|
||
"rectifier": {
|
||
"title": "整流器",
|
||
"description": "自动修复 API 请求中的兼容性问题",
|
||
"enabled": "启用整流器",
|
||
"enabledDescription": "总开关,关闭后所有整流功能将被禁用",
|
||
"requestGroup": "请求整流",
|
||
"responseGroup": "响应整流",
|
||
"thinkingSignature": "Thinking 签名整流",
|
||
"thinkingSignatureDescription": "当 Anthropic 类型供应商返回 thinking 签名不兼容或非法请求等错误时,自动移除不兼容的 thinking 相关块并对同一供应商重试一次",
|
||
"thinkingBudget": "Thinking Budget 整流",
|
||
"thinkingBudgetDescription": "当 Anthropic 类型供应商返回 budget_tokens 约束错误(如至少 1024)时,自动将 thinking 规范为 enabled 并将 budget 设为 32000,同时在需要时将 max_tokens 设为 64000,然后重试一次",
|
||
"mediaFallback": "不支持图片降级",
|
||
"mediaFallbackDescription": "当供应商不支持图片输入时(已声明纯文本能力,或上游返回不支持图片的错误),自动将图片块替换为 [Unsupported Image] 标记,使对话不中断",
|
||
"mediaHeuristic": "启发式纯文本模型识别",
|
||
"mediaHeuristicDescription": "发送前按内置模型名列表预测性剥离图片。关闭后仅保留「已声明纯文本」与「上游报错兜底」两条事实驱动路径,避免内置列表把多模态模型误判为纯文本而静默丢图"
|
||
},
|
||
"optimizer": {
|
||
"title": "Bedrock 请求优化器",
|
||
"description": "在请求发送前自动优化 Thinking 和 Cache 配置(仅 Bedrock 供应商生效)",
|
||
"enabled": "启用优化器",
|
||
"thinkingOptimizer": "Thinking 优化",
|
||
"thinkingOptimizerDescription": "自动为 Opus/Sonnet 启用 Adaptive Thinking,为旧模型注入 Extended Thinking",
|
||
"cacheInjection": "Cache 注入",
|
||
"cacheInjectionDescription": "自动在请求关键位置注入 Cache 断点,减少重复 token 计费",
|
||
"cacheTtl": "Cache TTL",
|
||
"cacheTtl5m": "5 分钟",
|
||
"cacheTtl1h": "1 小时"
|
||
},
|
||
"logConfig": {
|
||
"title": "日志管理",
|
||
"description": "控制日志输出级别",
|
||
"enabled": "启用日志",
|
||
"enabledDescription": "总开关,关闭后所有日志将被禁用",
|
||
"level": "日志级别",
|
||
"levelDescription": "设置输出的最低日志级别",
|
||
"levels": {
|
||
"error": "错误",
|
||
"warn": "警告",
|
||
"info": "信息",
|
||
"debug": "调试",
|
||
"trace": "跟踪"
|
||
},
|
||
"levelHint": "日志级别说明:",
|
||
"levelDesc": {
|
||
"error": "仅严重错误",
|
||
"warn": "错误 + 警告信息",
|
||
"info": "一般操作信息(默认)",
|
||
"debug": "详细信息,包含 SSE 流和请求/响应详情",
|
||
"trace": "全部日志,最详细"
|
||
}
|
||
}
|
||
},
|
||
"language": "界面语言",
|
||
"languageHint": "切换后立即预览界面语言,保存后永久生效。",
|
||
"theme": "外观主题",
|
||
"themeHint": "选择应用的外观主题,立即生效。",
|
||
"themeLight": "浅色",
|
||
"themeDark": "深色",
|
||
"themeSystem": "跟随系统",
|
||
"importExport": "SQL 导入导出",
|
||
"importExportHint": "导入/导出数据库 SQL 备份(仅支持导入由 CC Switch 导出的备份),便于备份或迁移。",
|
||
"exportConfig": "导出 SQL 备份",
|
||
"selectConfigFile": "选择 SQL 文件",
|
||
"noFileSelected": "尚未选择配置文件。",
|
||
"import": "导入",
|
||
"importing": "导入中...",
|
||
"importSuccess": "导入成功!",
|
||
"importFailed": "导入失败",
|
||
"syncLiveFailed": "已导入,但同步到当前供应商失败,请手动重新选择一次供应商。",
|
||
"importPartialSuccess": "配置已导入,但同步到当前供应商失败。",
|
||
"importPartialHint": "请手动重新选择一次供应商以刷新对应配置。",
|
||
"configExported": "配置已导出到:",
|
||
"exportFailed": "导出失败",
|
||
"selectFileFailed": "请选择有效的 SQL 备份文件",
|
||
"configCorrupted": "SQL 文件可能已损坏或格式不正确",
|
||
"backupId": "备份ID",
|
||
"backupManager": {
|
||
"title": "数据库备份",
|
||
"description": "自动备份的数据库快照,可用于恢复到之前的状态",
|
||
"empty": "暂无备份",
|
||
"restore": "恢复",
|
||
"restoring": "恢复中...",
|
||
"confirmTitle": "确认恢复备份",
|
||
"confirmMessage": "恢复到此备份将覆盖当前数据库。恢复前会自动创建安全备份。",
|
||
"restoreSuccess": "恢复成功!安全备份已创建",
|
||
"restoreFailed": "恢复失败",
|
||
"safetyBackupId": "安全备份ID",
|
||
"intervalLabel": "自动备份间隔",
|
||
"retainLabel": "备份保留数量",
|
||
"intervalDisabled": "禁用",
|
||
"intervalHours": "{{hours}} 小时",
|
||
"intervalDays": "{{days}} 天",
|
||
"rename": "重命名",
|
||
"renameSuccess": "备份重命名成功",
|
||
"renameFailed": "重命名失败",
|
||
"namePlaceholder": "输入新名称",
|
||
"createBackup": "立即备份",
|
||
"creating": "备份中...",
|
||
"createSuccess": "备份创建成功",
|
||
"createFailed": "备份创建失败",
|
||
"delete": "删除",
|
||
"deleting": "删除中...",
|
||
"deleteSuccess": "备份已删除",
|
||
"deleteFailed": "删除失败",
|
||
"deleteConfirmTitle": "确认删除备份",
|
||
"deleteConfirmMessage": "此备份将被永久删除,此操作无法撤消。"
|
||
},
|
||
"webdavSync": {
|
||
"title": "WebDAV 云同步",
|
||
"description": "通过 WebDAV 在多设备间同步数据库和技能配置。",
|
||
"baseUrl": "WebDAV 服务器地址",
|
||
"baseUrlPlaceholder": "https://dav.jianguoyun.com/dav/",
|
||
"username": "WebDAV 账户",
|
||
"usernamePlaceholder": "邮箱账号",
|
||
"password": "WebDAV 密码",
|
||
"passwordPlaceholder": "应用密码(坚果云请使用「第三方应用密码」)",
|
||
"remoteRoot": "远程根目录",
|
||
"profile": "同步配置名",
|
||
"autoSync": "自动同步",
|
||
"autoSyncHint": "开启后每次数据库变更都会自动上传到 WebDAV。",
|
||
"test": "测试连接",
|
||
"testing": "测试中...",
|
||
"testSuccess": "连接成功",
|
||
"testFailed": "连接失败:{{error}}",
|
||
"save": "保存配置",
|
||
"saving": "保存中...",
|
||
"saveFailed": "保存配置失败:{{error}}",
|
||
"upload": "上传到云端",
|
||
"uploading": "上传中...",
|
||
"uploadSuccess": "已上传到 WebDAV",
|
||
"uploadFailed": "上传失败:{{error}}",
|
||
"autoSyncFailedToast": "自动同步失败:{{error}}",
|
||
"download": "从云端下载",
|
||
"downloading": "下载中...",
|
||
"downloadSuccess": "已从 WebDAV 下载并恢复",
|
||
"downloadFailed": "下载失败:{{error}}",
|
||
"lastSync": "上次同步:{{time}}",
|
||
"autoSyncLastErrorTitle": "上次自动同步失败",
|
||
"autoSyncLastErrorHint": "请检查网络或 WebDAV 配置,系统会在后续变更时继续自动重试。",
|
||
"missingUrl": "请填写 WebDAV 服务器地址",
|
||
"presets": {
|
||
"label": "服务商",
|
||
"jianguoyun": "坚果云",
|
||
"jianguoyunHint": "请在坚果云「安全选项」中生成「第三方应用密码」,不要使用登录密码。",
|
||
"nextcloud": "Nextcloud",
|
||
"nextcloudHint": "请将 your-server 替换为你的 Nextcloud 服务器地址,USERNAME 替换为你的用户名。",
|
||
"synology": "群晖 NAS",
|
||
"synologyHint": "请先在群晖「套件中心」安装并启用 WebDAV Server 套件。",
|
||
"custom": "自定义"
|
||
},
|
||
"remoteRootDefault": "默认: cc-switch-sync",
|
||
"profileDefault": "默认: default",
|
||
"saveAndTestSuccess": "配置已保存,连接正常",
|
||
"saveAndTestFailed": "配置已保存,但连接测试失败:{{error}}",
|
||
"noRemoteData": "云端没有找到同步数据",
|
||
"incompatibleVersion": "远端数据版本不兼容(协议 v{{protocolVersion}},数据库 {{dbCompatVersion}}),当前支持协议 v2 / db-v6",
|
||
"unsaved": "未保存",
|
||
"saved": "已保存",
|
||
"unsavedChanges": "请先保存配置",
|
||
"saveBeforeSync": "请先保存配置,再使用上传/下载。",
|
||
"fetchingRemote": "获取远端信息...",
|
||
"fetchRemoteFailed": "获取远端信息失败,请检查配置和网络后重试。",
|
||
"confirmDownload": {
|
||
"title": "从云端恢复",
|
||
"deviceName": "上传设备",
|
||
"createdAt": "上传时间",
|
||
"path": "远端路径",
|
||
"dbCompat": "数据库兼容层",
|
||
"artifacts": "包含内容",
|
||
"legacyNotice": "检测到旧版云端路径。恢复完成后,下次上传将写入新路径 v2/db-v6。",
|
||
"warning": "恢复将覆盖本地所有数据和技能配置",
|
||
"confirm": "确认恢复"
|
||
},
|
||
"confirmUpload": {
|
||
"title": "上传到云端",
|
||
"content": "将同步以下内容到 WebDAV 服务器:",
|
||
"dbItem": "数据库(所有 Provider 配置和数据)",
|
||
"skillsItem": "技能包(所有自定义技能)",
|
||
"targetPath": "目标路径",
|
||
"existingData": "云端已有数据",
|
||
"deviceName": "上传设备",
|
||
"createdAt": "上传时间",
|
||
"path": "远端路径",
|
||
"dbCompat": "数据库兼容层",
|
||
"warning": "将覆盖云端已有的同步数据",
|
||
"legacyNotice": "检测到旧版云端路径数据。本次上传将写入新路径 v2/db-v6,不会覆盖旧路径。",
|
||
"confirm": "确认上传"
|
||
}
|
||
},
|
||
"syncType": {
|
||
"label": "同步方式",
|
||
"webdav": "WebDAV",
|
||
"s3": "S3 兼容存储"
|
||
},
|
||
"s3Sync": {
|
||
"presets": {
|
||
"label": "服务商",
|
||
"awsS3": "AWS S3",
|
||
"awsS3Hint": "使用 IAM Access Key,需要 s3:PutObject/GetObject/HeadObject 权限。Region 示例:us-east-1, ap-northeast-1",
|
||
"minio": "MinIO",
|
||
"minioHint": "需要自定义 Endpoint,如 http://minio.local:9000。Region 可设为 us-east-1",
|
||
"r2": "Cloudflare R2",
|
||
"r2Hint": "Endpoint: https://<account_id>.r2.cloudflarestorage.com,Region 设为 auto",
|
||
"oss": "阿里云 OSS",
|
||
"ossHint": "Endpoint: https://oss-<region>.aliyuncs.com,Region 示例:cn-hangzhou, cn-shanghai",
|
||
"cos": "腾讯云 COS",
|
||
"cosHint": "Endpoint: https://cos.<region>.myqcloud.com,Region 示例:ap-guangzhou, ap-beijing",
|
||
"obs": "华为云 OBS",
|
||
"obsHint": "Endpoint: https://obs.<region>.myhuaweicloud.com,Region 示例:cn-north-4, cn-east-3",
|
||
"custom": "S3 兼容服务(自定义)",
|
||
"customHint": "任意 S3 兼容服务,需要自定义 Endpoint"
|
||
},
|
||
"region": "区域 (Region)",
|
||
"regionPlaceholder": "例如 us-east-1",
|
||
"bucket": "存储桶 (Bucket)",
|
||
"bucketPlaceholder": "例如 my-cc-switch-bucket",
|
||
"accessKeyId": "Access Key ID",
|
||
"accessKeyIdPlaceholder": "例如 AKIA...",
|
||
"secretAccessKey": "Secret Access Key",
|
||
"secretAccessKeyPlaceholder": "留空则保持现有密钥",
|
||
"endpoint": "Endpoint(AWS 可留空)",
|
||
"endpointHint": "多数 S3 兼容服务需要填写",
|
||
"endpointPlaceholder": "例如 https://s3-compatible.example.com",
|
||
"remoteRoot": "远程根目录",
|
||
"remoteRootDefault": "默认: cc-switch-sync",
|
||
"profile": "同步配置名",
|
||
"profileDefault": "默认: default",
|
||
"autoSync": "自动同步",
|
||
"autoSyncHint": "开启后每次数据库变更都会自动上传到 S3。",
|
||
"enabled": "启用 S3 同步",
|
||
"enabledHint": "开启后可使用 S3 上传/下载和自动同步。",
|
||
"mutualExclusionTitle": "切换同步方式",
|
||
"mutualExclusionMessage": "启用 S3 同步将禁用当前的 WebDAV 同步,是否继续?",
|
||
"mutualExclusionMessageReverse": "启用 WebDAV 同步将禁用当前的 S3 同步,是否继续?",
|
||
"mutualExclusionFailed": "切换同步方式失败:{{error}}",
|
||
"testConnection": "测试连接",
|
||
"connectionOk": "S3 连接成功",
|
||
"test": "测试连接",
|
||
"testing": "测试中...",
|
||
"testSuccess": "S3 连接成功",
|
||
"testFailed": "S3 连接失败:{{error}}",
|
||
"save": "保存配置",
|
||
"saving": "保存中...",
|
||
"saveFailed": "保存配置失败:{{error}}",
|
||
"saveAndTestSuccess": "配置已保存,S3 连接正常",
|
||
"saveAndTestFailed": "配置已保存,但 S3 连接测试失败:{{error}}",
|
||
"upload": "上传到云端",
|
||
"uploading": "上传中...",
|
||
"uploadSuccess": "已上传到 S3",
|
||
"uploadFailed": "S3 上传失败:{{error}}",
|
||
"autoSyncFailedToast": "S3 自动同步失败:{{error}}",
|
||
"download": "从云端下载",
|
||
"downloading": "下载中...",
|
||
"downloadSuccess": "已从 S3 下载并恢复",
|
||
"downloadFailed": "S3 下载失败:{{error}}",
|
||
"lastSync": "上次同步:{{time}}",
|
||
"autoSyncLastErrorTitle": "上次 S3 自动同步失败",
|
||
"autoSyncLastErrorHint": "请检查网络或 S3 配置,系统会在后续变更时继续自动重试。",
|
||
"missingBucket": "请填写 S3 存储桶",
|
||
"noRemoteData": "S3 存储桶中没有找到同步数据",
|
||
"incompatibleVersion": "远端数据版本不兼容(版本 {{version}}),当前支持协议 v2 / db-v6",
|
||
"unsaved": "未保存",
|
||
"saved": "已保存",
|
||
"unsavedChanges": "请先保存配置",
|
||
"saveBeforeSync": "请先保存配置,再使用上传/下载。",
|
||
"fetchingRemote": "获取远端信息...",
|
||
"fetchRemoteFailed": "获取远端信息失败,请检查配置和网络后重试。",
|
||
"notConfigured": "未配置 S3 同步",
|
||
"disabled": "S3 同步未启用",
|
||
"confirmDownload": {
|
||
"title": "从 S3 恢复",
|
||
"deviceName": "上传设备",
|
||
"createdAt": "上传时间",
|
||
"artifacts": "包含内容",
|
||
"warning": "恢复将覆盖本地所有数据和技能配置",
|
||
"confirm": "确认恢复"
|
||
},
|
||
"confirmUpload": {
|
||
"title": "上传到 S3",
|
||
"content": "将同步以下内容到 S3 存储桶:",
|
||
"dbItem": "数据库(所有 Provider 配置和数据)",
|
||
"skillsItem": "技能包(所有自定义技能)",
|
||
"targetPath": "目标对象路径",
|
||
"existingData": "云端已有数据",
|
||
"deviceName": "上传设备",
|
||
"createdAt": "上传时间",
|
||
"warning": "将覆盖该 S3 路径下已有的同步数据",
|
||
"confirm": "确认上传"
|
||
}
|
||
},
|
||
"autoReload": "数据已刷新",
|
||
"languageOptionChinese": "简体中文",
|
||
"languageOptionTraditionalChinese": "繁體中文",
|
||
"languageOptionEnglish": "English",
|
||
"languageOptionJapanese": "日本語",
|
||
"windowBehavior": "窗口行为",
|
||
"windowBehaviorHint": "配置窗口最小化与 Claude 插件联动策略。",
|
||
"launchOnStartup": "开机自启",
|
||
"launchOnStartupDescription": "随系统启动自动运行 CC Switch",
|
||
"silentStartup": "静默启动",
|
||
"silentStartupDescription": "程序启动时不显示主窗口,仅在系统托盘运行",
|
||
"autoLaunchFailed": "设置开机自启失败",
|
||
"minimizeToTray": "关闭时最小化到托盘",
|
||
"minimizeToTrayDescription": "勾选后点击关闭按钮会隐藏到系统托盘,取消则直接退出应用。",
|
||
"useAppWindowControls": "启用应用级窗口按钮",
|
||
"useAppWindowControlsDescription": "开启后使用应用自建的最小化、最大化/还原、关闭按钮;关闭后沿用系统窗口模式。",
|
||
"enableClaudePluginIntegration": "应用到 Claude Code 插件",
|
||
"enableClaudePluginIntegrationDescription": "开启后 VS Code Claude Code 插件的供应商将随本软件切换",
|
||
"skipClaudeOnboarding": "跳过 Claude Code 初次安装确认",
|
||
"skipClaudeOnboardingDescription": "开启后跳过 Claude Code 初次安装确认",
|
||
"codexAuth": "Codex 应用增强",
|
||
"preserveCodexOfficialAuthOnSwitch": "切换第三方时保留官方登录",
|
||
"preserveCodexOfficialAuthOnSwitchDescription": "开启后可以在使用第三方 API 的时候使用 Codex 应用的官方插件、手机远程操作等功能",
|
||
"unifyCodexSessionHistory": "统一 Codex 会话历史",
|
||
"unifyCodexSessionHistoryDescription": "开启后,官方订阅将以共享的 custom 供应商标识运行,官方与第三方会话出现在同一历史列表中,并可选择把现有官方会话一并迁入(迁移前自动备份)。关闭开关时可按备份恢复迁入的会话。注意:跨供应商继续旧会话时,对方后端可能无法解密会话中的 encrypted_content 推理内容,导致继续失败",
|
||
"unifyCodexHistoryRestoreCompleted": "已按备份还原官方会话历史({{files}} 个会话文件、{{rows}} 条索引记录)",
|
||
"unifyCodexHistoryRestoreFailed": "还原官方会话历史失败,请重试",
|
||
"unifyCodexHistoryRestoreNothing": "当前 Codex 目录没有可恢复的迁移备份",
|
||
"unifyCodexHistoryRestoreSkippedToggleOn": "统一会话历史开关已重新开启,已跳过还原",
|
||
"appVisibility": {
|
||
"title": "主页面显示",
|
||
"description": "选择在主页面显示的应用",
|
||
"claudeDesc": "Anthropic Claude Code CLI",
|
||
"codexDesc": "OpenAI Codex CLI",
|
||
"geminiDesc": "Google Gemini CLI",
|
||
"opencodeDesc": "OpenCode CLI"
|
||
},
|
||
"skillStorage": {
|
||
"title": "Skills 存储位置",
|
||
"description": "选择 CC Switch 存放 Skills 主副本的目录",
|
||
"ccSwitch": "CC Switch",
|
||
"unified": "~/.agents/skills",
|
||
"ccSwitchHint": "技能存储在 ~/.cc-switch/skills/,由 CC Switch 统一管理并同步到各应用。",
|
||
"unifiedHint": "技能存储在 ~/.agents/skills/,遵循 Agent Skills 开放标准。兼容的工具(Claude Code、Codex、Gemini CLI 等)可直接发现此目录中的技能。",
|
||
"confirmTitle": "迁移技能存储",
|
||
"confirmMessage": "将移动 {{count}} 个技能到新位置,是否继续?",
|
||
"migrationSuccess": "已成功迁移 {{count}} 个技能",
|
||
"migrationPartial": "迁移了 {{migrated}} 个技能,{{errors}} 个失败,请查看日志"
|
||
},
|
||
"skillSync": {
|
||
"title": "Skills 同步方式",
|
||
"description": "选择 Skills 的文件同步策略",
|
||
"symlink": "软连接",
|
||
"copy": "文件复制",
|
||
"symlinkHint": "软连接节省磁盘空间并支持实时同步。注意:Windows 可能需要管理员权限或开启开发者模式"
|
||
},
|
||
"terminal": {
|
||
"title": "首选终端",
|
||
"description": "选择点击终端按钮时使用的终端应用",
|
||
"fallbackHint": "如果选择的终端不可用,将自动使用系统默认终端",
|
||
"options": {
|
||
"macos": {
|
||
"terminal": "Terminal.app",
|
||
"iterm2": "iTerm2",
|
||
"alacritty": "Alacritty",
|
||
"kitty": "Kitty",
|
||
"ghostty": "Ghostty",
|
||
"wezterm": "WezTerm",
|
||
"kaku": "Kaku",
|
||
"warp": "Warp"
|
||
},
|
||
"windows": {
|
||
"cmd": "命令提示符",
|
||
"powershell": "PowerShell",
|
||
"wt": "Windows Terminal"
|
||
},
|
||
"linux": {
|
||
"gnomeTerminal": "GNOME Terminal",
|
||
"konsole": "Konsole",
|
||
"xfce4Terminal": "Xfce4 Terminal",
|
||
"alacritty": "Alacritty",
|
||
"kitty": "Kitty",
|
||
"ghostty": "Ghostty"
|
||
}
|
||
}
|
||
},
|
||
"configDirectoryOverride": "配置目录覆盖(高级)",
|
||
"configDirectoryDescription": "在 WSL 等环境使用 Claude Code 或 Codex 的时候,可手动指定为 WSL 里的配置目录,供应商数据与主环境保持一致。",
|
||
"appConfigDir": "CC Switch 配置目录",
|
||
"appConfigDirDescription": "自定义 CC Switch 的配置存储位置(指定到云同步文件夹即可云同步配置)",
|
||
"browsePlaceholderApp": "例如:C:\\Users\\Administrator\\.cc-switch",
|
||
"claudeConfigDir": "Claude Code 配置目录",
|
||
"claudeConfigDirDescription": "覆盖 Claude 配置目录 (settings.json)。真正自定义目录会在目录内存放 Claude MCP 的 .claude.json;默认 ~/.claude 目录仍使用 Claude 默认的 ~/.claude.json。",
|
||
"codexConfigDir": "Codex 配置目录",
|
||
"codexConfigDirDescription": "覆盖 Codex 配置目录。",
|
||
"geminiConfigDir": "Gemini 配置目录",
|
||
"geminiConfigDirDescription": "覆盖 Gemini 配置目录 (.env)。",
|
||
"opencodeConfigDir": "OpenCode 配置目录",
|
||
"opencodeConfigDirDescription": "覆盖 OpenCode 配置目录 (opencode.json)。",
|
||
"openclawConfigDir": "OpenClaw 配置目录",
|
||
"openclawConfigDirDescription": "覆盖 OpenClaw 配置目录 (openclaw.json)。",
|
||
"hermesConfigDir": "Hermes 配置目录",
|
||
"hermesConfigDirDescription": "覆盖 Hermes 配置目录 (config.yaml)。",
|
||
"browsePlaceholderClaude": "例如:/home/<你的用户名>/.claude",
|
||
"browsePlaceholderCodex": "例如:/home/<你的用户名>/.codex",
|
||
"browsePlaceholderGemini": "例如:/home/<你的用户名>/.gemini",
|
||
"browsePlaceholderOpencode": "例如:/home/<你的用户名>/.config/opencode",
|
||
"browsePlaceholderOpenclaw": "例如:/home/<你的用户名>/.openclaw",
|
||
"browsePlaceholderHermes": "例如:/home/<你的用户名>/.hermes",
|
||
"browseDirectory": "浏览目录",
|
||
"resetDefault": "恢复默认目录(需保存后生效)",
|
||
"checkForUpdates": "检查更新",
|
||
"updateTo": "更新到 v{{version}}",
|
||
"updating": "更新中...",
|
||
"checking": "检查中...",
|
||
"upToDate": "已是最新",
|
||
"aboutHint": "查看版本信息与更新状态。",
|
||
"portableMode": "当前为便携版,更新需手动下载。",
|
||
"updateAvailable": "检测到新版本:{{version}}",
|
||
"updateBadge": "有更新可用",
|
||
"updateFailed": "更新安装失败,已尝试打开下载页面。",
|
||
"checkUpdateFailed": "检查更新失败,请稍后重试。",
|
||
"openReleaseNotesFailed": "打开更新日志失败",
|
||
"releaseNotes": "更新日志",
|
||
"viewReleaseNotes": "查看该版本更新日志",
|
||
"viewCurrentReleaseNotes": "查看当前版本更新日志",
|
||
"officialWebsite": "官方网站",
|
||
"github": "GitHub",
|
||
"manualInstallCommands": "手动安装命令",
|
||
"oneClickInstallHint": "安装或升级 Claude Code / Codex / Gemini CLI / OpenCode / OpenClaw / Hermes",
|
||
"localEnvCheck": "本地环境检查",
|
||
"updateAllTools": "全部升级({{count}})",
|
||
"currentVersion": "当前版本",
|
||
"latestVersion": "最新版本",
|
||
"updateAvailableShort": "可升级",
|
||
"toolInstall": "安装",
|
||
"toolUpdate": "升级",
|
||
"toolReady": "已就绪",
|
||
"toolActionDone": "{{count}} 个工具{{action}}完成",
|
||
"toolActionPartial": "{{succeeded}} 个{{action}}成功,{{failed}} 个失败",
|
||
"toolActionFailed": "安装/升级命令执行失败",
|
||
"toolNotRunnable": "已安装但无法运行(未探测到版本)",
|
||
"toolActionVersionUnchangedTitle": "版本没有变化",
|
||
"toolActionVersionUnchanged": "仍是 {{version}}(最新:{{latest}})。上游升级器可能报告成功但没有实际更新。",
|
||
"toolActionInstalledNotRunnable": "已安装,但当前环境无法运行,请检查",
|
||
"installedNotRunnable": "已安装·无法运行",
|
||
"toolCheckEnv": "请检查运行环境",
|
||
"toolDiagnose": "诊断安装冲突",
|
||
"toolDiagnosing": "诊断中…",
|
||
"toolConflictTitle": "检测到多处安装",
|
||
"toolConflictHint": "命令行实际使用标「默认」的那处;升级可能写到了别处。",
|
||
"toolConflictDefault": "默认",
|
||
"toolConflictNotRunnable": "无法运行",
|
||
"toolDiagnoseNoConflict": "未发现安装冲突",
|
||
"toolDiagnoseFailed": "诊断失败",
|
||
"toolUpgradeConfirmTitle": "确认升级位置",
|
||
"toolUpgradeConfirmHint": "检测到多处安装。本次升级不会全部更新,具体作用的位置以下方各项为准。",
|
||
"toolUpgradeWillRun": "将执行:",
|
||
"toolUpgradeConfirmBtn": "确认升级",
|
||
"toolUpgradeUnanchoredHint": "无法确定命令行实际使用哪处,将执行默认升级命令(可能装到 PATH 上第一个 npm)。",
|
||
"envBadge": {
|
||
"wsl": "WSL",
|
||
"windows": "Win",
|
||
"macos": "macOS",
|
||
"linux": "Linux"
|
||
},
|
||
"wslShell": "Shell",
|
||
"wslShellFlag": "标志",
|
||
"installCommandsCopied": "安装命令已复制",
|
||
"installCommandsCopyFailed": "复制失败,请手动复制。",
|
||
"importFailedError": "导入配置失败:{{message}}",
|
||
"exportFailedError": "导出配置失败:",
|
||
"restartRequired": "需要重启应用",
|
||
"restartRequiredMessage": "修改 CC Switch 配置目录后需要重启应用才能生效,是否立即重启?",
|
||
"restartNow": "立即重启",
|
||
"restartLater": "稍后重启",
|
||
"restartFailed": "应用重启失败,请手动关闭后重新打开。",
|
||
"devModeRestartHint": "开发模式下不支持自动重启,请手动重新启动应用。",
|
||
"saving": "正在保存...",
|
||
"globalProxy": {
|
||
"label": "全局代理",
|
||
"hint": "代理所有请求(API、Skills 下载等)。开启本地路由时,应用的请求也会经过此代理。留空表示直连。",
|
||
"username": "用户名(可选)",
|
||
"password": "密码(可选)",
|
||
"test": "测试连接",
|
||
"scan": "扫描本地代理",
|
||
"clear": "清除",
|
||
"scanFailed": "扫描失败:{{error}}",
|
||
"saved": "代理设置已保存",
|
||
"saveFailed": "保存失败:{{error}}",
|
||
"testSuccess": "连接成功!延迟 {{latency}}ms",
|
||
"testFailed": "连接失败:{{error}}",
|
||
"pricingDefaultsTitle": "计费默认配置",
|
||
"pricingDefaultsDescription": "设置各应用的默认倍率与计费模式来源。",
|
||
"pricingAppLabel": "应用",
|
||
"defaultCostMultiplierLabel": "默认倍率",
|
||
"defaultCostMultiplierHint": "用于成本计算的倍率,支持小数。",
|
||
"pricingModelSourceLabel": "计费模式",
|
||
"pricingModelSourceRequest": "请求模型",
|
||
"pricingModelSourceResponse": "返回模型",
|
||
"pricingSave": "保存计费配置",
|
||
"pricingSaved": "计费配置已保存",
|
||
"pricingSaveFailed": "保存计费配置失败:{{error}}",
|
||
"pricingLoadFailed": "加载计费配置失败:{{error}}",
|
||
"defaultCostMultiplierRequired": "默认倍率不能为空",
|
||
"defaultCostMultiplierInvalid": "默认倍率格式不正确"
|
||
},
|
||
"saveFailedGeneric": "保存失败,请重试"
|
||
},
|
||
"apps": {
|
||
"claude": "Claude",
|
||
"claudeCode": "Claude Code",
|
||
"claudeDesktop": "Claude Desktop",
|
||
"claude-desktop": "Claude Desktop",
|
||
"codex": "Codex",
|
||
"gemini": "Gemini",
|
||
"opencode": "OpenCode",
|
||
"openclaw": "OpenClaw",
|
||
"hermes": "Hermes"
|
||
},
|
||
"sessionManager": {
|
||
"title": "会话管理",
|
||
"subtitle": "管理 Claude Code、Codex、OpenCode、OpenClaw、Hermes 与 Gemini CLI 会话记录",
|
||
"searchPlaceholder": "搜索会话内容、目录或 ID",
|
||
"searchSessions": "搜索会话",
|
||
"providerFilterAll": "全部",
|
||
"sessionList": "会话列表",
|
||
"manageBatchTooltip": "进入批量管理",
|
||
"exitBatchModeTooltip": "退出批量管理",
|
||
"batchModeHint": "勾选要删除的会话",
|
||
"selectForBatch": "选择会话",
|
||
"selectedCount": "已选 {{count}} 项",
|
||
"selectAllFiltered": "全选当前",
|
||
"clearFilteredSelection": "取消全选",
|
||
"clearSelection": "清空已选",
|
||
"deleteSelected": "批量删除",
|
||
"batchDeleting": "删除中...",
|
||
"loadingSessions": "加载会话中...",
|
||
"noSessions": "未发现会话",
|
||
"selectSession": "请选择会话查看详情",
|
||
"noSummary": "暂无摘要",
|
||
"lastActive": "最近活跃",
|
||
"projectDir": "项目目录",
|
||
"sourcePath": "原始文件",
|
||
"copyResumeCommand": "复制恢复命令",
|
||
"resumeCommandCopied": "恢复命令已复制",
|
||
"openInTerminal": "在终端恢复",
|
||
"terminalTargetTerminal": "Terminal",
|
||
"terminalTargetKitty": "kitty",
|
||
"terminalTargetCopy": "仅复制",
|
||
"terminalLaunched": "终端已启动",
|
||
"openFailed": "终端启动失败",
|
||
"resumeFallbackCopied": "已复制恢复命令,可手动粘贴到终端",
|
||
"copyProjectDir": "复制目录",
|
||
"projectDirCopied": "目录已复制",
|
||
"copySourcePath": "复制原始文件",
|
||
"sourcePathCopied": "原始文件已复制",
|
||
"delete": "删除会话",
|
||
"deleting": "删除中...",
|
||
"deleteTooltip": "永久删除此本地会话记录",
|
||
"deleteConfirmTitle": "删除会话",
|
||
"deleteConfirmMessage": "将永久删除本地会话“{{title}}”\nSession ID: {{sessionId}}\n\n此操作不可恢复。",
|
||
"deleteConfirmAction": "删除会话",
|
||
"sessionDeleted": "会话已删除",
|
||
"deleteFailed": "删除会话失败: {{error}}",
|
||
"batchDeleteConfirmTitle": "批量删除会话",
|
||
"batchDeleteConfirmMessage": "将永久删除已选中的 {{count}} 个本地会话记录。\n\n此操作不可恢复。",
|
||
"batchDeleteConfirmAction": "删除所选会话",
|
||
"batchDeleteSuccess": "已删除 {{count}} 个会话",
|
||
"batchDeleteFailed": "{{failed}} 个会话删除失败",
|
||
"batchDeleteRequestFailed": "批量删除失败,请稍后重试",
|
||
"loadingMessages": "加载会话内容中...",
|
||
"emptySession": "该会话暂无可展示内容",
|
||
"clickToCopyPath": "点击复制路径",
|
||
"tocTitle": "对话目录",
|
||
"justNow": "刚刚",
|
||
"minutesAgo": "{{count}} 分钟前",
|
||
"hoursAgo": "{{count}} 小时前",
|
||
"daysAgo": "{{count}} 天前",
|
||
"roleUser": "用户",
|
||
"roleSystem": "系统",
|
||
"roleTool": "工具",
|
||
"resume": "恢复会话",
|
||
"resumeTooltip": "在终端中恢复此会话",
|
||
"noResumeCommand": "此会话无法恢复",
|
||
"copyCommand": "复制命令",
|
||
"copyMessage": "复制消息",
|
||
"messageCopied": "已复制消息内容",
|
||
"conversationHistory": "对话记录",
|
||
"expandContent": "展开完整内容",
|
||
"collapseContent": "收起"
|
||
},
|
||
"console": {
|
||
"providerSwitchReceived": "收到供应商切换事件:",
|
||
"setupListenerFailed": "设置供应商切换监听器失败:",
|
||
"updateProviderFailed": "更新供应商失败:",
|
||
"autoImportFailed": "自动导入默认配置失败:",
|
||
"openLinkFailed": "打开链接失败:",
|
||
"getVersionFailed": "获取版本信息失败:",
|
||
"loadSettingsFailed": "加载设置失败:",
|
||
"getConfigPathFailed": "获取配置路径失败:",
|
||
"getConfigDirFailed": "获取配置目录失败:",
|
||
"detectPortableFailed": "检测便携模式失败:",
|
||
"saveSettingsFailed": "保存设置失败:",
|
||
"updateFailed": "更新失败:",
|
||
"checkUpdateFailed": "检查更新失败:",
|
||
"openConfigFolderFailed": "打开配置文件夹失败:",
|
||
"selectConfigDirFailed": "选择配置目录失败:",
|
||
"getDefaultConfigDirFailed": "获取默认配置目录失败:",
|
||
"openReleaseNotesFailed": "打开更新日志失败:"
|
||
},
|
||
"providerForm": {
|
||
"supplierName": "供应商名称",
|
||
"supplierNameRequired": "供应商名称 *",
|
||
"supplierNamePlaceholder": "例如:Anthropic 官方",
|
||
"websiteUrl": "官网地址",
|
||
"websiteUrlPlaceholder": "https://example.com(可选)",
|
||
"apiEndpoint": "请求地址",
|
||
"apiEndpointPlaceholder": "https://your-api-endpoint.com",
|
||
"codexApiEndpointPlaceholder": "https://your-api-endpoint.com/v1",
|
||
"manageAndTest": "管理与测速",
|
||
"configContent": "配置内容",
|
||
"officialNoApiKey": "官方登录无需填写 API Key,直接保存即可",
|
||
"codexOfficialNoApiKey": "官方无需填写 API Key,直接保存即可",
|
||
"codexApiKeyAutoFill": "只需要填这里,下方 auth.json 会自动填充",
|
||
"apiKeyAutoFill": "只需要填这里,下方配置会自动填充",
|
||
"cnOfficialApiKeyHint": "💡 只需填写 API Key,请求地址已预设",
|
||
"aggregatorApiKeyHint": "💡 只需填写 API Key,请求地址已预设",
|
||
"thirdPartyApiKeyHint": "💡 只需填写 API Key,请求地址已预设",
|
||
"customApiKeyHint": "💡 自定义配置需手动填写所有必要字段",
|
||
"omoHint": "💡 OMO 配置管理 Agent 模型分配,兼容 oh-my-openagent.jsonc / oh-my-opencode.jsonc",
|
||
"officialHint": "💡 官方供应商使用浏览器登录,无需配置 API Key",
|
||
"getApiKey": "获取 API Key",
|
||
"partnerPromotion": {
|
||
"packycode": "PackyCode 是 CC Switch 的官方合作伙伴,使用此链接注册并在充值时填写 \"cc-switch\" 优惠码,可以享受9折优惠",
|
||
"apikeyfun": "APIKEY.FUN 为 CC Switch 的用户提供了特别优惠,通过专属链接注册,可享受最高充值永久 95 折优惠。",
|
||
"apinebula": "APINEBULA 为 CC Switch 用户提供特别优惠:使用专属链接注册并在充值时填写 \"ccswitch\" 优惠码,可享九折优惠。",
|
||
"atlascloud": "Atlas Cloud 是一个全模态 AI 推理平台,通过单一 API 为开发者提供视频生成、图像生成及 LLM 接入。立即查看全新“编程计划”优惠,获取更具性价比的 API 接入。",
|
||
"patewayai": "PatewayAI 为 CC Switch 的用户提供了特别福利,通过此链接注册可以获得3美元额度。",
|
||
"claudeapi": "ClaudeAPI 为 CC Switch 的用户提供了特别福利,通过此链接注册可以领取测试额度。",
|
||
"claudecn": "ClaudeCN 是一家实体企业运营的企业级AI中转平台,支持企业采购流程,可对公打款、签约,服务合规有保障。",
|
||
"runapi": "RunAPI 为 CC Switch 的用户提供了特别福利,通过此链接注册并联系客服可领取 ¥14 免费额度。",
|
||
"minimax_cn": "MiniMax Coding Plan 特惠,Starter 套餐 9.9 元起",
|
||
"minimax_en": "MiniMax Coding Plan 黑五特惠,Starter 套餐现仅 $2/月(2折优惠!)",
|
||
"opencode_go": "使用此链接订阅 OpenCode Go,首月只需 $5,并可获得额外的 $5 额度!",
|
||
"dmxapi": "Claude Code 专属模型 3.4 折优惠进行中!",
|
||
"cubence": "Cubence 是 CC Switch 的官方合作伙伴,使用此链接注册并在充值时填写 \"CCSWITCH\" 优惠码,每次充值均可享受9折优惠",
|
||
"aigocode": "AIGoCode 是 CC Switch 的官方合作伙伴,使用此链接注册首次充值时可以获得10%额度奖励!",
|
||
"rightcode": "RightCode 是 CC Switch 的官方合作伙伴,使用此链接注册每次充值均可赠送5%额外额度!",
|
||
"aicodemirror": "AICodeMirror 是 CC Switch 的官方合作伙伴,使用此链接注册可享受8折优惠!",
|
||
"crazyrouter": "CrazyRouter 为 CC Switch 的用户提供了特殊优惠,首次充值赠予 30% 额外额度!",
|
||
"sssaicode": "SSAI Code 为 CC Switch 的用户提供了特殊优惠,每次充值赠予额外 $10 额度!",
|
||
"siliconflow": "硅基流动是 CC Switch 的官方合作伙伴",
|
||
"ucloud": "优云智算为CC Switch 的用户提供了特殊优惠,通过此链接注册,可以获得五元平台体验金!",
|
||
"micu": "Micu 是 CC Switch 的官方合作伙伴",
|
||
"etok": "官网加入ETok社群,订阅套餐。",
|
||
"shengsuanyun": "胜算云为 CC Switch 的用户提供了特别福利,使用此链接注册的新用户可获 10 元模力及首充 10% 赠送!",
|
||
"doubaoseed": "豆包大模型为 CC Switch 的用户提供了专属福利:通过此链接注册即可获取豆包全系列文本模型 50万tokens推理额度以及Seedance2.0的500万tokens免费额度",
|
||
"volcengine_agentplan": "火山方舟 Coding Plan 为 CC Switch 的用户提供了专属福利:通过此链接订阅方舟 Coding Plan,新客户首两个月享 2.5 折优惠,再用专属邀请码 6J6FV5N2 领取奖励叠加 9.5 折,低至 9.4 元/月!",
|
||
"byteplus": "通过此链接注册即可获取每个模型50万tokens的免费推理额度。",
|
||
"ccsub": "CCSub 是稳定、实惠的 AI API 中转平台,Claude Code 官方订阅的超强平替,一个 Key 覆盖全部模型,价格约为官方 1/3。",
|
||
"subrouter": "SubRouter 是中转站聚合平台,一个 Key 可接入多个模型与供应商。",
|
||
"qiniu": "七牛云是多协议 AI 中转平台,一个 Key 即可调用原生 Claude、GPT、Gemini 模型,兼容 Anthropic、OpenAI、Gemini 多种接口。",
|
||
"fenno": "Fenno.ai 是稳定高效的 API 中转服务商,可接入多种主流模型。CC Switch 用户专属福利:通过此链接订阅 9.9 元 /150 刀额度的超值 Coding Plan!",
|
||
"zetaapi": "ZetaAPI 主打模型不掺水、不降智,价格低至官方价 35 折。CC Switch 用户专属福利:通过此链接注册,首次充值使用优惠码 CC-SWITCH 即可享受九折优惠!",
|
||
"teamorouter": "TeamoRouter 是企业级 Agentic LLM 网关,价格最高可达 90% 折扣。为 CC Switch 的用户提供了特别福利:新用户通过此链接注册,首次充值享 10% 折扣!",
|
||
"unity2": "Unity2.ai 为 CC Switch 用户提供专属福利:通过此链接注册可领取 $2 余额,加入官方群再送 $10,最高可领 $12 免费额度!"
|
||
},
|
||
"presets": {
|
||
"ucloud": "优云智算",
|
||
"ucloudCoding": "优云智算Coding Plan",
|
||
"shengsuanyun": "胜算云",
|
||
"qiniu": "七牛云",
|
||
"openrouter": "OpenRouter",
|
||
"deepseek": "DeepSeek",
|
||
"together": "Together AI"
|
||
},
|
||
"parameterConfig": "参数配置 - {{name}} *",
|
||
"mainModel": "主模型 (可选)",
|
||
"mainModelPlaceholder": "例如: GLM-4.6",
|
||
"fastModel": "快速模型 (可选)",
|
||
"fastModelPlaceholder": "例如: GLM-4.5-Air",
|
||
"modelHint": "💡 留空将使用供应商的默认模型",
|
||
"apiHint": "💡 填写兼容 Claude API 的服务端点地址,不要以斜杠结尾",
|
||
"apiHintOAI": "💡 填写兼容 OpenAI Chat Completions 的服务端点地址,不要以斜杠结尾",
|
||
"apiHintGeminiNative": "💡 建议填写 Gemini Native 的 base URL,例如 https://generativelanguage.googleapis.com 或 https://generativelanguage.googleapis.com/v1beta;代理会自动补全 models/*:generateContent",
|
||
"codexApiHint": "💡 填写兼容 OpenAI Response 格式的服务端点地址",
|
||
"fillSupplierName": "请填写供应商名称",
|
||
"fillConfigContent": "请填写配置内容",
|
||
"fillParameter": "请填写 {{label}}",
|
||
"fillTemplateValue": "请填写 {{label}}",
|
||
"endpointRequired": "非官方供应商请填写 API 端点",
|
||
"apiKeyRequired": "非官方供应商请填写 API Key",
|
||
"softValidation": {
|
||
"title": "配置存在以下问题",
|
||
"hint": "仍要保存吗?保存后切换此供应商时可能失败,可以之后再补全。",
|
||
"saveAnyway": "仍要保存"
|
||
},
|
||
"configJsonError": "配置JSON格式错误,请检查语法",
|
||
"authJsonRequired": "auth.json 必须是 JSON 对象",
|
||
"authJsonError": "auth.json 格式错误,请检查JSON语法",
|
||
"fillAuthJson": "请填写 auth.json 配置",
|
||
"fillApiKey": "请填写 OPENAI_API_KEY",
|
||
"visitWebsite": "访问 {{url}}",
|
||
"anthropicModel": "主模型",
|
||
"anthropicSmallFastModel": "快速模型",
|
||
"apiFormat": "API 格式",
|
||
"apiFormatHint": "选择供应商 API 的输入格式",
|
||
"customUserAgent": "自定义 User-Agent",
|
||
"customUserAgentHint": "仅在开启本地路由/代理接管后生效,会替换转发到供应商 API 请求中的 User-Agent。",
|
||
"customUserAgentInvalid": "User-Agent 不能包含控制字符(如换行符),否则将被忽略。",
|
||
"customUserAgentPresets": "预设",
|
||
"localProxyRequestOverrides": "本地代理请求覆盖",
|
||
"localProxyRequestOverridesHint": "仅在本地路由/代理接管后生效,应用于协议转换后的上游请求。",
|
||
"localProxyRequestOverridesInvalid": "本地代理请求覆盖格式错误:{{error}}",
|
||
"localProxyHeaderOverrides": "Header 覆盖",
|
||
"localProxyHeaderOverridesInvalidDetail": "Header 覆盖格式错误:{{error}}",
|
||
"localProxyBodyOverrides": "Body 覆盖",
|
||
"localProxyBodyOverridesInvalidDetail": "Body 覆盖格式错误:{{error}}",
|
||
"fullUrlLabel": "完整 URL",
|
||
"fullUrlEnabled": "完整 URL 模式",
|
||
"fullUrlDisabled": "标记为完整 URL",
|
||
"fullUrlHint": "💡 请填写完整请求 URL,并且必须开启路由后使用;路由将直接使用此 URL,不拼接路径",
|
||
"fullUrlHintGeminiNative": "💡 Gemini Native 下,完整 URL 模式同时兼容两类地址:1. 官方/标准 Gemini URL,代理会按模型和流式参数自动归一化;2. 自定义 relay 的完整 URL,代理会尽量原样使用,只补查询参数,不再强行追加 models 路径",
|
||
"apiFormatAnthropic": "Anthropic Messages (原生)",
|
||
"apiFormatOpenAIChat": "OpenAI Chat Completions (需开启路由)",
|
||
"apiFormatOpenAIResponses": "OpenAI Responses API (需开启路由)",
|
||
"apiFormatGeminiNative": "Gemini Native generateContent (需开启路由)",
|
||
"codexApiFormatResponses": "OpenAI Responses API (原生)",
|
||
"codexApiFormatOpenAIChat": "OpenAI Chat Completions (需开启路由)",
|
||
"codexApiFormatHint": "选择供应商真实支持的 Codex API 格式;配置仍保持 Responses 以兼容新版 Codex,Chat Completions 会通过本地路由自动转换。",
|
||
"authField": "认证字段",
|
||
"authFieldAuthToken": "ANTHROPIC_AUTH_TOKEN(默认)",
|
||
"authFieldApiKey": "ANTHROPIC_API_KEY",
|
||
"authFieldHint": "选择写入配置的认证环境变量名",
|
||
"apiHintResponses": "💡 填写兼容 OpenAI Responses API 的服务端点地址,不要以斜杠结尾",
|
||
"anthropicDefaultHaikuModel": "Haiku 默认模型",
|
||
"anthropicDefaultSonnetModel": "Sonnet 默认模型",
|
||
"anthropicDefaultOpusModel": "Opus 默认模型",
|
||
"modelPlaceholder": "",
|
||
"smallModelPlaceholder": "",
|
||
"haikuModelPlaceholder": "",
|
||
"modelHelper": "可选:指定默认使用的 Claude 模型,留空则使用系统默认。",
|
||
"modelMappingLabel": "模型映射",
|
||
"modelMappingHint": "显示名称只影响 /model 菜单;1M 只是给 Claude Code 的上下文能力声明。",
|
||
"modelRoleLabel": "模型角色",
|
||
"modelRoleSonnet": "Sonnet",
|
||
"modelRoleOpus": "Opus",
|
||
"modelRoleFable": "Fable",
|
||
"modelRoleHaiku": "Haiku",
|
||
"modelDisplayNameLabel": "显示名称",
|
||
"modelDisplayNamePlaceholder": "例如 DeepSeek V4 Pro",
|
||
"requestModelLabel": "实际请求模型",
|
||
"modelOneMHeader": "声明支持 1M",
|
||
"modelOneMLabel": "1M",
|
||
"fallbackModelLabel": "默认兜底模型",
|
||
"fallbackModelHint": "用于未明确落到 Sonnet、Opus、Fable、Haiku 角色的请求。使用第三方/中转端点时建议填写:否则这些请求(含 Haiku 后台子任务)会以原始 Claude 模型名透传给上游,可能因上游无此模型而报错。官方端点可留空。",
|
||
"quickSetModels": "一键设置",
|
||
"quickSetSuccess": "已将模型名称应用到所有角色",
|
||
"advancedOptionsToggle": "高级选项",
|
||
"advancedOptionsHint": "包含 API 格式、认证字段、模型映射等配置。大多数场景下保持默认即可。",
|
||
"categoryOfficial": "官方",
|
||
"categoryCnOfficial": "开源官方",
|
||
"categoryAggregation": "聚合服务",
|
||
"categoryThirdParty": "第三方",
|
||
"fetchModels": "获取模型列表",
|
||
"fetchingModels": "正在获取...",
|
||
"fetchModelsSuccess": "获取到 {{count}} 个模型",
|
||
"fetchModelsFailed": "获取模型列表失败",
|
||
"fetchModelsEmpty": "未找到可用模型",
|
||
"fetchModelsNeedApiKey": "请先填写 API Key",
|
||
"fetchModelsNeedEndpoint": "请先填写 API 端点",
|
||
"fetchModelsNeedConfig": "请先填写 API 端点和 API Key",
|
||
"fetchModelsAuthFailed": "API Key 无效或无权限",
|
||
"fetchModelsNotSupported": "该供应商不支持获取模型列表",
|
||
"fetchModelsEndpointNotFound": "未找到可用的模型列表端点,请检查 Base URL 或确认供应商是否开放该接口",
|
||
"fetchModelsTimeout": "请求超时,请检查网络连接"
|
||
},
|
||
"copilot": {
|
||
"authSection": "GitHub Copilot 认证",
|
||
"authStatus": "认证状态",
|
||
"authenticated": "已认证: {{username}}",
|
||
"notAuthenticated": "未认证",
|
||
"loginWithGitHub": "使用 GitHub 登录",
|
||
"loginRequired": "请先登录 GitHub Copilot",
|
||
"waitingForAuth": "等待授权中...",
|
||
"enterCode": "请在浏览器中输入验证码:",
|
||
"logout": "注销",
|
||
"authSuccess": "GitHub Copilot 认证成功",
|
||
"authFailed": "认证失败: {{error}}",
|
||
"authTimeout": "认证超时,请重试",
|
||
"tokenExpired": "令牌已过期,请重新认证",
|
||
"accountCount": "{{count}} 个账号",
|
||
"selectAccount": "选择账号",
|
||
"selectAccountPlaceholder": "选择一个 GitHub 账号",
|
||
"useDefaultAccount": "使用默认账号",
|
||
"loggedInAccounts": "已登录账号",
|
||
"defaultAccount": "默认",
|
||
"selected": "已选中",
|
||
"removeAccount": "移除账号",
|
||
"setAsDefault": "设为默认",
|
||
"addAnotherAccount": "添加其他账号",
|
||
"logoutAll": "注销所有账号",
|
||
"retry": "重试",
|
||
"copyCode": "复制代码",
|
||
"migrationFailed": "旧认证数据迁移失败:{{error}}",
|
||
"loadModelsFailed": "加载 Copilot 模型列表失败",
|
||
"deploymentType": "GitHub 部署类型",
|
||
"deploymentGitHubCom": "GitHub.com",
|
||
"deploymentEnterprise": "GitHub Enterprise Server",
|
||
"enterpriseDomainPlaceholder": "例如:company.ghe.com"
|
||
},
|
||
"codexOauth": {
|
||
"authStatus": "认证状态",
|
||
"notAuthenticated": "未认证",
|
||
"loginWithChatGPT": "使用 ChatGPT 登录",
|
||
"loginRequired": "请先登录 ChatGPT 账号",
|
||
"waitingForAuth": "等待授权中...",
|
||
"enterCode": "请在浏览器中输入以下验证码:",
|
||
"accountCount": "{{count}} 个账号",
|
||
"selectAccount": "选择账号",
|
||
"selectAccountPlaceholder": "选择一个 ChatGPT 账号",
|
||
"useDefaultAccount": "使用默认账号",
|
||
"loggedInAccounts": "已登录账号",
|
||
"defaultAccount": "默认",
|
||
"selected": "已选中",
|
||
"removeAccount": "移除账号",
|
||
"setAsDefault": "设为默认",
|
||
"addAnotherAccount": "添加其他账号",
|
||
"logoutAll": "注销所有账号",
|
||
"retry": "重试",
|
||
"copyCode": "复制代码",
|
||
"fastMode": "FAST 模式",
|
||
"fastModeDescription": "发送 service_tier=\"priority\" 换取更低延迟。默认关闭——开启后会按更高速率消耗 ChatGPT 配额。"
|
||
},
|
||
"endpointTest": {
|
||
"title": "请求地址管理",
|
||
"endpoints": "个端点",
|
||
"autoSelect": "自动选择",
|
||
"testSpeed": "测速",
|
||
"testing": "测速中",
|
||
"addEndpointPlaceholder": "https://api.example.com",
|
||
"done": "完成",
|
||
"noEndpoints": "暂无端点",
|
||
"failed": "失败",
|
||
"enterValidUrl": "请输入有效的 URL",
|
||
"invalidUrlFormat": "URL 格式不正确",
|
||
"onlyHttps": "仅支持 HTTP/HTTPS",
|
||
"urlExists": "该地址已存在",
|
||
"saveFailed": "保存失败,请重试",
|
||
"loadEndpointsFailed": "加载自定义端点失败:",
|
||
"addEndpointFailed": "添加自定义端点失败:",
|
||
"removeEndpointFailed": "删除自定义端点失败:",
|
||
"removeFailed": "删除失败: {{error}}",
|
||
"updateLastUsedFailed": "更新端点使用时间失败",
|
||
"pleaseAddEndpoint": "请先添加端点",
|
||
"testUnavailable": "测速功能不可用",
|
||
"noResult": "未返回结果",
|
||
"testFailed": "测速失败: {{error}}",
|
||
"empty": "暂无端点"
|
||
},
|
||
"providerAdvanced": {
|
||
"testConfig": "模型测试配置",
|
||
"useCustomConfig": "使用单独配置",
|
||
"testConfigDesc": "为此供应商配置单独的模型测试参数,不启用时使用全局配置。",
|
||
"testModel": "测试模型",
|
||
"testModelPlaceholder": "留空使用全局配置",
|
||
"timeoutSecs": "超时时间(秒)",
|
||
"testPrompt": "测试提示词",
|
||
"degradedThreshold": "降级阈值(毫秒)",
|
||
"maxRetries": "最大重试次数",
|
||
"pricingConfig": "计费配置",
|
||
"useCustomPricing": "使用单独配置",
|
||
"pricingConfigDesc": "为此供应商配置单独的计费参数,不启用时使用全局默认配置。",
|
||
"costMultiplier": "成本倍率",
|
||
"costMultiplierPlaceholder": "留空使用全局默认(1)",
|
||
"costMultiplierHint": "实际成本 = 基础成本 × 倍率,支持小数如 1.5",
|
||
"pricingModelSourceLabel": "计费模式",
|
||
"pricingModelSourceInherit": "继承全局默认",
|
||
"pricingModelSourceRequest": "请求模型",
|
||
"pricingModelSourceResponse": "返回模型",
|
||
"pricingModelSourceHint": "选择按请求模型还是返回模型进行定价匹配"
|
||
},
|
||
"codexConfig": {
|
||
"authJson": "auth.json (JSON) *",
|
||
"authJsonPlaceholder": "{\n \"OPENAI_API_KEY\": \"sk-your-api-key-here\"\n}",
|
||
"authJsonHint": "Codex auth.json 配置内容",
|
||
"authJsonStorageHint": "代理接管中显示的是存储的 auth 配置,不是实时 auth.json",
|
||
"configToml": "config.toml (TOML)",
|
||
"configTomlHint": "Codex config.toml 配置内容",
|
||
"configTomlStorageHint": "代理接管中显示的是存储的 config 配置,不是实时 config.toml",
|
||
"proxyTakeoverStorageNotice": "💡 当前应用处于代理接管状态。这里编辑的是存储的供应商配置,真实 live 配置已由代理临时接管",
|
||
"writeCommonConfig": "应用通用配置",
|
||
"editCommonConfig": "编辑通用配置",
|
||
"editCommonConfigTitle": "编辑 Codex 通用配置片段",
|
||
"commonConfigHint": "该片段会在勾选'应用通用配置'时追加到 config.toml 末尾",
|
||
"enableGoalMode": "启用 Goal mode",
|
||
"enableRemoteCompaction": "启用远程压缩",
|
||
"remoteCompactionHint": "开启后会将当前 model_providers 条目的 name 写为 OpenAI,使 Codex 尝试使用远程压缩。",
|
||
"apiUrlLabel": "API 请求地址",
|
||
"extractFromCurrent": "从编辑内容提取",
|
||
"extractNoCommonConfig": "当前编辑内容没有可提取的通用配置",
|
||
"extractFailed": "提取失败: {{error}}",
|
||
"saveFailed": "保存失败: {{error}}",
|
||
"modelNameHint": "指定使用的模型,将自动更新到 config.toml 中",
|
||
"modelName": "模型名称",
|
||
"upstreamFormatLabel": "上游格式",
|
||
"upstreamFormatHint": "供应商原生为 Responses API 就选 Responses(直连,不转换格式);使用 Chat Completions 协议就选 Chat(需开启路由接管才能转换为 Chat Completions)。",
|
||
"upstreamFormatChat": "Chat Completions(需开启路由)",
|
||
"upstreamFormatResponses": "Responses(原生)",
|
||
"upstreamModelName": "上游模型名称",
|
||
"upstreamModelNameHint": "Chat 格式下这里填写真实上游模型;路由会把 Codex 的 Responses 请求转换为 Chat Completions 并保持该模型。",
|
||
"modelNamePlaceholder": "例如: gpt-5-codex",
|
||
"contextWindow1M": "1M 上下文窗口",
|
||
"contextWindow": "上下文窗口",
|
||
"contextWindowPlaceholder": "例如: 128000",
|
||
"autoCompactLimit": "压缩阈值",
|
||
"autoCompactLimitPlaceholder": "例如: 90000",
|
||
"autoCompactLimitHint": "上下文 token 数达到此阈值时自动压缩历史",
|
||
"modelMetadataAdvanced": "模型元数据高级选项",
|
||
"modelMetadataAdvancedHint": "用于未知模型的 Codex 元数据覆盖;清空字段会从 config.toml 删除对应配置。",
|
||
"modelMappingTitle": "模型映射",
|
||
"modelMappingHint": "生成 Codex model_catalog_json,让 /model 命令显示这些第三方模型名;表中条目按填写内容原样保存。修改后需要重启 Codex 才能刷新模型列表。",
|
||
"addCatalogModel": "添加模型",
|
||
"catalogDisplayName": "显示名称",
|
||
"catalogDisplayNamePlaceholder": "例如: DeepSeek V4 Flash",
|
||
"catalogModelId": "模型 ID",
|
||
"catalogModelPlaceholder": "例如: deepseek-v4-flash",
|
||
"catalogColumnDisplay": "菜单显示名",
|
||
"catalogColumnModel": "实际请求模型",
|
||
"catalogColumnContext": "上下文窗口",
|
||
"reasoningModeToggle": "支持思考模式",
|
||
"reasoningModeHint": "上游 Chat Completions 接口支持开启或关闭 thinking 时启用。Kimi、GLM、Qwen 等通常属于这一类。",
|
||
"reasoningEffortToggle": "支持思考等级",
|
||
"reasoningEffortHint": "上游支持 low/high/max 等思考深度控制时启用。启用后会自动启用思考模式,并把 Codex 的 reasoning.effort 转成上游 Chat 参数。",
|
||
"reasoningGroupTitle": "思考能力",
|
||
"reasoningSectionHint": "预设供应商已自动配置;自定义供应商会按名称/地址自动推断。仅当自动识别不准时才需手动覆盖。",
|
||
"advancedSectionHint": "包含上游格式、模型映射、思考能力与自定义 User-Agent。使用 Chat Completions 协议的供应商需开启路由接管才能使用。"
|
||
},
|
||
"geminiConfig": {
|
||
"envFile": "环境变量 (.env)",
|
||
"envFileHint": "使用 .env 格式配置 Gemini 环境变量",
|
||
"configJson": "配置文件 (config.json)",
|
||
"configJsonHint": "使用 JSON 格式配置 Gemini 扩展参数(可选)",
|
||
"writeCommonConfig": "应用通用配置",
|
||
"editCommonConfig": "编辑通用配置",
|
||
"editCommonConfigTitle": "编辑 Gemini 通用配置片段",
|
||
"commonConfigHint": "该片段会在勾选\"应用通用配置\"时写入 Gemini 的 .env(不允许包含 GOOGLE_GEMINI_BASE_URL、GEMINI_API_KEY)",
|
||
"extractFromCurrent": "从编辑内容提取",
|
||
"extractNoCommonConfig": "当前编辑内容没有可提取的通用配置",
|
||
"extractFailed": "提取失败: {{error}}",
|
||
"saveFailed": "保存失败: {{error}}",
|
||
"extractedConfigInvalid": "提取的配置格式错误",
|
||
"invalidJsonFormat": "通用配置片段格式错误(必须是有效的 JSON)",
|
||
"commonConfigInvalidKeys": "通用配置片段不能包含 GOOGLE_GEMINI_BASE_URL 或 GEMINI_API_KEY(发现:{{keys}})",
|
||
"commonConfigInvalidValues": "通用配置片段的值必须是字符串",
|
||
"noCommonConfigToApply": "通用配置片段为空或没有可写入的内容",
|
||
"configMergeFailed": "配置合并失败: {{error}}",
|
||
"configReplaceFailed": "配置替换失败: {{error}}"
|
||
},
|
||
"opencode": {
|
||
"npmPackage": "接口格式",
|
||
"selectPackage": "选择接口格式",
|
||
"npmPackageHint": "选择 AI 服务的 API 接口格式",
|
||
"baseUrl": "Base URL",
|
||
"baseUrlHint": "自定义 API 端点地址",
|
||
"models": "模型配置",
|
||
"modelsHint": "配置可用的模型及其显示名称",
|
||
"addModel": "添加模型",
|
||
"modelId": "模型 ID",
|
||
"modelName": "显示名称",
|
||
"noModels": "暂无模型配置",
|
||
"modelsRequired": "请至少添加一个模型配置",
|
||
"providerKey": "供应商标识",
|
||
"providerKeyPlaceholder": "my-provider",
|
||
"providerKeyHint": "配置文件中的唯一标识符,只能使用小写字母、数字和连字符",
|
||
"providerKeyLockedHint": "该供应商已添加到应用配置中,供应商标识不可修改",
|
||
"providerKeyRequired": "请填写供应商标识",
|
||
"providerKeyDuplicate": "此标识已被使用,请更换",
|
||
"providerKeyInvalid": "标识格式无效,只能使用小写字母、数字和连字符",
|
||
"extraOptions": "额外选项",
|
||
"extraOptionsHint": "配置额外的 SDK 选项,如 timeout、setCacheKey 等。值会自动解析类型(数字、布尔值等)。",
|
||
"addExtraOption": "添加",
|
||
"extraOptionKey": "键名",
|
||
"extraOptionValue": "值",
|
||
"extraOptionKeyPlaceholder": "timeout",
|
||
"extraOptionValuePlaceholder": "600000",
|
||
"noExtraOptions": "暂无额外选项",
|
||
"noModelOptions": "模型选项,点击 + 添加",
|
||
"modelExtraFields": "模型属性",
|
||
"noModelExtraFields": "模型属性 (variants, cost 等),点击 + 添加",
|
||
"modelExtraFieldKeyPlaceholder": "variants",
|
||
"sdkOptions": "SDK 选项",
|
||
"modelOptionKeyPlaceholder": "provider",
|
||
"modelOptionValuePlaceholder": "{\"order\": [\"baseten\"]}"
|
||
},
|
||
"providerPreset": {
|
||
"label": "预设供应商",
|
||
"custom": "自定义配置",
|
||
"other": "其他",
|
||
"hint": "选择预设后可继续调整下方字段。",
|
||
"searchTooltip": "搜索预设",
|
||
"searchAriaLabel": "搜索预设供应商",
|
||
"searchPlaceholder": "搜索名称、官网或分类...",
|
||
"sortAriaLabel": "切换预设排序",
|
||
"sortNameAscTooltip": "按名称 A-Z 排序",
|
||
"sortOriginalTooltip": "恢复原始顺序",
|
||
"noSearchResults": "没有匹配的预设供应商。"
|
||
},
|
||
"usage": {
|
||
"title": "使用统计",
|
||
"subtitle": "查看 AI 模型的使用情况和成本统计",
|
||
"today": "24小时",
|
||
"last7days": "7天",
|
||
"last30days": "30天",
|
||
"presetToday": "当天",
|
||
"preset1d": "1d",
|
||
"preset7d": "7d",
|
||
"preset14d": "14d",
|
||
"preset30d": "30d",
|
||
"totalRequests": "总请求数",
|
||
"totalCost": "总成本",
|
||
"cost": "成本",
|
||
"perMillion": "(每百万)",
|
||
"trends": "使用趋势",
|
||
"rangeToday": "过去 24 小时 (按小时)",
|
||
"rangeLast7Days": "过去 7 天",
|
||
"rangeLast30Days": "过去 30 天",
|
||
"totalTokens": "新生成 Token (Input+Output)",
|
||
"cacheTokens": "缓存 Token",
|
||
"realTotal": "真实消耗 Tokens",
|
||
"realTotalHint": "Input + Output + 缓存写入 + 缓存命中",
|
||
"freshInput": "新增输入",
|
||
"cacheHitRate": "缓存命中率",
|
||
"requestLogs": "请求日志",
|
||
"providerStats": "Provider 统计",
|
||
"modelStats": "模型统计",
|
||
"time": "时间",
|
||
"provider": "供应商",
|
||
"billingModel": "计费模型",
|
||
"inputTokens": "输入",
|
||
"outputTokens": "输出",
|
||
"cacheReadTokens": "缓存命中",
|
||
"cacheCreationTokens": "缓存创建",
|
||
"timingInfo": "用时/首字",
|
||
"status": "状态",
|
||
"multiplier": "倍率",
|
||
"requestModel": "请求模型",
|
||
"responseModel": "返回模型",
|
||
"noData": "暂无数据",
|
||
"unknownProvider": "未知供应商",
|
||
"stream": "流",
|
||
"nonStream": "非流",
|
||
"source": "来源",
|
||
"requestsLabel": "次请求",
|
||
"costLabel": "总成本",
|
||
"appFilter": {
|
||
"all": "全部",
|
||
"claude": "Claude Code",
|
||
"codex": "Codex",
|
||
"gemini": "Gemini",
|
||
"opencode": "OpenCode"
|
||
},
|
||
"rawInputLabel": "原始",
|
||
"dataSources": "数据来源",
|
||
"dataSource": {
|
||
"proxy": "路由",
|
||
"session_log": "会话日志",
|
||
"codex_db": "Codex 数据库",
|
||
"codex_session": "Codex 会话日志",
|
||
"gemini_session": "Gemini 会话日志",
|
||
"opencode_session": "OpenCode 会话日志"
|
||
},
|
||
"sessionSync": {
|
||
"trigger": "同步会话日志",
|
||
"import": "导入会话",
|
||
"resync": "同步",
|
||
"imported": "从会话日志导入了 {{count}} 条记录",
|
||
"upToDate": "会话日志已是最新",
|
||
"failed": "会话同步失败"
|
||
},
|
||
"totalRecords": "共 {{total}} 条记录",
|
||
"goToPage": "跳转",
|
||
"pageInputPlaceholder": "页码",
|
||
"modelPricing": "模型定价",
|
||
"loadPricingError": "加载定价数据失败",
|
||
"modelPricingDesc": "配置各模型的 Token 成本",
|
||
"noPricingData": "暂无定价数据。点击\"新增\"添加模型定价配置。",
|
||
"model": "模型",
|
||
"pricingModel": "计价模型",
|
||
"displayName": "显示名称",
|
||
"inputCost": "输入成本",
|
||
"outputCost": "输出成本",
|
||
"cacheReadCost": "缓存命中",
|
||
"cacheWriteCost": "缓存创建",
|
||
"deleteConfirmTitle": "确认删除",
|
||
"deleteConfirmDesc": "确定要删除此模型定价配置吗?此操作无法撤销。",
|
||
"queryFailed": "查询失败",
|
||
"refreshUsage": "刷新用量",
|
||
"planUsage": "套餐用量",
|
||
"invalid": "已失效",
|
||
"total": "总:",
|
||
"used": "已使用:",
|
||
"remaining": "剩余:",
|
||
"justNow": "刚刚",
|
||
"minutesAgo": "{{count}} 分钟前",
|
||
"hoursAgo": "{{count}} 小时前",
|
||
"daysAgo": "{{count}} 天前",
|
||
"multiplePlans": "{{count}} 个套餐",
|
||
"expand": "展开",
|
||
"collapse": "收起",
|
||
"modelIdPlaceholder": "例如: claude-3-5-sonnet-20241022",
|
||
"displayNamePlaceholder": "例如: Claude 3.5 Sonnet",
|
||
"appType": "应用类型",
|
||
"statusCode": "状态码",
|
||
"allSources": "全部来源",
|
||
"allModels": "全部模型",
|
||
"filterBySource": "按来源筛选",
|
||
"filterByModel": "按模型筛选",
|
||
"refreshInterval": "自动刷新间隔",
|
||
"refreshOff": "关闭",
|
||
"timeRange": "时间范围",
|
||
"customRange": "日历筛选",
|
||
"customRangeHint": "支持日期与时间",
|
||
"startTime": "开始时间",
|
||
"endTime": "结束时间",
|
||
"liveEndTime": "结束时间跟随当前时刻",
|
||
"liveEndTimeNow": "现在",
|
||
"input": "Input",
|
||
"output": "Output",
|
||
"cacheWrite": "创建",
|
||
"cacheWriteNotReported": "OpenAI 协议不区分缓存写入,仅上报缓存命中",
|
||
"cacheWritePartial": "部分协议(如 OpenAI)不上报缓存写入,数值可能偏低",
|
||
"cacheRead": "命中",
|
||
"baseCost": "基础",
|
||
"costMultiplier": "成本倍率",
|
||
"withMultiplier": "含倍率",
|
||
"requestDetail": "请求详情",
|
||
"requestNotFound": "请求未找到",
|
||
"basicInfo": "基本信息",
|
||
"tokenUsage": "Token 使用量",
|
||
"cacheCreationCost": "缓存写入成本",
|
||
"costBreakdown": "成本明细",
|
||
"performance": "性能信息",
|
||
"latency": "延迟",
|
||
"errorMessage": "错误信息",
|
||
"requests": "请求数",
|
||
"tokens": "Tokens",
|
||
"avgCost": "平均成本",
|
||
"avgLatency": "平均延迟",
|
||
"successRate": "成功率",
|
||
"requestId": "请求 ID",
|
||
"never": "从不",
|
||
"modelId": "模型 ID",
|
||
"modelIdRequired": "模型 ID 不能为空",
|
||
"inputCostPerMillion": "输入成本 (每百万 tokens, USD)",
|
||
"outputCostPerMillion": "输出成本 (每百万 tokens, USD)",
|
||
"invalidPrice": "价格必须为非负数",
|
||
"invalidTimeRange": "请选择完整的开始/结束时间",
|
||
"invalidTimeRangeOrder": "开始时间不能晚于结束时间",
|
||
"timeRangeTooLarge": "时间范围过大,请缩小范围",
|
||
"addPricing": "新增定价",
|
||
"editPricing": "编辑定价",
|
||
"pricingAdded": "定价已添加",
|
||
"pricingUpdated": "定价已更新",
|
||
"importFromModelsDev": "从 models.dev 导入",
|
||
"modelsDevHint": "无需手动填写,可从 models.dev 选择模型定价",
|
||
"modelsDevPickerTitle": "从 models.dev 导入定价",
|
||
"modelsDevPickerDesc": "选择要导入的模型(价格单位:USD / 百万 tokens),每次导入一个",
|
||
"modelsDevSearchPlaceholder": "搜索模型或供应商(全量搜索)...",
|
||
"modelsDevAllProviders": "全部供应商",
|
||
"modelsDevLoadError": "加载 models.dev 数据失败",
|
||
"modelsDevRetry": "重试",
|
||
"modelsDevImportButton": "导入",
|
||
"modelsDevImporting": "导入中...",
|
||
"modelsDevImported": "已导入 {{name}} 的定价",
|
||
"modelsDevNoResults": "没有匹配的模型",
|
||
"modelsDevTruncated": "仅显示前 {{shown}} 条,共 {{total}} 条结果,请缩小搜索范围",
|
||
"modelsDevDefaultHint": "默认展示最新发布的 {{shown}} 个模型(共 {{total}} 个),输入关键字可全量搜索",
|
||
"cacheReadCostPerMillion": "缓存读取成本 (每百万 tokens, USD)",
|
||
"cacheCreationCostPerMillion": "缓存写入成本 (每百万 tokens, USD)"
|
||
},
|
||
"usageScript": {
|
||
"title": "配置用量查询",
|
||
"enableUsageQuery": "启用用量查询",
|
||
"presetTemplate": "预设模板",
|
||
"requestUrl": "请求地址",
|
||
"requestUrlPlaceholder": "例如:https://api.example.com",
|
||
"method": "HTTP 方法",
|
||
"templateCustom": "自定义",
|
||
"templateGeneral": "通用模板",
|
||
"templateNewAPI": "NewAPI",
|
||
"templateCopilot": "GitHub Copilot",
|
||
"templateTokenPlan": "Token Plan",
|
||
"templateBalance": "官方",
|
||
"templateOfficialSubscription": "官方订阅",
|
||
"copilotAutoAuth": "自动使用 OAuth 认证,无需手动配置凭证",
|
||
"tokenPlanHint": "自动使用供应商的 API Key 和 Base URL 查询 Token Plan 额度",
|
||
"balanceHint": "自动使用供应商的 API Key 查询账户余额",
|
||
"officialSubscriptionHint": "读取本机 CLI 的 OAuth 凭据,并调用官方接口查询订阅额度。默认关闭,只有启用后才会请求。",
|
||
"resetDate": "重置日期",
|
||
"premiumRequests": "Premium 请求",
|
||
"credentialsConfig": "凭证配置",
|
||
"credentialsHint": "留空则自动使用供应商配置",
|
||
"optional": "可选",
|
||
"apiKeyPlaceholder": "留空则使用供应商的 API Key",
|
||
"baseUrlPlaceholder": "留空则使用供应商的请求地址",
|
||
"baseUrl": "请求地址",
|
||
"accessToken": "访问令牌(在个人安全设置里获取)",
|
||
"accessTokenPlaceholder": "在'安全设置'里生成",
|
||
"userId": "用户 ID",
|
||
"userIdPlaceholder": "例如:114514",
|
||
"accessKeyId": "AccessKey ID",
|
||
"secretAccessKey": "SecretAccessKey",
|
||
"volcengineAkSkHint": "火山用量查询需账号级 AccessKey ID / Secret(与推理 API Key 不同)。请在火山引擎控制台右上角账号菜单 →「API访问密钥」中创建。",
|
||
"volcengineKeyConsoleLink": "密钥创建地址:",
|
||
"defaultPlan": "默认套餐",
|
||
"queryFailedMessage": "查询失败",
|
||
"queryScript": "查询脚本(JavaScript)",
|
||
"timeoutSeconds": "超时时间(秒)",
|
||
"headers": "请求头",
|
||
"body": "请求 Body",
|
||
"timeoutHint": "范围: 2-30 秒",
|
||
"timeoutMustBeInteger": "超时时间必须为整数,小数部分已忽略",
|
||
"timeoutCannotBeNegative": "超时时间不能为负数",
|
||
"autoIntervalMinutes": "自动查询间隔(分钟,0 表示不自动查询)",
|
||
"autoQueryInterval": "自动查询间隔(分钟)",
|
||
"autoQueryIntervalHint": "0 表示不自动查询,建议 5-60 分钟",
|
||
"intervalMustBeInteger": "自动查询间隔必须为整数,小数部分已忽略",
|
||
"intervalCannotBeNegative": "自动查询间隔不能为负数",
|
||
"intervalAdjusted": "自动查询间隔已调整为 {{value}} 分钟",
|
||
"scriptHelp": "脚本编写说明:",
|
||
"configFormat": "配置格式:",
|
||
"commentOptional": "可选",
|
||
"commentResponseIsJson": "response 是 API 返回的 JSON 数据",
|
||
"extractorFormat": "extractor 返回格式(所有字段均为可选):",
|
||
"tips": "💡 提示:",
|
||
"testing": "测试中...",
|
||
"testScript": "测试脚本",
|
||
"format": "格式化",
|
||
"saveConfig": "保存配置",
|
||
"scriptEmpty": "脚本配置不能为空",
|
||
"mustHaveReturn": "脚本必须包含 return 语句",
|
||
"testSuccess": "测试成功!",
|
||
"testFailed": "测试失败",
|
||
"formatSuccess": "格式化成功",
|
||
"formatFailed": "格式化失败",
|
||
"supportedVariables": "支持的变量",
|
||
"variablesHint": "支持变量: {{apiKey}}, {{baseUrl}} | extractor 函数接收 API 响应的 JSON 对象",
|
||
"scriptConfig": "请求配置",
|
||
"extractorCode": "提取器代码",
|
||
"extractorHint": "返回对象需包含剩余额度等字段",
|
||
"fieldIsValid": "• isValid: 布尔值,套餐是否有效",
|
||
"fieldInvalidMessage": "• invalidMessage: 字符串,失效原因说明(当 isValid 为 false 时显示)",
|
||
"fieldRemaining": "• remaining: 数字,剩余额度",
|
||
"fieldUnit": "• unit: 字符串,单位(如 \"USD\")",
|
||
"fieldPlanName": "• planName: 字符串,套餐名称",
|
||
"fieldTotal": "• total: 数字,总额度",
|
||
"fieldUsed": "• used: 数字,已用额度",
|
||
"fieldExtra": "• extra: 字符串,扩展字段,可自由补充需要展示的文本",
|
||
"tip1": "• 变量 {{apiKey}} 和 {{baseUrl}} 会自动替换",
|
||
"tip2": "• extractor 函数在沙箱环境中执行,支持 ES2020+ 语法",
|
||
"tip3": "• 整个配置必须用 () 包裹,形成对象字面量表达式"
|
||
},
|
||
"dbUpgrade": {
|
||
"title": "数据库版本过新",
|
||
"description": "当前数据库由更新版本的 CC Switch 创建,需要升级应用后才能继续使用。升级不会删除你的数据。",
|
||
"versionInfo": "数据库版本 v{{db}} · 应用支持 v{{supported}}",
|
||
"dbPath": "数据库文件",
|
||
"checking": "正在检查可用更新…",
|
||
"updateAvailable": "发现新版本 v{{version}},升级后即可继续使用。",
|
||
"incompatibleTitle": "升级也无法解决",
|
||
"incompatibleDescription": "你已是最新版本,但数据库版本(v{{db}})仍高于本应用支持的版本(v{{supported}})。该数据库可能由第三方客户端或更高版本创建,升级当前官方应用也无法兼容。",
|
||
"preparing": "正在准备更新…",
|
||
"downloading": "正在下载更新…",
|
||
"upgradeNow": "升级应用",
|
||
"retry": "重试升级",
|
||
"openReleases": "打开发布页",
|
||
"openConfigDir": "打开配置目录",
|
||
"quit": "退出"
|
||
},
|
||
"errors": {
|
||
"usage_query_failed": "用量查询失败",
|
||
"configLoadFailedTitle": "配置加载失败",
|
||
"configLoadFailedMessage": "无法读取配置文件:\n{{path}}\n\n错误详情:\n{{detail}}\n\n请手动检查 JSON 是否有效,或从同目录的备份文件(如 config.json.bak)恢复。\n\n应用将退出以便您进行修复。"
|
||
},
|
||
"presetSelector": {
|
||
"title": "选择配置类型",
|
||
"custom": "自定义",
|
||
"customDescription": "手动配置供应商,需要填写完整的配置信息",
|
||
"officialDescription": "官方登录,不需要填写 API Key",
|
||
"presetDescription": "使用预设配置,只需填写 API Key"
|
||
},
|
||
"mcp": {
|
||
"title": "MCP 管理",
|
||
"import": "导入",
|
||
"importExisting": "导入已有",
|
||
"addMcp": "添加MCP",
|
||
"claudeTitle": "Claude Code MCP 管理",
|
||
"codexTitle": "Codex MCP 管理",
|
||
"geminiTitle": "Gemini MCP 管理",
|
||
"unifiedPanel": {
|
||
"title": "MCP 服务器管理",
|
||
"addServer": "添加服务器",
|
||
"editServer": "编辑服务器",
|
||
"deleteServer": "删除服务器",
|
||
"deleteConfirm": "确定要删除服务器 \"{{id}}\" 吗?此操作无法撤销。",
|
||
"noServers": "暂无服务器",
|
||
"enabledApps": "启用的应用",
|
||
"noImportFound": "未发现需要导入的 MCP 服务器。所有服务器已在 CC Switch 统一管理中。",
|
||
"importSuccess": "成功导入 {{count}} 个 MCP 服务器",
|
||
"apps": {
|
||
"claude": "Claude",
|
||
"codex": "Codex",
|
||
"gemini": "Gemini",
|
||
"opencode": "OpenCode",
|
||
"openclaw": "OpenClaw",
|
||
"hermes": "Hermes"
|
||
}
|
||
},
|
||
"userLevelPath": "用户级 MCP 配置路径",
|
||
"serverList": "服务器列表",
|
||
"loading": "加载中...",
|
||
"empty": "暂无 MCP 服务器",
|
||
"emptyDescription": "点击右上角按钮添加第一个 MCP 服务器",
|
||
"add": "添加 MCP",
|
||
"addServer": "新增 MCP",
|
||
"editServer": "编辑 MCP",
|
||
"addClaudeServer": "新增 Claude Code MCP",
|
||
"editClaudeServer": "编辑 Claude Code MCP",
|
||
"addCodexServer": "新增 Codex MCP",
|
||
"editCodexServer": "编辑 Codex MCP",
|
||
"configPath": "配置路径",
|
||
"serverCount": "已配置 {{count}} 个 MCP 服务器",
|
||
"enabledCount": "已启用 {{count}} 个",
|
||
"template": {
|
||
"fetch": "快速模板:mcp-fetch"
|
||
},
|
||
"form": {
|
||
"title": "MCP 标题(唯一)",
|
||
"titlePlaceholder": "my-mcp-server",
|
||
"name": "显示名称",
|
||
"namePlaceholder": "例如 @modelcontextprotocol/server-time",
|
||
"enabledApps": "启用到应用",
|
||
"noAppsWarning": "至少选择一个应用",
|
||
"description": "描述",
|
||
"descriptionPlaceholder": "可选的描述信息",
|
||
"tags": "标签(逗号分隔)",
|
||
"tagsPlaceholder": "stdio, time, utility",
|
||
"homepage": "主页链接",
|
||
"homepagePlaceholder": "https://example.com",
|
||
"docs": "文档链接",
|
||
"docsPlaceholder": "https://example.com/docs",
|
||
"additionalInfo": "附加信息",
|
||
"jsonConfig": "完整的 JSON 配置",
|
||
"jsonConfigOrPrefix": "完整的 JSON 配置或者使用",
|
||
"tomlConfigOrPrefix": "完整的 TOML 配置或者使用",
|
||
"jsonPlaceholder": "{\n \"type\": \"stdio\",\n \"command\": \"uvx\",\n \"args\": [\"mcp-server-fetch\"]\n}",
|
||
"tomlConfig": "完整的 TOML 配置",
|
||
"tomlPlaceholder": "type = \"stdio\"\ncommand = \"uvx\"\nargs = [\"mcp-server-fetch\"]",
|
||
"useWizard": "配置向导",
|
||
"syncOtherSide": "同步到 {{target}}",
|
||
"syncOtherSideHint": "勾选后会把当前配置同时写入 {{target}},若存在同名配置将被覆盖",
|
||
"willOverwriteWarning": "将覆盖 {{target}} 中的同名配置"
|
||
},
|
||
"wizard": {
|
||
"title": "MCP 配置向导",
|
||
"hint": "快速配置 MCP 服务器,自动生成 JSON 配置",
|
||
"type": "类型",
|
||
"typeStdio": "stdio",
|
||
"typeHttp": "http",
|
||
"typeSse": "sse",
|
||
"command": "命令",
|
||
"commandPlaceholder": "npx 或 uvx",
|
||
"args": "参数",
|
||
"argsPlaceholder": "arg1\narg2",
|
||
"env": "环境变量",
|
||
"envPlaceholder": "KEY1=value1\nKEY2=value2",
|
||
"url": "URL",
|
||
"urlPlaceholder": "https://api.example.com/mcp",
|
||
"urlRequired": "请输入 URL",
|
||
"headers": "请求头(可选)",
|
||
"headersPlaceholder": "Authorization: Bearer your_token_here\nContent-Type: application/json",
|
||
"preview": "配置预览",
|
||
"apply": "应用配置"
|
||
},
|
||
"id": "标识 (唯一)",
|
||
"type": "类型",
|
||
"command": "命令",
|
||
"validateCommand": "校验命令",
|
||
"args": "参数",
|
||
"argsPlaceholder": "例如:mcp-server-fetch --help",
|
||
"env": "环境变量 (一行一个,KEY=VALUE)",
|
||
"envPlaceholder": "FOO=bar\nHELLO=world",
|
||
"reset": "重置",
|
||
"msg": {
|
||
"saved": "已保存",
|
||
"deleted": "已删除",
|
||
"enabled": "已启用",
|
||
"disabled": "已禁用",
|
||
"templateAdded": "已添加模板"
|
||
},
|
||
"error": {
|
||
"idRequired": "请填写标识",
|
||
"idExists": "该标识已存在,请更换",
|
||
"jsonInvalid": "JSON 格式错误,请检查",
|
||
"tomlInvalid": "TOML 格式错误,请检查",
|
||
"commandRequired": "请填写命令",
|
||
"singleServerObjectRequired": "此处只需单个服务器对象,请不要粘贴包含 mcpServers 的整份配置",
|
||
"saveFailed": "保存失败",
|
||
"deleteFailed": "删除失败"
|
||
},
|
||
"validation": {
|
||
"ok": "命令可用",
|
||
"fail": "命令不可用"
|
||
},
|
||
"confirm": {
|
||
"deleteTitle": "删除 MCP 服务器",
|
||
"deleteMessage": "确定要删除 MCP 服务器 \"{{id}}\" 吗?此操作无法撤销。"
|
||
},
|
||
"presets": {
|
||
"title": "选择 MCP 类型",
|
||
"enable": "启用",
|
||
"enabled": "已启用",
|
||
"installed": "已安装",
|
||
"docs": "文档",
|
||
"requiresEnv": "需要环境变量",
|
||
"fetch": {
|
||
"name": "mcp-server-fetch",
|
||
"description": "通用 HTTP 请求工具,支持 GET/POST 等 HTTP 方法,适合快速请求接口/抓取网页数据"
|
||
},
|
||
"time": {
|
||
"name": "@modelcontextprotocol/server-time",
|
||
"description": "时间查询工具,提供当前时间、时区转换、日期计算等功能"
|
||
},
|
||
"memory": {
|
||
"name": "@modelcontextprotocol/server-memory",
|
||
"description": "知识图谱记忆系统,支持存储实体、关系和观察,让 AI 记住对话中的重要信息"
|
||
},
|
||
"sequential-thinking": {
|
||
"name": "@modelcontextprotocol/server-sequential-thinking",
|
||
"description": "顺序思考工具,帮助 AI 将复杂问题分解为多个步骤,逐步深入思考"
|
||
},
|
||
"context7": {
|
||
"name": "@upstash/context7-mcp",
|
||
"description": "Context7 文档搜索工具,提供最新的库文档和代码示例,配置 key 会有更高限额"
|
||
}
|
||
}
|
||
},
|
||
"prompts": {
|
||
"manage": "提示词",
|
||
"title": "{{appName}} 提示词管理",
|
||
"claudeTitle": "Claude 提示词管理",
|
||
"codexTitle": "Codex 提示词管理",
|
||
"add": "添加提示词",
|
||
"edit": "编辑提示词",
|
||
"addTitle": "添加 {{appName}} 提示词",
|
||
"editTitle": "编辑 {{appName}} 提示词",
|
||
"import": "导入现有",
|
||
"count": "共 {{count}} 个提示词",
|
||
"enabled": "已启用",
|
||
"enable": "启用",
|
||
"enabledName": "已启用: {{name}}",
|
||
"noneEnabled": "未启用任何提示词",
|
||
"currentFile": "当前 {{filename}} 内容",
|
||
"empty": "暂无提示词",
|
||
"emptyDescription": "点击右上角按钮添加或导入提示词",
|
||
"loading": "加载中...",
|
||
"name": "名称",
|
||
"namePlaceholder": "例如:项目默认提示词",
|
||
"description": "描述",
|
||
"descriptionPlaceholder": "可选的描述信息",
|
||
"content": "内容",
|
||
"contentPlaceholder": "# {{filename}}\n\n在此输入提示词内容...",
|
||
"loadFailed": "加载提示词失败",
|
||
"saveSuccess": "保存成功",
|
||
"saveFailed": "保存失败",
|
||
"deleteSuccess": "删除成功",
|
||
"deleteFailed": "删除失败",
|
||
"enableSuccess": "启用成功",
|
||
"enableFailed": "启用失败",
|
||
"disableSuccess": "禁用成功",
|
||
"disableFailed": "禁用失败",
|
||
"importSuccess": "导入成功",
|
||
"importFailed": "导入失败",
|
||
"confirm": {
|
||
"deleteTitle": "确认删除",
|
||
"deleteMessage": "确定要删除提示词 \"{{name}}\" 吗?"
|
||
}
|
||
},
|
||
"workspace": {
|
||
"title": "Workspace 文件管理",
|
||
"manage": "Workspace",
|
||
"files": {
|
||
"agents": "Agent 操作指令和规则",
|
||
"soul": "Agent 人格和沟通风格",
|
||
"user": "用户档案和偏好",
|
||
"identity": "Agent 名称和头像",
|
||
"tools": "本地工具文档",
|
||
"memory": "长期记忆和决策记录",
|
||
"heartbeat": "心跳运行清单",
|
||
"bootstrap": "首次运行仪式",
|
||
"boot": "网关重启清单"
|
||
},
|
||
"editing": "编辑 {{filename}}",
|
||
"saveSuccess": "保存成功",
|
||
"saveFailed": "保存失败",
|
||
"loadFailed": "读取失败",
|
||
"openDirectory": "在文件管理器中打开",
|
||
"dailyMemory": {
|
||
"title": "每日记忆",
|
||
"sectionTitle": "每日记忆",
|
||
"cardTitle": "每日记忆文件",
|
||
"cardDescription": "浏览管理每日记忆",
|
||
"createToday": "添加记忆",
|
||
"empty": "暂无每日记忆文件",
|
||
"loadFailed": "加载每日记忆文件失败",
|
||
"createFailed": "创建每日记忆文件失败",
|
||
"deleteSuccess": "每日记忆文件已删除",
|
||
"deleteFailed": "删除每日记忆文件失败",
|
||
"confirmDeleteTitle": "删除每日记忆",
|
||
"confirmDeleteMessage": "确定删除 {{date}} 的每日记忆吗?此操作不可撤销。",
|
||
"searchPlaceholder": "搜索全文内容...",
|
||
"searchScopeHint": "全文搜索所有每日记忆 ⌘F",
|
||
"searchCloseHint": "Esc 关闭",
|
||
"noSearchResults": "没有找到匹配的每日记忆。",
|
||
"searching": "搜索中...",
|
||
"searchFailed": "搜索失败",
|
||
"matchCount": "{{count}} 处匹配"
|
||
}
|
||
},
|
||
"openclaw": {
|
||
"backupCreated": "已创建备份:{{path}}",
|
||
"providerKey": "供应商标识",
|
||
"providerKeyPlaceholder": "my-provider",
|
||
"providerKeyHint": "配置文件中的唯一标识符,只能使用小写字母、数字和连字符",
|
||
"providerKeyLockedHint": "该供应商已添加到应用配置中,供应商标识不可修改",
|
||
"providerKeyRequired": "请填写供应商标识",
|
||
"providerKeyDuplicate": "此标识已被使用,请更换",
|
||
"providerKeyInvalid": "标识格式无效,只能使用小写字母、数字和连字符",
|
||
"apiProtocol": "API 协议",
|
||
"selectProtocol": "选择 API 协议",
|
||
"apiProtocolHint": "选择与供应商 API 兼容的协议类型。大多数供应商使用 OpenAI Completions 格式。",
|
||
"baseUrl": "API 端点",
|
||
"baseUrlHint": "供应商的 API 端点地址。",
|
||
"models": "模型列表",
|
||
"addModel": "添加模型",
|
||
"noModels": "暂无模型配置。点击添加模型来配置可用模型。",
|
||
"modelId": "模型 ID",
|
||
"modelIdPlaceholder": "claude-3-sonnet",
|
||
"modelName": "显示名称",
|
||
"modelNamePlaceholder": "Claude 3 Sonnet",
|
||
"contextWindow": "上下文窗口",
|
||
"maxTokens": "最大输出 Tokens",
|
||
"reasoning": "推理模式",
|
||
"reasoningOn": "启用",
|
||
"reasoningOff": "关闭",
|
||
"inputTypes": "输入类型",
|
||
"inputCost": "输入价格 ($/M tokens)",
|
||
"outputCost": "输出价格 ($/M tokens)",
|
||
"advancedOptions": "高级选项",
|
||
"cacheReadCost": "缓存读取价格 ($/M tokens)",
|
||
"cacheWriteCost": "缓存写入价格 ($/M tokens)",
|
||
"cacheCostHint": "缓存价格用于计算 Prompt Caching 的成本。如不使用缓存可留空。",
|
||
"modelsHint": "配置该供应商支持的模型。模型 ID 用于 API 调用,显示名称用于界面展示。",
|
||
"userAgent": "发送 User-Agent",
|
||
"userAgentHint": "部分供应商需要浏览器 User-Agent 才能正常访问。",
|
||
"env": {
|
||
"title": "环境变量",
|
||
"description": "管理 openclaw.json 中的环境变量配置(API Key、自定义变量等)",
|
||
"editorHint": "以 JSON 形式编辑整个 env 节点。支持 env.vars、env.shellEnv 等嵌套对象。",
|
||
"objectRequired": "OpenClaw 的 env 必须是 JSON 对象。",
|
||
"invalidJson": "OpenClaw 的 env 必须是合法 JSON。",
|
||
"empty": "OpenClaw 的 env 不能为空。空对象请使用 {}。",
|
||
"keyPlaceholder": "变量名",
|
||
"valuePlaceholder": "值",
|
||
"add": "添加变量",
|
||
"saveSuccess": "环境变量已保存",
|
||
"saveFailed": "保存环境变量失败",
|
||
"loadFailed": "读取环境变量失败",
|
||
"duplicateKey": "检测到重复的变量名: {{key}}"
|
||
},
|
||
"tools": {
|
||
"title": "工具权限",
|
||
"description": "管理 openclaw.json 中的工具权限配置(允许/拒绝列表)",
|
||
"profile": "权限模式",
|
||
"profileMinimal": "最小权限",
|
||
"profileCoding": "编码",
|
||
"profileMessaging": "对话",
|
||
"profileFull": "完全访问",
|
||
"profileUnset": "未设置",
|
||
"unsupportedProfileTitle": "检测到不受支持的工具配置",
|
||
"unsupportedProfileDescription": "当前 tools.profile 的值“{{value}}”不在 OpenClaw 支持列表内。在你手动选择新值之前,它会被保留。",
|
||
"unsupportedProfileLabel": "不受支持",
|
||
"allowList": "允许列表",
|
||
"denyList": "拒绝列表",
|
||
"patternPlaceholder": "工具名称或模式",
|
||
"addAllow": "添加允许",
|
||
"addDeny": "添加拒绝",
|
||
"saveSuccess": "工具权限已保存",
|
||
"saveFailed": "保存工具权限失败",
|
||
"loadFailed": "读取工具权限失败"
|
||
},
|
||
"agents": {
|
||
"title": "Agents 配置",
|
||
"description": "管理 openclaw.json 中的 agents.defaults 配置(默认模型、运行参数等)",
|
||
"modelSection": "模型配置",
|
||
"primaryModel": "默认模型",
|
||
"primaryModelHint": "从已配置供应商的模型中选择默认模型",
|
||
"notSet": "未设置",
|
||
"fallbackModels": "回退模型",
|
||
"fallbackModelsHint": "当主模型不可用时,按优先级依次尝试以下回退模型",
|
||
"addFallback": "添加回退模型",
|
||
"noModels": "暂无已配置的供应商模型。请先添加 OpenClaw 供应商。",
|
||
"notInList": "{{value}} (供应商未配置)",
|
||
"runtimeSection": "运行参数",
|
||
"workspace": "工作区路径",
|
||
"timeout": "超时时间(秒)",
|
||
"contextTokens": "上下文 Token 数",
|
||
"maxConcurrent": "最大并发数",
|
||
"legacyTimeoutTitle": "检测到旧版超时字段",
|
||
"legacyTimeoutDescription": "当前配置仍在使用 agents.defaults.timeout。保存本页面时会迁移为 timeoutSeconds。",
|
||
"saveSuccess": "Agents 配置已保存",
|
||
"saveFailed": "保存 Agents 配置失败",
|
||
"loadFailed": "读取 Agents 配置失败"
|
||
},
|
||
"health": {
|
||
"title": "检测到 OpenClaw 配置警告",
|
||
"invalidToolsProfile": "tools.profile 使用了不受支持的值。OpenClaw 当前只支持 minimal、coding、messaging、full。",
|
||
"legacyTimeout": "agents.defaults.timeout 已废弃。打开并保存 Agents 面板即可迁移到 timeoutSeconds。",
|
||
"stringifiedEnvVars": "env.vars 应为对象,但当前值看起来像被字符串化或已损坏。",
|
||
"stringifiedShellEnv": "env.shellEnv 应为对象,但当前值看起来像被字符串化或已损坏。",
|
||
"parseFailed": "openclaw.json 不是合法 JSON5。请先修复文件,再通过这里编辑。"
|
||
},
|
||
"primaryModel": "默认模型",
|
||
"fallbackModel": "回退模型"
|
||
},
|
||
"hermes": {
|
||
"form": {
|
||
"baseUrl": "API 端点",
|
||
"baseUrlHint": "供应商的 API 端点地址。",
|
||
"providerKey": "供应商标识",
|
||
"providerKeyPlaceholder": "my-provider",
|
||
"providerKeyHint": "只能使用小写字母、数字和连字符。用作 config.yaml 中的供应商名称。",
|
||
"providerKeyLockedHint": "该供应商已添加到 Hermes 配置中,标识不可修改。",
|
||
"providerKeyRequired": "供应商标识不能为空",
|
||
"providerKeyInvalid": "供应商标识只能包含小写字母、数字和连字符",
|
||
"providerKeyDuplicate": "该供应商标识已存在",
|
||
"apiMode": "API 模式",
|
||
"apiModeHint": "供应商 API 协议。请根据端点选择正确的协议。",
|
||
"apiModeChatCompletions": "OpenAI Chat Completions",
|
||
"apiModeAnthropicMessages": "Anthropic Messages",
|
||
"apiModeCodexResponses": "OpenAI Responses",
|
||
"apiModeBedrockConverse": "AWS Bedrock Converse",
|
||
"baseUrlRequired": "API 端点不能为空",
|
||
"baseUrlScheme": "请使用 http:// 或 https:// 开头的地址",
|
||
"baseUrlInvalid": "API 端点不是有效的 URL",
|
||
"models": "模型列表",
|
||
"addModel": "添加模型",
|
||
"noModels": "暂无模型配置。切换到此供应商时将不会更新默认模型。",
|
||
"modelId": "模型 ID",
|
||
"modelIdPlaceholder": "anthropic/claude-opus-4-8",
|
||
"modelName": "显示名称",
|
||
"modelNamePlaceholder": "Claude Opus 4.8",
|
||
"contextLength": "上下文长度",
|
||
"advancedOptions": "高级选项",
|
||
"modelsHint": "切换到此供应商时,第一个模型会写入顶层 model.default。",
|
||
"primaryModel": "默认模型",
|
||
"fallbackModel": "备选模型",
|
||
"providerAdvanced": "供应商高级选项",
|
||
"rateLimitDelay": "请求间隔(秒)",
|
||
"rateLimitDelayHint": "连续请求间的最小间隔秒数(可选)。留空表示无限制。"
|
||
},
|
||
"webui": {
|
||
"open": "打开 Hermes Web UI",
|
||
"offline": "Hermes Web UI 未启动,请先运行 `hermes dashboard` 启动服务。",
|
||
"openFailed": "打开 Hermes Web UI 失败",
|
||
"launchConfirmTitle": "Hermes Dashboard 未启动",
|
||
"launchConfirmMessage": "是否打开终端并运行 `hermes dashboard` 启动服务?\n\n启动完成后会自动打开浏览器。\n\n若终端提示找不到 hermes 或缺少 web 依赖,请先运行:\npip install hermes-agent[web]",
|
||
"launchConfirmAction": "打开终端并启动",
|
||
"launching": "已在终端启动 hermes dashboard",
|
||
"launchFailed": "打开终端失败"
|
||
},
|
||
"memory": {
|
||
"title": "记忆管理",
|
||
"agentTab": "Agent 记忆 (MEMORY.md)",
|
||
"userTab": "用户画像 (USER.md)",
|
||
"usage": "已用 {{current}} / {{limit}} 字符",
|
||
"overLimit": "已超过上限,Hermes 下次加载时会截断",
|
||
"enableOn": "已启用",
|
||
"enableOff": "已禁用",
|
||
"disabledHint": "在重新启用前 Hermes 会跳过此记忆",
|
||
"toggleFailed": "切换记忆状态失败",
|
||
"saveSuccess": "记忆已保存",
|
||
"saveFailed": "保存记忆失败",
|
||
"loadFailed": "读取记忆文件失败",
|
||
"openConfig": "在 Hermes Web UI 调整上限",
|
||
"runtimeNote": "更改将在 Hermes 下次启动或新建会话时生效。"
|
||
}
|
||
},
|
||
"env": {
|
||
"warning": {
|
||
"title": "检测到系统环境变量冲突",
|
||
"description": "发现 {{count}} 个环境变量可能会覆盖您的配置"
|
||
},
|
||
"actions": {
|
||
"expand": "查看详情",
|
||
"collapse": "收起",
|
||
"selectAll": "全选",
|
||
"clearSelection": "取消选择",
|
||
"deleteSelected": "删除选中 ({{count}})",
|
||
"deleting": "删除中..."
|
||
},
|
||
"field": {
|
||
"value": "值",
|
||
"source": "来源"
|
||
},
|
||
"source": {
|
||
"userRegistry": "用户环境变量 (注册表)",
|
||
"systemRegistry": "系统环境变量 (注册表)",
|
||
"systemEnv": "系统环境变量"
|
||
},
|
||
"delete": {
|
||
"success": "环境变量已成功删除",
|
||
"error": "删除环境变量失败"
|
||
},
|
||
"backup": {
|
||
"location": "备份位置: {{path}}"
|
||
},
|
||
"confirm": {
|
||
"title": "确认删除环境变量",
|
||
"message": "确定要删除 {{count}} 个环境变量吗?",
|
||
"backupNotice": "删除前将自动备份,您可以稍后恢复。删除后需要重启应用或终端才能生效。",
|
||
"confirm": "确认删除"
|
||
},
|
||
"error": {
|
||
"noSelection": "请选择要删除的环境变量"
|
||
}
|
||
},
|
||
"skills": {
|
||
"manage": "Skills",
|
||
"title": "Skills 管理",
|
||
"description": "从流行的仓库发现并安装技能,扩展 Claude Code/Codex/Gemini 的能力",
|
||
"refresh": "刷新",
|
||
"refreshing": "刷新中...",
|
||
"repoManager": "仓库管理",
|
||
"count": "共 {{count}} 个技能",
|
||
"empty": "暂无可用技能",
|
||
"emptyDescription": "添加技能仓库以发现可用的技能",
|
||
"addRepo": "添加技能仓库",
|
||
"loading": "加载中...",
|
||
"installed": "已安装",
|
||
"install": "安装",
|
||
"installing": "安装中...",
|
||
"uninstall": "卸载",
|
||
"uninstalling": "卸载中...",
|
||
"view": "查看",
|
||
"noDescription": "暂无描述",
|
||
"loadFailed": "加载失败",
|
||
"installSuccess": "技能 {{name}} 已安装",
|
||
"installFailed": "安装失败",
|
||
"uninstallSuccess": "技能 {{name}} 已卸载",
|
||
"uninstallFailed": "卸载失败",
|
||
"update": "更新",
|
||
"updating": "更新中...",
|
||
"updateAvailable": "可更新",
|
||
"updateSuccess": "技能 {{name}} 已更新到最新版本",
|
||
"updateFailed": "更新失败",
|
||
"checkUpdates": "检查更新",
|
||
"checkingUpdates": "检查中...",
|
||
"noUpdates": "所有技能已是最新版本",
|
||
"updatesFound": "发现 {{count}} 个技能有可用更新",
|
||
"updateAll": "全部更新 ({{count}})",
|
||
"updatingAll": "更新中...",
|
||
"updateAllSuccess": "已成功更新 {{count}} 个技能",
|
||
"error": {
|
||
"skillNotFound": "技能不存在:{{directory}}",
|
||
"missingRepoInfo": "缺少仓库信息(owner 或 name)",
|
||
"downloadTimeout": "下载仓库 {{owner}}/{{name}} 超时({{timeout}}秒)",
|
||
"downloadTimeoutHint": "请检查网络连接或稍后重试",
|
||
"skillPathNotFound": "仓库 {{owner}}/{{name}} 中未找到技能路径 '{{path}}'",
|
||
"skillDirNotFound": "技能目录不存在:{{path}}",
|
||
"directoryConflict": "技能目录 '{{directory}}' 已被 {{existing_repo}} 占用,无法从 {{new_repo}} 安装",
|
||
"emptyArchive": "下载的压缩包为空",
|
||
"downloadFailed": "下载失败:HTTP {{status}}",
|
||
"allBranchesFailed": "所有分支下载失败,尝试了:{{branches}}",
|
||
"httpError": "HTTP 错误 {{status}}",
|
||
"http403": "GitHub 访问受限,可能是请求频率过高",
|
||
"http404": "仓库或分支不存在,请检查地址",
|
||
"http429": "请求过于频繁,请等待后重试",
|
||
"parseMetadataFailed": "解析技能元数据失败",
|
||
"getHomeDirFailed": "无法获取用户主目录",
|
||
"noSkillsInZip": "ZIP 文件中未找到技能(需包含 SKILL.md 文件)",
|
||
"networkError": "网络错误",
|
||
"fsError": "文件系统错误",
|
||
"unknownError": "未知错误",
|
||
"suggestion": {
|
||
"checkNetwork": "请检查网络连接",
|
||
"checkProxy": "建议配置 HTTP 代理",
|
||
"retryLater": "请稍后重试",
|
||
"checkRepoUrl": "请检查仓库地址和分支名称",
|
||
"checkDiskSpace": "请检查磁盘空间",
|
||
"checkPermission": "请检查目录权限",
|
||
"uninstallFirst": "请先卸载已安装的同名技能",
|
||
"checkZipContent": "请确认 ZIP 文件包含有效的技能目录(含 SKILL.md 文件)"
|
||
}
|
||
},
|
||
"repo": {
|
||
"title": "管理技能仓库",
|
||
"description": "添加或删除 GitHub 技能仓库源",
|
||
"url": "仓库 URL",
|
||
"urlPlaceholder": "owner/name 或 https://github.com/owner/name",
|
||
"branch": "分支",
|
||
"branchPlaceholder": "main",
|
||
"path": "技能路径",
|
||
"pathPlaceholder": "skills (可选,留空扫描根目录)",
|
||
"add": "添加仓库",
|
||
"list": "已添加的仓库",
|
||
"empty": "暂无仓库",
|
||
"invalidUrl": "无效的仓库 URL 格式",
|
||
"addSuccess": "仓库 {{owner}}/{{name}} 已添加,识别到 {{count}} 个技能",
|
||
"addFailed": "添加失败",
|
||
"removeSuccess": "仓库 {{owner}}/{{name}} 已删除",
|
||
"removeFailed": "删除失败",
|
||
"skillCount": "识别到 {{count}} 个技能"
|
||
},
|
||
"search": "搜索技能",
|
||
"searchPlaceholder": "搜索技能名称或仓库名称...",
|
||
"searchSource": {
|
||
"repos": "仓库",
|
||
"skillssh": "skills.sh"
|
||
},
|
||
"skillssh": {
|
||
"searchPlaceholder": "搜索 skills.sh(至少 2 个字符)...",
|
||
"installs": "{{count}} 次安装",
|
||
"loadMore": "加载更多",
|
||
"loading": "正在搜索 skills.sh...",
|
||
"noResults": "未找到 \"{{query}}\" 相关技能",
|
||
"error": "搜索 skills.sh 失败",
|
||
"poweredBy": "由 skills.sh 提供"
|
||
},
|
||
"filter": {
|
||
"placeholder": "状态筛选",
|
||
"all": "全部",
|
||
"installed": "已安装",
|
||
"uninstalled": "未安装",
|
||
"repo": "仓库筛选",
|
||
"allRepos": "全部仓库"
|
||
},
|
||
"noResults": "未找到匹配的技能",
|
||
"noInstalled": "暂无已安装的技能",
|
||
"noInstalledDescription": "从仓库发现并安装技能,或导入已有的技能",
|
||
"discover": "发现技能",
|
||
"import": "导入已有",
|
||
"importDescription": "选择要导入到 CC Switch 统一管理的技能",
|
||
"importSuccess": "成功导入 {{count}} 个技能",
|
||
"importSelected": "导入已选 ({{count}})",
|
||
"noUnmanagedFound": "未发现需要导入的技能。所有技能已在 CC Switch 统一管理中。",
|
||
"unmanagedAvailable": "发现可导入的技能",
|
||
"foundIn": "发现于",
|
||
"local": "本地",
|
||
"uninstallConfirm": "确定要卸载技能 \"{{name}}\" 吗?这将从所有应用中移除该技能,并在删除前自动创建本地备份。",
|
||
"uninstallInMainPanel": "请在主面板中卸载技能",
|
||
"notFound": "未找到技能",
|
||
"backup": {
|
||
"location": "备份位置: {{path}}"
|
||
},
|
||
"restoreFromBackup": {
|
||
"button": "从备份中恢复",
|
||
"title": "从备份中恢复",
|
||
"description": "选择一个 Skills 备份,将文件恢复到本地并重新加入当前列表。",
|
||
"empty": "暂无可恢复的 Skills 备份",
|
||
"createdAt": "备份时间",
|
||
"path": "备份路径",
|
||
"restore": "恢复",
|
||
"restoring": "恢复中...",
|
||
"delete": "删除",
|
||
"deleting": "删除中...",
|
||
"deleteSuccess": "技能备份 {{name}} 已删除",
|
||
"deleteFailed": "删除技能备份失败",
|
||
"deleteConfirmTitle": "确认删除备份",
|
||
"deleteConfirmMessage": "确定要删除技能备份 \"{{name}}\" 吗?此操作无法撤销。",
|
||
"success": "技能 {{name}} 已从备份恢复",
|
||
"failed": "从备份恢复失败"
|
||
},
|
||
"apps": {
|
||
"claude": "Claude",
|
||
"codex": "Codex",
|
||
"gemini": "Gemini",
|
||
"opencode": "OpenCode",
|
||
"openclaw": "OpenClaw"
|
||
},
|
||
"installFromZip": {
|
||
"button": "从 ZIP 安装",
|
||
"installing": "安装中...",
|
||
"successSingle": "技能 {{name}} 已安装",
|
||
"successMultiple": "成功安装 {{count}} 个技能",
|
||
"noSkillsFound": "ZIP 文件中未找到技能(需包含 SKILL.md 文件)"
|
||
}
|
||
},
|
||
"deeplink": {
|
||
"confirmImport": "确认导入供应商配置",
|
||
"confirmImportDescription": "以下配置将导入到 CC Switch",
|
||
"importPrompt": "导入提示词",
|
||
"importPromptDescription": "请确认是否导入此系统提示词",
|
||
"importMcp": "导入 MCP Servers",
|
||
"importMcpDescription": "请确认是否导入这些 MCP Servers",
|
||
"importSkill": "添加 Skill 仓库",
|
||
"importSkillDescription": "请确认是否添加此 Skill 仓库",
|
||
"promptImportSuccess": "提示词导入成功",
|
||
"promptImportSuccessDescription": "已导入提示词: {{name}}",
|
||
"mcpImportSuccess": "MCP Servers 导入成功",
|
||
"mcpImportSuccessDescription": "成功导入 {{count}} 个服务器",
|
||
"mcpPartialSuccess": "部分导入成功",
|
||
"mcpPartialSuccessDescription": "成功: {{success}}, 失败: {{failed}}",
|
||
"skillImportSuccess": "Skill 仓库添加成功",
|
||
"skillImportSuccessDescription": "已添加仓库: {{repo}}",
|
||
"app": "应用类型",
|
||
"providerName": "供应商名称",
|
||
"homepage": "官网地址",
|
||
"endpoint": "API 端点",
|
||
"apiKey": "API 密钥",
|
||
"icon": "图标",
|
||
"model": "模型",
|
||
"haikuModel": "Haiku 模型",
|
||
"sonnetModel": "Sonnet 模型",
|
||
"opusModel": "Opus 模型",
|
||
"multiModel": "多模态模型",
|
||
"notes": "备注",
|
||
"import": "导入",
|
||
"importing": "导入中...",
|
||
"warning": "请确认以上信息准确无误后再导入。导入后可在供应商列表中编辑或删除。",
|
||
"parseError": "深链接解析失败",
|
||
"importSuccess": "导入成功",
|
||
"importSuccessDescription": "供应商 \"{{name}}\" 已成功导入",
|
||
"importError": "导入失败",
|
||
"configSource": "配置来源",
|
||
"configEmbedded": "内嵌配置",
|
||
"configRemote": "远程配置",
|
||
"configDetails": "配置详情",
|
||
"configUrl": "配置文件 URL",
|
||
"configMergeError": "合并配置文件失败",
|
||
"primaryEndpoint": "主",
|
||
"mcp": {
|
||
"title": "批量导入 MCP Servers",
|
||
"targetApps": "目标应用",
|
||
"serverCount": "MCP Servers ({{count}} 个)",
|
||
"enabledWarning": "导入后将立即写入所有指定应用的配置文件"
|
||
},
|
||
"prompt": {
|
||
"title": "导入系统提示词",
|
||
"app": "应用",
|
||
"name": "名称",
|
||
"description": "描述",
|
||
"contentPreview": "内容预览",
|
||
"enabledWarning": "导入后将立即启用此提示词,其他提示词将被禁用"
|
||
},
|
||
"skill": {
|
||
"title": "添加 Claude Skill 仓库",
|
||
"repo": "GitHub 仓库",
|
||
"directory": "目标目录",
|
||
"branch": "分支",
|
||
"skillsPath": "Skills 路径",
|
||
"hint": "此操作将添加 Skill 仓库到列表。",
|
||
"hintDetail": "添加后,您可以在 Skills 管理界面中选择安装具体的 Skill。"
|
||
},
|
||
"usageScript": "用量查询",
|
||
"usageScriptEnabled": "已启用",
|
||
"usageScriptDisabled": "未启用",
|
||
"usageApiKey": "用量 API Key",
|
||
"usageBaseUrl": "用量查询地址",
|
||
"usageAutoInterval": "自动查询",
|
||
"usageAutoIntervalValue": "每 {{minutes}} 分钟"
|
||
},
|
||
"iconPicker": {
|
||
"search": "搜索图标",
|
||
"searchPlaceholder": "输入图标名称...",
|
||
"noResults": "未找到匹配的图标",
|
||
"category": {
|
||
"aiProvider": "AI 服务商",
|
||
"cloud": "云平台",
|
||
"tool": "开发工具",
|
||
"other": "其他"
|
||
}
|
||
},
|
||
"providerIcon": {
|
||
"label": "图标",
|
||
"colorLabel": "图标颜色",
|
||
"selectIcon": "选择图标",
|
||
"preview": "预览",
|
||
"clickToChange": "点击更换图标",
|
||
"clickToSelect": "点击选择图标",
|
||
"color": "图标颜色"
|
||
},
|
||
"migration": {
|
||
"success": "配置迁移成功",
|
||
"skillsSuccess": "已自动导入 {{count}} 个技能到统一管理",
|
||
"skillsFailed": "自动导入技能失败",
|
||
"skillsFailedDescription": "请打开 Skills 页面点击“导入已有”手动导入(或重启后再试)。"
|
||
},
|
||
"agents": {
|
||
"title": "智能体"
|
||
},
|
||
"modelTest": {
|
||
"testProvider": "测试模型"
|
||
},
|
||
"health": {
|
||
"operational": "正常",
|
||
"degraded": "降级",
|
||
"failed": "失败",
|
||
"circuitOpen": "熔断",
|
||
"consecutiveFailures": "连续失败 {{count}} 次"
|
||
},
|
||
"failover": {
|
||
"enabled": "{{app}} 故障转移已启用",
|
||
"disabled": "{{app}} 故障转移已关闭",
|
||
"toggleFailed": "操作失败: {{detail}}",
|
||
"inQueue": "已加入",
|
||
"addQueue": "加入",
|
||
"priority": {
|
||
"tooltip": "故障转移优先级 {{priority}}"
|
||
},
|
||
"tooltip": {
|
||
"enabled": "{{app}} 故障转移已启用\n按队列优先级(P1→P2→...)选择供应商",
|
||
"disabled": "启用 {{app}} 故障转移\n将立即切换到队列 P1,并在失败时自动切换到下一个"
|
||
}
|
||
},
|
||
"proxy": {
|
||
"panel": {
|
||
"serviceAddress": "服务地址",
|
||
"addressCopied": "地址已复制",
|
||
"currentProvider": "当前 Provider:",
|
||
"waitingFirstRequest": "当前 Provider:等待首次请求…",
|
||
"stoppedTitle": "路由服务已停止",
|
||
"stoppedDescription": "使用上方开关即可启动服务",
|
||
"openSettings": "配置路由服务",
|
||
"stats": {
|
||
"activeConnections": "活跃连接",
|
||
"totalRequests": "总请求数",
|
||
"successRate": "成功率",
|
||
"uptime": "运行时间"
|
||
}
|
||
},
|
||
"settings": {
|
||
"title": "路由服务设置",
|
||
"description": "配置本地路由服务器的监听地址、端口和运行参数,保存后立即生效。",
|
||
"alert": {
|
||
"autoApply": "保存后将自动同步到正在运行的路由服务,无需手动重启。"
|
||
},
|
||
"basic": {
|
||
"title": "基础设置",
|
||
"description": "配置路由服务监听的地址与端口。"
|
||
},
|
||
"advanced": {
|
||
"title": "高级参数",
|
||
"description": "控制请求的稳定性和日志记录。"
|
||
},
|
||
"timeout": {
|
||
"title": "超时设置",
|
||
"description": "配置流式和非流式请求的超时时间。"
|
||
},
|
||
"fields": {
|
||
"listenAddress": {
|
||
"label": "监听地址",
|
||
"placeholder": "127.0.0.1",
|
||
"description": "路由服务器监听的 IP 地址(推荐 127.0.0.1)"
|
||
},
|
||
"listenPort": {
|
||
"label": "监听端口",
|
||
"placeholder": "15721",
|
||
"description": "路由服务器监听的端口号(1024 ~ 65535)"
|
||
},
|
||
"maxRetries": {
|
||
"label": "最大重试次数",
|
||
"placeholder": "3",
|
||
"description": "请求失败时的重试次数(0 ~ 10)"
|
||
},
|
||
"requestTimeout": {
|
||
"label": "请求超时(秒)",
|
||
"placeholder": "0(不限)或 300",
|
||
"description": "单个请求的最大等待时间(0 表示不限制,或设置 10 ~ 600 秒)"
|
||
},
|
||
"enableLogging": {
|
||
"label": "启用日志记录",
|
||
"description": "记录所有路由请求,便于排查问题"
|
||
},
|
||
"streamingFirstByteTimeout": {
|
||
"label": "流式首字超时(秒)",
|
||
"description": "等待首个数据块的最大时间"
|
||
},
|
||
"streamingIdleTimeout": {
|
||
"label": "流式静默超时(秒)",
|
||
"description": "数据块之间的最大间隔"
|
||
},
|
||
"nonStreamingTimeout": {
|
||
"label": "非流式超时(秒)",
|
||
"description": "非流式请求的总超时时间"
|
||
}
|
||
},
|
||
"validation": {
|
||
"addressInvalid": "请输入有效的IP地址",
|
||
"portMin": "端口必须大于1024",
|
||
"portMax": "端口必须小于65535",
|
||
"retryMin": "重试次数不能为负",
|
||
"retryMax": "重试次数不能超过10",
|
||
"timeoutNonNegative": "超时时间不能为负数",
|
||
"timeoutMax": "超时时间最多600秒",
|
||
"timeoutRange": "请输入 0 或 10-600 之间的数值",
|
||
"streamingTimeoutMin": "超时时间至少5秒",
|
||
"streamingTimeoutMax": "超时时间最多300秒"
|
||
},
|
||
"actions": {
|
||
"save": "保存配置"
|
||
},
|
||
"toast": {
|
||
"saved": "路由配置已保存",
|
||
"saveFailed": "保存失败: {{error}}"
|
||
},
|
||
"invalidPort": "端口无效,请输入 1024-65535 之间的数字",
|
||
"invalidAddress": "地址无效,请输入 IPv4(如 127.0.0.1)、IPv6(如 ::1)或 localhost",
|
||
"configSaved": "路由配置已保存",
|
||
"configSaveFailed": "保存配置失败",
|
||
"restartRequired": "修改地址或端口后需要重启路由服务才能生效"
|
||
},
|
||
"switchFailed": "切换失败: {{error}}",
|
||
"takeover": {
|
||
"hint": "选择要路由的应用,启用后该应用的请求将通过本地路由转发",
|
||
"enabled": "{{app}} 路由已启用",
|
||
"disabled": "{{app}} 路由已关闭",
|
||
"failed": "切换路由状态失败: {{detail}}",
|
||
"tooltip": {
|
||
"active": "{{appLabel}} 路由中 - {{address}}:{{port}}\n切换该应用供应商为热切换",
|
||
"broken": "{{appLabel}} 路由中,但路由服务未运行",
|
||
"inactive": "路由 {{appLabel}} 的请求,让该应用请求走本地路由"
|
||
}
|
||
},
|
||
"failover": {
|
||
"proxyRequired": "需要先启动路由服务才能配置故障转移",
|
||
"autoSwitch": "自动故障转移",
|
||
"autoSwitchDescription": "开启后将立即切换到队列 P1,并在请求失败时自动切换到队列中的下一个供应商"
|
||
},
|
||
"failoverQueue": {
|
||
"title": "故障转移队列",
|
||
"description": "管理各应用的供应商故障转移顺序",
|
||
"info": "启用自动故障转移后,将按队列优先级选择供应商(P1 优先)。当请求失败时,系统会按队列顺序依次尝试下一个供应商。",
|
||
"selectProvider": "选择供应商添加到队列",
|
||
"noAvailableProviders": "没有可添加的供应商",
|
||
"empty": "故障转移队列为空。添加供应商以启用自动故障转移。",
|
||
"orderHint": "队列顺序与首页供应商列表顺序一致,可在首页拖拽调整顺序。",
|
||
"dragHint": "拖拽供应商可调整故障转移顺序,序号越小优先级越高。",
|
||
"toggleEnabled": "启用/禁用",
|
||
"addSuccess": "已添加到故障转移队列",
|
||
"addFailed": "添加失败",
|
||
"removeSuccess": "已从故障转移队列移除",
|
||
"removeFailed": "移除失败",
|
||
"reorderSuccess": "队列顺序已更新",
|
||
"reorderFailed": "更新顺序失败",
|
||
"toggleFailed": "状态更新失败"
|
||
},
|
||
"autoFailover": {
|
||
"info": "当故障转移队列中配置了多个供应商时,系统会在请求失败时按优先级顺序依次尝试。当某个供应商连续失败达到阈值时,熔断器会打开并在一段时间内跳过该供应商。",
|
||
"configSaved": "自动故障转移配置已保存",
|
||
"configSaveFailed": "保存失败",
|
||
"validationFailed": "以下字段超出有效范围: {{fields}}",
|
||
"retrySettings": "重试与超时设置",
|
||
"failureThreshold": "失败阈值",
|
||
"failureThresholdHint": "连续失败多少次后打开熔断器(建议: 3-10)",
|
||
"timeout": "恢复等待时间(秒)",
|
||
"timeoutHint": "熔断器打开后,等待多久后尝试恢复(建议: 30-120)",
|
||
"circuitBreakerSettings": "熔断器设置",
|
||
"successThreshold": "恢复成功阈值",
|
||
"successThresholdHint": "半开状态下成功多少次后关闭熔断器",
|
||
"errorRate": "错误率阈值 (%)",
|
||
"errorRateHint": "错误率超过此值时打开熔断器",
|
||
"minRequests": "最小请求数",
|
||
"minRequestsHint": "计算错误率前的最小请求数",
|
||
"explanationTitle": "工作原理",
|
||
"failureThresholdLabel": "失败阈值",
|
||
"failureThresholdExplain": "连续失败达到此次数时,熔断器打开,该供应商暂时不可用",
|
||
"timeoutLabel": "恢复等待时间",
|
||
"timeoutExplain": "熔断器打开后,等待此时间后尝试半开状态",
|
||
"successThresholdLabel": "恢复成功阈值",
|
||
"successThresholdExplain": "半开状态下,成功达到此次数时关闭熔断器,供应商恢复可用",
|
||
"errorRateLabel": "错误率阈值",
|
||
"errorRateExplain": "错误率超过此值时,即使未达到失败阈值也会打开熔断器",
|
||
"maxRetries": "最大重试次数",
|
||
"timeoutSettings": "超时配置",
|
||
"streamingFirstByte": "流式首字节超时",
|
||
"streamingIdle": "流式静默超时",
|
||
"nonStreaming": "非流式超时",
|
||
"maxRetriesHint": "请求失败时的重试次数(0-10)",
|
||
"streamingFirstByteHint": "等待首个数据块的最大时间,范围 1-120 秒,默认 60 秒",
|
||
"streamingIdleHint": "数据块之间的最大间隔,范围 60-600 秒,填 0 禁用(防止中途卡住)",
|
||
"nonStreamingHint": "非流式请求的总超时时间,范围 60-1200 秒,默认 600 秒(10 分钟)"
|
||
},
|
||
"logging": {
|
||
"enabled": "日志记录已启用",
|
||
"disabled": "日志记录已关闭",
|
||
"failed": "切换日志状态失败"
|
||
},
|
||
"server": {
|
||
"started": "路由服务已启动 - {{address}}:{{port}}",
|
||
"startFailed": "启动路由服务失败: {{detail}}"
|
||
},
|
||
"stoppedWithRestore": "路由服务已关闭,已恢复所有路由配置",
|
||
"stopWithRestoreFailed": "停止失败: {{detail}}"
|
||
},
|
||
"streamCheck": {
|
||
"reachable": "{{providerName}} 连通正常 ({{responseTimeMs}}ms)",
|
||
"reachableSlow": "{{providerName}} 连通但较慢 ({{responseTimeMs}}ms)",
|
||
"unreachable": "{{providerName}} 无法连通: {{message}}",
|
||
"unreachableHint": "无法建立连接(DNS / 连接 / TLS / 超时)。请检查 base_url 与网络。",
|
||
"connectivityNote": "连通检测仅探测供应商地址是否可达,不发送真实模型请求。收到任意响应即视为“可达”——这不代表鉴权或模型配置一定正确。",
|
||
"configSaved": "健康检查配置已保存",
|
||
"configSaveFailed": "保存失败",
|
||
"testModels": "测试模型",
|
||
"claudeModel": "Claude 模型",
|
||
"codexModel": "Codex 模型",
|
||
"geminiModel": "Gemini 模型",
|
||
"checkParams": "检查参数",
|
||
"timeout": "超时时间(秒)",
|
||
"maxRetries": "最大重试次数",
|
||
"degradedThreshold": "降级阈值(毫秒)",
|
||
"testPrompt": "检查提示词",
|
||
"operational": "{{providerName}} 运行正常 ({{responseTimeMs}}ms)",
|
||
"degraded": "{{providerName}} 响应较慢 ({{responseTimeMs}}ms)",
|
||
"failed": "{{providerName}} 检查失败: {{message}}",
|
||
"rejected": "{{providerName}} 检查被拒: {{message}}",
|
||
"error": "{{providerName}} 检查出错: {{error}}",
|
||
"modelNotFound": "{{providerName}} 测试模型 {{model}} 不存在或已下架",
|
||
"modelNotFoundHint": "该模型可能已被供应商弃用。请在\"模型测试配置\"中更新默认测试模型。",
|
||
"quotaExceeded": "{{providerName}} Coding Plan 额度已用尽",
|
||
"quotaExceededHint": "百度千帆返回了 Coding Plan 超额错误。请等待 5 小时/每周/每月额度刷新,或在千帆控制台切换套餐。",
|
||
"httpHint": {
|
||
"400": "供应商拒绝了请求格式。健康检查的探测格式可能与实际使用不同。",
|
||
"401": "API Key 可能无效,或供应商使用 OAuth 等认证方式。检查失败不代表实际不可用。",
|
||
"402": "账户配额或计费问题。",
|
||
"403": "供应商拒绝了此请求。部分供应商会校验客户端身份,检查失败但实际使用可能正常。",
|
||
"404": "接口地址不存在,请检查 Base URL 和 API 路径。",
|
||
"429": "请求频率过高,请稍后重试。",
|
||
"5xx": "供应商内部错误,通常是临时问题。"
|
||
}
|
||
},
|
||
"proxyConfig": {
|
||
"proxyEnabled": "路由总开关",
|
||
"appTakeover": "路由启用",
|
||
"perAppConfig": "应用配置",
|
||
"circuitBreaker": "熔断器配置",
|
||
"circuitBreakerSettings": "熔断器设置",
|
||
"failureThreshold": "失败阈值",
|
||
"successThreshold": "恢复阈值",
|
||
"recoveryTimeout": "恢复等待时间",
|
||
"errorRateThreshold": "错误率阈值",
|
||
"minRequests": "最小请求数",
|
||
"timeoutConfig": "超时配置",
|
||
"streamingFirstByte": "流式首字节超时",
|
||
"streamingIdle": "流式静默超时",
|
||
"nonStreaming": "非流式超时"
|
||
},
|
||
"circuitBreaker": {
|
||
"failureThreshold": "失败阈值",
|
||
"successThreshold": "成功阈值",
|
||
"timeoutSeconds": "超时时间(秒)",
|
||
"errorRateThreshold": "错误率阈值 (%)",
|
||
"minRequests": "最小请求数",
|
||
"validationFailed": "以下字段超出有效范围: {{fields}}",
|
||
"configSaved": "熔断器配置已保存",
|
||
"saveFailed": "保存失败",
|
||
"loading": "加载中...",
|
||
"title": "熔断器配置",
|
||
"description": "调整熔断器参数以控制故障检测和恢复行为",
|
||
"failureThresholdHint": "连续失败多少次后打开熔断器",
|
||
"timeoutSecondsHint": "熔断器打开后多久尝试恢复(半开状态)",
|
||
"successThresholdHint": "半开状态下成功多少次后关闭熔断器",
|
||
"errorRateThresholdHint": "错误率超过此值时打开熔断器",
|
||
"minRequestsHint": "计算错误率前的最小请求数",
|
||
"saveConfig": "保存配置",
|
||
"instructionsTitle": "配置说明",
|
||
"instructions": {
|
||
"failureThreshold": "连续失败达到此次数时,熔断器打开",
|
||
"timeout": "熔断器打开后,等待此时间后尝试半开",
|
||
"successThreshold": "半开状态下,成功达到此次数时关闭熔断器",
|
||
"errorRate": "错误率超过此值时,熔断器打开",
|
||
"minRequests": "只有请求数达到此值后才计算错误率"
|
||
}
|
||
},
|
||
"universalProvider": {
|
||
"duplicate": "复制",
|
||
"duplicatedAndSynced": "统一供应商已复制并同步",
|
||
"duplicateError": "复制统一供应商失败",
|
||
"title": "统一供应商",
|
||
"description": "统一供应商可以同时管理 Claude、Codex 和 Gemini 的配置。修改后会自动同步到所有启用的应用。",
|
||
"add": "添加统一供应商",
|
||
"edit": "编辑统一供应商",
|
||
"empty": "还没有统一供应商",
|
||
"emptyHint": "点击下方「添加统一供应商」按钮创建一个",
|
||
"selectPreset": "选择预设类型",
|
||
"name": "名称",
|
||
"namePlaceholder": "例如:我的 NewAPI",
|
||
"baseUrl": "API 地址",
|
||
"apiKey": "API Key",
|
||
"websiteUrl": "官网地址",
|
||
"websiteUrlPlaceholder": "https://example.com(可选,用于在列表中显示)",
|
||
"notes": "备注",
|
||
"notesPlaceholder": "可选:添加备注信息",
|
||
"enabledApps": "启用的应用",
|
||
"modelConfig": "模型配置",
|
||
"model": "模型",
|
||
"sync": "同步到应用",
|
||
"synced": "已同步到所有应用",
|
||
"syncError": "同步失败",
|
||
"noAppsEnabled": "未启用任何应用",
|
||
"added": "统一供应商已添加",
|
||
"addedAndSynced": "统一供应商已添加并同步",
|
||
"updated": "统一供应商已更新",
|
||
"deleted": "统一供应商已删除",
|
||
"addSuccess": "统一供应商添加成功",
|
||
"addFailed": "统一供应商添加失败",
|
||
"hint": "跨应用统一配置,自动同步到 Claude/Codex/Gemini",
|
||
"manage": "管理",
|
||
"loadError": "加载统一供应商失败",
|
||
"saveError": "保存统一供应商失败",
|
||
"deleteError": "删除统一供应商失败",
|
||
"deleteConfirmTitle": "删除统一供应商",
|
||
"deleteConfirmDescription": "确定要删除 \"{{name}}\" 吗?这将同时删除它在各应用中生成的供应商配置。",
|
||
"syncConfirmTitle": "同步统一供应商",
|
||
"syncConfirmDescription": "同步 \"{{name}}\" 将会覆盖 Claude、Codex 和 Gemini 中关联的供应商配置。确定要继续吗?",
|
||
"syncConfirm": "同步",
|
||
"saveAndSync": "保存并同步",
|
||
"savedAndSynced": "已保存并同步到所有应用",
|
||
"saveAndSyncError": "保存并同步失败",
|
||
"configJsonPreview": "配置 JSON 预览",
|
||
"configJsonPreviewHint": "以下是将要同步到各应用的配置内容(仅覆盖显示的字段,保留其他自定义配置)"
|
||
},
|
||
"omo": {
|
||
"editProfile": "编辑 OMO 配置",
|
||
"newProfile": "新建 OMO 配置",
|
||
"profileName": "名称",
|
||
"mainAgents": "主 Agent",
|
||
"subAgents": "子 Agent",
|
||
"categories": "分类",
|
||
"customAgents": "自定义 Agent",
|
||
"noCustomAgents": "暂无自定义 Agent",
|
||
"otherFields": "其他配置",
|
||
"globalConfig": "OMO 全局配置",
|
||
"globalConfigShort": "OMO 配置",
|
||
"globalConfigSaved": "全局配置已保存",
|
||
"addProfile": "添加 OMO 配置",
|
||
"disabledItems": "禁用项设置",
|
||
"advanced": "高级设置",
|
||
"profileCreated": "OMO 配置已创建",
|
||
"profileUpdated": "OMO 配置已更新",
|
||
"invalidJson": "其他字段包含无效 JSON",
|
||
"confirmDelete": "删除配置",
|
||
"confirmDeleteMsg": "确定删除 \"{{name}}\" 吗?",
|
||
"profileDeleted": "配置已删除",
|
||
"imported": "已导入为 \"{{name}}\"",
|
||
"import": "导入",
|
||
"global": "全局",
|
||
"empty": "暂无配置。点击 + 添加或从本地导入。",
|
||
"applied": "已应用",
|
||
"apply": "应用",
|
||
"enable": "启用",
|
||
"enabled": "启用中",
|
||
"disabled": "OMO 已停用",
|
||
"disableFailed": "停用 OMO 失败: {{error}}",
|
||
"selectPlaceholder": "请选择...",
|
||
"clear": "清空",
|
||
"clearWrapped": "(清空)",
|
||
"defaultWrapped": "(默认)",
|
||
"variantPlaceholder": "思考等级",
|
||
"selectEnabledModel": "选择已配置模型",
|
||
"selectModel": "选择已配置模型",
|
||
"recommendedHint": "推荐: {{model}}",
|
||
"searchModel": "搜索模型...",
|
||
"selectModelFirst": "先选择模型",
|
||
"noEnabledModels": "暂无已配置模型",
|
||
"noVariantsForModel": "该模型无思考等级",
|
||
"currentValueNotEnabled": "{{value}}(当前值,未配置)",
|
||
"currentValueUnavailable": "{{value}}(当前值,不可用)",
|
||
"advancedLabel": "高级参数",
|
||
"advancedJsonInvalid": "高级参数 JSON 无效",
|
||
"advancedJsonHint": "temperature, top_p, budgetTokens, prompt_append, permission 等,留空使用默认值",
|
||
"noEnabledModelsWarning": "当前没有可用的已配置模型,请先配置 OpenCode 模型",
|
||
"modelSourcePartialWarning": "部分供应商模型配置无效,已自动跳过。",
|
||
"modelSourceFallbackWarning": "读取 live 供应商状态失败,已回退到已配置供应商列表。",
|
||
"importLocalReplaceSuccess": "已从本地文件导入并覆盖 Agent/Category/Other Fields",
|
||
"importLocalFailed": "读取本地文件失败: {{error}}",
|
||
"agentKeyPlaceholder": "agent 键名",
|
||
"categoryKeyPlaceholder": "分类键名",
|
||
"modelNamePlaceholder": "模型名",
|
||
"custom": "自定义",
|
||
"customCategories": "自定义分类",
|
||
"modelConfiguration": "模型配置",
|
||
"fillRecommended": "填充推荐",
|
||
"fillRecommendedSuccess": "已填充 {{count}} 个推荐模型",
|
||
"fillRecommendedPartial": "已填充 {{filled}} 个推荐模型,{{unmatched}} 个未匹配",
|
||
"fillRecommendedMostlyUnmatched": "仅填充了 {{filled}} 个,{{unmatched}} 个未匹配(如 {{examples}})。请配置提供这些模型的供应商,或手动选择替代项。",
|
||
"fillRecommendedAllSet": "所有槽位已有模型配置",
|
||
"fillRecommendedNoMatch": "推荐模型在已配置的供应商中未找到匹配(如 {{examples}})",
|
||
"configSummary": "已配置 {{agents}} 个 Agent,{{categories}} 个 Category · 点击 ⚙ 展开高级参数",
|
||
"enabledModelsCount": "可选已配置模型 {{count}} 个",
|
||
"source": "来源:",
|
||
"otherFieldsJson": "其他字段 (JSON)",
|
||
"slimOtherFieldsHint": "OMO Slim 的 council、fallback、multiplexer、disabled_mcps、todoContinuation 等顶层配置请写在这里。",
|
||
"searchOrType": "搜索或输入自定义值...",
|
||
"noMatches": "无匹配项",
|
||
"jsonMustBeObject": "{{field}} 必须是 JSON 对象",
|
||
"jsonInvalid": "{{field}} 包含无效 JSON",
|
||
"importGlobalSuccess": "已从本地文件导入全局配置(未保存)",
|
||
"importGlobalFailed": "读取本地文件失败: {{error}}",
|
||
"importLocal": "从本地导入",
|
||
"saveGlobalConfig": "保存全局配置",
|
||
"schemaUrl": "$schema",
|
||
"resetDefault": "重置默认",
|
||
"sisyphusAgentConfig": "Sisyphus Agent 设置",
|
||
"disabledAgents": "Agents",
|
||
"disabledAgentsPlaceholder": "禁用的 Agents",
|
||
"disabledMcps": "MCPs",
|
||
"disabledMcpsPlaceholder": "禁用的 MCPs",
|
||
"disabledHooks": "Hooks",
|
||
"disabledHooksPlaceholder": "禁用的 Hooks",
|
||
"disabledSkills": "Skills",
|
||
"disabledSkillsPlaceholder": "禁用的 Skills",
|
||
"advancedLsp": "LSP 配置",
|
||
"advancedExperimental": "实验性功能",
|
||
"advancedBackgroundTask": "后台任务",
|
||
"advancedBrowserAutomation": "浏览器自动化",
|
||
"advancedClaudeCode": "Claude Code",
|
||
"agentDesc": {
|
||
"sisyphus": "主编排者",
|
||
"hephaestus": "自主深度工作者",
|
||
"prometheus": "战略规划者",
|
||
"atlas": "任务管理者",
|
||
"oracle": "战略顾问",
|
||
"librarian": "多仓库研究员",
|
||
"explore": "快速代码搜索",
|
||
"multimodalLooker": "媒体分析器",
|
||
"metis": "规划前分析顾问",
|
||
"momus": "计划审查者",
|
||
"sisyphusJunior": "委托任务执行器"
|
||
},
|
||
"agentTooltip": {
|
||
"sisyphus": "主编排器,负责任务规划、委派与并行执行,使用扩展思考(32k 预算),通过 TODO 驱动工作流确保任务完成。",
|
||
"atlas": "主编排器(持有 TODO 列表),负责执行阶段的任务分发与协调,不直接完成所有工作而是委派给专业代理。",
|
||
"prometheus": "战略规划师,通过访谈模式收集需求并制定详细工作计划,仅能在 .sisyphus/ 目录读写 Markdown 文件,从不直接写代码。",
|
||
"hephaestus": "自主深度工作者(「合法工匠」),受 AmpCode 深度模式启发,目标导向执行,行动前会并行启动 2-5 个探索/图书管理员代理进行研究。",
|
||
"oracle": "架构决策与调试顾问,只读咨询代理,提供出色的逻辑推理和深度分析,不能写文件或委派任务。",
|
||
"librarian": "多仓库分析与文档检索专家,深度理解代码库并提供基于证据的答案,擅长查找官方文档和开源实现示例。",
|
||
"explore": "快速代码库探索与上下文 grep 专家,使用轻量级模型进行高速搜索,是理解代码结构的先锋。",
|
||
"multimodalLooker": "视觉内容专家,分析 PDF、图片、图表等非文本媒体,提取其中的信息与洞察。",
|
||
"metis": "计划顾问,在规划前进行预分析,识别隐藏意图、模糊点和 AI 失败点,防止过度工程化。",
|
||
"momus": "计划评审员,高精度验证计划的清晰度、可验证性和完整性,拒绝并要求修订直到计划完美。",
|
||
"sisyphusJunior": "类别生成的执行器,由 category 参数自动生成,专注于执行分配的任务且不能再委派,防止无限委派循环。"
|
||
},
|
||
"categoryDesc": {
|
||
"visualEngineering": "视觉/前端工程",
|
||
"ultrabrain": "超级思考",
|
||
"deep": "深度工作",
|
||
"artistry": "创意/文艺",
|
||
"quick": "快速响应",
|
||
"unspecifiedLow": "通用低配",
|
||
"unspecifiedHigh": "通用高配",
|
||
"writing": "写作"
|
||
},
|
||
"categoryTooltip": {
|
||
"visualEngineering": "前端与视觉工程类别,专注于 UI/UX 设计、样式、动画和界面实现,默认使用 Gemini 3.5 Flash 模型。",
|
||
"ultrabrain": "深度逻辑推理类别,用于需要广泛分析的复杂架构决策,默认使用 GPT-5.3 Codex 的超高推理变体。",
|
||
"deep": "深度自主问题解决类别,目标导向执行,行动前进行彻底研究,适用于需要深度理解的棘手问题。",
|
||
"artistry": "高度创意与艺术性任务类别,激发新颖想法和创造性解决方案,默认使用 Gemini 3.5 Flash 的高推理变体。",
|
||
"quick": "轻量任务类别,用于单文件修改、错别字修复、简单调整等琐碎工作,默认使用 Claude Haiku 4.5 快速模型。",
|
||
"unspecifiedLow": "未归类低工作量任务类别,适用于不适合其他类别且工作量较小的任务,默认使用 Claude Sonnet 4.5。",
|
||
"unspecifiedHigh": "未归类高工作量任务类别,适用于不适合其他类别且工作量较大的任务,默认使用 Claude Opus 4.8 的最大变体。",
|
||
"writing": "写作类别,专注于文档、散文和技术写作,默认使用 Kimi K2.5 模型。"
|
||
},
|
||
"slimAgentDesc": {
|
||
"orchestrator": "编排者",
|
||
"oracle": "神谕者",
|
||
"librarian": "图书管理员",
|
||
"explorer": "探索者",
|
||
"designer": "设计师",
|
||
"fixer": "修复者",
|
||
"council": "议会"
|
||
},
|
||
"slimAgentTooltip": {
|
||
"orchestrator": "编写执行代码,编排多代理工作流,召唤专家",
|
||
"oracle": "根本原因分析、架构审查、调试指导(只读)",
|
||
"librarian": "文档查询、GitHub 代码搜索(只读)",
|
||
"explorer": "正则搜索、AST 模式匹配、文件发现(只读)",
|
||
"designer": "现代响应式设计、CSS/Tailwind 精通",
|
||
"fixer": "代码实现、重构、测试、验证",
|
||
"council": "多模型共识代理,并行运行多个只读 councillor,再由 master 汇总最终答案。"
|
||
}
|
||
},
|
||
"openclawConfig": {
|
||
"defaultModel": {
|
||
"title": "默认模型",
|
||
"description": "配置 OpenClaw 的默认主模型和回退模型",
|
||
"primary": "主模型",
|
||
"primaryPlaceholder": "例如: deepseek/deepseek-chat",
|
||
"fallbacks": "回退模型",
|
||
"fallbacksPlaceholder": "例如: openrouter/anthropic/claude-sonnet-4.5",
|
||
"addFallback": "添加回退模型",
|
||
"saved": "默认模型配置已保存",
|
||
"saveFailed": "保存默认模型失败"
|
||
},
|
||
"modelCatalog": {
|
||
"title": "模型目录",
|
||
"description": "配置可用模型的别名和允许列表",
|
||
"modelId": "模型 ID",
|
||
"modelIdPlaceholder": "例如: deepseek/deepseek-chat",
|
||
"alias": "别名",
|
||
"aliasPlaceholder": "例如: DeepSeek",
|
||
"addEntry": "添加模型",
|
||
"removeEntry": "移除",
|
||
"saved": "模型目录已保存",
|
||
"saveFailed": "保存模型目录失败",
|
||
"empty": "暂无模型目录配置",
|
||
"emptyHint": "添加模型到目录以配置别名"
|
||
},
|
||
"suggestedDefaults": "应用建议默认配置",
|
||
"suggestedDefaultsHint": "使用此预设推荐的默认模型配置"
|
||
},
|
||
"subscription": {
|
||
"title": "订阅额度",
|
||
"fiveHour": "5小时",
|
||
"sevenDay": "7天",
|
||
"sevenDayOpus": "7天(Opus)",
|
||
"sevenDaySonnet": "7天(Sonnet)",
|
||
"geminiPro": "Pro",
|
||
"geminiFlash": "Flash",
|
||
"geminiFlashLite": "Flash Lite",
|
||
"weeklyLimit": "每周",
|
||
"monthly": "每月",
|
||
"copilotPremium": "高级请求",
|
||
"utilization": "{{value}}%",
|
||
"resetsIn": "{{time}}后重置",
|
||
"extraUsage": "超额用量",
|
||
"expired": "会话已过期",
|
||
"expiredHint": "请运行 {{tool}} 命令刷新登录",
|
||
"queryFailed": "查询失败",
|
||
"refresh": "刷新"
|
||
}
|
||
}
|