* feat(webui): add project workspaces and access controls * feat(webui): add project workspaces and access controls * refactor(tools): centralize workspace access resolution * refactor(webui): remove unused workspace host state * fix(webui): hide estimated file edit label * fix(webui): clarify file edit deletion feedback * fix(webui): label deleted file activity * fix(webui): flatten file edit activity rows * fix(core): remove path-only patch deletion * fix(core): keep apply patch non-destructive * refactor(webui): trim workspace host plumbing * fix(tools): register exec with tools config
746 lines
28 KiB
JSON
746 lines
28 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": "應用"
|
|
},
|
|
"settings": {
|
|
"backToChat": "返回對話",
|
|
"sidebar": {
|
|
"title": "設定",
|
|
"ariaLabel": "設定分區"
|
|
},
|
|
"nav": {
|
|
"general": "一般",
|
|
"byok": "BYOK",
|
|
"overview": "Overview",
|
|
"appearance": "Appearance",
|
|
"models": "Models",
|
|
"providers": "Providers",
|
|
"image": "Image",
|
|
"browser": "Web",
|
|
"runtime": "系統",
|
|
"advanced": "Security",
|
|
"cliApps": "CLI 應用",
|
|
"mcp": "MCP",
|
|
"apps": "應用"
|
|
},
|
|
"sections": {
|
|
"interface": "介面",
|
|
"ai": "AI",
|
|
"system": "系統",
|
|
"status": "Status",
|
|
"localPreferences": "Local preferences",
|
|
"presets": "Presets",
|
|
"imageGeneration": "圖片生成",
|
|
"imageDefaults": "預設值",
|
|
"webSearch": "Web search",
|
|
"webBehavior": "Behavior",
|
|
"identity": "Identity",
|
|
"webuiSafety": "網頁端安全",
|
|
"capabilities": "功能",
|
|
"cliApps": "CLI 應用",
|
|
"mcp": "MCP 服務",
|
|
"apps": "應用",
|
|
"nativeHost": "App",
|
|
"hostSafety": "App 安全"
|
|
},
|
|
"rows": {
|
|
"theme": "主題",
|
|
"language": "語言",
|
|
"provider": "提供者",
|
|
"model": "模型",
|
|
"restart": "重新啟動 nanobot",
|
|
"configPath": "設定檔路徑",
|
|
"activePreset": "Active preset",
|
|
"gateway": "Gateway",
|
|
"restartState": "Restart state",
|
|
"pendingChanges": "待處理變更",
|
|
"selectedPreset": "Selected preset",
|
|
"presetModel": "Preset model",
|
|
"density": "Density",
|
|
"activityMode": "Activity detail",
|
|
"codeWrap": "Code wrapping",
|
|
"maxResults": "Max results",
|
|
"timeout": "Timeout",
|
|
"jinaReader": "Jina reader",
|
|
"imageGeneration": "圖片生成",
|
|
"imageProvider": "圖片服務商",
|
|
"imageProviderStatus": "服務商狀態",
|
|
"imageProviderBase": "服務商位址",
|
|
"imageModel": "圖片模型",
|
|
"defaultAspectRatio": "預設比例",
|
|
"defaultImageSize": "預設尺寸",
|
|
"maxImagesPerTurn": "每輪最多圖片數",
|
|
"imageSaveDir": "儲存目錄",
|
|
"botName": "Bot name",
|
|
"botIcon": "Bot icon",
|
|
"timezone": "Timezone",
|
|
"workspacePath": "預設工作區",
|
|
"localServiceAccess": "Local services",
|
|
"webuiDefaultAccess": "Default access",
|
|
"currentModel": "目前模型",
|
|
"brandLogos": "品牌標誌",
|
|
"cliAppsCatalog": "CLI 應用目錄",
|
|
"cliAppsFilter": "CLI 應用篩選",
|
|
"engine": "引擎",
|
|
"logs": "日誌",
|
|
"diagnostics": "診斷"
|
|
},
|
|
"help": {
|
|
"theme": "在淺色與深色外觀之間切換。",
|
|
"language": "選擇 WebUI 使用的語言。",
|
|
"provider": "選擇新模型請求使用的服務提供者。",
|
|
"model": "設定 nanobot 預設使用的模型名稱。",
|
|
"configPath": "目前閘道正在使用的設定檔。",
|
|
"selectedPreset": "Named presets are read-only here; edit them in config.json.",
|
|
"presetModel": "Switch to Default to edit model and provider from the WebUI.",
|
|
"density": "Stored only in this browser.",
|
|
"activityMode": "Choose how much agent activity chrome to show by default.",
|
|
"codeWrap": "Keep long code lines readable on smaller screens.",
|
|
"maxResults": "Results returned by each web_search call.",
|
|
"timeout": "Seconds before a search provider request times out.",
|
|
"jinaReader": "Use Jina Reader for web_fetch when available.",
|
|
"imageGeneration": "當已設定圖片服務商時,在對話中開放 generate_image。",
|
|
"imageProvider": "選擇 generate_image 使用的登錄服務商。",
|
|
"imageProviderStatus": "圖片生成會重用「服務商」中的憑證。",
|
|
"imageModel": "傳送給所選圖片服務商的模型名稱。",
|
|
"defaultAspectRatio": "當提示詞未指定長寬比時使用。",
|
|
"defaultImageSize": "傳送給支援此功能的服務商的尺寸提示。",
|
|
"maxImagesPerTurn": "單次 generate_image 請求的上限。",
|
|
"botName": "顯示在 nanobot 使用名稱的地方。",
|
|
"botIcon": "顯示在 bot 名稱旁的短 emoji 或文字。",
|
|
"timezone": "用於排程與需要時間感知的回覆。",
|
|
"localServiceAccess": "允許完全存取模式下的 shell 命令存取 localhost 服務。",
|
|
"webuiDefaultAccess": "用於沒有單獨選擇權限的網頁端對話。",
|
|
"securityManagedControls": "Web fetches always protect local, private, and metadata services. Core channel safety stays in config.json.",
|
|
"currentModel": "選擇 nanobot 接下來回覆時使用的模型。",
|
|
"selectedModelProvider": "由目前模型決定。",
|
|
"selectedModelValue": "由目前模型決定。",
|
|
"brandLogos": "標誌會從品牌網域載入,並提供本地圖示作為備援。",
|
|
"cliAppsCatalog": "瀏覽 nanobot 可在本機執行的應用 CLI。",
|
|
"cliAppsFilter": "按應用、分類或能力搜尋。",
|
|
"logs": "開啟App引擎日誌資料夾。",
|
|
"diagnostics": "匯出一份供支援排查用的執行階段報告。",
|
|
"localServiceAccessNative": "允許完全存取模式下的 shell 命令存取這台 Mac 上的服務。",
|
|
"webuiDefaultAccessNative": "用於沒有單獨選擇權限的原生 App 對話。"
|
|
},
|
|
"values": {
|
|
"light": "淺色",
|
|
"dark": "深色",
|
|
"notAvailable": "不可用",
|
|
"enabled": "Enabled",
|
|
"disabled": "Disabled",
|
|
"restartPending": "等待重新啟動",
|
|
"ready": "就緒",
|
|
"comfortable": "Comfortable",
|
|
"compact": "Compact",
|
|
"auto": "Auto",
|
|
"expanded": "Expanded",
|
|
"on": "On",
|
|
"off": "Off",
|
|
"defaultPermission": "Default Permission",
|
|
"fullAccess": "Full Access",
|
|
"configured": "Configured",
|
|
"notConfigured": "Not configured",
|
|
"pending": "待套用",
|
|
"restartingEngine": "正在重新啟動"
|
|
},
|
|
"status": {
|
|
"loading": "正在載入設定...",
|
|
"loadError": "無法載入設定",
|
|
"unsaved": "有未儲存的變更。",
|
|
"upToDate": "已是最新。",
|
|
"savedRestart": "已儲存。重新啟動 nanobot 後生效。",
|
|
"restartAfterSaving": "儲存變更後,可在準備好時重新啟動。",
|
|
"savedRestartApply": "已儲存,可在準備好時重新啟動。",
|
|
"imageProviderRestart": "圖片服務商變更已儲存,可在準備好時重新啟動。",
|
|
"hostRestartAfterSaving": "儲存後,nanobot 會自動重新啟動引擎。",
|
|
"hostRestartPending": "已儲存,將在適當時重新啟動引擎。",
|
|
"hostApiUnavailable": "宿主操作只能在原生 App 內使用。",
|
|
"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": "Web Search"
|
|
},
|
|
"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": "Current model",
|
|
"providers": "Providers",
|
|
"configuredCount": "{{count}} configured",
|
|
"totalProviders": "{{count}} available",
|
|
"webSearch": "Web search",
|
|
"imageGeneration": "圖片生成",
|
|
"workspace": "Workspace"
|
|
},
|
|
"providers": {
|
|
"searchPlaceholder": "Search providers",
|
|
"noMatches": "No providers match this search.",
|
|
"saveProvider": "儲存服務商"
|
|
},
|
|
"image": {
|
|
"selectProvider": "選擇服務商",
|
|
"selectAspect": "選擇比例",
|
|
"selectSize": "選擇尺寸",
|
|
"configureProvider": "設定服務商",
|
|
"missingCredential": "啟用圖片生成前,請先設定此服務商。"
|
|
},
|
|
"models": {
|
|
"selectModel": "選擇模型",
|
|
"addConfiguration": "新增設定",
|
|
"newConfiguration": "新增模型設定",
|
|
"newConfigurationHelp": "把服務商和模型儲存為一個可直接切換的選項。",
|
|
"configurationName": "名稱",
|
|
"configurationNameHelp": "重新命名這個已儲存的模型配置。",
|
|
"configurationNamePlaceholder": "快速寫作"
|
|
},
|
|
"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": "未登入"
|
|
}
|
|
},
|
|
"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": "開啟設定"
|
|
},
|
|
"composer": {
|
|
"placeholderThread": "輸入訊息…",
|
|
"placeholderHero": "你在想什麼?",
|
|
"placeholderOpening": "正在開啟新對話…",
|
|
"placeholderStreaming": "模型正在回覆…",
|
|
"inputAria": "訊息輸入框",
|
|
"sendHint": "Enter 送出 · Shift+Enter 換行",
|
|
"runRuntimeTitle": "執行中 · {{elapsed}}",
|
|
"goalStateStrip": "目標 · {{label}}",
|
|
"goalStateFallback": "目標",
|
|
"goalStateExpandAria": "查看完整目標",
|
|
"goalStateSheetTitle": "目標",
|
|
"goalStateCloseAria": "關閉目標",
|
|
"send": "送出訊息",
|
|
"stop": "停止回覆",
|
|
"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": "載入更早訊息"
|
|
},
|
|
"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": "失敗"
|
|
},
|
|
"lightbox": {
|
|
"title": "圖片預覽",
|
|
"open": "檢視圖片",
|
|
"prev": "上一張",
|
|
"next": "下一張",
|
|
"close": "關閉預覽"
|
|
},
|
|
"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": "請輸入這台機器上的絕對資料夾路徑。"
|
|
}
|
|
}
|
|
}
|