From 35eb6bafc2409f9480febef55bb6757835ffdee6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=B3=E5=BB=B7=E5=AE=89?= <73953029+nrps9909@users.noreply.github.com> Date: Tue, 11 Aug 2026 19:00:17 +0800 Subject: [PATCH] fix(i18n): polish Traditional Chinese agent copy --- frontend/src/lang/modules/zh-Hant.ts | 228 +++++++++++++-------------- 1 file changed, 114 insertions(+), 114 deletions(-) diff --git a/frontend/src/lang/modules/zh-Hant.ts b/frontend/src/lang/modules/zh-Hant.ts index f5a4088c64ff..1d2c8ee005dd 100644 --- a/frontend/src/lang/modules/zh-Hant.ts +++ b/frontend/src/lang/modules/zh-Hant.ts @@ -682,58 +682,58 @@ const message = { }, aiTools: { agents: { - agent: '智能體', + agent: 'Agent', account: '模型帳號', - batchOperation: '批量操作', + batchOperation: '批次操作', operationType: '操作類型', - batchAction: '批量{0}', - installSkillAction: '下發 Skill', - batchAgentTask: '批量{0}智能體', - dispatchAgentTask: '下發智能體{0}任務', - dispatchTask: '下發{0}任務', - taskSubmitted: '{0}任務已下發', + batchAction: '批次{0}', + installSkillAction: '部署 Skill', + batchAgentTask: '批次{0} Agent', + dispatchAgentTask: '分派 Agent {0}任務', + dispatchTask: '分派 {0}任務', + taskSubmitted: '已提交{0}任務', allNodes: '所有節點', targetVersion: '目標版本', skillSource: 'Skill 來源', - skillKeyword: 'Skill 關鍵詞', + skillKeyword: 'Skill 關鍵字', clawHubSkillPlaceholder: '請先搜尋並選擇 Skill', - noAccountHint: '選擇已有模型帳號,或直接建立', - accountCount: '模型帳號 {0} 個', - syncAgents: '同步關聯智能體', - syncAgentsHelper: '更新使用該模型帳號的智能體 openclaw.json', - appVersion: '應用版本', + noAccountHint: '選擇現有模型帳號,或新增帳號。', + accountCount: '{0} 個模型帳號', + syncAgents: '同步相關 Agent', + syncAgentsHelper: '更新所有使用此模型帳號的 Agent 設定檔 openclaw.json', + appVersion: '應用程式版本', webuiPort: 'WebUI 埠', tokenOrAuth: 'Token/Auth', - allowedOrigins: '訪問地址', - allowedOriginsRequired: '請至少填寫一個訪問地址', - allowedOriginsInvalid: '訪問地址格式錯誤,請輸入 http(s)://網域或IP[:埠]', + allowedOrigins: '存取位址', + allowedOriginsRequired: '請至少填寫一個存取位址', + allowedOriginsInvalid: '存取位址格式錯誤,請輸入 http(s)://網域或 IP[:埠]', provider: '模型供應商', - accountModelsHelper: '配置該帳號可提供給 OpenClaw 使用與切換的模型列表', - accountModelsRequired: '請至少配置一個模型', + accountModelsHelper: '設定此帳號可供 OpenClaw 選取及使用的模型清單', + accountModelsRequired: '請至少設定一個模型', verifyModel: '驗證模型', - verifyModelHelper: '請選擇該帳號有權存取的模型,儲存時將使用它發送最小請求以驗證連線。', + verifyModelHelper: '請選擇該帳號有權存取的模型,儲存時將使用它傳送最小請求以驗證連線。', verifyModelRequired: '請選擇驗證模型', discoverModels: '取得模型', automaticModelDiscovery: '自動取得', - manualModelConfiguration: '手動配置', - discoverModelsHelper: '從供應商的 /v1/models 介面取得模型,取得後將全部加入模型池', - discoverModelsFailedFallback: '取得模型失敗,請手動配置模型', - discoverModelsFailedUseDefaults: '取得模型失敗,已使用預設模型', - accountModelsDuplicate: '模型池中存在重複模型,請檢查後重試', + manualModelConfiguration: '手動設定', + discoverModelsHelper: '從供應商的 /v1/models API 取得模型,並將全部加入模型池', + discoverModelsFailedFallback: '無法取得模型,請手動設定模型', + discoverModelsFailedUseDefaults: '無法取得模型,已改用預設模型', + accountModelsDuplicate: '模型清單中有重複項目,請檢查後再試一次', modelPool: '模型池', fallbackModels: '備用模型', addFallbackModel: '新增備用模型', - fallbackModelsEmpty: '尚未配置備用模型', + fallbackModelsEmpty: '尚未設定備用模型', modelInputTypes: '輸入類型', reasoning: '推理模型', verified: '驗證狀態', - verifySkipped: '不驗證', - skillsTab: '技能', - pluginsTab: '外掛程式', + verifySkipped: '略過驗證', + skillsTab: 'Skill', + pluginsTab: '外掛', pluginsInstalled: '已安裝', - pluginsMarket: '外掛程式市集', - pluginsMarketHint: '請輸入關鍵字搜尋外掛程式', - pluginSearchPlaceholder: '搜尋外掛程式...', + pluginsMarket: '外掛市集', + pluginsMarketHint: '請輸入關鍵字搜尋外掛', + pluginSearchPlaceholder: '搜尋外掛...', pluginOrigin: '來源', pluginOriginAll: '全部來源', pluginOriginBundled: '內建', @@ -748,33 +748,33 @@ const message = { pluginDownloads: '下載量', pluginEnable: '啟用', pluginDisable: '停用', - pluginListEmpty: '暫無外掛程式', - pluginSearchEmpty: '找不到相關外掛程式', - pluginInstallConfirm: '確認安裝外掛程式 {0}?', - pluginDisableConfirm: '確認停用外掛程式 {0}?', - pluginUninstallConfirm: '確認解除安裝外掛程式 {0}?', + pluginListEmpty: '沒有外掛', + pluginSearchEmpty: '找不到符合的外掛', + pluginInstallConfirm: '確定要安裝外掛 {0} 嗎?', + pluginDisableConfirm: '確定要停用外掛 {0} 嗎?', + pluginUninstallConfirm: '確定要解除安裝外掛 {0} 嗎?', securityTab: '安全', otherTab: '其他', timeZone: '時區', - browserEnabled: '瀏覽器開關', - npmRegistry: 'NPM 源', - npmRegistryHelper: '用於 OpenClaw 外掛安裝時的 npm registry,可選擇預設來源或手動輸入自訂來源', - npmRegistryInvalid: '請輸入正確的 NPM 源地址,需以 http:// 或 https:// 開頭', - pluginInstallNPMRegistryHelper: '可前往 設定 -> 其他 設定 NPM 源,以加速外掛安裝', - skillsSearchPlaceholder: '搜尋技能...', - skillsEmpty: '暫無技能', - skillsMarket: '技能市場', - skillsMarketHint: '請選擇來源並搜尋技能', - skillsMarketEmpty: '未找到相關技能', + browserEnabled: '啟用瀏覽器', + npmRegistry: 'NPM Registry', + npmRegistryHelper: 'OpenClaw 安裝外掛時使用,可選擇預設 Registry 或輸入自訂位址', + npmRegistryInvalid: '請輸入以 http:// 或 https:// 開頭的有效 NPM Registry URL', + pluginInstallNPMRegistryHelper: '可前往「設定 → 其他」設定 NPM Registry,以加快外掛安裝速度', + skillsSearchPlaceholder: '搜尋 Skill...', + skillsEmpty: '沒有 Skill', + skillsMarket: 'Skill 市集', + skillsMarketHint: '請選擇來源並搜尋 Skill', + skillsMarketEmpty: '找不到符合的 Skill', skillsMarketSourceClawhubGlobal: 'ClawHub(全球)', skillsMarketSourceClawhubChina: 'ClawHub(中國)', skillsMarketSourceSkillhub: 'SkillHub(騰訊)', - skillsMarketSourceLocalHub: '本地 Skill 商店', + skillsMarketSourceLocalHub: '本機 Skill 商店', skillsScore: '評分', skillsMarketSourceOfficial: '官方', - versionUnsupportedTitle: '當前版本暫不支援該功能', - versionUnsupportedHelper: '請升級 OpenClaw 到 {0} 或以上版本後使用。', - skillsGroupBuiltIn: '內置', + versionUnsupportedTitle: '目前版本不支援此功能', + versionUnsupportedHelper: '請將 OpenClaw 升級至 {0} 以上版本。', + skillsGroupBuiltIn: '內建', skillsGroupExternal: '外部', skillsGroupWorkspace: '工作區', switchModelSuccess: '模型切換成功', @@ -786,104 +786,104 @@ const message = { roleMarkdownDescriptions: { 'AGENTS.md': [ 'Agent 的操作說明,以及如何使用記憶。', - '每次會話開始時都會載入。', - '適合放規則、優先級和行為方式等內容。', + '每個工作階段開始時都會載入。', + '適合放置規則、優先順序和行為方式等內容。', ], - 'SOUL.md': ['人格、語氣和邊界。', '每次會話都會載入。'], - 'USER.md': ['使用者是誰,以及應該如何稱呼和回應使用者。', '每次會話都會載入。'], - 'IDENTITY.md': ['Agent 的名字、氣質和 emoji。', '會在 bootstrap 儀式中建立或更新。'], - 'TOOLS.md': ['關於本地工具和約定的說明。', '不會控制工具可用性,僅作為使用指引。'], - 'HEARTBEAT.md': ['可選的心跳執行檢查清單。', '盡量保持簡短,避免消耗過多 token。'], + 'SOUL.md': ['人格、語氣和界線。', '每個工作階段都會載入。'], + 'USER.md': ['使用者是誰,以及應如何稱呼和回應使用者。', '每個工作階段都會載入。'], + 'IDENTITY.md': ['Agent 的名稱、風格和 emoji。', '會在初始設定流程中建立或更新。'], + 'TOOLS.md': ['本機工具和慣例的相關說明。', '不會控制工具是否可用,僅供使用指引。'], + 'HEARTBEAT.md': ['選用的 Heartbeat 執行檢查清單。', '請保持簡短,以免消耗過多 token。'], 'BOOT.md': [ - '可選的啟動檢查清單,會在 gateway 重啟且啟用內部 hooks 時執行。', - '盡量保持簡短;如需對外發送訊息,請使用 message 工具。', + '選用的啟動檢查清單,會在 Gateway 重新啟動且已啟用內部 Hook 時執行。', + '請保持簡短;如需向外傳送訊息,請使用 message 工具。', ], - 'BOOTSTRAP.md': ['一次性的首次執行儀式。', '只會在全新的 workspace 中建立。', '儀式完成後請刪除它。'], + 'BOOTSTRAP.md': ['僅執行一次的初始設定流程。', '只會在全新的工作區中建立。', '完成初始設定後請刪除。'], }, duplicateBinding: '頻道和帳號 ID 不能重複', - accountIdOptional: '帳號 ID(可選)', - saveAllMd: '保存全部', - roleMarkdownRestartHelper: '保存當前全部 MD 檔案後,需要重新啟動容器才能生效。請選擇立即重啟或稍後重啟。', - configFileRestartHelper: '保存配置檔後需要立即重新啟動容器才能生效。', - overviewSnapshot: '狀態概覽', + accountIdOptional: '帳號 ID(選填)', + saveAllMd: '全部儲存', + roleMarkdownRestartHelper: '儲存目前所有 MD 檔案後,必須重新啟動容器才能生效。請選擇立即或稍後重新啟動。', + configFileRestartHelper: '儲存設定檔後,必須立即重新啟動容器才能生效。', + overviewSnapshot: '狀態快照', primaryModel: '主模型', defaultModel: '預設模型', - channelCount: '已配置頻道數量', - skillCount: '技能數量', - jobCount: '定時任務數量', - sessionCount: '會話數量', + channelCount: '已設定頻道數', + skillCount: 'Skill 數', + jobCount: '排程工作數', + sessionCount: '工作階段數', hermesChatAction: '對話', hermesChatTitle: 'Hermes 對話', hermesChatDialogTitle: 'Hermes 對話 - {0}', hermesChatNewChat: '新對話', - hermesChatNoSessions: '暫無會話', - hermesChatMessageCount: '{0} 條', - hermesChatEmptyHint: '選擇左側會話或點擊新對話', - hermesChatTitlePlaceholder: '請輸入會話標題', - hermesChatRenameSuccess: '會話標題已更新', - hermesChatDeleteConfirm: '確認刪除會話 {0}?', - hermesChatDeleteSuccess: '會話已刪除', - weixin: '微信', - wecom: '企業微信', - dingtalk: '釘釘', - feishu: '飛書', - pluginNotInstalled: '插件未安裝,請先安裝插件', - dmPolicy: '私聊策略', - threadSession: '執行緒會話', + hermesChatNoSessions: '沒有工作階段', + hermesChatMessageCount: '{0} 則', + hermesChatEmptyHint: '請選擇左側的工作階段,或點擊「新對話」', + hermesChatTitlePlaceholder: '請輸入工作階段標題', + hermesChatRenameSuccess: '工作階段標題已更新', + hermesChatDeleteConfirm: '確定要刪除工作階段 {0} 嗎?', + hermesChatDeleteSuccess: '工作階段已刪除', + weixin: 'Weixin', + wecom: 'WeCom', + dingtalk: 'DingTalk', + feishu: 'Feishu', + pluginNotInstalled: '尚未安裝外掛,請先安裝。', + dmPolicy: '私訊策略', + threadSession: '討論串工作階段', replyMode: '回覆模式', - requireMention: "群聊需 {'@'} 機器人", + requireMention: '需要提及', requireMentionTrue: "需要 {'@'}", - requireMentionFalse: "無需 {'@'}", + requireMentionFalse: "不需要 {'@'}", requireMentionOpen: '依群組設定', groupPolicy: '群組策略', - policyAllowlist: '白名單', + policyAllowlist: '允許清單', policyOpen: '開放', - policyDisabled: '禁用', - bots: 'Bot 列表', + policyDisabled: '停用', + bots: 'Bot 清單', addBot: '新增 Bot', - accountId: '帳戶 ID', - accountIdPlaceholder: '用於區分不同 Bot 的唯一標識,儲存後用於配置和路由識別', + accountId: '帳號 ID', + accountIdPlaceholder: '用來區分 Bot 的唯一 ID,儲存後會用於設定與路由', setDefaultBot: '設為預設 Bot', botDuplicateField: '{field} 不能重複', botRequired: '請至少新增一個 Bot', botId: 'Bot ID', - allowFrom: '私聊白名單', - allowFromPlaceholder: '一行一個發送方識別碼', - allowlistPolicyHelper: '{0},僅在{1}為白名單時生效', + allowFrom: '私訊允許清單', + allowFromPlaceholder: '一行一個傳送者 ID', + allowlistPolicyHelper: '{0};僅在「{1}」設為「允許清單」時生效', systemPrompt: '系統提示詞', - groupAllowFrom: '群組白名單', + groupAllowFrom: '群組允許清單', groupAllowFromPlaceholder: '一行一個群組識別碼', - separateSessionByConversation: '按會話隔離', - groupSessionScope: '群會話範圍', - groupSessionScopeGroup: '整群共享', - groupSessionScopeGroupSender: '群內按人隔離', - sharedMemoryAcrossConversations: '跨會話共享記憶', + separateSessionByConversation: '依對話建立個別工作階段', + groupSessionScope: '群組工作階段範圍', + groupSessionScopeGroup: '群組共用', + groupSessionScopeGroupSender: '依傳送者分開', + sharedMemoryAcrossConversations: '跨對話共用記憶', asyncMode: '非同步模式', ackText: '確認訊息', ackTextDefault: '任務已接收,處理中...', - streaming: '即時串流', + streaming: '串流輸出', streamingOff: '關閉', streamingPartial: '部分輸出', streamingBlock: '阻塞輸出', streamingProgress: '進度輸出', - allowFromRequired: '請至少填寫一個白名單項', + allowFromRequired: '請至少填寫一筆允許清單項目', pairingCode: '配對碼', pairingCodePlaceholder: '請輸入配對碼', - approvePairing: '批准配對', - saveSuccess: '保存成功', + approvePairing: '核准配對', + saveSuccess: '儲存成功', successAndRestart: '{0},容器正在自動重新啟動。', - pairingApproveSuccess: '配對成功', - scanConnect: '掃碼對接', - scanConnectHelper: '點擊後將在任務日誌中顯示 QR Code,掃碼確認成功後將自動重新啟動容器。', - channelAutoRestartHelper: '保存後將自動重新啟動容器以使設定生效。', - dashboardAuthAutoRebuildHelper: '保存使用者名稱或密碼後將自動重建容器以使設定生效。', - dashboardAuthImmediateHelper: '保存後將立即更新 QwenPaw 登入憑據,無需重新啟動容器。', - channelDeleteConfirm: '確認刪除 {0} 頻道設定?', - apiTypeBaseURLHelper: '目前類型最終請求 {0},Base URL 建議填寫 {1}', - customImageURLHelper: 'Custom 圖片帳號請填寫完整的圖片產生介面 URL,系統不會自動補全路徑,例如:{0}', + pairingApproveSuccess: '已核准配對', + scanConnect: '掃描 QR Code 以連線', + scanConnectHelper: '按一下後,QR Code 會顯示於任務日誌中;掃描成功後,容器將自動重新啟動。', + channelAutoRestartHelper: '儲存後將自動重新啟動容器,使設定生效。', + dashboardAuthAutoRebuildHelper: '儲存使用者名稱或密碼後,將自動重建容器,使設定生效。', + dashboardAuthImmediateHelper: '儲存後將立即更新 QwenPaw 登入資訊,無須重新啟動容器。', + channelDeleteConfirm: '確定要刪除 {0} 頻道設定嗎?', + apiTypeBaseURLHelper: '此類型會將請求傳送至 {0}。建議的 Base URL:{1}', + customImageURLHelper: '自訂圖片帳號請填寫完整的圖片產生 API URL,系統不會自動補上路徑,例如:{0}', apiTypeBaseURLMismatch: '目前 Base URL 看起來是 {0} 路徑,和已選擇的 {1} 不一致,建議改為 {2}', validateAvailability: '驗證帳號可用性', - validateAvailabilityHelper: '儲存前傳送最小訊息驗證介面可用性', + validateAvailabilityHelper: '儲存前傳送最小訊息,以驗證 API 是否可用', validateImageAvailabilityHelper: '儲存前會實際產生一張最小圖片,可能產生費用', }, model: {