mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-06-13 22:34:06 +00:00
* feat(desktop): add native host scaffold * feat(webui): track turns and usage in gateway * feat(webui): polish desktop chat experience * feat(apps): add ArcGIS and Joplin logos * feat(desktop): polish shell and shared surfaces * fix(webui): avoid preview chips for glob references * test: align CI expectations for token fallback * feat(webui): preview prompt rail entries * feat(webui): add prompt navigator drawer * style(webui): refine prompt navigator placement * style(webui): align prompt navigator with header actions * style(webui): simplify prompt navigator header * refactor(webui): clean thread resource refresh * feat(desktop): add native reply notifications * fix(webui): preserve desktop restart and replay state * fix(desktop): harden gateway proxy startup * fix(web): fall back when readability is unavailable * fix(desktop): hide window instead of closing on macos * fix(webui): unify desktop header actions * fix(webui): simplify prompt history rows * fix(desktop): log notification delivery failures * chore(desktop): clean source package artifacts * fix(cron): support one-time relative reminders * fix(webui): reveal scroll button in place * Revert "fix(cron): support one-time relative reminders" This reverts commit 4c4661da120a3c7283e0768412bae48604e7390b. * refactor(webui): extract token usage heatmap * docs(desktop): clarify contributor guides --------- Co-authored-by: chengyongru <2755839590@qq.com>
867 lines
32 KiB
JSON
867 lines
32 KiB
JSON
{
|
||
"app": {
|
||
"brand": "nanobot",
|
||
"loading": {
|
||
"connecting": "正在连接 nanobot…",
|
||
"boot": "正在加载 nanobot…"
|
||
},
|
||
"error": {
|
||
"title": "无法连接到 nanobot",
|
||
"gatewayHint": "请确认 gateway 已启动(`nanobot gateway`),并且当前页面与 gateway 运行在同一台机器上。"
|
||
},
|
||
"auth": {
|
||
"title": "需要验证",
|
||
"hint": "请输入 gateway 配置中的 tokenIssueSecret。",
|
||
"placeholder": "密码",
|
||
"submit": "连接",
|
||
"invalid": "密码无效,请重试。"
|
||
},
|
||
"account": {
|
||
"section": "账户",
|
||
"logoutHint": "断开此浏览器与 gateway 的连接。",
|
||
"logout": "退出登录"
|
||
},
|
||
"system": {
|
||
"section": "系统",
|
||
"restartHint": "重启 nanobot 以应用运行时更改。",
|
||
"restart": "重启 nanobot",
|
||
"restarting": "正在重启...",
|
||
"restartEngine": "重启引擎",
|
||
"restartingEngine": "正在重启引擎..."
|
||
},
|
||
"restart": {
|
||
"completed": "重启已完成,用时 {{seconds}} 秒。"
|
||
},
|
||
"documentTitle": {
|
||
"base": "nanobot",
|
||
"chat": "{{title}} · nanobot"
|
||
},
|
||
"meta": {
|
||
"description": "nanobot Web UI —— 与你的 nanobot 工作区对话。"
|
||
}
|
||
},
|
||
"sidebar": {
|
||
"navigation": "侧边栏导航",
|
||
"collapse": "收起侧边栏",
|
||
"newChat": "新建对话",
|
||
"searchAria": "搜索",
|
||
"searchPlaceholder": "搜索",
|
||
"searchResults": "搜索结果",
|
||
"noSearchResults": "没有匹配的会话。",
|
||
"recent": "最近对话",
|
||
"settings": "设置",
|
||
"language": {
|
||
"label": "语言",
|
||
"ariaLabel": "切换语言"
|
||
},
|
||
"apps": "应用",
|
||
"skills": {
|
||
"title": "技能"
|
||
}
|
||
},
|
||
"settings": {
|
||
"backToChat": "返回聊天",
|
||
"sidebar": {
|
||
"title": "设置",
|
||
"ariaLabel": "设置分区"
|
||
},
|
||
"nav": {
|
||
"general": "通用",
|
||
"byok": "BYOK",
|
||
"overview": "概览",
|
||
"appearance": "外观",
|
||
"models": "模型",
|
||
"providers": "提供商",
|
||
"image": "图片",
|
||
"browser": "网页",
|
||
"cliApps": "CLI 应用",
|
||
"mcp": "MCP",
|
||
"runtime": "系统",
|
||
"advanced": "安全",
|
||
"apps": "应用",
|
||
"skills": "技能"
|
||
},
|
||
"sections": {
|
||
"interface": "界面",
|
||
"ai": "AI",
|
||
"system": "系统",
|
||
"status": "状态",
|
||
"localPreferences": "本地偏好",
|
||
"presets": "预设",
|
||
"imageGeneration": "图片生成",
|
||
"imageDefaults": "默认值",
|
||
"webSearch": "网页搜索",
|
||
"webBehavior": "行为",
|
||
"cliApps": "CLI 应用",
|
||
"mcp": "MCP 服务",
|
||
"identity": "身份",
|
||
"webuiSafety": "WebUI 安全",
|
||
"capabilities": "能力",
|
||
"apps": "应用",
|
||
"nativeHost": "原生宿主",
|
||
"hostSafety": "应用安全"
|
||
},
|
||
"models": {
|
||
"selectModel": "选择模型",
|
||
"addConfiguration": "添加配置",
|
||
"newConfiguration": "新建模型配置",
|
||
"newConfigurationHelp": "把提供商和模型保存成一键选项。",
|
||
"configurationName": "配置名称",
|
||
"configurationNameHelp": "重命名这个已保存的模型配置。",
|
||
"configurationNamePlaceholder": "快速写作",
|
||
"searchModels": "搜索或输入模型 ID",
|
||
"useCustomModel": "使用",
|
||
"loadingModels": "正在加载模型...",
|
||
"searchCatalog": "搜索提供商目录来选择模型。",
|
||
"modelsAvailable": "可用",
|
||
"noModelResults": "没有匹配的模型。",
|
||
"loadFailed": "模型列表不可用。",
|
||
"unsupportedModelList": "手动输入模型 ID。",
|
||
"providerNotConfigured": "加载模型前请先配置此提供商。",
|
||
"autoProviderCustomOnly": "自动提供商模式使用自定义模型 ID。"
|
||
},
|
||
"rows": {
|
||
"theme": "主题",
|
||
"language": "语言",
|
||
"provider": "提供商",
|
||
"model": "模型",
|
||
"restart": "重启 nanobot",
|
||
"configPath": "配置路径",
|
||
"activePreset": "当前预设",
|
||
"gateway": "网关",
|
||
"restartState": "重启状态",
|
||
"pendingChanges": "待应用更改",
|
||
"currentModel": "当前配置",
|
||
"selectedPreset": "选中的预设",
|
||
"presetModel": "预设模型",
|
||
"density": "密度",
|
||
"activityMode": "活动详情",
|
||
"codeWrap": "代码换行",
|
||
"brandLogos": "品牌 Logo",
|
||
"maxResults": "最大结果数",
|
||
"timeout": "超时",
|
||
"jinaReader": "Jina 阅读器",
|
||
"imageGeneration": "图片生成",
|
||
"imageProvider": "图片提供商",
|
||
"imageProviderStatus": "提供商状态",
|
||
"imageProviderBase": "提供商地址",
|
||
"imageModel": "图片模型",
|
||
"defaultAspectRatio": "默认比例",
|
||
"defaultImageSize": "默认尺寸",
|
||
"maxImagesPerTurn": "每轮最大图片数",
|
||
"imageSaveDir": "保存目录",
|
||
"botName": "Bot 名称",
|
||
"botIcon": "Bot 图标",
|
||
"timezone": "时区",
|
||
"workspacePath": "默认工作区",
|
||
"localServiceAccess": "本机服务",
|
||
"webuiDefaultAccess": "默认权限",
|
||
"cliAppsCatalog": "目录",
|
||
"cliAppsFilter": "筛选",
|
||
"engine": "引擎",
|
||
"logs": "日志",
|
||
"diagnostics": "诊断",
|
||
"contextWindow": "上下文窗口"
|
||
},
|
||
"help": {
|
||
"theme": "在浅色和深色外观之间切换。",
|
||
"language": "选择 WebUI 使用的语言。",
|
||
"provider": "选择处理新模型请求的提供商。",
|
||
"model": "设置 nanobot 默认使用的模型名称。",
|
||
"configPath": "当前网关正在使用的配置文件。",
|
||
"currentModel": "用于新的回复。",
|
||
"selectedModelProvider": "由选中的模型决定。",
|
||
"selectedModelValue": "由选中的模型决定。",
|
||
"selectedPreset": "命名预设在这里只读;请在 config.json 中编辑。",
|
||
"presetModel": "切回 Default 后可在 WebUI 中编辑模型和提供商。",
|
||
"density": "只保存在此浏览器中。",
|
||
"activityMode": "选择默认显示多少 agent 活动细节。",
|
||
"codeWrap": "让长代码行在小屏幕上也易读。",
|
||
"brandLogos": "在设置中显示第三方提供商和 CLI 图标。",
|
||
"maxResults": "每次 web_search 调用返回的结果数。",
|
||
"timeout": "搜索提供商请求超时前的秒数。",
|
||
"jinaReader": "可用时为 web_fetch 使用 Jina Reader。",
|
||
"imageGeneration": "配置图片提供商后,在聊天中开放 generate_image。",
|
||
"imageProvider": "选择 generate_image 使用的注册提供商。",
|
||
"imageProviderStatus": "图片生成会复用「提供商」里的凭据。",
|
||
"imageModel": "发送给所选图片提供商的模型名称。",
|
||
"defaultAspectRatio": "当提示词没有指定比例时使用。",
|
||
"defaultImageSize": "发送给支持此选项的提供商的尺寸提示。",
|
||
"maxImagesPerTurn": "单次 generate_image 请求可生成的图片上限。",
|
||
"botName": "显示在 nanobot 使用展示名称的地方。",
|
||
"botIcon": "显示在 Bot 名称旁的短 emoji 或文字。",
|
||
"timezone": "用于日程和需要时间感知的回复。",
|
||
"cliAppsCatalog": "只安装 nanobot 可本地运行的应用 CLI 适配器;不会改动原生应用。",
|
||
"cliAppsFilter": "按应用、类别或能力搜索。",
|
||
"localServiceAccess": "允许完全访问权限下的 shell 命令访问 localhost 服务。",
|
||
"webuiDefaultAccess": "用于没有单独项目权限的 Web 聊天。",
|
||
"securityManagedControls": "网页抓取始终保护本机、内网和元数据服务。核心渠道安全仍由 config.json 管理。",
|
||
"logs": "打开原生引擎日志文件夹。",
|
||
"diagnostics": "导出一份用于支持排查的小型运行报告。",
|
||
"localServiceAccessNative": "允许完全访问权限下的 shell 命令访问这台 Mac 上的服务。",
|
||
"webuiDefaultAccessNative": "用于没有单独项目权限的原生聊天。",
|
||
"contextWindow": "选择此模型配置的默认上下文预算。"
|
||
},
|
||
"timezone": {
|
||
"select": "选择时区",
|
||
"search": "搜索时区",
|
||
"empty": "没有匹配的时区。"
|
||
},
|
||
"cliApps": {
|
||
"allCategories": "全部分类",
|
||
"availableCount": "{{count}} 个应用",
|
||
"installedCount": "已安装 {{count}} 个 CLI",
|
||
"summary": "CLI 已安装 {{installed}} / {{total}}",
|
||
"filterAll": "全部",
|
||
"filterInstalled": "已装 CLI",
|
||
"filterNotInstalled": "未装 CLI",
|
||
"searchPlaceholder": "搜索 CLI",
|
||
"loading": "正在加载 CLI 应用...",
|
||
"empty": "没有匹配的 CLI 应用。",
|
||
"statusInstalled": "CLI 已安装",
|
||
"statusMissing": "缺失",
|
||
"statusAvailable": "可用",
|
||
"statusUnsupported": "暂不支持",
|
||
"statusNotInstalled": "CLI 未安装",
|
||
"requires": "依赖",
|
||
"test": "测试 CLI",
|
||
"update": "更新 CLI",
|
||
"uninstall": "卸载 CLI",
|
||
"install": "安装 CLI",
|
||
"readyTitle": "@{{name}} 已就绪",
|
||
"readyStatus": "就绪",
|
||
"readyTry": "试试 @{{name}}",
|
||
"readyCopied": "已复制",
|
||
"readyPrompt": "用 @{{name}} 看看这个 CLI 能做什么。",
|
||
"openChat": "回到对话",
|
||
"unsupported": "暂不支持",
|
||
"unavailable": "不可用",
|
||
"noDescription": "暂无描述。"
|
||
},
|
||
"mcp": {
|
||
"allCategories": "全部分类",
|
||
"summary": "已启用 {{installed}} / {{total}} 个预设",
|
||
"filterAll": "全部",
|
||
"filterInstalled": "已启用",
|
||
"filterNotInstalled": "未启用",
|
||
"searchPlaceholder": "搜索 MCP 预设",
|
||
"moreOptions": "更多 MCP 选项",
|
||
"moreOptionsSubtitle": "添加自定义服务,或导入 mcp.json。",
|
||
"customTitle": "自定义 MCP",
|
||
"customSubtitle": "添加任意 stdio、HTTP 或 SSE MCP 服务。",
|
||
"customAction": "自定义",
|
||
"importAction": "导入",
|
||
"serverName": "服务名",
|
||
"serverUrl": "URL",
|
||
"transport": "传输方式",
|
||
"command": "命令",
|
||
"args": "Args JSON",
|
||
"headers": "Headers JSON",
|
||
"env": "Env JSON",
|
||
"timeout": "工具超时",
|
||
"advancedOptions": "高级选项",
|
||
"hideAdvanced": "收起高级",
|
||
"saveCustom": "保存 MCP",
|
||
"configImport": "导入 mcp.json",
|
||
"importConfig": "导入",
|
||
"restartRequired": "重启 nanobot 以连接更新后的 MCP 工具。",
|
||
"toolsFound": "{{count}} 个工具",
|
||
"loading": "正在加载 MCP 预设...",
|
||
"empty": "没有匹配的 MCP 预设。",
|
||
"openDocs": "打开文档",
|
||
"test": "测试",
|
||
"remove": "移除",
|
||
"enable": "启用",
|
||
"enabled": "已启用",
|
||
"setup": "连接",
|
||
"configure": "连接",
|
||
"connectTitle": "连接 {{name}}",
|
||
"connectHint": "填入你账户里的 key。",
|
||
"saveAndEnable": "保存并启用",
|
||
"updateSetup": "更新配置",
|
||
"configured": "已配置",
|
||
"keepExisting": "留空则保留当前值",
|
||
"statusConfigured": "已配置",
|
||
"statusMissingCredentials": "需要 key",
|
||
"statusMissingDependency": "缺少依赖",
|
||
"statusComingSoon": "暂不支持",
|
||
"statusNotInstalled": "未启用",
|
||
"toolScope": "工具",
|
||
"allTools": "全部",
|
||
"noTools": "不暴露",
|
||
"testForTools": "运行测试后,可以查看并选择单个工具。"
|
||
},
|
||
"values": {
|
||
"light": "浅色",
|
||
"dark": "深色",
|
||
"notAvailable": "不可用",
|
||
"enabled": "已启用",
|
||
"disabled": "已禁用",
|
||
"restartPending": "等待重启",
|
||
"ready": "就绪",
|
||
"privateEngine": "私有引擎",
|
||
"unixSocket": "Unix socket",
|
||
"defaultWorkspace": "默认工作区",
|
||
"comfortable": "舒适",
|
||
"compact": "紧凑",
|
||
"auto": "自动",
|
||
"expanded": "展开",
|
||
"on": "开启",
|
||
"off": "关闭",
|
||
"defaultPermission": "默认权限",
|
||
"fullAccess": "完全访问权限",
|
||
"configured": "已配置",
|
||
"notConfigured": "未配置",
|
||
"pending": "等待中",
|
||
"restartingEngine": "正在重启"
|
||
},
|
||
"status": {
|
||
"loading": "正在加载设置...",
|
||
"loadError": "无法加载设置",
|
||
"unsaved": "有未保存的更改。",
|
||
"upToDate": "已是最新。",
|
||
"savedRestart": "已保存。重启 nanobot 后生效。",
|
||
"restartAfterSaving": "保存更改后,在合适时重启。",
|
||
"savedRestartApply": "已保存。准备好后重启。",
|
||
"imageProviderRestart": "图片提供商更改已保存。准备好后重启。",
|
||
"hostRestartAfterSaving": "保存后 nanobot 会重启引擎。",
|
||
"hostRestartPending": "已保存。准备好后会重启引擎。",
|
||
"hostApiUnavailable": "宿主操作仅在原生应用中可用。",
|
||
"logsOpened": "已打开日志文件夹。",
|
||
"logsOpenFailed": "无法打开日志文件夹。",
|
||
"diagnosticsExported": "诊断已导出到 {{path}}。",
|
||
"diagnosticsExportFailed": "无法导出诊断。"
|
||
},
|
||
"actions": {
|
||
"save": "保存",
|
||
"saving": "正在保存",
|
||
"edit": "编辑",
|
||
"cancel": "取消",
|
||
"open": "打开",
|
||
"export": "导出",
|
||
"opening": "正在打开...",
|
||
"exporting": "正在导出..."
|
||
},
|
||
"byok": {
|
||
"description": "自带服务商密钥。Nanobot 会从当前 config 读取这些值,只有已配置的服务商才能在通用设置里选择。",
|
||
"configured": "已配置",
|
||
"notConfigured": "未配置",
|
||
"configuredSection": "已配置",
|
||
"notConfiguredSection": "未配置",
|
||
"showMore": "再显示 {{count}} 个",
|
||
"showLess": "收起",
|
||
"apiKey": "API key",
|
||
"apiBase": "API base",
|
||
"apiKeyPlaceholder": "输入 API key",
|
||
"apiKeyConfiguredPlaceholder": "留空则保留当前 key",
|
||
"configuredKeyHint": "已配置的 key",
|
||
"apiBasePlaceholder": "使用服务商默认地址",
|
||
"apiKeyRequired": "需要 API key 才能配置此服务商。",
|
||
"showApiKey": "显示 API key",
|
||
"hideApiKey": "隐藏 API key",
|
||
"noConfiguredProviders": "没有已配置的服务商",
|
||
"configureFirst": "请先在 BYOK 里配置服务商。",
|
||
"openByok": "打开 BYOK",
|
||
"tabs": {
|
||
"ariaLabel": "BYOK 凭证类型",
|
||
"llm": "LLM",
|
||
"webSearch": "网页搜索"
|
||
},
|
||
"webSearch": {
|
||
"provider": "搜索服务商",
|
||
"providerHelp": "选择网页搜索工具使用的后端。",
|
||
"selectProvider": "选择服务商",
|
||
"credentials": "凭证",
|
||
"noCredentialRequired": "无需 key",
|
||
"noCredentialHelp": "DuckDuckGo 不需要保存 API key。",
|
||
"apiKeyHelp": "保存到 config 后只显示掩码提示。",
|
||
"baseUrl": "Base URL",
|
||
"baseUrlHelp": "SearXNG 需要你自己的实例地址。",
|
||
"baseUrlPlaceholder": "https://search.example.com",
|
||
"apiKeyRequired": "这个搜索服务商需要 API key。",
|
||
"baseUrlRequired": "SearXNG 需要 Base URL。",
|
||
"missingCredential": "填写所需凭证后才能保存。",
|
||
"saveHint": "改动会应用到新的网页搜索请求。"
|
||
}
|
||
},
|
||
"overview": {
|
||
"model": "当前模型",
|
||
"providers": "提供商",
|
||
"configuredCount": "已配置 {{count}} 个",
|
||
"totalProviders": "共 {{count}} 个可用",
|
||
"webSearch": "网页搜索",
|
||
"imageGeneration": "图片生成",
|
||
"workspace": "工作区"
|
||
},
|
||
"usage": {
|
||
"title": "Token 活动",
|
||
"shortTitle": "Token Usage",
|
||
"subtitle": "最近 12 个月由提供商上报的 token 用量。",
|
||
"empty": "新的模型回复产生后,这里会显示 token 活动。",
|
||
"totalTokens": "累计 Token 数",
|
||
"peakTokens": "峰值 Token 数",
|
||
"thirtyDayTokens": "30 天 Token 数",
|
||
"currentStreak": "当前连续天数",
|
||
"longestStreak": "最长连续天数",
|
||
"daysValue": "{{count}} 天",
|
||
"last30": "30 天",
|
||
"activeDays": "活跃天数",
|
||
"requests": "请求数",
|
||
"estimated": "估算",
|
||
"includesEstimates": "包含估算",
|
||
"cellTitle": "{{date}}:{{tokens}} tokens,{{requests}} 次请求",
|
||
"sources": {
|
||
"user": "对话",
|
||
"api": "API",
|
||
"cron": "自动任务",
|
||
"dream": "记忆整理",
|
||
"system": "系统"
|
||
}
|
||
},
|
||
"providers": {
|
||
"searchPlaceholder": "搜索提供商",
|
||
"noMatches": "没有匹配的提供商。",
|
||
"saveProvider": "保存提供商"
|
||
},
|
||
"legal": {
|
||
"thirdPartyBrands": "产品名称、Logo 和品牌归各自所有者所有;此处仅用于识别,不代表背书或合作。"
|
||
},
|
||
"image": {
|
||
"selectProvider": "选择提供商",
|
||
"selectAspect": "选择比例",
|
||
"selectSize": "选择尺寸",
|
||
"configureProvider": "配置提供商",
|
||
"missingCredential": "启用图片生成前请先配置此提供商。"
|
||
},
|
||
"apps": {
|
||
"description": "添加 nanobot 可在聊天中使用的 App CLI 和 MCP 服务。",
|
||
"cliLabel": "CLI",
|
||
"mcpLabel": "MCP",
|
||
"filterAll": "全部",
|
||
"filterCli": "CLI 应用",
|
||
"filterMcp": "MCP 服务",
|
||
"enabledSummary": "已启用 {{count}} 个",
|
||
"caption": "{{cli}} 个 CLI · {{mcp}} 个 MCP",
|
||
"searchPlaceholder": "搜索应用",
|
||
"featured": "精选",
|
||
"loading": "正在加载应用...",
|
||
"empty": "没有匹配的应用。"
|
||
},
|
||
"oauth": {
|
||
"authentication": "OAuth 认证",
|
||
"signIn": "登录",
|
||
"signingIn": "登录中...",
|
||
"signInAgain": "重新登录",
|
||
"signOut": "退出登录",
|
||
"signedInAs": "已登录为 {{account}}",
|
||
"signInHelp": "从这台设备登录;不会在配置中保存 API key。",
|
||
"signInRequired": "需要登录",
|
||
"signInBeforeSaving": "将此 OAuth 提供商设为当前模型提供商前,请先登录。",
|
||
"signedIn": "已登录",
|
||
"notSignedIn": "未登录"
|
||
},
|
||
"skills": {
|
||
"description": "查看此 agent 在对话中可以加载的指令技能。",
|
||
"caption": "{{available}} 个可用 · 共 {{total}} 个",
|
||
"featured": "Agent 技能",
|
||
"empty": "暂无可用技能。",
|
||
"sourceWorkspace": "自定义",
|
||
"sourceBuiltin": "内置",
|
||
"statusAvailable": "可用",
|
||
"statusUnavailable": "不可用",
|
||
"unavailableReason": "缺少:{{reason}}",
|
||
"openDetails": "查看 {{name}} 详情",
|
||
"loadingDetail": "正在加载技能详情...",
|
||
"loadFailed": "无法加载技能详情。",
|
||
"descriptionTitle": "完整描述",
|
||
"source": "来源",
|
||
"status": "状态",
|
||
"requirements": "需求",
|
||
"noRequirements": "没有显式需求。",
|
||
"commands": "命令",
|
||
"environment": "环境变量",
|
||
"missingCommands": "缺 CLI",
|
||
"missingEnvironment": "缺 ENV",
|
||
"unavailableReasonLabel": "不可用原因",
|
||
"rawInstructions": "原始 SKILL.md",
|
||
"rawInstructionsEmpty": "没有原始说明。",
|
||
"detailDescription": "{{name}} 的详情。"
|
||
}
|
||
},
|
||
"chat": {
|
||
"fallbackTitle": "对话 {{id}}",
|
||
"loading": "加载中…",
|
||
"noSessions": "还没有会话。",
|
||
"showMore": "再显示 {{count}} 个",
|
||
"collapsed": "已折叠 {{count}} 个对话",
|
||
"showLess": "收起",
|
||
"actions": "“{{title}}” 的会话操作",
|
||
"newInProject": "在 {{project}} 中开始新对话",
|
||
"activity": {
|
||
"running": "Agent 正在运行",
|
||
"complete": "Agent 已完成"
|
||
},
|
||
"pin": "置顶",
|
||
"unpin": "取消置顶",
|
||
"rename": "重命名",
|
||
"renameTitle": "重命名对话",
|
||
"renameDescription": "为这个对话设置一个仅用于 WebUI 侧边栏的名称。",
|
||
"renamePlaceholder": "对话名称",
|
||
"renameProjectTitle": "重命名项目",
|
||
"renameProjectDescription": "为这个项目设置一个仅用于 WebUI 侧边栏的名称。",
|
||
"renameProjectPlaceholder": "项目名称",
|
||
"renameSave": "保存",
|
||
"archive": "归档",
|
||
"unarchive": "取消归档",
|
||
"showArchived": "显示归档",
|
||
"hideArchived": "隐藏归档",
|
||
"delete": "删除",
|
||
"newChat": "新建对话",
|
||
"groups": {
|
||
"pinned": "置顶",
|
||
"all": "对话",
|
||
"projects": "项目",
|
||
"today": "今天",
|
||
"yesterday": "昨天",
|
||
"earlier": "更早",
|
||
"archived": "已归档"
|
||
}
|
||
},
|
||
"deleteConfirm": {
|
||
"title": "删除这个对话?",
|
||
"description": "此操作无法撤销。",
|
||
"cancel": "取消",
|
||
"confirm": "删除"
|
||
},
|
||
"connection": {
|
||
"idle": "空闲",
|
||
"connecting": "连接中…",
|
||
"open": "已连接",
|
||
"reconnecting": "重连中…",
|
||
"closed": "已断开",
|
||
"error": "连接出错"
|
||
},
|
||
"thread": {
|
||
"loadingConversation": "正在加载对话…",
|
||
"empty": {
|
||
"greetings": {
|
||
"workOn": "我们要一起做点什么?",
|
||
"start": "今天从哪里开始?",
|
||
"build": "今天一起构建什么?",
|
||
"tackle": "我们要一起解决什么?"
|
||
},
|
||
"quickActions": {
|
||
"plan": {
|
||
"title": "创建项目计划",
|
||
"prompt": "帮我为接下来要做的事情写一份简洁的项目计划。"
|
||
},
|
||
"analyze": {
|
||
"title": "分析这些数据",
|
||
"prompt": "帮我分析这些数据,并指出最重要的模式。"
|
||
},
|
||
"brainstorm": {
|
||
"title": "头脑风暴想法",
|
||
"prompt": "围绕这个问题头脑风暴几个实用方案,并说明取舍。"
|
||
},
|
||
"code": {
|
||
"title": "编写代码",
|
||
"prompt": "帮我为这个任务写代码,先从最小可用改动开始。"
|
||
},
|
||
"summarize": {
|
||
"title": "总结这份文档",
|
||
"prompt": "帮我总结这份文档,并列出关键要点。"
|
||
},
|
||
"more": {
|
||
"title": "更多",
|
||
"prompt": "展示几个你在这个工作区里可以帮我的实用方式。"
|
||
}
|
||
},
|
||
"imageQuickActions": {
|
||
"icon": {
|
||
"title": "设计应用图标",
|
||
"prompt": "生成一个干净的 1:1 nanobot 应用图标:友好的机器人,简洁矢量风格,蓝白柔和配色,不要文字。"
|
||
},
|
||
"sticker": {
|
||
"title": "制作贴纸",
|
||
"prompt": "生成一张可爱的贴纸风小机器人助手图片,背景像透明贴纸,表情活泼有趣。"
|
||
},
|
||
"poster": {
|
||
"title": "创建海报",
|
||
"prompt": "生成一张个人 AI 助手的精致海报概念图,现代构图,视觉层级清晰,适合落地页展示。"
|
||
},
|
||
"product": {
|
||
"title": "产品样机",
|
||
"prompt": "生成一张对话式 AI Web 应用的干净产品样机图,极简界面,高级光影,真实设备边框。"
|
||
},
|
||
"portrait": {
|
||
"title": "风格化头像",
|
||
"prompt": "生成一个友好的 AI 伙伴风格化头像,柔和光线,细节丰富但亲切,现代插画风格。"
|
||
},
|
||
"edit": {
|
||
"title": "编辑图片",
|
||
"prompt": "帮我编辑一张图片。先让我上传或指定要编辑的图片,然后生成编辑后的结果。"
|
||
}
|
||
}
|
||
},
|
||
"header": {
|
||
"toggleSidebar": "切换侧边栏",
|
||
"newChat": "从顶部新建对话",
|
||
"toggleTheme": "从顶部切换主题",
|
||
"settings": "打开设置",
|
||
"sessionInfo": "会话详情"
|
||
},
|
||
"sessionInfo": {
|
||
"title": "会话",
|
||
"untitled": "未命名对话",
|
||
"automations": "自动任务",
|
||
"count": "{{count}}",
|
||
"loading": "正在加载自动任务...",
|
||
"loadFailed": "无法加载自动任务。",
|
||
"empty": "这个会话暂时没有自动任务。",
|
||
"disabled": "已关闭",
|
||
"schedule": {
|
||
"at": "{{time}}",
|
||
"every": "每 {{duration}}",
|
||
"cron": "Cron {{expr}}",
|
||
"cronWithTz": "Cron {{expr}} · {{tz}}",
|
||
"unknown": "自定义计划"
|
||
},
|
||
"next": {
|
||
"label": "下次 {{time}}",
|
||
"disabled": "已暂停",
|
||
"none": "没有下次运行"
|
||
}
|
||
},
|
||
"composer": {
|
||
"placeholderThread": "输入消息…",
|
||
"placeholderHero": "问任何问题...",
|
||
"placeholderOpening": "正在打开新对话…",
|
||
"placeholderStreaming": "模型正在回复…",
|
||
"inputAria": "消息输入框",
|
||
"sendHint": "Enter 发送 · Shift+Enter 换行",
|
||
"runRuntimeTitle": "运行中 · {{elapsed}}",
|
||
"goalStateStrip": "目标 · {{label}}",
|
||
"goalStateFallback": "目标",
|
||
"goalStateExpandAria": "查看完整目标",
|
||
"goalStateSheetTitle": "目标",
|
||
"send": "发送消息",
|
||
"stop": "停止响应",
|
||
"modelNotConfigured": "模型未配置",
|
||
"configureModel": "配置模型",
|
||
"queued": {
|
||
"label": "待引导提示",
|
||
"guide": "引导",
|
||
"delete": "删除引导",
|
||
"edit": "编辑引导",
|
||
"drag": "拖动排序"
|
||
},
|
||
"attachImage": "添加图片",
|
||
"imageMode": {
|
||
"label": "图片生成",
|
||
"toggle": "切换图片生成模式",
|
||
"placeholder": "描述或编辑图片…",
|
||
"aspectAria": "图片画幅",
|
||
"aspectLabel": "图片画幅",
|
||
"aspect": {
|
||
"auto": "自动",
|
||
"1_1": "方形 1:1",
|
||
"3_4": "竖版 3:4",
|
||
"9_16": "故事版 9:16",
|
||
"4_3": "横版 4:3",
|
||
"16_9": "宽屏 16:9"
|
||
}
|
||
},
|
||
"tools": {
|
||
"search": "搜索",
|
||
"reason": "推理",
|
||
"deepResearch": "深度研究",
|
||
"voice": "语音输入"
|
||
},
|
||
"slash": {
|
||
"ariaLabel": "斜杠命令",
|
||
"label": "命令",
|
||
"navigateHint": "↑↓ 选择",
|
||
"selectHint": "Enter/Tab 填入",
|
||
"closeHint": "Esc 关闭",
|
||
"badges": {
|
||
"current": "当前",
|
||
"recent": "最近"
|
||
},
|
||
"details": {
|
||
"goalActive": "目标正在运行",
|
||
"goalReady": "开始一个持续目标",
|
||
"history": "查看最近消息",
|
||
"stopRunning": "正在运行"
|
||
},
|
||
"commands": {
|
||
"new": {
|
||
"title": "新建对话",
|
||
"description": "停止当前任务,并开始一个新的对话。"
|
||
},
|
||
"stop": {
|
||
"title": "停止当前任务",
|
||
"description": "取消这个对话中正在运行的 agent 回合。"
|
||
},
|
||
"restart": {
|
||
"title": "重启 nanobot",
|
||
"description": "原地重启 bot 进程。"
|
||
},
|
||
"status": {
|
||
"title": "查看状态",
|
||
"description": "显示运行时、服务商和通道状态。"
|
||
},
|
||
"model": {
|
||
"title": "模型",
|
||
"description": "查看或切换当前模型预设。"
|
||
},
|
||
"history": {
|
||
"title": "查看对话历史",
|
||
"description": "打印最近 N 条已持久化的对话消息。"
|
||
},
|
||
"dream": {
|
||
"title": "运行 Dream",
|
||
"description": "手动触发记忆整理。"
|
||
},
|
||
"dream_log": {
|
||
"title": "查看 Dream 日志",
|
||
"description": "查看上一次 Dream 整理改变了什么。"
|
||
},
|
||
"dream_restore": {
|
||
"title": "恢复记忆",
|
||
"description": "将记忆恢复到之前的 Dream 快照。"
|
||
},
|
||
"goal": {
|
||
"title": "长期目标",
|
||
"description": "让助手把当前请求当作需要多步骤持续推进的目标。"
|
||
},
|
||
"help": {
|
||
"title": "查看帮助",
|
||
"description": "列出可用的斜杠命令。"
|
||
},
|
||
"pairing": {
|
||
"title": "配对",
|
||
"description": "管理配对请求。"
|
||
}
|
||
}
|
||
},
|
||
"mentions": {
|
||
"ariaLabel": "应用",
|
||
"label": "应用",
|
||
"cliGroup": "CLI 应用",
|
||
"mcpGroup": "MCP 服务",
|
||
"cliBadge": "CLI",
|
||
"mcpBadge": "MCP",
|
||
"cliDescription": "使用 @{{name}} 调用本地 CLI",
|
||
"mcpDescription": "使用 @{{name}} 调用 MCP 服务"
|
||
},
|
||
"encoding": "处理中…",
|
||
"remove": "移除附件",
|
||
"normalizedSizeHint": "{{orig}} → {{current}}(已自动压缩)",
|
||
"imageRejected": {
|
||
"unsupported_type": "不支持的文件类型",
|
||
"too_many_images": "每条消息最多 {{max}} 张图片",
|
||
"magic_mismatch": "文件看起来不像真实的图片",
|
||
"decode_failed": "无法解码这张图片",
|
||
"too_large": "图片太大,请换一张小一点的",
|
||
"io": "无法读取该文件"
|
||
},
|
||
"goalStateCloseAria": "关闭目标",
|
||
"workspace": {
|
||
"accessAria": "工作区访问权限",
|
||
"projectAria": "选择项目",
|
||
"projectPlaceholder": "选择项目",
|
||
"default": "默认权限",
|
||
"full": "完全访问权限"
|
||
}
|
||
},
|
||
"scrollToBottom": "滚动到底部",
|
||
"loadEarlier": "加载更早消息",
|
||
"promptNavigator": {
|
||
"open": "打开输入导航",
|
||
"title": "输入列表",
|
||
"search": "搜索输入",
|
||
"noResults": "没有匹配的输入。",
|
||
"jumpTo": "跳转到输入:{{label}}"
|
||
}
|
||
},
|
||
"message": {
|
||
"streaming": "流式输出中",
|
||
"assistantTyping": "助手正在输入",
|
||
"toolSingle": "正在使用工具",
|
||
"toolMany": "已使用 {{count}} 个工具",
|
||
"toolSummary": "{{count}} 个工具",
|
||
"toolSummaryMany": "{{count}} 个工具",
|
||
"reasoningTools": "推理 · {{count}} 个工具",
|
||
"reasoningToolsSingular": "推理 · 1 个工具",
|
||
"reasoning": "思考过程",
|
||
"reasoningStreaming": "正在思考…",
|
||
"reasoningSummary": "推理",
|
||
"agentActivitySummary": "{{reasoning}} 步 · {{tools}} 次工具调用",
|
||
"agentActivityToolsOnly": "{{tools}} 次工具调用",
|
||
"agentActivityLiveSummary": "进行中… · {{reasoning}} 步 · {{tools}} 次工具调用",
|
||
"agentActivityLiveToolsOnly": "进行中… · {{tools}} 次工具调用",
|
||
"activityThinkingFor": "思考中 {{duration}}",
|
||
"activityThought": "已思考",
|
||
"activityThoughtFor": "思考了 {{duration}}",
|
||
"cliActivityRunningOne": "正在使用 @{{name}}",
|
||
"cliActivityRanOne": "已使用 @{{name}}",
|
||
"cliActivityFailedOne": "使用 @{{name}} 失败",
|
||
"cliActivityRunningMany": "正在使用 {{count}} 个 CLI 应用",
|
||
"cliActivityRanMany": "已使用 {{count}} 个 CLI 应用",
|
||
"cliActivityFailedMany": "{{count}} 个 CLI 应用失败",
|
||
"cliRunRunning": "正在使用",
|
||
"cliRunRan": "已使用",
|
||
"cliRunFailed": "失败",
|
||
"imageAttachment": "图片附件",
|
||
"automationSourceFallback": "自动化",
|
||
"automationTriggered": "自动触发",
|
||
"copyReply": "复制回复",
|
||
"copiedReply": "已复制回复",
|
||
"turnLatencyTitle": "本轮耗时(端到端)"
|
||
},
|
||
"lightbox": {
|
||
"title": "图片预览",
|
||
"open": "查看图片",
|
||
"prev": "上一张",
|
||
"next": "下一张",
|
||
"close": "关闭预览"
|
||
},
|
||
"filePreview": {
|
||
"aria": "文件预览",
|
||
"close": "关闭文件预览",
|
||
"loading": "正在加载预览...",
|
||
"failed": "无法预览这个文件。",
|
||
"routeMissing": "文件预览需要最新的 gateway。请重启 nanobot gateway 后再试。",
|
||
"resize": "调整文件预览宽度",
|
||
"truncated": "文件较大,当前只显示前半部分预览。"
|
||
},
|
||
"code": {
|
||
"fallbackLanguage": "代码",
|
||
"copyAria": "复制代码",
|
||
"copy": "复制",
|
||
"copied": "已复制"
|
||
},
|
||
"common": {
|
||
"dismiss": "关闭"
|
||
},
|
||
"errors": {
|
||
"messageTooBig": {
|
||
"title": "消息过大",
|
||
"body": "服务端因超过大小限制拒收了上一条消息。可移除部分图片或使用更小的图片后重试。"
|
||
},
|
||
"workspaceScopeRejected": {
|
||
"title": "工作区未更改",
|
||
"body": "网关拒绝了请求的项目或访问权限,Nanobot 已继续使用之前的工作区。"
|
||
}
|
||
},
|
||
"workspace": {
|
||
"dialog": {
|
||
"defaultProject": "默认工作区",
|
||
"manual": "粘贴路径",
|
||
"manualPlaceholder": "/Users/name/project",
|
||
"usePath": "使用路径",
|
||
"absolutePathRequired": "请输入这台机器上的绝对文件夹路径。"
|
||
}
|
||
}
|
||
}
|