mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-04-16 16:22:52 +08:00
* feat(deeplink): support comma-separated multiple endpoints in URL Allow importing multiple API endpoints via single endpoint parameter. First URL becomes primary endpoint, rest are added as custom endpoints. * feat(deeplink): add usage query fields to deeplink generator Add form fields for usage query configuration in deeplink HTML generator: - usageEnabled, usageBaseUrl, usageApiKey - usageScript, usageAutoInterval - usageAccessToken, usageUserId * fix(deeplink): auto-infer homepage and improve multi-endpoint display - Auto-infer homepage from primary endpoint when not provided - Display multiple endpoints as list in import dialog (primary marked) - Update deeplink parser in deplink.html to show multi-endpoint info - Add test for homepage inference from endpoint - Minor log format fix in live.rs * fix(deeplink): use primary endpoint for usage script base_url - Fix usage_script.base_url getting comma-separated string when multiple endpoints - Add i18n support for primary endpoint label in DeepLinkImportDialog
1250 lines
54 KiB
JSON
1250 lines
54 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": "刷新中...",
|
||
"all": "全部",
|
||
"search": "查询",
|
||
"reset": "重置",
|
||
"actions": "操作",
|
||
"deleting": "删除中..."
|
||
},
|
||
"apiKeyInput": {
|
||
"placeholder": "请输入API Key",
|
||
"show": "显示API Key",
|
||
"hide": "隐藏API Key"
|
||
},
|
||
"jsonEditor": {
|
||
"mustBeObject": "配置必须是JSON对象,不能是数组或其他类型",
|
||
"invalidJson": "JSON格式错误"
|
||
},
|
||
"claudeConfig": {
|
||
"configLabel": "Claude Code 配置 (JSON) *",
|
||
"writeCommonConfig": "写入通用配置",
|
||
"editCommonConfig": "编辑通用配置",
|
||
"editCommonConfigTitle": "编辑通用配置片段",
|
||
"commonConfigHint": "该片段会在勾选\"写入通用配置\"时合并到 settings.json 中",
|
||
"fullSettingsHint": "完整的 Claude Code settings.json 配置内容",
|
||
"extractFromCurrent": "从编辑内容提取",
|
||
"extractNoCommonConfig": "当前编辑内容没有可提取的通用配置",
|
||
"extractFailed": "提取失败: {{error}}",
|
||
"saveFailed": "保存失败: {{error}}"
|
||
},
|
||
"header": {
|
||
"viewOnGithub": "在 GitHub 上查看",
|
||
"toggleDarkMode": "切换到暗色模式",
|
||
"toggleLightMode": "切换到亮色模式",
|
||
"addProvider": "添加供应商",
|
||
"switchToChinese": "切换到中文",
|
||
"switchToEnglish": "切换到英文",
|
||
"enterEditMode": "进入编辑模式",
|
||
"exitEditMode": "退出编辑模式"
|
||
},
|
||
"provider": {
|
||
"tabProvider": "供应商",
|
||
"tabUniversal": "统一供应商",
|
||
"noProviders": "还没有添加任何供应商",
|
||
"noProvidersDescription": "点击右上角的\"添加供应商\"按钮开始配置您的第一个API供应商",
|
||
"currentlyUsing": "当前使用",
|
||
"enable": "启用",
|
||
"inUse": "使用中",
|
||
"editProvider": "编辑供应商",
|
||
"editProviderHint": "更新配置后将立即应用到当前供应商。",
|
||
"deleteProvider": "删除供应商",
|
||
"addNewProvider": "添加新供应商",
|
||
"addClaudeProvider": "添加 Claude Code 供应商",
|
||
"addCodexProvider": "添加 Codex 供应商",
|
||
"addGeminiProvider": "添加 Gemini 供应商",
|
||
"addProviderHint": "填写信息后即可在列表中快速切换供应商。",
|
||
"editClaudeProvider": "编辑 Claude Code 供应商",
|
||
"editCodexProvider": "编辑 Codex 供应商",
|
||
"configError": "配置错误",
|
||
"notConfigured": "未配置官网地址",
|
||
"applyToClaudePlugin": "应用到 Claude 插件",
|
||
"removeFromClaudePlugin": "从 Claude 插件移除",
|
||
"dragToReorder": "拖拽以重新排序",
|
||
"dragHandle": "拖拽排序",
|
||
"searchPlaceholder": "按名称/备注/网址搜索供应商...",
|
||
"searchAriaLabel": "搜索供应商",
|
||
"searchScopeHint": "根据名称、备注和官网链接匹配结果。",
|
||
"searchCloseHint": "按 Esc 关闭",
|
||
"searchCloseAriaLabel": "关闭供应商搜索",
|
||
"noSearchResults": "没有符合搜索条件的供应商。",
|
||
"duplicate": "复制",
|
||
"sortUpdateFailed": "排序更新失败",
|
||
"configureUsage": "配置用量查询",
|
||
"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"
|
||
}
|
||
}
|
||
},
|
||
"notifications": {
|
||
"providerAdded": "供应商已添加",
|
||
"providerSaved": "供应商配置已保存",
|
||
"providerDeleted": "供应商删除成功",
|
||
"switchSuccess": "切换成功!",
|
||
"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}}"
|
||
},
|
||
"confirm": {
|
||
"deleteProvider": "删除供应商",
|
||
"deleteProviderMessage": "确定要删除供应商 \"{{name}}\" 吗?此操作无法撤销。"
|
||
},
|
||
"settings": {
|
||
"title": "设置",
|
||
"general": "通用",
|
||
"tabGeneral": "通用",
|
||
"tabAdvanced": "高级",
|
||
"advanced": {
|
||
"configDir": {
|
||
"title": "配置文件目录",
|
||
"description": "管理 Claude、Codex 和 Gemini 的配置存储路径"
|
||
},
|
||
"proxy": {
|
||
"title": "本地代理",
|
||
"description": "控制代理服务开关、查看状态与端口信息",
|
||
"running": "运行中",
|
||
"stopped": "已停止"
|
||
},
|
||
"modelTest": {
|
||
"title": "模型测试配置",
|
||
"description": "配置模型测试使用的默认模型和提示词"
|
||
},
|
||
"failover": {
|
||
"title": "自动故障转移",
|
||
"description": "配置故障转移队列和熔断策略"
|
||
},
|
||
"pricing": {
|
||
"title": "成本定价",
|
||
"description": "管理各模型 Token 计费规则"
|
||
},
|
||
"data": {
|
||
"title": "数据管理",
|
||
"description": "导入导出配置与备份恢复"
|
||
}
|
||
},
|
||
"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",
|
||
"autoReload": "数据已刷新",
|
||
"languageOptionChinese": "中文",
|
||
"languageOptionEnglish": "English",
|
||
"languageOptionJapanese": "日本語",
|
||
"windowBehavior": "窗口行为",
|
||
"windowBehaviorHint": "配置窗口最小化与 Claude 插件联动策略。",
|
||
"launchOnStartup": "开机自启",
|
||
"launchOnStartupDescription": "随系统启动自动运行 CC Switch",
|
||
"autoLaunchFailed": "设置开机自启失败",
|
||
"minimizeToTray": "关闭时最小化到托盘",
|
||
"minimizeToTrayDescription": "勾选后点击关闭按钮会隐藏到系统托盘,取消则直接退出应用。",
|
||
"enableClaudePluginIntegration": "应用到 Claude Code 插件",
|
||
"enableClaudePluginIntegrationDescription": "开启后 Vscode Claude Code 插件的供应商将随本软件切换",
|
||
"skipClaudeOnboarding": "跳过 Claude Code 初次安装确认",
|
||
"skipClaudeOnboardingDescription": "开启后跳过 Claude Code 初次安装确认",
|
||
"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。",
|
||
"codexConfigDir": "Codex 配置目录",
|
||
"codexConfigDirDescription": "覆盖 Codex 配置目录。",
|
||
"geminiConfigDir": "Gemini 配置目录",
|
||
"geminiConfigDirDescription": "覆盖 Gemini 配置目录 (.env)。",
|
||
"browsePlaceholderClaude": "例如:/home/<你的用户名>/.claude",
|
||
"browsePlaceholderCodex": "例如:/home/<你的用户名>/.codex",
|
||
"browsePlaceholderGemini": "例如:/home/<你的用户名>/.gemini",
|
||
"browseDirectory": "浏览目录",
|
||
"resetDefault": "恢复默认目录(需保存后生效)",
|
||
"checkForUpdates": "检查更新",
|
||
"updateTo": "更新到 v{{version}}",
|
||
"updating": "更新中...",
|
||
"checking": "检查中...",
|
||
"upToDate": "已是最新",
|
||
"aboutHint": "查看版本信息与更新状态。",
|
||
"portableMode": "当前为便携版,更新需手动下载。",
|
||
"updateAvailable": "检测到新版本:{{version}}",
|
||
"updateBadge": "有更新可用",
|
||
"updateFailed": "更新安装失败,已尝试打开下载页面。",
|
||
"checkUpdateFailed": "检查更新失败,请稍后重试。",
|
||
"openReleaseNotesFailed": "打开更新日志失败",
|
||
"releaseNotes": "更新日志",
|
||
"viewReleaseNotes": "查看该版本更新日志",
|
||
"viewCurrentReleaseNotes": "查看当前版本更新日志",
|
||
"oneClickInstall": "一键安装",
|
||
"oneClickInstallHint": "安装 Claude Code / Codex / Gemini CLI",
|
||
"localEnvCheck": "本地环境检查",
|
||
"installCommandsCopied": "安装命令已复制",
|
||
"installCommandsCopyFailed": "复制失败,请手动复制。",
|
||
"importFailedError": "导入配置失败:{{message}}",
|
||
"exportFailedError": "导出配置失败:",
|
||
"restartRequired": "需要重启应用",
|
||
"restartRequiredMessage": "修改 CC Switch 配置目录后需要重启应用才能生效,是否立即重启?",
|
||
"restartNow": "立即重启",
|
||
"restartLater": "稍后重启",
|
||
"restartFailed": "应用重启失败,请手动关闭后重新打开。",
|
||
"devModeRestartHint": "开发模式下不支持自动重启,请手动重新启动应用。",
|
||
"saving": "正在保存..."
|
||
},
|
||
"apps": {
|
||
"claude": "Claude Code",
|
||
"codex": "Codex",
|
||
"gemini": "Gemini"
|
||
},
|
||
"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": "💡 自定义配置需手动填写所有必要字段",
|
||
"officialHint": "💡 官方供应商使用浏览器登录,无需配置 API Key",
|
||
"getApiKey": "获取 API Key",
|
||
"partnerPromotion": {
|
||
"zhipu": "智谱 GLM 是 CC Switch 的官方合作伙伴,使用此链接充值可以获得9折优惠",
|
||
"packycode": "PackyCode 是 CC Switch 的官方合作伙伴,使用此链接注册并在充值时填写 \"cc-switch\" 优惠码,可以享受9折优惠",
|
||
"minimax_cn": "MiniMax Coding Plan 特惠,Starter 套餐 9.9 元起",
|
||
"minimax_en": "MiniMax Coding Plan 黑五特惠,Starter 套餐现仅 $2/月(2折优惠!)",
|
||
"dmxapi": "Claude Code 专属模型 3.4 折优惠进行中!",
|
||
"cubence": "Cubence 是 CC Switch 的官方合作伙伴,使用此链接注册并在充值时填写 \"CCSWITCH\" 优惠码,每次充值均可享受9折优惠",
|
||
"aigocode": "AIGoCode 是 CC Switch 的官方合作伙伴,使用此链接注册首次充值时可以获得10%额度奖励!"
|
||
},
|
||
"parameterConfig": "参数配置 - {{name}} *",
|
||
"mainModel": "主模型 (可选)",
|
||
"mainModelPlaceholder": "例如: GLM-4.6",
|
||
"fastModel": "快速模型 (可选)",
|
||
"fastModelPlaceholder": "例如: GLM-4.5-Air",
|
||
"modelHint": "💡 留空将使用供应商的默认模型",
|
||
"apiHint": "💡 填写兼容 Claude API 的服务端点地址,不要以斜杠结尾",
|
||
"codexApiHint": "💡 填写兼容 OpenAI Response 格式的服务端点地址",
|
||
"fillSupplierName": "请填写供应商名称",
|
||
"fillConfigContent": "请填写配置内容",
|
||
"fillParameter": "请填写 {{label}}",
|
||
"fillTemplateValue": "请填写 {{label}}",
|
||
"endpointRequired": "非官方供应商请填写 API 端点",
|
||
"apiKeyRequired": "非官方供应商请填写 API Key",
|
||
"configJsonError": "配置JSON格式错误,请检查语法",
|
||
"authJsonRequired": "auth.json 必须是 JSON 对象",
|
||
"authJsonError": "auth.json 格式错误,请检查JSON语法",
|
||
"fillAuthJson": "请填写 auth.json 配置",
|
||
"fillApiKey": "请填写 OPENAI_API_KEY",
|
||
"visitWebsite": "访问 {{url}}",
|
||
"anthropicModel": "主模型",
|
||
"anthropicSmallFastModel": "快速模型",
|
||
"anthropicReasoningModel": "推理模型 (Thinking)",
|
||
"openrouterCompatMode": "OpenRouter 兼容模式",
|
||
"openrouterCompatModeHint": "使用 OpenAI Chat Completions 接口并转换为 Anthropic SSE。",
|
||
"anthropicDefaultHaikuModel": "Haiku 默认模型",
|
||
"anthropicDefaultSonnetModel": "Sonnet 默认模型",
|
||
"anthropicDefaultOpusModel": "Opus 默认模型",
|
||
"modelPlaceholder": "",
|
||
"smallModelPlaceholder": "",
|
||
"haikuModelPlaceholder": "",
|
||
"modelHelper": "可选:指定默认使用的 Claude 模型,留空则使用系统默认。",
|
||
"categoryOfficial": "官方",
|
||
"categoryCnOfficial": "开源官方",
|
||
"categoryAggregation": "聚合服务",
|
||
"categoryThirdParty": "第三方"
|
||
},
|
||
"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}}",
|
||
"status": "状态码:{{code}}"
|
||
},
|
||
"codexConfig": {
|
||
"authJson": "auth.json (JSON) *",
|
||
"authJsonPlaceholder": "{\n \"OPENAI_API_KEY\": \"sk-your-api-key-here\"\n}",
|
||
"authJsonHint": "Codex auth.json 配置内容",
|
||
"configToml": "config.toml (TOML)",
|
||
"configTomlHint": "Codex config.toml 配置内容",
|
||
"writeCommonConfig": "写入通用配置",
|
||
"editCommonConfig": "编辑通用配置",
|
||
"editCommonConfigTitle": "编辑 Codex 通用配置片段",
|
||
"commonConfigHint": "该片段会在勾选'写入通用配置'时追加到 config.toml 末尾",
|
||
"apiUrlLabel": "API 请求地址",
|
||
"extractFromCurrent": "从编辑内容提取",
|
||
"extractNoCommonConfig": "当前编辑内容没有可提取的通用配置",
|
||
"extractFailed": "提取失败: {{error}}",
|
||
"saveFailed": "保存失败: {{error}}"
|
||
},
|
||
"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}}"
|
||
},
|
||
"providerPreset": {
|
||
"label": "预设供应商",
|
||
"custom": "自定义配置",
|
||
"other": "其他",
|
||
"hint": "选择预设后可继续调整下方字段。"
|
||
},
|
||
"usage": {
|
||
"title": "使用统计",
|
||
"subtitle": "查看 AI 模型的使用情况和成本统计",
|
||
"today": "24小时",
|
||
"last7days": "7天",
|
||
"last30days": "30天",
|
||
"totalRequests": "总请求数",
|
||
"totalCost": "总成本",
|
||
"cost": "成本",
|
||
"perMillion": "(每百万)",
|
||
"trends": "使用趋势",
|
||
"rangeToday": "过去 24 小时 (按小时)",
|
||
"rangeLast7Days": "过去 7 天",
|
||
"rangeLast30Days": "过去 30 天",
|
||
"totalTokens": "总 Token 数",
|
||
"cacheTokens": "缓存 Token",
|
||
"requestLogs": "请求日志",
|
||
"providerStats": "Provider 统计",
|
||
"modelStats": "模型统计",
|
||
"time": "时间",
|
||
"provider": "供应商",
|
||
"billingModel": "计费模型",
|
||
"inputTokens": "输入",
|
||
"outputTokens": "输出",
|
||
"cacheReadTokens": "缓存命中",
|
||
"cacheCreationTokens": "缓存创建",
|
||
"timingInfo": "用时/首字",
|
||
"status": "状态",
|
||
"noData": "暂无数据",
|
||
"unknownProvider": "未知供应商",
|
||
"stream": "流",
|
||
"nonStream": "非流",
|
||
"totalRecords": "共 {{total}} 条记录",
|
||
"modelPricing": "模型定价",
|
||
"loadPricingError": "加载定价数据失败",
|
||
"modelPricingDesc": "配置各模型的 Token 成本",
|
||
"noPricingData": "暂无定价数据。点击\"新增\"添加模型定价配置。",
|
||
"model": "模型",
|
||
"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": "应用类型",
|
||
"allApps": "全部应用",
|
||
"statusCode": "状态码",
|
||
"searchProviderPlaceholder": "搜索供应商...",
|
||
"searchModelPlaceholder": "搜索模型...",
|
||
"timeRange": "时间范围",
|
||
"input": "Input",
|
||
"output": "Output",
|
||
"cacheWrite": "创建",
|
||
"cacheRead": "命中"
|
||
},
|
||
"usageScript": {
|
||
"title": "配置用量查询",
|
||
"enableUsageQuery": "启用用量查询",
|
||
"presetTemplate": "预设模板",
|
||
"requestUrl": "请求地址",
|
||
"requestUrlPlaceholder": "例如:https://api.example.com",
|
||
"method": "HTTP 方法",
|
||
"templateCustom": "自定义",
|
||
"templateGeneral": "通用模板",
|
||
"templateNewAPI": "NewAPI",
|
||
"credentialsConfig": "凭证配置",
|
||
"credentialsHint": "留空则自动使用供应商配置",
|
||
"optional": "可选",
|
||
"apiKeyPlaceholder": "留空则使用供应商的 API Key",
|
||
"baseUrlPlaceholder": "留空则使用供应商的请求地址",
|
||
"baseUrl": "请求地址",
|
||
"accessToken": "访问令牌(在个人安全设置里获取)",
|
||
"accessTokenPlaceholder": "在'安全设置'里生成",
|
||
"userId": "用户 ID",
|
||
"userIdPlaceholder": "例如:114514",
|
||
"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": "格式化失败",
|
||
"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": "• 整个配置必须用 () 包裹,形成对象字面量表达式"
|
||
},
|
||
"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"
|
||
}
|
||
},
|
||
"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}}\" 吗?"
|
||
}
|
||
},
|
||
"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": "卸载失败",
|
||
"error": {
|
||
"skillNotFound": "技能不存在:{{directory}}",
|
||
"missingRepoInfo": "缺少仓库信息(owner 或 name)",
|
||
"downloadTimeout": "下载仓库 {{owner}}/{{name}} 超时({{timeout}}秒)",
|
||
"downloadTimeoutHint": "请检查网络连接或稍后重试",
|
||
"skillPathNotFound": "仓库 {{owner}}/{{name}} 中未找到技能路径 '{{path}}'",
|
||
"skillDirNotFound": "技能目录不存在:{{path}}",
|
||
"emptyArchive": "下载的压缩包为空",
|
||
"downloadFailed": "下载失败:HTTP {{status}}",
|
||
"allBranchesFailed": "所有分支下载失败,尝试了:{{branches}}",
|
||
"httpError": "HTTP 错误 {{status}}",
|
||
"http403": "GitHub 访问受限,可能是请求频率过高",
|
||
"http404": "仓库或分支不存在,请检查地址",
|
||
"http429": "请求过于频繁,请等待后重试",
|
||
"parseMetadataFailed": "解析技能元数据失败",
|
||
"getHomeDirFailed": "无法获取用户主目录",
|
||
"networkError": "网络错误",
|
||
"fsError": "文件系统错误",
|
||
"unknownError": "未知错误",
|
||
"suggestion": {
|
||
"checkNetwork": "请检查网络连接",
|
||
"checkProxy": "建议配置 HTTP 代理",
|
||
"retryLater": "请稍后重试",
|
||
"checkRepoUrl": "请检查仓库地址和分支名称",
|
||
"checkDiskSpace": "请检查磁盘空间",
|
||
"checkPermission": "请检查目录权限"
|
||
}
|
||
},
|
||
"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": "搜索技能名称或描述...",
|
||
"filter": {
|
||
"placeholder": "状态筛选",
|
||
"all": "全部",
|
||
"installed": "已安装",
|
||
"uninstalled": "未安装"
|
||
},
|
||
"noResults": "未找到匹配的技能",
|
||
"noInstalled": "暂无已安装的技能",
|
||
"noInstalledDescription": "从仓库发现并安装技能,或导入已有的技能",
|
||
"discover": "发现技能",
|
||
"import": "导入已有",
|
||
"importDescription": "选择要导入到 CC Switch 统一管理的技能",
|
||
"importSuccess": "成功导入 {{count}} 个技能",
|
||
"importSelected": "导入已选 ({{count}})",
|
||
"noUnmanagedFound": "未发现需要导入的技能。所有技能已在 CC Switch 统一管理中。",
|
||
"foundIn": "发现于",
|
||
"local": "本地",
|
||
"uninstallConfirm": "确定要卸载技能 \"{{name}}\" 吗?这将从所有应用中移除该技能。",
|
||
"uninstallInMainPanel": "请在主面板中卸载技能",
|
||
"notFound": "未找到技能",
|
||
"apps": {
|
||
"claude": "Claude",
|
||
"codex": "Codex",
|
||
"gemini": "Gemini"
|
||
}
|
||
},
|
||
"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。"
|
||
}
|
||
},
|
||
"iconPicker": {
|
||
"search": "搜索图标",
|
||
"searchPlaceholder": "输入图标名称...",
|
||
"noResults": "未找到匹配的图标",
|
||
"category": {
|
||
"aiProvider": "AI 服务商",
|
||
"cloud": "云平台",
|
||
"tool": "开发工具",
|
||
"other": "其他"
|
||
}
|
||
},
|
||
"providerIcon": {
|
||
"label": "图标",
|
||
"colorLabel": "图标颜色",
|
||
"selectIcon": "选择图标",
|
||
"preview": "预览",
|
||
"clickToChange": "点击更换图标",
|
||
"clickToSelect": "点击选择图标"
|
||
},
|
||
"migration": {
|
||
"success": "配置迁移成功",
|
||
"skillsSuccess": "已自动导入 {{count}} 个技能到统一管理",
|
||
"skillsFailed": "自动导入技能失败",
|
||
"skillsFailedDescription": "请打开 Skills 页面点击“导入已有”手动导入(或重启后再试)。"
|
||
},
|
||
"agents": {
|
||
"title": "智能体"
|
||
},
|
||
"health": {
|
||
"operational": "正常",
|
||
"degraded": "降级",
|
||
"failed": "失败",
|
||
"circuitOpen": "熔断",
|
||
"consecutiveFailures": "连续失败 {{count}} 次"
|
||
},
|
||
"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": "地址无效,请输入有效的 IP 地址(如 127.0.0.1)或 localhost",
|
||
"configSaved": "代理配置已保存",
|
||
"configSaveFailed": "保存配置失败",
|
||
"restartRequired": "修改地址或端口后需要重启代理服务才能生效"
|
||
},
|
||
"switchFailed": "切换失败: {{error}}",
|
||
"failover": {
|
||
"proxyRequired": "需要先启动代理服务才能配置故障转移"
|
||
},
|
||
"failoverQueue": {
|
||
"title": "故障转移队列",
|
||
"description": "管理各应用的供应商故障转移顺序",
|
||
"info": "当前激活的供应商始终优先。当请求失败时,系统会按队列顺序依次尝试其他供应商。",
|
||
"selectProvider": "选择供应商添加到队列",
|
||
"noAvailableProviders": "没有可添加的供应商",
|
||
"empty": "故障转移队列为空。添加供应商以启用自动故障转移。",
|
||
"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": "错误率超过此值时,即使未达到失败阈值也会打开熔断器"
|
||
}
|
||
},
|
||
"streamCheck": {
|
||
"configSaved": "健康检查配置已保存",
|
||
"configSaveFailed": "保存失败",
|
||
"testModels": "测试模型",
|
||
"claudeModel": "Claude 模型",
|
||
"codexModel": "Codex 模型",
|
||
"geminiModel": "Gemini 模型",
|
||
"checkParams": "检查参数",
|
||
"timeout": "超时时间(秒)",
|
||
"maxRetries": "最大重试次数",
|
||
"degradedThreshold": "降级阈值(毫秒)"
|
||
},
|
||
"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": "保存失败"
|
||
},
|
||
"universalProvider": {
|
||
"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": "统一供应商添加失败",
|
||
"manage": "管理",
|
||
"loadError": "加载统一供应商失败",
|
||
"saveError": "保存统一供应商失败",
|
||
"deleteError": "删除统一供应商失败",
|
||
"deleteConfirmTitle": "删除统一供应商",
|
||
"deleteConfirmDescription": "确定要删除 \"{{name}}\" 吗?这将同时删除它在各应用中生成的供应商配置。",
|
||
"syncConfirmTitle": "同步统一供应商",
|
||
"syncConfirmDescription": "同步 \"{{name}}\" 将会覆盖 Claude、Codex 和 Gemini 中关联的供应商配置。确定要继续吗?",
|
||
"syncConfirm": "同步",
|
||
"saveAndSync": "保存并同步",
|
||
"savedAndSynced": "已保存并同步到所有应用",
|
||
"saveAndSyncError": "保存并同步失败",
|
||
"configJsonPreview": "配置 JSON 预览",
|
||
"configJsonPreviewHint": "以下是将要同步到各应用的配置内容(仅覆盖显示的字段,保留其他自定义配置)"
|
||
}
|
||
}
|