picoclaw/web/frontend/src/i18n/locales/zh.json

963 lines
47 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"navigation": {
"chat": "对话",
"model_group": "模型",
"models": "模型",
"credentials": "凭据",
"agent_group": "智能体",
"hub": "Hub",
"skills": "技能",
"tools": "工具",
"services": "服务",
"channels_group": "频道",
"show_more_channels": "更多",
"show_less_channels": "收起",
"config": "配置",
"logs": "日志"
},
"launcherLogin": {
"title": "登录",
"description": "请输入控制台密码以继续。",
"passwordLabel": "密码",
"passwordPlaceholder": "输入密码",
"submit": "登录",
"errorInvalid": "密码错误,请重试。",
"errorNetwork": "网络错误,请重试。"
},
"launcherSetup": {
"title": "设置控制台密码",
"description": "设置一个密码来保护控制台访问权限,登录时需要输入此密码。",
"passwordLabel": "密码",
"passwordPlaceholder": "至少 8 个字符",
"confirmLabel": "确认密码",
"confirmPlaceholder": "再次输入密码",
"submit": "设置密码",
"errorMismatch": "两次输入的密码不一致。",
"errorNetwork": "网络错误,请重试。"
},
"chat": {
"welcome": "今天我能为您做些什么?",
"welcomeDesc": "您可以询问我天气、设置或其他任何任务,我随时为您效劳。",
"placeholder": "输入新消息...",
"disabledPlaceholder": {
"gatewayUnknown": "无法对话:网关状态仍在检测中。请稍候重试,如仍无效请刷新页面或重启 Launcher。",
"gatewayStarting": "无法对话:网关正在启动。请等待启动完成后重试。",
"gatewayRestarting": "无法对话:网关正在重启。请等待重启完成。",
"gatewayStopping": "无法对话:网关正在停止。请等待停止完成后重新启动服务。",
"gatewayStopped": "无法对话:网关服务未启动。请点击顶部栏的“启动服务”后重试。",
"gatewayError": "无法对话:网关处于错误状态。请检查日志后重启网关或 Launcher。",
"websocketConnecting": "正在连接聊天服务,请稍候。",
"websocketDisconnected": "无法对话WebSocket 连接已断开。请检查网络与服务状态,然后刷新页面或重启 Launcher。",
"websocketError": "无法对话WebSocket 连接失败。请检查网络与服务状态后重试。",
"noDefaultModel": "无法对话:尚未设置默认模型。请前往模型页面设置默认模型。"
},
"newChat": "新建对话",
"notConnected": "服务未运行,请先启动以进行对话。",
"thinking": {
"step1": "思考中...",
"step2": "分析您的请求...",
"step3": "准备回复...",
"step4": "马上就好..."
},
"reasoningLabel": "思考",
"toolCallsLabel": "工具调用",
"toolCallExplanationLabel": "调用提示",
"toolCallFunctionLabel": "调用摘要",
"toolCallArgumentsLabel": "参数",
"showAssistantDetails": "思考与工具调用",
"assistantDetailVisibility": {
"none": "均不展示",
"thought": "仅展示思考消息",
"toolCalls": "仅展示工具调用",
"all": "均展示"
},
"toolLabel": "工具",
"codeLabel": "代码",
"copyMessage": "复制消息",
"copyCode": "复制代码",
"copiedLabel": "已复制",
"enableCodeWrap": "开启换行",
"disableCodeWrap": "关闭换行",
"expandCode": "展开代码",
"collapseCode": "折叠代码",
"history": "历史记录",
"noHistory": "暂无对话历史",
"historyLoadFailed": "加载历史记录失败",
"historyOpenFailed": "打开该历史会话失败",
"loadingMore": "加载更多...",
"deleteSession": "删除会话",
"messagesCount": "{{count}} 条消息",
"noModel": "选择模型",
"inputDisabled": {
"notConnected": "服务未运行,请先启动以进行对话。",
"noModel": "未设置默认模型,请前往模型页面进行配置。"
},
"sendMessage": "发送消息",
"sendHint": "按 Enter 发送\nShift + Enter 换行",
"contextTitle": "上下文",
"contextDetail": "查看详情",
"contextCompressAt": "压缩阈值",
"contextSummarizeAt": "摘要阈值",
"attachImage": "添加图片",
"dropImagesActive": "松开以添加图片",
"removeImage": "移除图片",
"uploadedImage": "已添加图片",
"invalidImage": "“{{name}}”不是支持的图片文件。",
"imageTooLarge": "“{{name}}”超过了 {{size}} 限制。",
"imageReadFailed": "读取“{{name}}”失败。",
"empty": {
"noConfiguredModel": "尚未配置模型",
"noConfiguredModelDescription": "请先配置至少一个带有 API Key 的 AI 模型,才能开始对话。",
"goToModels": "去模型页配置",
"noSelectedModel": "尚未设置模型",
"noSelectedModelDescription": "您已配置模型,但尚未设置默认模型。请选择一个模型后开始对话",
"notRunning": "服务尚未运行",
"notRunningDescription": "请先启动网关服务后再开始对话,可点击顶部栏中的「启动服务」按钮。"
},
"modelGroup": {
"apikey": "API Key",
"oauth": "OAuth",
"local": "本地模型"
}
},
"header": {
"logout": {
"tooltip": "退出登录",
"confirm": "退出登录",
"description": "确定要退出仪表盘登录吗?"
},
"gateway": {
"stopDialog": {
"title": "停止服务?",
"description": "您确定要停止服务吗?这将断开您当前活动的聊天会话并停止推理。",
"confirm": "停止服务"
},
"action": {
"start": "启动服务",
"stop": "停止服务",
"restart": "重启服务"
},
"status": {
"starting": "服务启动中...",
"restarting": "服务重启中...",
"stopping": "服务停止中..."
},
"restartRequired": "配置变更后需要重启服务才能生效。"
}
},
"common": {
"cancel": "取消",
"close": "关闭",
"save": "保存",
"saving": "保存中...",
"reset": "重置",
"confirm": "确认",
"saveChangesTitle": "有未保存的配置更改",
"restartRequiredTitle": "需要重启服务",
"restartRequiredDesc": "{{name}} 的最新配置已保存。重启服务后才能正式生效。",
"fix": "修复"
},
"labels": {
"loading": "加载中..."
},
"footer": {
"version": "版本",
"commit": "提交",
"build": "构建",
"version_unknown": "未知"
},
"credentials": {
"description": "管理已支持服务商的 OAuth 与 Token 凭据。",
"loading": "正在加载凭据...",
"providers": {
"openai": {
"description": "支持浏览器 OAuth、设备码和 Token 登录。"
},
"anthropic": {
"description": "使用 Token 登录 Claude。"
},
"antigravity": {
"description": "使用浏览器 OAuth 登录 Google Cloud Code Assist。"
}
},
"status": {
"connected": "已连接",
"needsRefresh": "即将过期",
"expired": "已过期",
"notLoggedIn": "未登录"
},
"actions": {
"browser": "浏览器 OAuth",
"deviceCode": "设备码",
"stopLoading": "停止加载",
"saveToken": "保存",
"logout": "退出登录"
},
"logoutDialog": {
"title": "确认退出登录?",
"description": "这将删除 {{provider}} 的已保存凭据。"
},
"fields": {
"openaiToken": "OpenAI Token",
"anthropicToken": "Anthropic Token"
},
"labels": {
"account": "账号",
"email": "邮箱",
"project": "项目"
},
"errors": {
"loadFailed": "加载凭据失败",
"flowFailed": "查询授权流程失败",
"loginFailed": "登录失败",
"logoutFailed": "退出登录失败",
"invalidBrowserResponse": "浏览器登录响应无效",
"invalidDeviceResponse": "设备码响应无效",
"popupBlocked": "无法打开新标签页,请允许弹窗后重试。"
},
"flow": {
"current": "当前授权状态",
"pending": "等待授权中...",
"success": "认证成功",
"error": "认证失败",
"expired": "授权会话已过期"
},
"device": {
"title": "OpenAI 设备码登录",
"description": "请打开验证页面并输入下方代码,此页面会自动刷新授权状态。",
"code": "用户代码",
"url": "验证地址",
"polling": "正在轮询登录状态...",
"open": "打开验证页面"
}
},
"models": {
"description": "为 AI 服务商配置 API Key。只有已配置的模型可用于对话。",
"defaultChangeSuccess": "默认模型已更新。",
"unsavedPrompt": "当前修改尚未保存,保存后才会写入模型配置。",
"restartHint": "模型配置保存后需要重启服务才能生效。",
"loadError": "加载模型列表失败",
"retry": "重试",
"providerCatalogUnavailable": "后端 Provider catalog 暂不可用,待模型 API 成功加载后才能选择新的 Provider。",
"noDefaultHintPrefix": "尚未设置默认模型,点击",
"noDefaultHintSuffix": "设为默认。",
"status": {
"available": "可用",
"unconfigured": "未配置",
"unreachable": "服务不可达"
},
"badge": {
"default": "默认",
"virtual": "虚拟"
},
"action": {
"edit": "编辑 API Key",
"setDefault": "设为默认",
"delete": "删除模型",
"setDefaultDisabled": {
"setting": "正在设为默认...",
"unavailable": "无法将不可用的模型设为默认",
"isDefault": "该模型已是默认模型",
"isVirtual": "无法将虚拟模型设为默认",
"unsupportedProvider": "该服务商不能设为默认聊天模型。"
},
"deleteDisabled": {
"isDefault": "无法删除默认模型"
}
},
"defaultOnSave": {
"label": "默认模型",
"description": "保存后自动将该模型设置为默认模型。",
"unsupportedProvider": "该服务商可以保存在模型列表中,但不能作为默认聊天模型使用。"
},
"add": {
"button": "添加模型",
"title": "添加自定义模型",
"description": "添加兼容 OpenAI 或原生协议的模型端点。",
"modelName": "模型别名",
"modelNamePlaceholder": "例如 my-gpt4",
"modelNameHint": "用于在对话中识别此模型的简短名称。",
"modelId": "模型标识符",
"modelIdPlaceholder": "例如 gpt-4o 或 openai/gpt-4o",
"modelIdHint": "此字段将作为所选 Provider 的规范模型 ID 使用。若模型标识符本身包含斜杠(如 openai/gpt-5.4),将作为完整 ID 保留,不会再次拆分 Provider。",
"errorRequired": "此字段为必填项。",
"errorDuplicateModelName": "模型别名已存在,请使用其他名称。",
"saveError": "添加模型失败",
"saveSuccess": "模型已添加。",
"confirm": "添加模型"
},
"delete": {
"title": "确认删除模型?",
"description": "「{{name}}」将从模型列表中永久移除,此操作不可撤销。",
"confirm": "删除"
},
"advanced": {
"toggle": "高级选项"
},
"field": {
"provider": "Provider",
"providerPlaceholder": "请选择 Provider",
"providerHint": "请选择一个由后端 catalog 提供的 Provider“模型标识符”字段会按该 Provider 的规范模型 ID 解释。",
"providerInvalid": "当前 Provider 无效,请重新选择一个受支持的 Provider。",
"apiBase": "API Base URL",
"apiKey": "API Key",
"apiKeyPlaceholder": "请输入 API Key",
"apiKeyPlaceholderSet": "留空保持原有 Key 不变",
"proxy": "HTTP 代理",
"proxyHint": "可选。例如 http://127.0.0.1:7890",
"authMethod": "认证方式",
"authMethodHint": "认证方式oauth、token。留空表示使用 API Key 认证。",
"authMethodManagedHint": "该 Provider 的认证方式由系统自动管理。",
"connectMode": "连接模式",
"connectModeHint": "CLI 型服务商的连接模式stdio 或 grpc。",
"workspace": "工作目录",
"workspaceHint": "CLI 型服务商的工作目录路径(如 GitHub Copilot。",
"requestTimeout": "请求超时(秒)",
"requestTimeoutHint": "等待响应的最大秒数0 表示使用默认值。",
"rpm": "速率限制RPM",
"rpmHint": "每分钟最大请求数0 表示不限制。",
"thinkingLevel": "思考级别",
"thinkingLevelHint": "留空则不传 thinking_level使用 Provider 默认值。可选值off、low、medium、high、xhigh、adaptive。",
"providerDefault": "Provider 默认",
"maxTokensField": "Max Tokens 字段名",
"maxTokensFieldHint": "覆盖请求中 max_tokens 的字段名,例如 max_completion_tokens。",
"toolSchemaTransform": "工具 Schema 转换",
"toolSchemaTransformHint": "可选的工具 JSON Schema 兼容性转换。留空表示保持原生行为。当前支持值simple。",
"streamingEnabled": "流式输出",
"streamingEnabledHint": "允许此模型条目尝试 Provider 流式请求;还需要当前频道的流式开关同时开启。",
"extraBody": "Extra Body",
"extraBodyHint": "要注入到请求体中的额外 JSON 字段,例如 {\"reasoning_split\": true}。",
"customHeaders": "Custom Headers",
"customHeadersHint": "要注入到每个请求中的额外 HTTP Headers例如 {\"X-Source\": \"coding-plan\"}。",
"selectProviderFirst": "请先选择服务商",
"invalidJson": "JSON 格式不正确"
},
"edit": {
"title": "配置 {{name}}",
"apiKeyHint": "已设置 API Key留空表示不修改。",
"oauthNote": "该服务商使用 OAuth 认证,无需 API Key。",
"saveError": "保存失败",
"saveSuccess": "模型配置已保存。"
},
"fetch": {
"title": "获取可用模型",
"description": "从上游服务商获取模型列表。",
"providerLabel": "服务商:",
"needApiKey": "请先输入 API Key 再获取模型。",
"fetching": "正在获取模型...",
"retry": "重试",
"filterPlaceholder": "筛选模型...",
"found": "已找到 {{count}} 个模型",
"found_plural": "已找到 {{count}} 个模型",
"shown": "(显示 {{count}} 个)",
"selectAll": "全选",
"deselectAll": "取消全选",
"fill": "填充 {{count}} 个选中的模型",
"fill_plural": "填充 {{count}} 个选中的模型",
"failed": "获取模型失败"
},
"catalog": {
"button": "已保存目录",
"title": "已保存的模型目录",
"description": "之前获取的模型列表,按 API Key 分别存储。选择模型以添加到配置中。",
"loading": "正在加载目录...",
"empty": "暂无已保存的模型目录。从服务商获取模型后将自动保存。",
"filterPlaceholder": "筛选模型...",
"models": "个模型",
"fetchedAt": "获取于",
"delete": "删除目录",
"refresh": "从上游刷新",
"found": "共 {{count}} 个模型",
"found_plural": "共 {{count}} 个模型",
"selectAll": "全选",
"deselectAll": "取消全选",
"addSelected": "添加 {{count}} 个选中模型",
"addSuccess": "已添加 {{count}} 个模型到配置中。",
"needApiKey": "这些模型需要 API Key。导入后需要配置凭证才能使用。"
},
"test": {
"title": "测试模型连通性",
"description": "验证模型端点是否可达且配置正确。",
"modelLabel": "模型:",
"identifierLabel": "标识符:",
"endpointLabel": "端点:",
"testConnection": "测试连接",
"testing": "正在测试连接...",
"success": "连接成功",
"responseTime": "响应时间:{{ms}}ms",
"failed": "连接失败",
"status": "状态:{{status}}",
"testFailed": "测试失败",
"testAgain": "重新测试"
},
"validation": {
"whitespace": "模型标识符不能包含空格",
"leadingSlash": "不应以 / 开头",
"consecutiveSlash": "不应包含连续的 /",
"useProvider": "将使用 \"{{provider}}\" 作为服务商",
"defaultToOpenAI": "未指定服务商,默认使用 OpenAI",
"emptyModel": "模型名称不能为空",
"shouldUse": "\"{{provider}}\" 应使用 \"{{alias}}\"",
"didYouMean": "您是否想输入 \"{{closest}}\"",
"unknownProvider": "未知服务商 \"{{provider}}\"",
"parsed": "服务商={{provider}},模型={{model}}"
},
"combobox": {
"selectProvider": "选择服务商...",
"searchProvider": "搜索服务商...",
"noProvider": "未找到服务商。",
"noCatalog": "Provider catalog 暂不可用。",
"local": "本地"
}
},
"channels": {
"loadError": "加载频道列表失败",
"name": {
"telegram": "Telegram",
"discord": "Discord",
"slack": "Slack",
"feishu": "飞书",
"dingtalk": "钉钉",
"line": "LINE",
"qq": "QQ",
"onebot": "OneBot",
"wecom": "企业微信",
"whatsapp": "WhatsApp",
"whatsapp_native": "WhatsApp Native",
"pico": "Web",
"maixcam": "MaixCam",
"matrix": "Matrix",
"irc": "IRC",
"weixin": "微信",
"mqtt": "MQTT"
},
"weixin": {
"bindTitle": "微信账号绑定",
"bindDesc": "使用微信扫描二维码以绑定您的个人微信账号。",
"bind": "绑定微信",
"rebind": "重新绑定",
"bound": "微信已绑定",
"notBound": "尚未绑定微信账号。",
"generating": "正在生成二维码...",
"scanHint": "打开微信,扫描二维码",
"scanned": "已扫码 — 请在微信中确认",
"expired": "二维码已过期",
"retry": "重试",
"refresh": "刷新二维码",
"errorGeneric": "发生错误,请重试。"
},
"wecom": {
"bindTitle": "企业微信绑定",
"bindDesc": "使用企业微信扫描二维码以绑定您的 AI Bot。",
"bind": "绑定企业微信",
"rebind": "重新绑定",
"bound": "企业微信已绑定",
"notBound": "尚未绑定企业微信 AI Bot。",
"generating": "正在生成二维码...",
"scanHint": "打开企业微信,扫描二维码",
"scanned": "已扫码,请在企业微信中确认",
"expired": "二维码已过期",
"retry": "重试",
"refresh": "刷新二维码",
"errorGeneric": "发生错误,请重试。"
},
"field": {
"token": "Bot Token",
"tokenPlaceholder": "输入 Bot Token",
"botToken": "Bot Token",
"appToken": "App Token",
"appId": "App ID",
"appSecret": "App Secret",
"verificationToken": "Verification Token",
"encryptKey": "Encrypt Key",
"baseUrl": "API Base URL",
"proxy": "HTTP 代理",
"mentionOnly": "仅提及时响应",
"typingEnabled": "输入中提示",
"placeholderEnabled": "占位消息",
"placeholderText": "占位文案",
"streamingEnabled": "流式输出",
"streamingThrottleSeconds": "更新间隔(秒)",
"streamingMinGrowthChars": "最小增长字符数",
"groupTriggerMentionOnly": "群聊仅提及时响应",
"groupTriggerPrefixes": "群聊触发前缀",
"groupTriggerPrefixesPlaceholder": "例如 /, !, ?",
"randomReactionEmoji": "随机表情回应",
"randomReactionEmojiPlaceholder": "例如 THUMBSUP, HEART, SMILE",
"isLark": "Lark国际版",
"allowFrom": "允许来源",
"allowFromPlaceholder": "例如 123456, 789012",
"allowOrigins": "允许来源域名",
"allowOriginsPlaceholder": "例如 https://example.com, http://localhost:5173",
"removeListItem": "删除 {{value}}",
"secretPlaceholder": "输入密钥",
"secretHintSet": "配置已保存,留空表示不修改"
},
"page": {
"notFound": "不支持频道“{{name}}”。",
"saveSuccess": "频道配置已保存。",
"saveError": "保存频道配置失败",
"savePrompt": "当前修改尚未保存,点击保存后才会写入频道配置。",
"docLink": "配置文档",
"enableLabel": "启用频道",
"restartRequiredTitle": "需要重启服务",
"restartRequiredDesc": "{{name}} 的最新配置已保存。重启服务后才能正式生效。"
},
"form": {
"desc": {
"token": "机器人访问令牌,用于连接平台 API",
"botToken": "Bot Token用于发送与接收消息",
"appToken": "App Token用于 Socket 模式连接。",
"appId": "应用唯一标识,用于平台鉴权",
"appSecret": "应用密钥,用于请求签名和鉴权",
"verificationToken": "事件回调验证令牌",
"encryptKey": "消息加密密钥,用于解密回调内容",
"baseUrl": "平台 API 地址,默认使用官方地址",
"proxy": "HTTP 代理地址,用于网络访问",
"mentionOnly": "在群聊中仅当明确提及时才响应",
"typingEnabled": "在生成回复时显示“正在输入”状态",
"placeholderEnabled": "在最终回复发送前,先发送临时占位消息",
"streamingEnabled": "允许该频道展示 Provider 流式输出。还需要当前模型条目的流式开关同时开启。",
"streamingThrottleSeconds": "中间流式更新的最小间隔0 表示使用默认值。最终回复不受限制。",
"streamingMinGrowthChars": "中间流式更新相比上次发送至少增长的字符数0 表示使用默认值。最终回复不受限制。",
"groupTriggerMentionOnly": "在群聊中仅当提及机器人时才响应",
"groupTriggerPrefixes": "群聊触发前缀。可逐项添加,也支持一次粘贴多个值。",
"randomReactionEmoji": "PicoClaw 会对用户消息添加表情回复以确认已收到。例如:\"THUMBSUP\", \"HEART\", \"SMILE\"。留空则使用默认的 \"Pin\" 表情。",
"isLark": "使用 Lark 国际版域名open.larksuite.com替代飞书域名open.feishu.cn",
"allowFrom": "允许访问的用户或群组 ID。可逐项添加也支持一次粘贴多个值。",
"allowOrigins": "允许访问的来源域名。可逐项添加,也支持一次粘贴多个值。",
"wsUrl": "WebSocket 服务地址",
"reconnectInterval": "断线后的重连间隔(秒)",
"bridgeUrl": "桥接服务地址",
"sessionStorePath": "本地会话存储目录路径",
"useNative": "是否使用原生客户端模式连接",
"host": "服务监听主机地址",
"port": "服务监听端口",
"homeserver": "Matrix homeserver 地址",
"userId": "账号 ID",
"deviceId": "设备 ID",
"joinOnInvite": "收到邀请时是否自动加入房间",
"clientId": "应用客户端 ID用于平台鉴权",
"corpId": "企业 ID",
"agentId": "企业应用 Agent ID",
"webhookUrl": "Webhook 完整地址",
"webhookHost": "Webhook 监听主机",
"webhookPort": "Webhook 监听端口",
"webhookPath": "Webhook 路径",
"replyTimeout": "回复超时时间(秒)",
"maxSteps": "最大步骤数",
"welcomeMessage": "新会话欢迎语内容",
"allowTokenQuery": "是否允许 URL Query 方式传递 Token",
"pingInterval": "连接心跳间隔(秒)",
"readTimeout": "读取超时时间(秒)",
"writeTimeout": "写入超时时间(秒)",
"maxConnections": "最大并发连接数",
"server": "IRC 服务器地址",
"tls": "是否启用 TLS 连接",
"nick": "机器人昵称",
"user": "IRC 用户名",
"realName": "显示名称",
"channels": "要加入的 IRC 频道列表",
"requestCaps": "连接时请求的 IRC 扩展能力列表",
"maxBase64FileSizeMiB": "本地文件转为 base64 上传的最大体积,单位 MiB0 表示不限制,仅影响本地文件,不影响 URL 直传",
"genericField": "用于配置{{field}}",
"broker": "MQTT Broker 地址。",
"mqttAgentId": "本实例的唯一标识,用于构造 topic 路径。",
"topicPrefix": "Topic 前缀,默认为 /picoclaw。",
"mqttUsername": "Broker 认证用户名(可选)。",
"mqttPassword": "Broker 认证密码(可选)。",
"mqttClientId": "MQTT 客户端 ID留空自动生成。",
"keepAlive": "心跳间隔(秒),默认 60。",
"qos": "消息质量等级0=最多一次1=至少一次2=恰好一次。"
}
},
"validation": {
"requiredField": "请填写该字段"
},
"mqtt": {
"protocolTitle": "接入协议",
"protocolDesc": "客户端按以下 topic 和 payload 格式收发消息",
"uplink": "上行(客户端 → Agent",
"downlink": "下行Agent → 客户端)",
"topicParams": "Topic 参数说明",
"fieldText": "text",
"uplinkTextDesc": "用户自然语言指令(必填)",
"downlinkTextDesc": "Agent 回复文本,流式场景下多条按序拼接即为完整回复",
"topicPrefixDesc": "topic 前缀,与上方配置一致",
"agentIdDesc": "Agent ID与上方配置一致",
"clientIdDesc": "客户端自定义标识,建议首次启动时生成 UUID 并持久化,同一设备保持不变",
"clientIdPlaceholder": "留空自动生成",
"secretSet": "已设置,留空表示不修改",
"secretEmpty": "未配置"
}
},
"pages": {
"agent": {
"load_error": "加载 Agent 支持信息失败。",
"skills": {
"empty": "当前没有可用技能。",
"install_success": "已安装 {{name}}。",
"install_error": "安装技能失败。",
"search_placeholder": "按名称、描述或技能源搜索",
"source_label": "类型",
"sort_label": "排序",
"import": "导入技能",
"import_success": "技能导入成功。",
"import_error": "导入技能失败。",
"import_invalid_type": "仅支持导入 Markdown 或 ZIP 技能文件。",
"import_invalid_size": "技能文件大小不能超过 1 MB。",
"import_constraints": "支持导入最大 1 MB 的 Markdown 或 ZIP 文件",
"view": "查看",
"delete": "删除",
"delete_title": "删除技能?",
"delete_description": "将从工作区技能中移除「{{name}}」。",
"delete_confirm": "删除",
"delete_success": "技能已删除。",
"delete_error": "删除技能失败。",
"viewer_title": "技能内容",
"viewer_description": "这里展示当前生效的 SKILL.md 内容。",
"load_detail_error": "加载技能内容失败。",
"no_description": "未提供描述。",
"no_results": "没有技能匹配当前筛选条件。",
"dropzone_title": "导入到工作区",
"dropzone_description": "将技能文件拖到这里,或从本地选择一个文件。",
"dropzone_label": "将技能文件拖到这里",
"dropzone_active": "松开即可导入该技能",
"dropzone_release": "导入后会自动规范化内容,并保存到工作区技能目录。",
"marketplace_title": "安装技能",
"marketplace_description": "搜索第三方技能源,并将技能安装到当前工作区",
"marketplace_search_placeholder": "搜索 github、docker、database 等技能",
"marketplace_search_action": "搜索",
"marketplace_search_status": "搜索状态",
"marketplace_install_status": "安装状态",
"marketplace_notice_title": "安全提示",
"marketplace_notice_body": "搜索结果中的 skills 属于第三方内容。安装前请先确认作者、页面 URL、说明文档以及它要求执行的代码或使用的凭据是否可信。",
"marketplace_status_disabled": "当前未启用,请先在工具页启用对应工具。",
"marketplace_status_enable_hint": "请先在工具页启用相关工具。",
"marketplace_search_error": "搜索技能源失败。",
"marketplace_loading_results": "正在搜索技能...",
"marketplace_loading_more": "正在加载更多技能...",
"marketplace_results_title": "“{{query}}” 共找到 {{count}} 个结果",
"marketplace_results_hint": "搜索结果会安装到当前工作区。",
"marketplace_install_action": "安装",
"marketplace_installed": "已安装",
"marketplace_view_installed": "查看本地技能",
"marketplace_installed_hint": "该技能已在当前工作区中可用,名称为「{{name}}」。",
"marketplace_empty_results": "没有找到与“{{query}}”匹配的可安装技能。",
"marketplace_idle": "输入一个关键词,搜索可安装的第三方技能。",
"marketplace_unavailable": "当前无法使用技能搜索,请检查 Skills 相关工具配置。",
"sort": {
"name_asc": "名称A-Z",
"name_desc": "名称Z-A",
"source": "按类型"
},
"origin": {
"all": "全部类型",
"builtin": "内置",
"third_party": "第三方",
"manual": "手动导入"
},
"summary": {
"total": "技能总数"
},
"detail_tabs": {
"preview": "预览",
"raw": "原始内容",
"meta": "元数据"
},
"metadata": {
"name": "名称",
"description": "描述",
"registry": "来源平台",
"url": "链接地址",
"version": "已安装版本",
"lines": "行数",
"characters": "字符数"
},
"marketplace_installDisabled": {
"installing": "正在安装...",
"installed": "已安装",
"cannotInstall": "无法安装:相关工具未启用"
}
},
"tools": {
"search_placeholder": "搜索工具...",
"no_results": "没有找到符合条件的工具",
"filter": {
"all": "所有状态",
"enabled": "已启用",
"disabled": "已禁用",
"blocked": "被阻塞"
},
"empty": "当前没有可用工具。",
"enable_success": "工具已启用。",
"disable_success": "工具已禁用。",
"toggle_error": "更新工具状态失败。",
"library_title": "工具库",
"library_description": "浏览并管理由您的 AI 智能体支持的集成工具。",
"web_search": {
"title": "网页搜索",
"description": "为智能体提供网页搜索能力。自动路由到当前处于激活状态的最佳服务。",
"unsaved_prompt": "当前修改尚未保存,点击保存后才会写入 Web Search 配置。",
"global_settings": "常规",
"providers_config": "集成",
"load_error": "加载 Web Search 配置失败。",
"save": "保存更改",
"open_settings": "打开设置",
"save_success": "设置保存成功。",
"save_error": "保存设置失败。",
"provider": "首选服务",
"provider_description": "选择在由 Web Search 工具处理请求时默认使用的搜索引擎。",
"proxy": "HTTPS 代理",
"proxy_description": "用于底层网页请求的可选全局代理配置。",
"prefer_native": "优先使用模型搜索",
"prefer_native_hint": "启用后,模型在支持时可以直接使用自身搜索能力,而不必走已配置的搜索引擎列表。",
"provider_hint": "启用该服务后,可继续填写所需的连接参数。",
"max_results": "最大获取结果数",
"base_url": "API 请求地址",
"base_url_placeholder": "可选,如果需要代理请覆盖终端地址",
"api_key": "API 密钥 (Token)",
"api_key_placeholder": "请输入密钥,留空则保持原密钥不变",
"none": "未配置"
},
"status": {
"enabled": "已启用",
"disabled": "已禁用",
"blocked": "被阻塞"
},
"categories": {
"automation": "自动化",
"filesystem": "文件系统",
"web": "网页",
"communication": "通信",
"skills": "技能",
"agents": "Agent",
"hardware": "硬件",
"discovery": "发现"
},
"reasons": {
"requires_linux": "该工具仅在 Linux 主机上可用,并且需要暴露对应的设备文件。",
"requires_serial_platform": "该工具当前支持 Linux、macOS 和 Windows且要求主机可访问对应串口。",
"requires_skills": "需要先启用 `tools.skills`,该技能注册表工具才能使用。",
"requires_subagent": "需要先启用 `tools.subagent``spawn` 才能委派任务。",
"requires_mcp_discovery": "需要先启用 `tools.mcp.discovery`MCP 发现工具才会可用。",
"requires_web_search_provider": "请至少配置一个可用的外部网络搜索 provider。"
}
}
},
"config": {
"load_error": "加载配置失败,请刷新后重试",
"workspace": "工作目录",
"workspace_hint": "智能体执行文件读写操作时使用的基础目录",
"restrict_workspace": "限制工作目录访问",
"restrict_workspace_hint": "仅允许在工作目录内执行文件操作",
"split_on_marker": "连续短消息",
"split_on_marker_hint": "像真人聊天一样,把长难句拆成多条短消息快速发出",
"tool_feedback_enabled": "工具反馈",
"tool_feedback_enabled_hint": "在每次执行工具前,先向当前会话发送一条简短的执行说明",
"tool_feedback_separate_messages": "分开发送反馈消息",
"tool_feedback_separate_messages_hint": "让每次工具反馈都保留为独立消息,而不是反复复用同一条占位/进度消息",
"tool_feedback_max_args_length": "工具参数预览长度",
"tool_feedback_max_args_length_hint": "每条工具参数预览中展示的字符上限。设为 0 时使用默认值",
"exec_enabled": "允许命令执行",
"exec_enabled_hint": "控制应用是否允许执行命令。关闭后,所有命令请求都不会执行",
"allow_remote": "允许远程命令执行",
"allow_remote_hint": "开启后,来自远程会话或非本地上下文的请求也可以执行命令;关闭后,仅允许本地安全上下文执行命令",
"enable_deny_patterns": "启用黑名单",
"enable_deny_patterns_hint": "开启后,应用会拦截匹配内置危险模式以及下方自定义命令黑名单的命令",
"exec_timeout_seconds": "命令超时(秒)",
"exec_timeout_seconds_hint": "命令请求的最长运行时间。设置为 0 表示使用默认超时",
"custom_deny_patterns": "命令黑名单",
"custom_deny_patterns_hint": "用于补充额外的命令拦截规则,每行一个正则表达式。命中任意一条规则的命令都会被阻止",
"custom_allow_patterns": "命令白名单",
"custom_allow_patterns_hint": "用于补充额外的命令放行规则,每行一个正则表达式。命中任意一条规则的命令会跳过黑名单检查,但仍受其他安全限制约束",
"custom_patterns_placeholder": "^rm\\s+-rf\\b\n^git\\s+push\\b",
"pattern_detector_title": "规则检测工具",
"pattern_detector_hint": "输入命令以检测其是否匹配黑名单或白名单规则",
"pattern_detector_input_placeholder": "输入要检测的命令,例如 rm -rf /tmp",
"pattern_detector_test_button": "检测",
"pattern_detector_result_allowed": "允许(匹配白名单)",
"pattern_detector_result_blocked": "阻止(匹配黑名单)",
"pattern_detector_result_no_match": "无匹配(将使用默认规则)",
"allow_shell_execution": "允许定时任务运行命令",
"allow_shell_execution_hint": "开启后,定时任务默认允许运行命令。关闭后,必须显式传入 command_confirm=true 才能创建运行命令的定时任务",
"cron_exec_timeout": "定时命令超时(分钟)",
"cron_exec_timeout_hint": "定时任务中命令的最长运行时间。设置为 0 表示不限制超时",
"max_tokens": "最大 Token 数",
"max_tokens_hint": "单次模型响应允许的最大 Token 数",
"context_window": "上下文窗口",
"context_window_hint": "模型输入上下文容量Token 数)。留空使用默认值(最大 Token 数的 4 倍)",
"max_tool_iterations": "最大工具迭代次数",
"max_tool_iterations_hint": "单个任务中允许的工具调用循环上限",
"summarize_threshold": "触发摘要的消息阈值",
"summarize_threshold_hint": "消息数量达到该值后开始触发摘要",
"summarize_token_percent": "摘要目标 Token 百分比",
"summarize_token_percent_hint": "在触发会话摘要时使用",
"turn_profile": "请求上下文策略",
"turn_profile_hint": "控制每次请求会带入哪些上下文。保持关闭时,普通对话完全沿用原逻辑。",
"turn_profile_enabled": "启用策略",
"turn_profile_enabled_hint": "启用后每个新回合都会应用下面的设置关闭时PicoClaw 使用原来的上下文行为。",
"turn_profile_mode_default": "默认",
"turn_profile_mode_off": "关闭",
"turn_profile_mode_custom": "只允许列表",
"turn_profile_history": "历史上下文",
"turn_profile_history_hint": "默认会带上这段会话之前的消息;关闭后,本轮像一次新对话,也不会把结果写回历史。",
"turn_profile_system_prompt": "系统上下文",
"turn_profile_system_prompt_hint": "默认会带上 PicoClaw 的身份、工作区、记忆和运行时说明;关闭后只保留外部明确传入的 system prompt。",
"turn_profile_skills": "技能提示",
"turn_profile_skills_hint": "默认会把可用技能和已激活技能写入提示;关闭后不写入;只允许列表时每行填写一个技能名。",
"turn_profile_skills_allow_placeholder": "skill-name\nanother-skill",
"turn_profile_tools": "可调用工具",
"turn_profile_tools_hint": "默认暴露正常工具;关闭后模型不能调用工具;只允许列表时每行填写一个工具名,例如 web_search。",
"turn_profile_tools_allow_placeholder": "web_search\nweb_fetch",
"session_scope": "会话隔离范围",
"session_scope_hint": "定义不同用户/频道之间如何隔离会话上下文",
"session_scope_per_channel_peer": "按频道+用户隔离",
"session_scope_per_channel_peer_desc": "同一频道内不同用户使用独立上下文",
"session_scope_per_channel": "按频道隔离",
"session_scope_per_channel_desc": "同一频道内共享一个上下文",
"session_scope_per_peer": "按用户隔离",
"session_scope_per_peer_desc": "同一用户跨频道共享一个上下文",
"session_scope_global": "全局共享",
"session_scope_global_desc": "所有消息共用一个全局上下文",
"heartbeat_enabled": "心跳开关",
"heartbeat_enabled_hint": "按间隔发送系统心跳",
"heartbeat_interval": "心跳间隔(分钟)",
"heartbeat_interval_hint": "两次心跳发送之间的分钟间隔",
"devices_enabled": "启用设备功能",
"devices_enabled_hint": "启用与本机硬件设备相关的能力",
"monitor_usb": "监听 USB",
"monitor_usb_hint": "在启用设备功能时,监听 USB 插拔事件",
"autostart_label": "开机自启",
"autostart_hint": "登录系统后自动启动 PicoClaw Web",
"autostart_unsupported": "当前平台不支持开机自启",
"autostart_load_error": "加载开机自启状态失败",
"server_port": "服务端口",
"server_port_hint": "PicoClaw Web 的 HTTP 监听端口",
"launcher_section_hint": "此分组中的改动需要在重启 launcher 后生效",
"gateway_restart_hint": "这组配置保存后,需要重启服务才能正式生效。",
"dashboard_password": "登录密码",
"dashboard_password_hint": "设置新的登录密码",
"dashboard_password_placeholder": "至少 8 个字符",
"dashboard_password_confirm": "确认新密码",
"dashboard_password_confirm_hint": "再次输入新的登录密码",
"dashboard_password_confirm_placeholder": "再次输入密码",
"dashboard_password_required": "请输入并确认新的登录密码",
"dashboard_password_mismatch": "两次输入的登录密码不一致",
"dashboard_password_min_length": "登录密码至少需要 8 个字符",
"lan_access": "启用局域网访问",
"lan_access_hint": "允许局域网中的其他设备访问当前服务",
"allowed_cidrs": "允许访问网段",
"allowed_cidrs_hint": "仅允许这些 CIDR 网段的客户端访问服务。可按行或逗号分隔;留空表示允许所有来源",
"allowed_cidrs_placeholder": "192.168.1.0/24\n10.0.0.0/8",
"evolution_section_hint": "让 Agent 从已完成的回合中学习,并准备技能改进。",
"evolution_enabled": "启用自进化",
"evolution_enabled_hint": "记录已完成回合的学习数据。Draft 和 Apply 模式还可以生成技能更新。",
"evolution_mode": "自进化模式",
"evolution_mode_hint": "Observe 只记录数据Draft 生成候选技能Apply 可将接受的草稿写入工作区技能。",
"evolution_mode_observe": "observe",
"evolution_mode_draft": "draft",
"evolution_mode_apply": "apply",
"evolution_state_dir": "状态目录",
"evolution_state_dir_hint": "自进化状态的可选目录。留空时使用工作区默认位置。",
"evolution_min_task_count": "最小任务数",
"evolution_min_task_count_hint": "一个模式能生成草稿前,至少需要多少个相关任务。",
"evolution_min_success_ratio": "最小成功率",
"evolution_min_success_ratio_hint": "聚类任务所需的成功率。取值需大于 0且不超过 1。",
"evolution_cold_path_trigger": "冷路径触发方式",
"evolution_cold_path_trigger_hint": "选择何时为符合条件的学习记录运行草稿生成。",
"evolution_cold_path_after_turn": "每轮结束后",
"evolution_cold_path_scheduled": "定时运行",
"evolution_cold_path_manual": "关闭自动运行",
"evolution_cold_path_times": "定时运行时间",
"evolution_cold_path_times_hint": "定时冷路径处理的运行时间。每行填写一个 HH:MM。",
"mcp_section_hint": "通过可视化界面配置 MCP 服务器,无需手动编辑 config.json",
"mcp_enabled": "启用 MCP",
"mcp_enabled_hint": "开启或关闭 MCP 服务集成",
"mcp_discovery_enabled": "启用 MCP 发现",
"mcp_discovery_enabled_hint": "允许 MCP 发现工具检索已注册的 MCP 服务器",
"mcp_discovery_ttl": "发现工具解锁保持轮数",
"mcp_discovery_ttl_hint": "已发现的工具保持解锁状态的对话轮数",
"mcp_discovery_max_results": "发现最大结果数",
"mcp_discovery_max_results_hint": "每次查询返回的 MCP 发现结果上限",
"mcp_discovery_use_bm25": "使用 BM25 排序",
"mcp_discovery_use_bm25_hint": "在 MCP 发现中启用 BM25 词法评分",
"mcp_discovery_use_regex": "启用正则搜索",
"mcp_discovery_use_regex_hint": "允许在 MCP 发现中使用正则匹配",
"mcp_servers": "MCP 服务器",
"mcp_servers_hint": "添加、编辑或删除 MCP 服务器",
"mcp_server_new": "新 MCP 服务器",
"mcp_server_add": "添加服务器",
"mcp_server_remove": "移除",
"mcp_server_enabled": "已启用",
"mcp_server_discovery_mode": "发现模式",
"mcp_server_discovery_mode_inherit": "跟随全局发现模式",
"mcp_server_discovery_mode_deferred": "延迟发现",
"mcp_server_discovery_mode_eager": "立即注册",
"mcp_server_name_placeholder": "服务器名称(例如 github",
"mcp_server_url_placeholder": "服务器 URL例如 https://example.com/mcp",
"mcp_server_command_placeholder": "命令(例如 npx",
"mcp_server_env_file_placeholder": "环境变量文件路径(可选)",
"mcp_server_args_placeholder": "参数(每行一个)",
"mcp_server_env_placeholder": "环境变量 JSON 对象",
"mcp_server_headers_placeholder": "请求头 JSON 对象",
"sections": {
"agent": "智能体",
"runtime": "运行时",
"evolution": "自进化",
"mcp": "MCP",
"exec": "运行命令",
"cron": "定时任务",
"launcher": "启动器",
"devices": "设备"
},
"open_raw": "原始配置",
"back_to_visual": "可视化配置",
"raw_json_title": "原始 JSON 配置",
"json_placeholder": "请输入有效的 JSON 配置...",
"save_success": "配置保存成功",
"save_error": "配置保存失败",
"reset_confirm_title": "重置更改",
"reset_confirm_desc": "您确定要重置回上次保存的状态吗?",
"reset_success": "更改已重置为上次保存的状态",
"invalid_json": "JSON 格式无效",
"format_success": "JSON 格式化成功",
"format_error": "JSON 格式无效",
"format": "格式化",
"unsaved_changes": "您有未保存的更改",
"factory_reset": "恢复出厂设置",
"factory_reset_confirm_title": "恢复出厂设置",
"factory_reset_confirm_desc": "这将把所有配置重置为出厂默认值。API 密钥和安全凭证将被保留。当前配置将被备份。",
"factory_reset_confirm": "确认重置",
"factory_reset_success": "配置已重置为出厂默认值。",
"factory_reset_error": "重置配置失败。"
},
"logs": {
"log_level_error": "更新日志等级失败。",
"clear": "清空日志",
"empty": "等待日志中..."
}
},
"tour": {
"skip": "跳过引导",
"prev": "上一步",
"next": "下一步",
"finish": "完成",
"welcome": {
"title": "欢迎使用 PicoClaw",
"description": "PicoClaw 是一个强大的 AI 助手平台。让我们花几秒钟时间,帮您完成基础配置。"
},
"models": {
"title": "配置模型",
"description": "点击左侧「模型」菜单,为 AI 服务商配置 API Key。只有配置好的模型才能用于对话。"
},
"gateway": {
"title": "启动服务",
"description": "配置好模型后,点击顶部的「启动服务」按钮,即可开始与 AI 对话。"
},
"docs": {
"title": "查看文档",
"description": "需要更多帮助?点击右上角的文档按钮,查看详细的使用文档和配置指南。"
}
}
}