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": "網頁",
|
||
"runtime": "系統",
|
||
"advanced": "安全",
|
||
"cliApps": "CLI 應用",
|
||
"mcp": "MCP",
|
||
"apps": "應用",
|
||
"skills": "技能"
|
||
},
|
||
"sections": {
|
||
"interface": "介面",
|
||
"ai": "AI",
|
||
"system": "系統",
|
||
"status": "狀態",
|
||
"localPreferences": "本機偏好",
|
||
"presets": "預設",
|
||
"imageGeneration": "圖片生成",
|
||
"imageDefaults": "預設值",
|
||
"webSearch": "網頁搜尋",
|
||
"webBehavior": "行為",
|
||
"identity": "身分",
|
||
"webuiSafety": "WebUI 安全",
|
||
"capabilities": "能力",
|
||
"cliApps": "CLI 應用",
|
||
"mcp": "MCP 服務",
|
||
"apps": "應用",
|
||
"nativeHost": "原生宿主",
|
||
"hostSafety": "App 安全"
|
||
},
|
||
"rows": {
|
||
"theme": "主題",
|
||
"language": "語言",
|
||
"provider": "供應商",
|
||
"model": "模型",
|
||
"restart": "重新啟動 nanobot",
|
||
"configPath": "配置路徑",
|
||
"activePreset": "目前預設",
|
||
"gateway": "閘道",
|
||
"restartState": "重啟狀態",
|
||
"pendingChanges": "待套用更改",
|
||
"selectedPreset": "已選預設",
|
||
"presetModel": "預設模型",
|
||
"density": "密度",
|
||
"activityMode": "活動細節",
|
||
"codeWrap": "程式碼換行",
|
||
"maxResults": "最大結果數",
|
||
"timeout": "逾時",
|
||
"jinaReader": "Jina 閱讀器",
|
||
"imageGeneration": "圖片生成",
|
||
"imageProvider": "圖片供應商",
|
||
"imageProviderStatus": "供應商狀態",
|
||
"imageProviderBase": "供應商位址",
|
||
"imageModel": "圖片模型",
|
||
"defaultAspectRatio": "預設比例",
|
||
"defaultImageSize": "預設尺寸",
|
||
"maxImagesPerTurn": "每輪最大圖片數",
|
||
"imageSaveDir": "儲存目錄",
|
||
"botName": "Bot 名稱",
|
||
"botIcon": "Bot 圖示",
|
||
"timezone": "時區",
|
||
"workspacePath": "預設工作區",
|
||
"localServiceAccess": "本機服務",
|
||
"webuiDefaultAccess": "預設權限",
|
||
"currentModel": "目前設定",
|
||
"brandLogos": "品牌 Logo",
|
||
"cliAppsCatalog": "目錄",
|
||
"cliAppsFilter": "篩選",
|
||
"engine": "引擎",
|
||
"logs": "日誌",
|
||
"diagnostics": "診斷",
|
||
"contextWindow": "上下文視窗"
|
||
},
|
||
"help": {
|
||
"theme": "在淺色與深色外觀之間切換。",
|
||
"language": "選擇 WebUI 使用的語言。",
|
||
"provider": "選擇處理新模型請求的供應商。",
|
||
"model": "設定 nanobot 預設使用的模型名稱。",
|
||
"configPath": "目前閘道使用中的配置檔。",
|
||
"selectedPreset": "命名預設在此為唯讀;請在 config.json 中編輯。",
|
||
"presetModel": "切回 Default 後可在 WebUI 中編輯模型與供應商。",
|
||
"density": "只儲存在此瀏覽器中。",
|
||
"activityMode": "選擇預設顯示多少 agent 活動細節。",
|
||
"codeWrap": "讓長程式碼行在小螢幕上也易讀。",
|
||
"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": "用於排程和需要時間感知的回覆。",
|
||
"localServiceAccess": "允許完全訪問權限下的 shell 命令訪問 localhost 服務。",
|
||
"webuiDefaultAccess": "用於沒有單獨專案權限的 Web 聊天。",
|
||
"securityManagedControls": "網頁抓取始終保護本機、內網和 metadata 服務。核心渠道安全仍由 config.json 管理。",
|
||
"currentModel": "用於新的回覆。",
|
||
"selectedModelProvider": "由選取的模型決定。",
|
||
"selectedModelValue": "由選取的模型決定。",
|
||
"brandLogos": "在設定中顯示第三方提供商和 CLI 圖示。",
|
||
"cliAppsCatalog": "只安裝 nanobot 可在本機執行的應用 CLI 轉接器;不會改動原生應用。",
|
||
"cliAppsFilter": "按應用、類別或能力搜尋。",
|
||
"logs": "開啟原生引擎日誌資料夾。",
|
||
"diagnostics": "匯出一份用於支援排查的小型執行報告。",
|
||
"localServiceAccessNative": "允許完全訪問權限下的 shell 命令訪問這台 Mac 上的服務。",
|
||
"webuiDefaultAccessNative": "用於沒有單獨專案權限的原生聊天。",
|
||
"contextWindow": "選擇此模型配置的預設上下文預算。"
|
||
},
|
||
"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": "自帶 provider key。Nanobot 會從目前 config 讀取這些值,只有已設定的 provider 才能在一般設定中選擇。",
|
||
"configured": "已設定",
|
||
"notConfigured": "未設定",
|
||
"configuredSection": "已設定",
|
||
"notConfiguredSection": "未設定",
|
||
"showMore": "再顯示 {{count}} 個",
|
||
"showLess": "收合",
|
||
"apiKey": "API key",
|
||
"apiBase": "API base",
|
||
"apiKeyPlaceholder": "輸入 API key",
|
||
"apiKeyConfiguredPlaceholder": "留空則保留目前 key",
|
||
"configuredKeyHint": "已設定的 key",
|
||
"apiBasePlaceholder": "使用 provider 預設地址",
|
||
"apiKeyRequired": "需要 API key 才能設定此 provider。",
|
||
"showApiKey": "顯示 API key",
|
||
"hideApiKey": "隱藏 API key",
|
||
"noConfiguredProviders": "沒有已設定的 provider",
|
||
"configureFirst": "請先在 BYOK 設定 provider。",
|
||
"openByok": "開啟 BYOK",
|
||
"tabs": {
|
||
"ariaLabel": "BYOK 憑證類型",
|
||
"llm": "LLM",
|
||
"webSearch": "網頁搜尋"
|
||
},
|
||
"webSearch": {
|
||
"provider": "搜尋 provider",
|
||
"providerHelp": "選擇 web search 工具使用的後端。",
|
||
"selectProvider": "選擇 provider",
|
||
"credentials": "憑證",
|
||
"noCredentialRequired": "不需要 key",
|
||
"noCredentialHelp": "DuckDuckGo 不需要儲存 API key。",
|
||
"apiKeyHelp": "儲存到 config 後只顯示遮罩提示。",
|
||
"baseUrl": "Base URL",
|
||
"baseUrlHelp": "SearXNG 需要你自己的實例網址。",
|
||
"baseUrlPlaceholder": "https://search.example.com",
|
||
"apiKeyRequired": "此搜尋 provider 需要 API key。",
|
||
"baseUrlRequired": "SearXNG 需要 Base URL。",
|
||
"missingCredential": "填寫必要憑證後才能儲存。",
|
||
"saveHint": "變更會套用到新的 web search 請求。"
|
||
}
|
||
},
|
||
"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": "儲存供應商"
|
||
},
|
||
"image": {
|
||
"selectProvider": "選擇供應商",
|
||
"selectAspect": "選擇比例",
|
||
"selectSize": "選擇尺寸",
|
||
"configureProvider": "配置供應商",
|
||
"missingCredential": "啟用圖片生成前請先配置此供應商。"
|
||
},
|
||
"models": {
|
||
"selectModel": "選擇模型",
|
||
"addConfiguration": "新增配置",
|
||
"newConfiguration": "新增模型配置",
|
||
"newConfigurationHelp": "將供應商與模型儲存為一鍵選項。",
|
||
"configurationName": "配置名稱",
|
||
"configurationNameHelp": "重新命名這個已儲存的模型配置。",
|
||
"configurationNamePlaceholder": "快速寫作",
|
||
"searchModels": "搜尋或輸入模型 ID",
|
||
"useCustomModel": "使用",
|
||
"loadingModels": "正在載入模型...",
|
||
"searchCatalog": "搜尋供應商目錄來選擇模型。",
|
||
"modelsAvailable": "可用",
|
||
"noModelResults": "沒有符合的模型。",
|
||
"loadFailed": "模型列表不可用。",
|
||
"unsupportedModelList": "手動輸入模型 ID。",
|
||
"providerNotConfigured": "載入模型前請先配置此供應商。",
|
||
"autoProviderCustomOnly": "自動供應商模式使用自訂模型 ID。"
|
||
},
|
||
"timezone": {
|
||
"select": "選擇時區",
|
||
"search": "搜尋時區",
|
||
"empty": "沒有符合的時區。"
|
||
},
|
||
"cliApps": {
|
||
"allCategories": "全部分類",
|
||
"availableCount": "{{count}} 個應用",
|
||
"installedCount": "已安裝 {{count}} 個",
|
||
"summary": "已安裝 {{installed}} / {{total}} 個 CLI",
|
||
"filterAll": "全部",
|
||
"filterInstalled": "已安裝的 CLI",
|
||
"filterNotInstalled": "未安裝",
|
||
"searchPlaceholder": "搜尋 CLI",
|
||
"statusInstalled": "已安裝",
|
||
"statusAvailable": "可用",
|
||
"statusMissing": "缺少相依項",
|
||
"statusUnsupported": "不支援",
|
||
"statusNotInstalled": "未安裝",
|
||
"unsupported": "不支援",
|
||
"loading": "正在載入 CLI 應用...",
|
||
"empty": "沒有符合此篩選條件的 CLI 應用。",
|
||
"readyTitle": "@{{name}} 已就緒",
|
||
"readyStatus": "就緒",
|
||
"readyPrompt": "使用 @{{name}} 查看這個 CLI 能做什麼。",
|
||
"readyTry": "試用 @{{name}}",
|
||
"readyCopied": "已複製",
|
||
"openChat": "開啟聊天",
|
||
"requires": "需要",
|
||
"test": "測試 CLI",
|
||
"update": "更新 CLI",
|
||
"uninstall": "解除安裝 CLI",
|
||
"install": "安裝 CLI",
|
||
"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": "從你的帳號設定中加入金鑰。",
|
||
"saveAndEnable": "儲存並啟用",
|
||
"updateSetup": "更新設定",
|
||
"configured": "已設定",
|
||
"keepExisting": "留空以保留目前值",
|
||
"statusConfigured": "已設定",
|
||
"statusMissingCredentials": "需要金鑰",
|
||
"statusMissingDependency": "需要相依項",
|
||
"statusComingSoon": "即將推出",
|
||
"statusNotInstalled": "未啟用",
|
||
"toolScope": "工具",
|
||
"allTools": "全部",
|
||
"noTools": "無",
|
||
"testForTools": "執行測試以檢查並選擇個別工具。"
|
||
},
|
||
"legal": {
|
||
"thirdPartyBrands": "產品名稱、標誌與品牌均屬於其各自擁有者。使用僅為識別用途,並不代表背書。"
|
||
},
|
||
"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": "目標",
|
||
"goalStateCloseAria": "關閉目標",
|
||
"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 關閉",
|
||
"commands": {
|
||
"new": {
|
||
"title": "新增對話",
|
||
"description": "停止目前任務,並開始新的對話。"
|
||
},
|
||
"stop": {
|
||
"title": "停止目前任務",
|
||
"description": "取消這個對話中正在執行的 agent 回合。"
|
||
},
|
||
"restart": {
|
||
"title": "重新啟動 nanobot",
|
||
"description": "原地重新啟動 bot 進程。"
|
||
},
|
||
"status": {
|
||
"title": "查看狀態",
|
||
"description": "顯示執行環境、provider 和 channel 狀態。"
|
||
},
|
||
"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": "管理配對請求。"
|
||
}
|
||
},
|
||
"badges": {
|
||
"current": "目前",
|
||
"recent": "最近"
|
||
},
|
||
"details": {
|
||
"goalActive": "目標正在執行",
|
||
"goalReady": "開始一個持續目標",
|
||
"history": "查看最近訊息",
|
||
"stopRunning": "正在執行"
|
||
}
|
||
},
|
||
"encoding": "處理中…",
|
||
"remove": "移除附件",
|
||
"normalizedSizeHint": "{{orig}} → {{current}}(已自動壓縮)",
|
||
"imageRejected": {
|
||
"unsupported_type": "不支援的檔案類型",
|
||
"too_many_images": "每則訊息最多 {{max}} 張圖片",
|
||
"magic_mismatch": "檔案看起來不像真正的圖片",
|
||
"decode_failed": "無法解碼這張圖片",
|
||
"too_large": "圖片太大,請換一張小一點的",
|
||
"io": "無法讀取這個檔案"
|
||
},
|
||
"mentions": {
|
||
"ariaLabel": "應用",
|
||
"label": "應用",
|
||
"cliGroup": "CLI 應用",
|
||
"mcpGroup": "MCP 服務",
|
||
"cliBadge": "CLI",
|
||
"mcpBadge": "MCP",
|
||
"cliDescription": "使用 @{{name}} 呼叫本機 CLI",
|
||
"mcpDescription": "使用 @{{name}} 呼叫 MCP 服務"
|
||
},
|
||
"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}} 次工具呼叫",
|
||
"imageAttachment": "圖片附件",
|
||
"copyReply": "複製回覆",
|
||
"copiedReply": "已複製回覆",
|
||
"turnLatencyTitle": "本輪耗時(端到端)",
|
||
"activityThinkingFor": "思考中,已 {{duration}}",
|
||
"activityThought": "已思考",
|
||
"activityThoughtFor": "已思考 {{duration}}",
|
||
"cliActivityRunningOne": "正在使用 @{{name}}",
|
||
"cliActivityRanOne": "已使用 @{{name}}",
|
||
"cliActivityFailedOne": "@{{name}} 失敗",
|
||
"cliActivityRunningMany": "正在使用 {{count}} 個 CLI 應用",
|
||
"cliActivityRanMany": "已使用 {{count}} 個 CLI 應用",
|
||
"cliActivityFailedMany": "{{count}} 個 CLI 應用失敗",
|
||
"cliRunRunning": "使用中",
|
||
"cliRunRan": "已使用",
|
||
"cliRunFailed": "失敗",
|
||
"automationSourceFallback": "自動化",
|
||
"automationTriggered": "自動觸發"
|
||
},
|
||
"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": "請輸入這台機器上的絕對資料夾路徑。"
|
||
}
|
||
}
|
||
}
|