* feat(tool-feedback): add separate message mode for chat feedback * add parameter in conf
737 lines
34 KiB
JSON
737 lines
34 KiB
JSON
{
|
||
"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": "思考",
|
||
"toolLabel": "工具",
|
||
"history": "历史记录",
|
||
"noHistory": "暂无对话历史",
|
||
"historyLoadFailed": "加载历史记录失败",
|
||
"historyOpenFailed": "打开该历史会话失败",
|
||
"loadingMore": "加载更多...",
|
||
"deleteSession": "删除会话",
|
||
"messagesCount": "{{count}} 条消息",
|
||
"noModel": "选择模型",
|
||
"inputDisabled": {
|
||
"notConnected": "服务未运行,请先启动以进行对话。",
|
||
"noModel": "未设置默认模型,请前往模型页面进行配置。"
|
||
},
|
||
"sendMessage": "发送消息",
|
||
"sendHint": "按 Enter 发送\nShift + Enter 换行",
|
||
"contextTitle": "上下文",
|
||
"contextDetail": "查看详情",
|
||
"attachImage": "添加图片",
|
||
"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": "取消",
|
||
"save": "保存",
|
||
"saving": "保存中...",
|
||
"reset": "重置",
|
||
"confirm": "确认"
|
||
},
|
||
"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。只有已配置的模型可用于对话。",
|
||
"loadError": "加载模型列表失败",
|
||
"noDefaultHintPrefix": "尚未设置默认模型,点击",
|
||
"noDefaultHintSuffix": "设为默认。",
|
||
"status": {
|
||
"available": "可用",
|
||
"unconfigured": "未配置",
|
||
"unreachable": "服务不可达"
|
||
},
|
||
"badge": {
|
||
"default": "默认",
|
||
"virtual": "虚拟"
|
||
},
|
||
"action": {
|
||
"edit": "编辑 API Key",
|
||
"setDefault": "设为默认",
|
||
"delete": "删除模型",
|
||
"setDefaultDisabled": {
|
||
"setting": "正在设为默认...",
|
||
"unavailable": "无法将不可用的模型设为默认",
|
||
"isDefault": "该模型已是默认模型",
|
||
"isVirtual": "无法将虚拟模型设为默认"
|
||
},
|
||
"deleteDisabled": {
|
||
"isDefault": "无法删除默认模型"
|
||
}
|
||
},
|
||
"defaultOnSave": {
|
||
"label": "默认模型",
|
||
"description": "保存后自动将该模型设置为默认模型。"
|
||
},
|
||
"add": {
|
||
"button": "添加模型",
|
||
"title": "添加自定义模型",
|
||
"description": "添加兼容 OpenAI 或原生协议的模型端点。",
|
||
"modelName": "模型别名",
|
||
"modelNamePlaceholder": "例如 my-gpt4",
|
||
"modelNameHint": "用于在对话中识别此模型的简短名称。",
|
||
"modelId": "模型标识符",
|
||
"modelIdPlaceholder": "例如 gpt-4o 或 openai/gpt-4o",
|
||
"modelIdHint": "未指定 Provider 时,诸如 openai/gpt-4o 的值将按 provider/model 格式解析。已指定 Provider 时,此字段将作为规范模型 ID 使用,不再解析其中的 provider 前缀。",
|
||
"errorRequired": "此字段为必填项。",
|
||
"errorDuplicateModelName": "模型别名已存在,请使用其他名称。",
|
||
"saveError": "添加模型失败",
|
||
"confirm": "添加模型"
|
||
},
|
||
"delete": {
|
||
"title": "确认删除模型?",
|
||
"description": "「{{name}}」将从模型列表中永久移除,此操作不可撤销。",
|
||
"confirm": "删除"
|
||
},
|
||
"advanced": {
|
||
"toggle": "高级选项"
|
||
},
|
||
"field": {
|
||
"provider": "Provider",
|
||
"providerPlaceholder": "例如 openai",
|
||
"providerHint": "可选。指定后,将以该值作为最终 provider,并将“模型标识符”字段解释为规范模型 ID。",
|
||
"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 认证。",
|
||
"connectMode": "连接模式",
|
||
"connectModeHint": "CLI 型服务商的连接模式:stdio 或 grpc。",
|
||
"workspace": "工作目录",
|
||
"workspaceHint": "CLI 型服务商的工作目录路径(如 GitHub Copilot)。",
|
||
"requestTimeout": "请求超时(秒)",
|
||
"requestTimeoutHint": "等待响应的最大秒数,0 表示使用默认值。",
|
||
"rpm": "速率限制(RPM)",
|
||
"rpmHint": "每分钟最大请求数,0 表示不限制。",
|
||
"thinkingLevel": "思考级别",
|
||
"thinkingLevelHint": "扩展思考预算:off、low、medium、high、xhigh、adaptive。",
|
||
"maxTokensField": "Max Tokens 字段名",
|
||
"maxTokensFieldHint": "覆盖请求中 max_tokens 的字段名,例如 max_completion_tokens。",
|
||
"extraBody": "Extra Body",
|
||
"extraBodyHint": "要注入到请求体中的额外 JSON 字段,例如 {\"reasoning_split\": true}。",
|
||
"customHeaders": "Custom Headers",
|
||
"customHeadersHint": "要注入到每个请求中的额外 HTTP Headers,例如 {\"X-Source\": \"coding-plan\"}。"
|
||
},
|
||
"edit": {
|
||
"title": "配置 {{name}}",
|
||
"apiKeyHint": "已设置 API Key,留空表示不修改。",
|
||
"oauthNote": "该服务商使用 OAuth 认证,无需 API Key。",
|
||
"saveError": "保存失败"
|
||
}
|
||
},
|
||
"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": "微信"
|
||
},
|
||
"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": "占位文案",
|
||
"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": "保存频道配置失败",
|
||
"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": "在最终回复发送前,先发送临时占位消息",
|
||
"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 上传的最大体积,单位 MiB;0 表示不限制,仅影响本地文件,不影响 URL 直传",
|
||
"genericField": "用于配置{{field}}"
|
||
}
|
||
},
|
||
"validation": {
|
||
"requiredField": "请填写该字段"
|
||
}
|
||
},
|
||
"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": "为智能体提供网页搜索能力。自动路由到当前处于激活状态的最佳服务。",
|
||
"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_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": "在触发会话摘要时使用",
|
||
"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 后生效",
|
||
"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",
|
||
"sections": {
|
||
"agent": "智能体",
|
||
"runtime": "运行时",
|
||
"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": "您有未保存的更改"
|
||
},
|
||
"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": "需要更多帮助?点击右上角的文档按钮,查看详细的使用文档和配置指南。"
|
||
}
|
||
}
|
||
}
|