Files
Memoh/apps/web/src/i18n/locales/zh.json
T
Acbox e59fe9205b feat(web): add tabs layout and submit button to Supermarket page
Reorganize Supermarket into a tabbed UI with Skills as the first tab
and MCP as the second tab. Add a GitHub submit button in the header
linking to https://github.com/memohai/supermarket.
2026-04-03 01:17:32 +08:00

1184 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.
{
"common": {
"confirm": "确认",
"cancel": "取消",
"back": "返回",
"save": "保存",
"add": "添加",
"edit": "编辑",
"delete": "删除",
"search": "搜索",
"loading": "加载中...",
"operation": "操作",
"enable": "启用",
"optional": "可选",
"import": "导入",
"export": "导出",
"copy": "复制",
"copied": "已复制到剪贴板",
"tabAddSingle": "添加单个",
"tabImportJson": "导入 JSON",
"copyAsJson": "复制为 JSON",
"fillForm": "填入表单",
"batchSelected": "已选 {count} 项",
"batchDelete": "批量删除",
"batchDeleteConfirm": "确定删除选中的 {count} 项?",
"batchExport": "批量导出",
"cancelSelection": "取消选择",
"name": "名称",
"namePlaceholder": "输入名称",
"type": "类型",
"typePlaceholder": "选择类型",
"refresh": "刷新",
"status": "状态",
"loadFailed": "加载失败",
"saveFailed": "保存失败",
"createdAt": "创建时间",
"none": "无",
"yes": "是",
"no": "否",
"details": "详情",
"pin": "置顶",
"unpin": "取消置顶"
},
"auth": {
"welcome": "欢迎回来",
"username": "用户名",
"password": "密码",
"login": "登录",
"register": "注册",
"forgotPassword": "忘记密码?",
"logout": "退出登录",
"logoutConfirm": "确定要退出当前账号吗?",
"loginFailed": "登录失败",
"invalidCredentials": "用户名或密码不正确",
"retryHint": "请检查后重新输入"
},
"sidebar": {
"session":"会话",
"chat": "对话",
"bots": "Bots",
"providers": "模型",
"settings": "设置",
"webSearch": "搜索",
"memory": "记忆",
"speech": "语音",
"email": "邮件",
"profile": "用户",
"home": "首页",
"mcp": "MCP",
"platform": "接入平台",
"usage": "用量统计",
"browser": "浏览器",
"supermarket": "市场"
},
"breadcrumb": {
"main": "主页"
},
"settings": {
"display": "通用",
"user": "用户",
"backToChat": "返回对话",
"userProfile": "用户资料",
"userID": "用户 ID",
"displayName": "显示名称",
"avatarUrl": "头像链接",
"timezone": "时区",
"timezonePlaceholder": "例如 Asia/Tokyo",
"saveProfile": "保存资料",
"profileUpdated": "用户资料已更新",
"profileUpdateFailed": "用户资料更新失败",
"changePassword": "修改密码",
"currentPassword": "当前密码",
"newPassword": "新密码",
"confirmPassword": "确认新密码",
"updatePassword": "更新密码",
"passwordRequired": "请填写当前密码和新密码",
"passwordNotMatch": "两次输入的新密码不一致",
"passwordUpdated": "密码已更新",
"passwordUpdateFailed": "密码更新失败",
"linkedChannels": "已绑定平台账号",
"noLinkedChannels": "暂无已绑定平台账号",
"bindCode": "Bind Code",
"platform": "平台",
"platformAny": "任意平台",
"bindCodeTTL": "有效期(秒)",
"generateBindCode": "生成 Bind Code",
"bindCodeGenerated": "Bind Code 已生成",
"bindCodeGenerateFailed": "Bind Code 生成失败",
"bindCodeValue": "Bind Code",
"bindCodeExpiresAt": "过期时间",
"copyBindCode": "复制",
"bindCodeCopied": "Bind Code 已复制",
"bindCodeCopyFailed": "复制失败",
"loadUserFailed": "用户信息加载失败",
"language": "语言",
"languagePlaceholder": "选择语言",
"theme": "主题",
"themePlaceholder": "选择主题",
"themeLight": "浅色",
"themeDark": "深色",
"langZh": "中文",
"langEn": "English",
"version": "版本",
"versionTag": "v{version}",
"commitHash": "提交"
},
"chat": {
"greeting": "你好!有什么我可以帮你的吗?",
"selectBot": "选择一个 Bot",
"selectBotHint": "从侧边栏选择一个 Bot 开始对话",
"thinking": "思考中…",
"thinkingInProgress": "思考中…",
"thinkingDone": "思考完成",
"currentBot": "当前 Bot",
"inputPlaceholder": "输入你的问题…",
"readonlyHint": "该聊天为只读",
"readonlyPlaceholder": "该聊天为只读,无法发送消息",
"send": "发送",
"startChat": "开始聊天",
"noBot": "暂无可用 Bot,请先创建 Bot",
"newChat": "开启新对话",
"history": "历史对话",
"historyParticipant": "对话",
"historyObserved": "参与过的聊天",
"readonly": "只读",
"toolDone": "已完成",
"toolRunning": "运行中",
"toolInput": "输入",
"toolResult": "结果",
"toolWriteContent": "内容",
"toolEditChanges": "变更",
"toolSearchResults": "{count} 条结果",
"toolSearchResultsLabel": "结果",
"toolExecOutput": "输出",
"toolExecExit": "退出: {code}",
"toolExecError": "错误",
"toolScheduleItems": "{count} 条",
"toolMemoryResults": "{count} 条记忆",
"toolWebFetchPreview": "预览",
"toolContactsCount": "{count} 个联系人",
"toolEmailCount": "{count} 封邮件",
"toolEmailAccounts": "{count} 个账户",
"toolSpawnCount": "{count} 个任务",
"unknownUser": "{platform}用户",
"files": "文件管理",
"clearMessages": "清除消息",
"modelOverride": "模型",
"modelDefault": "默认",
"reasoningEffort": "推理",
"reasoningOff": "关闭",
"reasoningNone": "无",
"reasoningLow": "低",
"reasoningMedium": "中",
"reasoningHigh": "高",
"reasoningXHigh": "极高",
"sessions": "会话",
"newSession": "新建会话",
"deleteSession": "删除会话",
"deleteSessionConfirm": "确定要删除此会话吗?",
"renameSession": "重命名会话",
"sessionTitle": "会话",
"untitledSession": "未命名会话",
"noSessions": "暂无会话",
"sessionTypeHeartbeat": "心跳",
"sessionTypeSchedule": "定时任务",
"sessionTypeSubagent": "子智能体",
"sessionTypeChat": "对话",
"sessionFilterAll": "全部",
"sessionSourcePrefix": "来自:",
"searchSessionPlaceholder": "搜索",
"heartbeatTrigger": "心跳触发",
"heartbeatTime": "触发时间",
"heartbeatInterval": "间隔",
"heartbeatLastAt": "上次心跳",
"viewHeartbeatLogs": "查看日志",
"scheduleTrigger": "定时任务触发",
"scheduleName": "任务名称",
"scheduleDescription": "描述",
"schedulePattern": "Cron 表达式",
"scheduleMaxCalls": "最大调用次数",
"viewSchedule": "查看定时任务"
},
"models": {
"title": "模型",
"searchPlaceholder": "搜索服务商…",
"addModel": "添加模型",
"editModel": "编辑模型",
"deleteModelConfirm": "确定要删除这个模型吗?",
"searchModelPlaceholder": "搜索模型…",
"searchNoResults": "没有匹配的模型",
"emptyTitle": "暂无模型",
"emptyDescription": "点击上方按钮为当前服务商添加模型",
"clientType": "客户端类型",
"clientTypePlaceholder": "选择客户端类型",
"model": "模型 ID",
"modelPlaceholder": "例如 gpt-4o",
"displayName": "显示名称",
"displayNamePlaceholder": "自定义显示名称",
"dimensions": "向量维度",
"dimensionsPlaceholder": "例如 1536",
"compatibilities": "兼容性",
"compatibility": {
"vision": "视觉",
"tool-call": "工具调用",
"image-output": "图片生成",
"reasoning": "推理"
},
"contextWindow": "上下文窗口",
"contextWindowPlaceholder": "例如 128000",
"testModel": "测试模型",
"testOk": "正常",
"testAuthError": "认证失败",
"testError": "异常",
"testFailed": "测试失败",
"importModels": "导入模型",
"importSuccess": "成功导入 {created} 个模型,跳过 {skipped} 个",
"importFailed": "导入模型失败",
"importConfirmHint": "将从该服务商的 API 导入模型,默认兼容性为视觉、工具调用和推理。",
"showingCount": "显示 {count} / {total}"
},
"provider": {
"add": "添加服务商",
"addBtn": "添加",
"apiKey": "API 密钥",
"apiKeyPlaceholder": "输入 API 密钥",
"url": "接口地址",
"urlPlaceholder": "输入接口地址",
"deleteConfirm": "确定要删除这个服务商吗?",
"saveChanges": "保存修改",
"emptyTitle": "暂无服务商",
"emptyDescription": "请先添加模型服务商,才能配置模型",
"testConnection": "测试连接",
"reachable": "可连接",
"unreachable": "不可连接",
"testFailed": "测试失败",
"autoImport": "自动导入模型",
"autoImportHint": "创建后自动从服务商获取并导入模型",
"clientType": "客户端类型",
"icon": "图标",
"iconPlaceholder": "图标 URL 或标识(可选)",
"enable": "启用",
"enableHint": "只有启用的供应商的模型才会出现在可用模型列表中",
"oauth": {
"title": "OpenAI OAuth",
"description": "使用你的 ChatGPT 账号为该提供商授权,以启用 Codex 兼容的 OpenAI 访问。",
"createHint": "请先保存提供商,再到详情面板完成授权。",
"authorize": "授权",
"authorizeFailed": "启动授权失败",
"authorizeSuccess": "授权成功",
"revoke": "撤销授权",
"revokeFailed": "撤销授权失败",
"revokeSuccess": "授权已撤销",
"callback": "回调地址",
"statusFailed": "加载 OAuth 状态失败",
"status": {
"checking": "正在检查授权状态...",
"authorized": "已授权",
"expired": "授权已过期,请重新授权。",
"missing": "尚未授权。",
"notConfigured": "当前提供商未正确配置 OAuth。"
}
}
},
"webSearch": {
"title": "搜索提供方",
"add": "添加搜索提供方",
"empty": "暂无搜索提供方",
"provider": "提供方类型",
"selectHint": "请选择或新建一个搜索提供方",
"unsupportedProvider": "该提供方暂未实现配置面板",
"saveSuccess": "搜索提供方配置已保存",
"deleteSuccess": "搜索提供方配置已删除",
"deleteFailed": "删除搜索提供方配置失败",
"searchPlaceholder": "搜索提供方…",
"emptyTitle": "暂无搜索提供方",
"emptyDescription": "请先添加搜索提供方,才能配置搜索功能",
"deleteConfirm": "确定删除该搜索提供方?删除后无法恢复。",
"providerNames": {
"brave": "Brave",
"bing": "Bing",
"google": "Google",
"tavily": "Tavily",
"sogou": "搜狗",
"serper": "Serper",
"searxng": "SearXNG",
"jina": "Jina",
"exa": "Exa",
"bocha": "博查",
"duckduckgo": "DuckDuckGo",
"yandex": "Yandex"
}
},
"memory": {
"title": "记忆提供方",
"add": "添加记忆提供方",
"empty": "暂无记忆提供方",
"provider": "提供方类型",
"searchPlaceholder": "搜索提供方...",
"emptyTitle": "暂无记忆提供方",
"emptyDescription": "添加记忆提供方以启用 Bot 的长期记忆功能",
"saveSuccess": "记忆提供方已保存",
"deleteSuccess": "记忆提供方已删除",
"deleteFailed": "删除记忆提供方失败",
"deleteConfirm": "确定要删除该记忆提供方吗?使用它的 Bot 将失去记忆访问。",
"name": "名称",
"namePlaceholder": "输入提供方名称",
"builtinMode": "内置记忆模式",
"builtinModeDescription": "选择内置记忆提供方为 Bot 存储和检索记忆的方式。",
"sparseSectionTitle": "稀疏检索",
"denseSectionTitle": "稠密检索",
"sparseInstallHint": "Sparse 模式依赖可选的 sparse 服务。安装时请启用 sparse 选项,或在 Docker Compose 中启动 sparse profile。",
"denseBackend": "Dense 后端",
"denseBackendValue": "Embedding API + Qdrant",
"denseEmbeddingModel": "Dense 向量模型",
"denseEmbeddingModelDescription": "选择本地 rerank 之前使用的第三方 embedding 模型。",
"denseQdrantHint": "后端接通后,dense memory 会以 Qdrant 作为存储后端。",
"qdrantCollection": "Qdrant Collection",
"sparseQdrantCollectionDescription": "稀疏模式会写入对应的 Qdrant collection。当前/默认 collection{collection}。",
"denseQdrantCollectionDescription": "稠密模式会写入对应的 Qdrant collection。当前/默认 collection{collection}。",
"collectionPoints": "Collection 中的点数",
"collectionExists": "Collection 已存在",
"collectionMissing": "Collection 尚未创建",
"collectionHealthy": "正常",
"collectionUnavailable": "不可用",
"modeNames": {
"off": "关闭",
"sparse": "稀疏",
"dense": "稠密"
},
"modeDescriptions": {
"off": "保持当前基于文件的内置记忆行为,不启用 Qdrant 检索。",
"sparse": "使用本地 OpenSearch 稀疏模型,并通过 Qdrant 进行记忆索引与检索。",
"dense": "使用所选 embedding 模型 API 生成 dense 向量,并直接写入/检索 Qdrant。"
},
"providerNames": {
"builtin": "内置",
"mem0": "Mem0",
"openviking": "OpenViking"
}
},
"speech": {
"title": "语音合成",
"add": "添加语音合成提供方",
"providerType": "提供方类型",
"searchPlaceholder": "搜索语音合成...",
"emptyTitle": "暂无语音合成提供方",
"emptyDescription": "添加语音合成提供方以为 Bot 启用文字转语音功能",
"deleteConfirm": "确定要删除此语音合成提供方吗?此操作不可撤销。",
"models": "模型",
"importModels": "导入模型",
"importSuccess": "模型导入成功",
"importFailed": "模型导入失败",
"addModel": "新建模型",
"modelId": "模型 ID",
"modelIdPlaceholder": "输入模型标识符(如 custom-voice",
"noModels": "暂无模型,点击\"导入模型\"发现可用模型,或点击\"新建模型\"手动创建。",
"noCapabilities": "该模型暂无可用能力信息。",
"fields": {
"language": "语言",
"languagePlaceholder": "选择语言...",
"voice": "声音",
"voicePlaceholder": "选择声音...",
"format": "输出格式",
"formatPlaceholder": "选择格式...",
"speed": "语速",
"speedDescription": "播放速度(默认:{default}",
"pitch": "音调",
"pitchDescription": "语音音调调整,单位 Hz(默认:{default}"
},
"test": {
"title": "测试合成",
"placeholder": "输入要合成的文本...",
"generate": "生成",
"failed": "合成失败"
}
},
"email": {
"title": "邮件提供方",
"add": "添加邮件提供方",
"providerType": "提供方类型",
"searchPlaceholder": "搜索邮件提供方...",
"emptyTitle": "暂无邮件提供方",
"emptyDescription": "添加邮件提供方以为 Bot 启用邮件功能",
"deleteConfirm": "确定要删除此邮件提供方吗?此操作不可撤销。",
"fields": {
"username": "用户名",
"password": "密码",
"smtp_host": "SMTP 主机",
"smtp_port": "SMTP 端口",
"smtp_security": "SMTP 安全模式",
"imap_host": "IMAP 主机",
"imap_port": "IMAP 端口",
"imap_security": "IMAP 安全模式",
"poll_interval_seconds": "轮询间隔(秒)",
"domain": "域名",
"api_key": "API 密钥",
"region": "区域",
"inbound_mode": "入站模式",
"webhook_signing_key": "Webhook 签名密钥"
},
"oauth": {
"title": "OAuth2 授权",
"description": "授权此提供商以您的名义发送邮件,系统将跳转到提供商登录页面。",
"authorize": "授权",
"authorizeOpened": "授权完成",
"authorizeFailed": "启动授权失败",
"status": {
"checking": "正在检查授权状态...",
"authorized": "已授权账号 {email}",
"authorizedUnknown": "已授权",
"expired": "授权已过期,请重新授权。",
"missing": "尚未授权。完成授权后 Bot 才能访问 Gmail。",
"notConfigured": "缺少 Client ID,填写后才能发起授权。"
},
"logout": "注销授权",
"logoutSuccess": "授权已撤销",
"logoutFailed": "撤销授权失败"
}
},
"browser": {
"title": "浏览器上下文",
"add": "添加浏览器上下文",
"searchPlaceholder": "搜索浏览器上下文...",
"emptyTitle": "暂无浏览器上下文",
"emptyDescription": "添加浏览器上下文以启用 Bot 的浏览器自动化功能",
"deleteConfirm": "确定要删除此浏览器上下文吗?使用它的 Bot 将无法使用浏览器功能。",
"saveSuccess": "浏览器上下文已保存",
"deleteSuccess": "浏览器上下文已删除",
"name": "名称",
"namePlaceholder": "输入上下文名称",
"viewportWidth": "视口宽度",
"viewportHeight": "视口高度",
"userAgent": "User Agent",
"userAgentPlaceholder": "自定义 User Agent 字符串",
"deviceScaleFactor": "设备缩放比",
"isMobile": "移动设备",
"locale": "语言区域",
"localePlaceholder": "例如 zh-CN",
"timezoneId": "时区",
"timezonePlaceholder": "例如 Asia/Tokyo",
"ignoreHTTPSErrors": "忽略 HTTPS 错误",
"core": "浏览器内核",
"chromium": "Chromium",
"firefox": "Firefox",
"config": "配置"
},
"mcp": {
"addTitle": "添加 MCP",
"addDescription": "配置 MCP 服务器连接",
"searchPlaceholder": "搜索 MCP 服务器...",
"emptyTitle": "暂无 MCP 服务器",
"emptyDescription": "添加 MCP 服务器以扩展 Bot 的能力",
"command": "命令",
"commandPlaceholder": "输入启动命令",
"arguments": "参数",
"argumentsPlaceholder": "输入后按 Enter 添加",
"cwd": "工作目录",
"cwdPlaceholder": "输入工作目录路径",
"env": "环境变量",
"envPlaceholder": "格式:KEY:VALUE",
"active": "启用",
"types": {
"stdio": "本地命令 (Stdio)",
"remote": "远程服务 (HTTP/SSE)"
},
"table": {
"command": "命令",
"cwd": "工作目录",
"arguments": "参数",
"env": "环境变量"
},
"draft": "草稿",
"empty": "暂未配置 MCP 服务器。",
"deleteConfirm": "确定要删除这个 MCP 服务器吗?",
"loadFailed": "加载 MCP 服务器列表失败",
"saveFailed": "保存 MCP 服务器失败",
"createSuccess": "MCP 服务器已创建",
"updateSuccess": "MCP 服务器已更新",
"deleteSuccess": "MCP 服务器已删除",
"deleteFailed": "删除 MCP 服务器失败",
"importHint": "粘贴标准 mcpServers JSON 配置。同名的服务器会被更新配置。",
"importSuccess": "MCP 服务器已导入",
"importFailed": "导入 MCP 服务器失败",
"exportFailed": "导出 MCP 服务器失败",
"probe": "测试连接",
"probing": "测试中...",
"probeSuccess": "连接验证成功",
"probeFailed": "连接测试失败",
"probeRefresh": "刷新",
"tools": "工具",
"toolsEmpty": "未发现工具",
"toolsCount": "已发现 {count} 个工具",
"statusConnected": "已连接",
"statusError": "错误",
"statusUnknown": "未测试",
"lastProbed": "上次测试",
"authRequired": "需要授权",
"oauth": {
"title": "认证",
"status": "OAuth 状态",
"notConfigured": "未配置",
"authorized": "已授权",
"expired": "令牌已过期",
"discover": "检测 OAuth",
"discovering": "检测中...",
"authorize": "授权",
"authorizing": "授权中...",
"revoke": "撤销",
"revokeConfirm": "确定要撤销 OAuth 授权吗?",
"revokeSuccess": "OAuth 授权已撤销",
"revokeFailed": "撤销 OAuth 失败",
"discoverSuccess": "已检测到 OAuth 服务器",
"discoverFailed": "OAuth 检测失败",
"authSuccess": "授权成功",
"authFailed": "授权失败",
"scopes": "权限范围",
"authServer": "授权服务器",
"clientId": "Client ID",
"clientIdPlaceholder": "OAuth 应用的 Client ID",
"clientSecret": "Client Secret",
"clientSecretPlaceholder": "OAuth 应用的 Client Secret(如需要)",
"clientIdHint": "该授权服务器不支持自动注册,请创建 OAuth 应用并输入其 Client ID。",
"callbackUrl": "回调地址",
"callbackUrlHint": "请在 OAuth 应用设置中填入此回调地址。",
"callbackMissingParams": "缺少授权码或状态参数"
}
},
"home": {
"title": "首页"
},
"bots": {
"title": "Bots",
"searchPlaceholder": "搜索 Bot…",
"createBot": "新建 Bot",
"createBotWaitHint": "首次创建时可能需要拉取基础镜像,提交后请耐心等待片刻。",
"editBot": "编辑 Bot",
"deleteConfirm": "确定要删除这个 Bot 吗?",
"renameSuccess": "Bot 名称已更新",
"renameFailed": "更新 Bot 名称失败",
"deleteSuccess": "Bot 已删除",
"emptyTitle": "暂无 Bot",
"emptyDescription": "点击右上角按钮创建你的第一个 Bot",
"displayName": "名称",
"displayNamePlaceholder": "给你的 Bot 起个名字",
"avatarUrl": "头像链接",
"avatarUrlPlaceholder": "输入头像图片地址",
"timezone": "时区",
"timezonePlaceholder": "例如 Asia/Shanghai",
"timezoneInherited": "继承用户或系统时区",
"timezoneInheritedHint": "留空则继承用户时区,若用户未设置则回退到系统时区。",
"editAvatar": "编辑头像",
"editAvatarDescription": "设置 Bot 头像图片的链接地址",
"editTimezone": "编辑时区",
"editTimezoneDescription": "为这个 Bot 设置独立时区。",
"avatarUpdateSuccess": "头像已更新",
"avatarUpdateFailed": "更新头像失败",
"timezoneUpdateSuccess": "时区已更新",
"timezoneUpdateFailed": "更新时区失败",
"typePlaceholder": "选择 Bot 类型",
"types": {
"personal": "个人",
"public": "公开"
},
"active": "运行中",
"inactive": "未启用",
"lifecycle": {
"creating": "创建中",
"deleting": "删除中",
"createFailed": "创建失败",
"deleteFailed": "删除失败"
},
"checks": {
"title": "运行时检查",
"subtitle": "查看当前健康状态与异常详情。",
"ok": "无异常",
"hasIssue": "存在异常",
"issueCount": "{count} 个异常",
"empty": "暂无检查项",
"loadFailed": "加载运行时检查失败",
"actions": {},
"titles": {
"containerInit": "容器初始化",
"containerRecord": "容器记录",
"containerTask": "容器任务",
"containerDataPath": "容器数据路径",
"botDelete": "Bot 删除",
"mcpConnection": "MCP 连接",
"channelConnection": "平台连接"
},
"keys": {
"containerInit": "容器初始化",
"containerRecord": "容器记录",
"containerTask": "容器任务",
"containerDataPath": "容器数据路径",
"botDelete": "Bot 删除"
},
"status": {
"ok": "正常",
"warn": "警告",
"error": "错误",
"unknown": "未知"
}
},
"tabs": {
"overview": "概览",
"general": "通用",
"memory": "记忆",
"channels": "平台",
"container": "容器",
"mcp": "MCP",
"heartbeat": "心跳",
"compaction": "上下文压缩",
"schedule": "定时任务",
"history": "对话历史",
"skills": "技能",
"email": "邮件",
"files": "文件",
"access": "访问控制",
"terminal": "终端",
"settings": "设置"
},
"terminal": {
"title": "终端",
"reconnect": "重新连接",
"newTab": "新建终端",
"closeTab": "关闭",
"defaultTabLabel": "终端",
"status": {
"idle": "空闲",
"connecting": "连接中...",
"connected": "已连接",
"disconnected": "已断开"
}
},
"files": {
"name": "名称",
"size": "大小",
"modified": "修改时间",
"empty": "此目录为空",
"upload": "上传",
"newFolder": "新建文件夹",
"download": "下载",
"rename": "重命名",
"delete": "删除",
"save": "保存",
"unsaved": "(未保存)",
"previewNotAvailable": "无法预览此文件类型",
"folderNamePlaceholder": "文件夹名称",
"newNamePlaceholder": "新名称",
"confirmDelete": "确认删除",
"confirmDeleteMessage": "确定要删除 \"{name}\" 吗?此操作不可撤销。",
"loadFailed": "加载目录失败",
"readFailed": "读取文件失败",
"saveSuccess": "文件已保存",
"saveFailed": "保存文件失败",
"uploadSuccess": "文件已上传",
"uploadFailed": "上传文件失败",
"mkdirSuccess": "文件夹已创建",
"mkdirFailed": "创建文件夹失败",
"renameSuccess": "重命名成功",
"renameFailed": "重命名失败",
"deleteSuccess": "删除成功",
"deleteFailed": "删除失败"
},
"email": {
"title": "邮件",
"subtitle": "管理邮件提供方绑定,查看收件箱和发件箱。",
"bindings": "绑定",
"addBinding": "添加绑定",
"inbox": "收件箱",
"outbox": "发件箱",
"emailAddress": "邮箱地址",
"emailPlaceholder": "user@example.com",
"noBindings": "尚未配置邮箱绑定",
"noEmails": "暂无邮件",
"canRead": "读取",
"canWrite": "发送",
"canDelete": "删除",
"unbind": "解绑",
"unbindConfirm": "确定要解除此邮箱绑定吗?",
"bindSuccess": "邮箱绑定成功",
"unbindSuccess": "邮箱已解绑",
"from": "发件人",
"to": "收件人",
"subject": "主题",
"status": "状态",
"receivedAt": "接收时间",
"sentAt": "发送时间"
},
"container": {
"title": "容器管理",
"subtitle": "管理当前 Bot 对应的运行容器。",
"botNotReady": "当前 Bot 正在生命周期变更中,暂时不可操作容器。",
"empty": "当前 Bot 尚未创建容器,创建后可启用运行环境能力。",
"legacyWarning": "当前容器使用旧版架构,需要重建以获得完整兼容性。重建时数据会自动保留。",
"legacyRecreate": "重建容器",
"legacyRecreateSuccess": "容器重建成功",
"createHint": "容器会基于当前镜像创建;如你显式开启恢复,则会在创建后尝试恢复已保留的数据。",
"createRestoreDataLabel": "创建后恢复已保留数据",
"createRestoreDataDescription": "如果存在之前导出的备份或旧版 bind mount 数据,将在容器创建后恢复到 `/data`。",
"createImageLabel": "基础镜像",
"createImageDescription": "作为容器基础环境的 Docker 镜像(如 debian:bookworm-slim、alpine:latest、ubuntu:24.04)。留空则使用默认镜像。",
"deleteConfirm": "确定要彻底删除这个容器吗?未保留的数据将无法恢复。",
"deletePreserveConfirm": "确定要先导出 `/data` 再删除这个容器吗?",
"restoreConfirm": "确定要将已保留的数据恢复到当前容器的 `/data` 吗?",
"rollbackConfirm": "确定要回滚到这个快照版本吗?",
"taskRunning": "运行中",
"taskStopped": "已停止",
"taskCompleted": "已完成",
"statusCreated": "已创建",
"statusRunning": "运行中",
"statusStopped": "已停止",
"statusExited": "已退出",
"statusUnknown": "未知",
"loadFailed": "加载容器信息失败",
"actionFailed": "容器操作失败",
"createSuccess": "容器创建成功",
"createRestoreSuccess": "容器创建成功,已恢复数据",
"startSuccess": "容器启动成功",
"stopSuccess": "容器停止成功",
"deleteSuccess": "容器删除成功",
"deletePreserveSuccess": "容器已删除,数据已保留",
"snapshotSuccess": "快照创建成功",
"exportSuccess": "数据导出成功",
"importSuccess": "数据导入成功",
"restoreSuccess": "已恢复保留数据",
"rollbackSuccess": "快照回滚成功",
"pullingImage": "正在拉取镜像...",
"creatingContainer": "正在创建容器...",
"preservingData": "正在备份数据,数据量较大时可能需要一段时间...",
"restoringData": "正在迁移数据,数据量较大时可能需要一段时间...",
"snapshotEmpty": "暂无快照",
"snapshotLoadFailed": "加载快照失败",
"snapshotNamePlaceholder": "快照显示名称(可选)",
"snapshotNameHint": "这里只填写用户可见的显示名称,系统会自动生成内部快照名。",
"dataTitle": "数据操作",
"dataSubtitle": "独立管理容器 `/data` 目录的导入、导出与恢复。",
"deleteTitle": "删除容器",
"deleteSubtitle": "删除容器前请明确选择是否先保留 `/data`,避免误删用户数据。",
"preservedDataAvailable": "检测到可恢复的已保留数据,可直接恢复到当前容器。",
"preservedDataAvailableShort": "可恢复",
"preservedDataEmpty": "无",
"sourceManual": "手动创建",
"sourcePreExec": "执行前自动创建",
"sourceRollback": "回滚生成",
"fields": {
"id": "容器 ID",
"status": "容器状态",
"task": "任务状态",
"namespace": "命名空间",
"image": "镜像",
"hostPath": "主机路径",
"containerPath": "容器路径",
"preservedData": "保留数据",
"createdAt": "创建时间",
"updatedAt": "更新时间"
},
"snapshotColumns": {
"name": "名称",
"version": "版本",
"source": "来源",
"parent": "父级",
"createdAt": "创建时间",
"actions": "操作"
},
"actions": {
"create": "创建容器",
"start": "启动",
"stop": "停止",
"delete": "彻底删除",
"deletePreserve": "保留数据后删除",
"snapshot": "创建快照",
"exportData": "导出数据",
"importData": "导入数据",
"restoreData": "恢复保留数据",
"rollback": "回滚"
}
},
"settings": {
"chatModel": "对话模型",
"titleModel": "标题模型",
"titleModelDescription": "选择一个小模型来自动生成会话标题。留空则禁用自动标题生成。",
"titleModelPlaceholder": "未启用(不自动生成标题)",
"searchProvider": "搜索提供方",
"searchProviderPlaceholder": "选择搜索提供方",
"memoryProvider": "记忆提供方",
"memoryProviderPlaceholder": "选择记忆提供方(为空则禁用)",
"memoryModePreview": "当前内置模式:{mode}",
"sparseStatusTitle": "稀疏检索状态",
"sparseStatusHint": "Markdown 文件是唯一可信源;手动同步会把 /data/memory 下的条目重新写入 Qdrant。",
"denseStatusTitle": "稠密检索状态",
"denseStatusHint": "Markdown 文件是唯一可信源;手动同步会把 /data/memory 下的条目重新写入稠密 Qdrant 索引。",
"mem0StatusTitle": "Mem0 同步状态",
"mem0StatusHint": "Markdown 文件是唯一可信源;手动同步会把 /data/memory 下托管的记忆条目重新同步到 Mem0。",
"indexedMemoryStatusPendingSave": "请先保存当前记忆提供方选择,再查看索引状态或执行同步。",
"memorySyncAction": "手动同步",
"memorySyncSuccess": "同步完成:源条目 {fsCount} 条,修复 {restoredCount} 条,索引现有 {storageCount} 条。",
"memorySyncFailed": "手动同步失败",
"memorySourceDir": "记忆目录",
"memoryOverviewPath": "概览文件",
"memoryMarkdownFiles": "Markdown 文件数",
"memorySourceEntries": "源条目数",
"memoryIndexedEntries": "索引条目数",
"memoryQdrantCollection": "Qdrant Collection",
"memoryEncoderHealth": "Sparse Encoder",
"memoryDenseEmbeddingHealth": "Embedding 后端",
"memoryQdrantHealth": "Qdrant",
"memoryHealthOk": "正常",
"memoryHealthUnavailable": "暂不可用",
"ttsModel": "语音合成模型",
"ttsModelPlaceholder": "选择语音合成模型",
"language": "语言",
"reasoningEnabled": "启用推理",
"reasoningEffort": "推理等级",
"reasoningEffortNone": "无",
"reasoningEffortLow": "低",
"reasoningEffortMedium": "中",
"reasoningEffortHigh": "高",
"reasoningEffortXHigh": "超高",
"heartbeatEnabled": "启用心跳",
"heartbeatDescription": "定期触发 Agent 检查是否有需要关注的事项",
"heartbeatInterval": "心跳间隔(分钟)",
"heartbeatModel": "心跳模型",
"heartbeatModelDescription": "选择心跳检查使用的模型,未设置时默认使用聊天模型。",
"heartbeatModelPlaceholder": "使用聊天模型(默认)",
"compactionEnabled": "启用上下文压缩",
"compactionDescription": "上下文过大时自动摘要旧消息以节省 token",
"compactionThreshold": "压缩阈值(输入 token 数)",
"compactionRatio": "压缩比例(%",
"compactionRatioDescription": "压缩较旧消息的百分比,剩余的最近消息保持原始完整度。",
"compactionModel": "压缩模型",
"compactionModelDescription": "选择用于摘要的模型,未设置时默认使用聊天模型。",
"compactionModelPlaceholder": "使用聊天模型(默认)",
"browserContext": "浏览器上下文",
"browserContextPlaceholder": "选择浏览器上下文(未配置时不启用)",
"allowGuest": "ACL 默认行为",
"allowGuestPersonalHint": "ACL 规则适用于所有类型的 Bot。",
"loopDetectionTitle": "自动检测并阻止模型循环输出",
"searchModel": "搜索模型…",
"noModel": "暂无可选模型",
"saveSuccess": "设置已保存",
"save": "保存设置",
"dangerZone": "危险操作",
"deleteBotDescription": "删除此 Bot 后无法恢复,请谨慎操作。",
"deleteBot": "删除 Bot"
},
"access": {
"title": "访问控制",
"subtitle": "按优先级排序的规则控制谁可以触发此 Bot 的聊天。首条匹配规则生效;无规则匹配时采用默认行为。",
"defaultEffectTitle": "默认行为",
"defaultEffectDescription": "当没有规则匹配入站消息时应用此策略。",
"defaultEffectSaved": "默认行为已更新",
"effectAllow": "允许",
"effectDeny": "拒绝",
"rulesTitle": "规则",
"rulesDescription": "拖动左侧手柄调整顺序。数字越小越先评估,首条匹配规则的行为生效。",
"addRule": "添加规则",
"editRule": "编辑规则",
"rulesEmpty": "暂无规则",
"rulesEmptyDescription": "添加规则以在默认行为之外控制访问。",
"priority": "优先级",
"priorityPlaceholder": "例如 100",
"dragToReorder": "拖动排序",
"rulesReordered": "规则顺序已更新",
"reorderFailed": "更新规则顺序失败",
"enabled": "启用",
"effect": "行为",
"subjectKind": "主体",
"subjectAll": "所有人",
"subjectChannelType": "平台类型",
"subjectChannelIdentity": "身份",
"subjectAllLabel": "所有人",
"subjectChannelTypeLabel": "{channel} 平台用户",
"channelType": "平台类型",
"channelTypePlaceholder": "输入平台类型(如 telegram",
"identitySelector": "平台身份",
"selectIdentity": "搜索并选择平台身份",
"searchIdentity": "搜索平台身份",
"noIdentityCandidates": "暂无可选平台身份",
"description": "描述",
"descriptionPlaceholder": "可选备注",
"deleteConfirmTitle": "删除规则",
"deleteConfirmDescription": "确定要删除此规则吗?",
"ruleSaved": "规则已保存",
"saveFailed": "保存失败",
"deleteSuccess": "规则已删除",
"deleteFailed": "删除规则失败",
"sourceScopeTitle": "来源范围",
"sourceScopeDescription": "可选地将规则限制到某个平台、会话类型或指定会话/线程。",
"sourceChannel": "来源平台",
"anyChannel": "任意平台",
"conversationType": "会话类型",
"anyConversationType": "任意会话类型",
"privateConversationType": "私聊",
"groupConversationType": "群聊",
"threadConversationType": "线程",
"conversationSource": "会话",
"conversationSourceDescription": "按名称、平台或会话 ID 搜索。列表为本 Bot 曾出现过的群聊/线程路由:选「平台身份」时按该身份筛选;选「平台类型」时按该平台上的全部会话。",
"selectConversationSource": "搜索或选择会话",
"searchConversationSource": "搜索会话",
"noObservedConversations": "暂无符合的历史会话。可手动填写 ID,或确认该 Bot 在对应会话中已有消息(含私聊)。",
"manualConversationIds": "手动填写会话 ID",
"manualConversationIdsHint": "若列表中没有目标会话,请从平台复制原始会话 ID、线程 ID。",
"pickIdentityForConversationSearch": "请先在上方选择平台身份,才能按历史记录搜索会话。",
"pickChannelTypeForConversationSearch": "请先在上方填写或选择平台类型,才能按该平台上的历史会话搜索。",
"conversationIdManualHint": "当前仅能手动填写。搜索会话需先选择平台身份。",
"conversationId": "会话 ID",
"conversationIdPlaceholder": "输入会话 ID",
"threadId": "线程 ID",
"threadIdPlaceholder": "输入线程 ID",
"clearScope": "清空范围",
"lastObserved": "最近出现"
},
"channels": {
"title": "平台",
"addChannel": "添加平台",
"selectType": "选择平台类型",
"configured": "已配置",
"notConfigured": "未配置",
"emptyTitle": "暂无平台",
"emptyDescription": "点击下方按钮为 Bot 添加接入平台",
"credentials": "凭据配置",
"saveSuccess": "平台配置已保存",
"saveFailed": "平台配置保存失败",
"requiredField": "{field} 为必填项",
"save": "保存平台配置",
"statusActive": "启用",
"statusInactive": "停用",
"actionEnable": "启用",
"actionDisable": "停用",
"saveOnly": "仅保存",
"saveAndEnable": "立即启用",
"copyFailed": "复制失败",
"deleteConfirm": "确定要移除这个平台吗?",
"deleteSuccess": "平台已移除",
"deleteFailed": "移除平台失败",
"webhookCallback": "WebHook 回调地址",
"webhookCallbackHint": "将该地址配置到飞书/Lark 事件订阅的请求 URL。",
"webhookCallbackPending": "保存平台配置后会生成回调地址。",
"showSecretField": "显示{field}",
"hideSecretField": "隐藏{field}",
"feishuWebhookSecurityHint": "出于安全考虑,Webhook 模式必须配置 Encrypt Key 或 Verification Token 之一;未受保护的回调地址不应直接暴露在公网上。",
"feishuWebhookSecretRequired": "出于安全考虑,请至少配置 Encrypt Key 或 Verification Token 之一。",
"noAvailableTypes": "所有平台类型均已配置",
"weixinQr": {
"title": "扫码登录",
"description": "使用微信扫描二维码以连接微信账号。",
"startScan": "获取二维码",
"waitingScan": "打开微信扫描此二维码",
"scanned": "已扫码 — 请在手机上确认",
"expired": "二维码已过期",
"refresh": "刷新二维码",
"success": "微信连接成功!",
"retry": "重试"
},
"types": {
"feishu": "飞书",
"discord": "Discord",
"qq": "QQ",
"matrix": "Matrix",
"telegram": "Telegram",
"weixin": "微信",
"web": "Web",
"local": "本地"
},
"typesShort": {
"feishu": "飞",
"discord": "DC",
"qq": "QQ",
"matrix": "MX",
"telegram": "TG",
"weixin": "WX",
"web": "Web",
"local": "CLI"
}
},
"memory": {
"title": "所忆皆在此间",
"files": "记忆文件",
"empty": "暂无记忆条目",
"searchPlaceholder": "搜索记忆...",
"newMemory": "新建记忆",
"compact": "压缩记忆",
"compactConfirm": "确定要压缩记忆吗?这会通过 AI 合并相似内容,可能会减少记忆条目数量。",
"compactRatio": "压缩率",
"compactRatioLight": "轻度 (0.8)",
"compactRatioMedium": "中度 (0.5)",
"compactRatioAggressive": "重度 (0.3)",
"compactRatioLightDesc": "保留大部分细节,主要是去重。",
"compactRatioMediumDesc": "合并相似事实,平衡压缩。",
"compactRatioAggressiveDesc": "深度整合,仅保留核心事实。",
"compactDecayDate": "以此日期之前的记忆会被优先压缩",
"compactSuccess": "记忆压缩成功",
"compactFailed": "记忆压缩失败",
"selectConversation": "选择对话",
"fromConversation": "从已有对话创建",
"noConversations": "暂无历史对话",
"idCopied": "ID 已复制",
"deleteConfirm": "确定要删除这条记忆吗?此操作无法撤销。"
},
"skills": {
"title": "技能",
"addSkill": "新建技能",
"emptyTitle": "暂无技能",
"emptyDescription": "点击上方按钮创建新技能",
"description": "描述",
"descriptionPlaceholder": "输入技能描述",
"content": "内容",
"contentPlaceholder": "输入技能内容/提示词",
"deleteConfirm": "确定要删除这个技能吗?",
"deleteSuccess": "技能已删除",
"deleteFailed": "删除技能失败",
"saveSuccess": "技能已保存",
"saveFailed": "保存技能失败",
"loadFailed": "加载技能失败"
},
"compaction": {
"title": "压缩记录",
"loadFailed": "加载压缩记录失败",
"empty": "暂无压缩记录",
"clearLogs": "清空记录",
"clearConfirm": "确定要清空所有压缩记录吗?此操作不可撤销。",
"clearSuccess": "压缩记录已清空",
"clearFailed": "清空压缩记录失败",
"status": "状态",
"time": "时间",
"duration": "耗时",
"error": "错误",
"statusOk": "成功",
"statusPending": "进行中",
"statusError": "错误",
"filterAll": "全部"
},
"heartbeat": {
"title": "心跳日志",
"loadFailed": "加载心跳日志失败",
"empty": "暂无心跳日志",
"clearLogs": "清空日志",
"clearConfirm": "确定要清空所有心跳日志吗?此操作不可撤销。",
"clearSuccess": "心跳日志已清空",
"clearFailed": "清空心跳日志失败",
"status": "状态",
"time": "时间",
"duration": "耗时",
"result": "结果",
"error": "错误",
"statusOk": "正常",
"statusAlert": "告警",
"statusError": "错误",
"filterAll": "全部",
"noResult": "—"
},
"schedule": {
"title": "定时任务",
"loadFailed": "加载定时任务失败",
"empty": "暂无定时任务",
"name": "名称",
"pattern": "表达式",
"enabled": "启用",
"calls": "调用次数",
"createdAt": "创建时间",
"updatedAt": "更新时间",
"statusEnabled": "已启用",
"statusDisabled": "已禁用",
"unlimited": "无限制"
},
"history": {
"title": "对话历史",
"loadFailed": "加载历史消息失败",
"empty": "暂无历史消息",
"messageCount": "{count} 条消息",
"selectAll": "全选",
"deleteSelectedConfirm": "确定要删除选中的 {count} 条消息吗?此操作将清空所有历史记录,且无法撤销。",
"deleteSuccess": "消息已删除",
"deleteFailed": "删除消息失败",
"role": {
"user": "用户",
"assistant": "助手",
"tool": "工具",
"system": "系统"
},
"filter": "按角色筛选",
"filterAll": "全部",
"expandContent": "展开",
"collapseContent": "收起"
}
},
"usage": {
"title": "用量统计",
"selectBot": "选择 Bot",
"selectBotPlaceholder": "选择一个 Bot 查看用量",
"timeRange": "时间范围",
"last7Days": "最近 7 天",
"last30Days": "最近 30 天",
"last90Days": "最近 90 天",
"noData": "所选时间段内无用量数据",
"loadFailed": "加载 Token 用量失败",
"totalInputTokens": "总输入 Tokens",
"totalOutputTokens": "总输出 Tokens",
"avgCacheHitRate": "平均缓存命中率",
"totalReasoningTokens": "总推理 Tokens",
"dailyTokens": "每日 Token 用量",
"cacheBreakdown": "缓存分布",
"cacheHitRate": "缓存命中率",
"chatInput": "对话输入",
"chatOutput": "对话输出",
"heartbeatInput": "心跳输入",
"heartbeatOutput": "心跳输出",
"scheduleInput": "定时任务输入",
"scheduleOutput": "定时任务输出",
"totalInput": "总输入",
"totalOutput": "总输出",
"cacheRead": "缓存读取",
"cacheWrite": "缓存写入",
"noCache": "无缓存",
"tokens": "Tokens",
"date": "日期",
"modelDistribution": "模型用量分布",
"filterByModel": "按模型筛选",
"allModels": "全部模型",
"sessionType": "会话类型",
"allTypes": "全部类型",
"chat": "对话",
"heartbeat": "心跳",
"schedule": "定时任务",
"inputTokens": "输入 Tokens",
"outputTokens": "输出 Tokens",
"dateFrom": "开始日期",
"dateTo": "结束日期",
"chartPie": "饼图",
"chartBar": "柱状图"
},
"supermarket": {
"title": "市场",
"searchPlaceholder": "搜索 MCP 和 Skills...",
"mcpSection": "MCP 服务",
"skillsSection": "Skills",
"noResults": "未找到结果",
"noMcpResults": "未找到 MCP 服务",
"noSkillResults": "未找到 Skill",
"install": "安装",
"installToBot": "安装到 Bot",
"selectBot": "选择 Bot",
"selectBotPlaceholder": "选择要安装到的 Bot...",
"envVariables": "环境变量",
"envDescription": "配置所需的环境变量",
"installSuccess": "安装成功",
"installFailed": "安装失败",
"installing": "安装中...",
"filterByTag": "按标签筛选: {tag}",
"clearFilter": "清除筛选",
"allTags": "所有标签",
"author": "作者",
"transport": "传输协议",
"homepage": "主页",
"files": "文件",
"viewDetails": "查看详情",
"mcpInstallTitle": "安装 MCP 服务",
"skillInstallTitle": "安装 Skill",
"loadError": "从市场加载失败",
"submit": "提交"
}
}