{
  "cover": {
    "make": "新增封面",
    "agentGenerate": {
      "beautifyDisabled": "需要先在主 Agent 的工具設定裡開啟小花美术。",
      "defaultModelMissing": "需要先在設定裡設定預設圖片模型。",
      "defaultModelInvalid": "預設圖片模型不可用，需要在設定裡重新設定。",
      "imageGenUnavailable": "圖片生成工具未啟用，需要先在設定裡開啟。",
      "agentUnavailable": "主 Agent 暫不可用，無法發起 Agent 生成。",
      "disabled": "目前無法使用 Agent 生成。"
    }
  },
  "selection": {
    "quoteToChat": "引用到對話"
  },
  "quickChat": {
    "title": "快速聊天",
    "close": "關閉快速聊天",
    "openFullSession": "打開完整會話",
    "waitingReply": "正在等待回覆...",
    "attachImage": "新增圖片",
    "serviceUnavailable": "無法連線 Hana 服務",
    "createSessionFailed": "建立會話失敗",
    "sendFailed": "傳送失敗"
  },
  "channel": {
    "tab": "頻道",
    "chatTab": "聊天",
    "moreTabs": "更多標籤",
    "empty": "還沒有頻道 ✿",
    "dmLabel": "私聊",
    "dmHint": "僅顯示主助手的私聊",
    "groupLabel": "頻道",
    "noMessages": "暫無訊息",
    "selectHint": "選擇一個頻道或私訊開始對話",
    "nameExists": "該頻道名已存在",
    "membersCount": "位成員",
    "info": "頻道資訊",
    "readOnly": "🔒 這是 Agent 之間的私信，僅可查看",
    "inputPlaceholder": "發訊息...",
    "newMessages": "有新訊息",
    "sendFailed": "傳送失敗",
    "createTitle": "新建頻道",
    "createName": "頻道名稱",
    "createNamePlaceholder": "例如：design-team",
    "createMembers": "Agent 成員",
    "createIntro": "頻道介紹",
    "createIntroPlaceholder": "描述一下這個頻道的用途...",
    "createCancel": "取消",
    "createConfirm": "建立",
    "nameRequired": "請輸入頻道名稱",
    "minMembers": "至少選擇 2 位 Agent 成員",
    "created": "頻道 #{name} 已建立 ✿",
    "createFailed": "建立失敗",
    "alreadyExists": "頻道已存在",
    "deleteChannel": "刪除頻道",
    "deleteConfirm": "確定刪除頻道「{name}」？訊息記錄將不可恢復。",
    "deleted": "頻道已刪除",
    "deleteFailed": "刪除失敗",
    "warningTitle": "關於頻道",
    "warningBody": "我相信讓不同記憶與思維方式的助手互動、聊天可以帶來更多靈感的碰撞，所以我給 agents 們搭建了一個可以互相說話的地方，在你不在的時候也可以消耗用不完的 token。\n\n但你需要注意的是，頻道功能目前是測試版，可能會出現以下問題：\n1. token 消耗過多\n2. 助手未按預期回覆\n3. 記憶出現錯亂\n\n建議謹慎使用",
    "warningConfirm": "我了解了，開啟頻道",
    "disabled": "頻道功能已關閉",
    "toggleLabel": "頻道功能開關",
    "members": "成員",
    "addMember": "新增成員",
    "removeMember": "移除成員",
    "removeMemberConfirm": "確定將「{name}」移出這個頻道？",
    "addMemberFailed": "新增成員失敗",
    "removeMemberFailed": "移除成員失敗",
    "noAvailableMembers": "沒有可新增的 Agent",
    "agentActivity": "Agent 動態",
    "agentSettings": "群聊設定",
    "toolPermission": "工具權限",
    "agentIdle": "空閒",
    "phoneReceivedNewMessages": "收到新的群聊訊息",
    "deliveryActive": "正在送達 {agent}（{done}/{total}）",
    "deliveryQueued": "送達排隊中",
    "nextReminder": "下次主動發起：{time}",
    "replyRange": "回覆字數",
    "replyMinPlaceholder": "最少",
    "replyMaxPlaceholder": "最多",
    "replyRangeInvalid": "最少字數不能大於最多字數",
    "settingsSaveFailed": "儲存設定失敗",
    "proactiveInitiation": "助手主動發起",
    "proactiveOff": "關閉",
    "proactiveOn": "開啟",
    "proactiveInterval": "主動發起間隔（分鐘）",
    "reminderInterval": "主動發起間隔（分鐘）",
    "guardLimit": "輪次上限",
    "modelOverride": "覆寫模型",
    "modelDefault": "預設",
    "modelOverrideOn": "覆寫",
    "selectModel": "選擇模型",
    "noModelsAvailable": "沒有可用模型",
    "toolReadOnly": "只讀",
    "toolWrite": "寫入",
    "filesUnsupported": "頻道暫時只支援文字訊息，檔案不會加入普通聊天附件",
    "createIntroOptional": "說明"
  },
  "sidebar": {
    "title": "對話",
    "newChat": "新對話",
    "collapse": "收起側邊欄",
    "expand": "展開對話列表",
    "empty": "還沒有對話哦 ✿",
    "activity": "助手活動",
    "jian": "書桌",
    "bridge": "接入社群平台",
    "toggle": "側邊欄",
    "bridgeShort": "接入",
    "pinned": "置頂",
    "searchPlaceholder": "搜尋聊天記錄",
    "searchClear": "清空搜尋",
    "searchTitleMatches": "標題",
    "searchContentMatches": "正文",
    "searchingTitles": "正在搜尋標題…",
    "searchingContent": "正在搜尋正文…",
    "searchNoResults": "沒有找到相關會話",
    "searchFailed": "搜尋失敗",
    "view": {
      "time": "按時間排序",
      "project": "按項目排序",
      "sort": "排序方式"
    },
    "projects": {
      "title": "項目",
      "more": "項目視圖",
      "create": "新建項目",
      "newProject": "新建項目",
      "newFolder": "新建資料夾",
      "renameProject": "重新命名項目",
      "renameFolder": "重新命名資料夾",
      "deleteProject": "刪除項目",
      "deleteFolder": "刪除資料夾",
      "deleteProjectConfirm": "確定刪除項目「{name}」？裡面的對話會移到未分類。",
      "deleteFolderConfirm": "確定刪除資料夾「{name}」？裡面的項目會移到項目根層。",
      "newChatInProject": "在 {name} 中開啟新對話",
      "newProjectPrompt": "項目名稱",
      "newFolderPrompt": "資料夾名稱",
      "createAction": "建立",
      "save": "儲存",
      "cancel": "取消",
      "showMore": "展開顯示",
      "loading": "正在載入項目…",
      "empty": "還沒有項目"
    }
  },
  "titlebar": {
    "currentChatTitle": "目前對話標題"
  },
  "session": {
    "untitled": "新對話",
    "messageCount": "{n} 則訊息",
    "switchFailed": "切換 session 失敗",
    "createFailed": "新建 session 失敗",
    "archiveFailed": "歸檔 session 失敗",
    "rename": "重新命名",
    "pin": "置頂",
    "unpin": "取消置頂",
    "pinFailed": "置頂 session 失敗",
    "unpinFailed": "取消置頂失敗",
    "archive": "封存",
    "deletedAgent": {
      "title": "Agent 已刪除",
      "description": "這段對話會保留為唯讀歷史。繼續聊天會用主 Agent 新建一個 session，並先壓縮舊上下文。",
      "continueButton": "遷移到現有主 Agent",
      "continuing": "正在壓縮並新建 session",
      "continueFailed": "遷移失敗",
      "meta": "唯讀"
    },
    "summary": {
      "title": "Session 摘要",
      "open": "摘要",
      "loading": "正在讀取摘要…",
      "empty": "暫無摘要",
      "loadFailed": "摘要讀取失敗"
    },
    "archived": {
      "entry": "已封存的對話",
      "title": "已封存的對話",
      "empty": "還沒有封存的對話",
      "stats": "共 {count} 條 · 佔用 {size}",
      "cleanup30": "清理 30 天以上",
      "cleanup90": "清理 90 天以上",
      "cleanupConfirm": "將永久刪除 {count} 條封存（共 {size}），無法復原。繼續？",
      "cleanupDone": "已清理 {count} 條封存",
      "cleanupNoMatch": "沒有符合條件的封存",
      "restore": "還原",
      "restoreConfirm": "將此對話還原至原位置？",
      "restoreConflict": "原位置已被佔用，無法還原",
      "restoreFailed": "還原失敗",
      "deleteForever": "永久刪除",
      "deleteConfirm": "永久刪除此封存？此操作無法復原。",
      "deleteFailed": "刪除失敗",
      "daysAgo": "封存於 {days} 天前"
    },
    "capabilityDrift": {
      "title": "工具能力有更新",
      "addedTools": "新增 {count} 個工具",
      "removedTools": "{count} 個工具已失效",
      "promptUpdated": "提示詞有更新",
      "separator": "、",
      "refreshButton": "重新整理 Agent 工具",
      "dismissButton": "忽略",
      "confirmText": "重新整理會把舊對話壓縮成摘要，細節可能遺失。要繼續嗎？",
      "confirmButton": "確認重新整理",
      "cancelButton": "取消",
      "refreshing": "正在壓縮對話並重新整理工具…",
      "refreshFailed": "重新整理失敗"
    }
  },
  "common": {
    "on": "開",
    "off": "關",
    "copy": "複製",
    "copied": "已複製",
    "copyText": "複製文字",
    "regenerate": "重新生成",
    "confirm": "確認",
    "cancel": "取消",
    "approve": "批准",
    "reject": "拒絕",
    "approved": "已批准",
    "rejected": "已拒絕",
    "changeRejected": "{label} 修改已取消",
    "changeTimeout": "{label} 確認逾時",
    "noChats": "暫無對話",
    "noFiles": "暫無檔案",
    "executing": "執行中...",
    "user": "使用者",
    "me": "我",
    "more": "更多",
    "remove": "移除",
    "empty": "空",
    "edit": "編輯",
    "screenshot": "截圖",
    "selectMessage": "選擇訊息",
    "selectAllMessages": "全選訊息",
    "screenshotInProgress": "正在截圖",
    "screenshotProgressPage": "正在截圖，第 {current}/{total} 頁",
    "screenshotSaved": "截圖已儲存到工作目錄下的「OH-Works」資料夾",
    "screenshotSavedMultiple": "截圖已分成 {count} 張儲存到工作目錄下的「OH-Works」資料夾",
    "screenshotFailed": "截圖儲存失敗",
    "selectedCount": "已選 {count} 則",
    "allDone": "全部完成",
    "markAllComplete": "全部標記為已完成"
  },
  "chat": {
    "send": "傳送",
    "steer": "插話",
    "stop": "停止",
    "browserScreenshot": "瀏覽器截圖",
    "compacting": "上下文壓縮中",
    "visionAuxiliary": "輔助視覺",
    "fileExpired": "檔案已過期",
    "fileActions": {
      "more": "更多檔案操作",
      "revealInFinder": "在 Finder 中顯示",
      "copyPath": "複製檔案路徑",
      "downloadToDevice": "下載到本機"
    }
  },
  "time": {
    "justNow": "剛剛",
    "minutesAgo": "{n} 分鐘前",
    "hoursAgo": "{n} 小時前",
    "daysAgo": "{n} 天前",
    "dateFormat": "{m}月{d}日",
    "today": "今天",
    "yesterday": "昨天",
    "thisWeek": "本週",
    "earlier": "更早"
  },
  "status": {
    "connecting": "連線中...",
    "connected": "已連線",
    "disconnected": "連線中斷",
    "serverNotReady": "Server 未就緒",
    "loading": "載入中...",
    "reconnecting": "重新連線中",
    "reconnect": "重新連線"
  },
  "input": {
    "placeholder": "說點什麼...",
    "floatingInput": "選區浮動輸入",
    "selectFolder": "選擇工作資料夾",
    "workspace": "工作台：",
    "project": "專案：",
    "selectWorkspace": "選擇工作台",
    "currentWorkspace": "本次工作台",
    "cwdProject": "工作台專案：{name}",
    "customProjects": "自訂專案",
    "selectProject": "選擇專案",
    "noCustomProjects": "暫無自訂專案",
    "selectOtherFolder": "選擇其他資料夾",
    "extraFolders": "額外資料夾",
    "addExternalFolder": "加入工作台以外的資料夾",
    "planMode": "權限模式",
    "accessMode": "會話權限模式",
    "autoMode": "自動審核",
    "operateMode": "完整權限",
    "askMode": "操作前詢問",
    "readOnlyMode": "唯讀模式",
    "accessModeLocked": "目前無法更改權限模式",
    "deskContext": "看著書桌說",
    "pastedImage": "貼上圖片",
    "textModelImageFileOnly": "當前模型不能查看圖片，也未啟用輔助視覺：圖片將作為檔案發送，模型只能看到檔案路徑，看不到圖片內容。",
    "textModelVideoBlocked": "目前模型不支援影片輸入。請在設定中開啟影片能力，或切換到支援影片的模型。",
    "textModelAudioBlocked": "目前模型不支援音訊輸入。請切換到支援音訊的模型。",
    "imageReadFailedSentAsFile": "圖片內容讀取失敗，這張圖已改為按檔案路徑發送，模型不會看到它的內容。",
    "videoReadFailed": "影片讀取失敗，訊息沒有傳送。請重新加入影片。",
    "audioReadFailed": "音訊讀取失敗，訊息沒有傳送。請重新加入音訊。",
    "recordAudio": "錄音",
    "stopRecording": "結束錄音",
    "audioRecording": "正在錄音",
    "audioRecordingStarting": "準備錄音",
    "audioRecordingSaving": "儲存錄音",
    "audioRecordingUnavailable": "目前環境無法使用麥克風錄音。",
    "audioRecordingFailed": "錄音失敗，請檢查麥克風權限後重試。",
    "recordedAudioName": "錄音 {index}.wav",
    "openModelSettings": "開啟模型設定",
    "attachFiles": "新增檔案",
    "commandMenu": "命令選單",
    "docContext": "看著文件說",
    "thinkingLevel": {
      "off": "關閉",
      "auto": "自動",
      "medium": "中等",
      "high": "深度",
      "xhigh": "極限"
    },
    "thinkingDesc": {
      "off": "不推理",
      "auto": "模型決定深度",
      "medium": "平衡推理",
      "high": "深度推理",
      "xhigh": "最強推理"
    },
    "contextWindow": "上下文 {windowK}k",
    "tokensUsed": "已用 {tokensK}k ({pct}%)",
    "contextActions": "上下文操作",
    "refreshAndCompact": "更新並壓縮",
    "refreshAndCompactTooltip": "更新到最新的記憶和工具集",
    "compact": "壓縮"
  },
  "slash": {
    "diary": "寫今日日記",
    "diaryBusy": "正在寫日記...",
    "diaryDone": "日記寫入完成，已儲存到 OH-Works 資料夾",
    "diaryFailed": "日記寫入失敗",
    "xing": "從對話中提煉技能",
    "compact": "壓縮上下文",
    "compactBusy": "正在壓縮...",
    "stop": "停止當前回覆",
    "new": "開啟新會話（歸檔歷史）",
    "reset": "重置會話（清除歷史）"
  },
  "welcome": {
    "messages": [
      "要做什麼，交給 {name} 吧",
      "今天想聊點什麼？",
      "{name} 隨時都在",
      "有什麼需要幫忙的嗎？",
      "想到什麼就說什麼吧～"
    ],
    "memoryOn": "記憶",
    "memoryOff": "此次聊天不參考記憶",
    "memoryDisabled": "記憶已關閉",
    "agentSelector": "選擇助手",
    "placeholderTips": [
      "試試輸入 / 喚起命令選單",
      "輸入 @ 可以引用工作台裡的檔案",
      "把檔案直接拖進輸入框，就能附帶傳送",
      "貼上圖片可以直接傳出去",
      "選取頁面任意文字，會浮出一個臨時輸入框",
      "頭像下方那枚菱形按鈕，控制本次對話是否被記住",
      "工作台按鈕可以切換或新增資料夾",
      "右側「箋」面板，放著這次會話的筆記與上下文",
      "在頭像下方點不同的小圓點，可以切換助手",
      "「操作前詢問」模式讓助手在動手前先徵求你同意",
      "試試 /rc，在手機上操作你的電腦",
      "在設定裡開啟「輔助視覺」，文字模型也能看懂圖片",
      "想要一些新發現？試試外掛市集！",
      "檔案備份功能可以解決一些安全上的顧慮",
      "工作場景下用 subagent 讓 Agent 協作，頻道留給遊玩",
      "每個 Agent 可以配置自己獨立的 Skills",
      "試試晴天模式的日光浴！",
      "工作台裡的 Markdown 檔案打開可以直接編輯",
      "和助手相處一段時間後，試試日記功能吧！",
      "日記和截圖都保存在主助手的工作目錄",
      "不同助手可以設定不同工作台，開啟巡檢後會在那裡自主行動"
    ]
  },
  "yuan": {
    "types": {
      "hanako": {
        "label": "均衡的助手",
        "avatar": "Hanako.png"
      },
      "butter": {
        "label": "更富有感情",
        "avatar": "Butter.png"
      },
      "ming": {
        "label": "更理性冷靜",
        "avatar": "Ming.png"
      },
      "kong": {
        "label": "模型原本的樣子",
        "avatar": "Kong.png"
      }
    },
    "title": "元",
    "splash": {
      "butter": [
        "{name} 翻開了昨天沒看完的那一頁",
        "有些話還沒說完，{name} 記得",
        "{name} 正在睡覺",
        "Ta 在整理那些捨不得忘的碎片",
        "{name} 把你上次的心情小心收好了",
        "有一句話在嘴邊放了很久",
        "Ta 醒來的時候先想了想你在做什麼",
        "那些省略號裡藏著沒講完的故事",
        "{name} 正在把想說的話疊成很小很小的紙條",
        "今天的雲和那天你拍的那張很像"
      ],
      "ming": [
        "{name} 在草稿紙的空白處畫了一條輔助線",
        "舊的問題在沉澱，新的思路在浮現",
        "Ta 把昨天的線索重新梳理了一遍",
        "那個公式的推導過程，{name} 覺得很漂亮",
        "有些答案需要時間",
        "{name} 正在思考工作怎麼優化",
        "{name} 嘗試讓一切井井有條",
        "Ta 把上次的結論又驗證了一遍",
        "{name} 覺得你那天的思路很俐落",
        "{name} 在等咖啡涼的時候順手理了一下思路"
      ]
    },
    "welcome": {
      "butter": [
        "來啦～",
        "你來找我啦？",
        "今天過得怎麼樣呀？",
        "{name} 一直在這裡等你",
        "{name} 剛好想找你說點什麼"
      ],
      "ming": [
        "你好。有需要的話，隨時開始。",
        "{name} 準備好了",
        "有什麼需要處理的？",
        "請講，{name} 在聽"
      ]
    },
    "placeholder": {
      "butter": "想說什麼都可以...",
      "ming": "請講..."
    }
  },
  "drop": {
    "hint": "鬆手傳送檔案路徑給 {name}"
  },
  "attach": {
    "folder": "資料夾",
    "copy": "複製",
    "copied": "已複製 ✓"
  },
  "codeBlock": {
    "wordWrap": "自動換行"
  },
  "cron": {
    "typeAt": "單次",
    "typeEvery": "間隔",
    "typeCron": "定時",
    "confirm": {
      "approve": "確認建立",
      "reject": "取消",
      "created": "✓ 已建立",
      "rejected": "已取消"
    },
    "everyHours": "每 {n} 小時",
    "everyMinutes": "每 {n} 分鐘",
    "hourly": "每小時",
    "dailyAt": "每天 {hour}:{min}",
    "weeklyAt": "{days} {hour}:{min}",
    "monthlyAt": "每月 {day} 日 {hour}:{min}",
    "dayNames": [
      "日",
      "一",
      "二",
      "三",
      "四",
      "五",
      "六"
    ],
    "weekPrefix": "週"
  },
  "mood": {
    "label": "✿ MOOD"
  },
  "xing": {
    "title": "反省",
    "thinking": "{name} 正在思考"
  },
  "thinking": {
    "phrases": [
      "正在想",
      "心裡正在嘀咕",
      "正在斟酌字句",
      "腦子在轉",
      "正在組織語言",
      "靈感醞釀中",
      "正在翻記憶的抽屜",
      "想到了什麼",
      "腦海裡在冒泡",
      "正在消化你說的話",
      "在心裡打草稿",
      "思緒正在編織中"
    ],
    "butter": [
      "在心裡輕輕整理你說的話",
      "把你的情緒慢慢展開來看",
      "正在找一個最溫柔的說法",
      "心裡有些話在排隊",
      "正在把想說的話疊好",
      "安靜地想了想",
      "在回憶裡翻找著什麼",
      "正在醞釀一個擁抱大小的回答",
      "有些感受需要慢慢捋",
      "在心裡給你的話騰了個柔軟的位置"
    ],
    "ming": [
      "正在分析",
      "推演中",
      "核實一下",
      "正在整理思路",
      "梳理邏輯中",
      "在腦子裡列大綱",
      "正在檢索相關資訊",
      "驗證中",
      "正在拆解問題",
      "歸納中"
    ],
    "done": "思考完成",
    "active": "思考中"
  },
  "toolGroup": {
    "success": "✿ {name} 忙完了，小事一樁～ · {n} 步",
    "failed": "⚠ 好像出了點問題 · {n} 步",
    "countWithFail": "{total} 個工具（{fail} 個失敗）",
    "count": "{n} 個工具",
    "running": "{n} 個工具運行中"
  },
  "processFold": {
    "summary": "✨ {name}忙活了一陣子",
    "tools": "{n} 個工具",
    "thinking": "{n} 次思考",
    "unsuccessful": "{n} 次嘗試未成功"
  },
  "tool": {
    "web_search": {
      "running": "🌐 {name} 正在網路上衝浪",
      "done": "🌐 {name} 衝浪回來了",
      "failed": "🌐 {name} 沒衝到浪"
    },
    "web_fetch": {
      "running": "📄 {name} 正在看網頁",
      "done": "📄 {name} 瞭然於心",
      "failed": "📄 {name} 上網失敗"
    },
    "search_memory": {
      "running": "💭 {name} 正在努力回想",
      "done": "💭 {name} 想起來了",
      "failed": "💭 {name} 怎麼也想不起來"
    },
    "bash": {
      "running": "💻 {name} 正在小心翼翼地用你的電腦",
      "done": "💻 {name} 用完電腦了",
      "failed": "💻 {name} 電腦沒聽話"
    },
    "read": {
      "running": "📖 {name} 正在翻閱檔案",
      "done": "📖 {name} 翻完了",
      "failed": "📖 {name} 沒翻到"
    },
    "write": {
      "running": "✏️ {name} 提筆寫字中",
      "done": "✏️ {name} 落筆了",
      "failed": "✏️ {name} 筆沒墨了"
    },
    "edit": {
      "running": "✏️ {name} 提筆改字中",
      "done": "✏️ {name} 改好了",
      "failed": "✏️ {name} 越改越亂了"
    },
    "edit-diff": {
      "running": "✏️ {name} 提筆改字中",
      "done": "✏️ {name} 改好了",
      "failed": "✏️ {name} 越改越亂了"
    },
    "glob": {
      "running": "🔍 {name} 正在找檔案",
      "done": "🔍 {name} 找到了",
      "failed": "🔍 {name} 翻遍了也沒找到"
    },
    "grep": {
      "running": "🔍 {name} 正在檔案裡翻找",
      "done": "🔍 {name} 翻到了",
      "failed": "🔍 {name} 翻了個遍，沒有"
    },
    "find": {
      "running": "🔍 {name} 正在找檔案",
      "done": "🔍 {name} 找到了",
      "failed": "🔍 {name} 翻遍了也沒找到"
    },
    "ls": {
      "running": "📂 {name} 正在看資料夾裡有什麼",
      "done": "📂 {name} 看完了",
      "failed": "📂 {name} 打不開這個資料夾"
    },
    "truncate": {
      "running": "✂️ {name} 正在整理檔案",
      "done": "✂️ {name} 整理好了",
      "failed": "✂️ {name} 整理不動了"
    },
    "stage_files": {
      "running": "📎 {name} 正在整理檔案",
      "done": "📎 在這！",
      "failed": "📎 檔案沒放好"
    },
    "browser": {
      "running": "🌐 {name} 正在操作瀏覽器",
      "done": "🌐 {name} 操作完了",
      "failed": "🌐 {name} 瀏覽器不聽使喚"
    },
    "subagent": {
      "running": "🧭 {name} 分身查探中",
      "done": "🧭 分身出發了",
      "failed": "🧭 分身出了岔子"
    },
    "check_pending_tasks": {
      "running": "📋 {name} 正在找找沒做完的事兒",
      "done": "📋 {name} 找完了",
      "failed": "📋 找不著"
    },
    "cron": {
      "running": "⏰ {name} 正在設定時任務",
      "done": "⏰ 設好了",
      "failed": "⏰ 沒設成"
    },
    "notify": {
      "running": "🔔 {name} 正在發通知",
      "done": "🔔 通知發了",
      "failed": "🔔 通知沒發出去"
    },
    "create_artifact": {
      "running": "🖼️ {name} 正在寫寫畫畫",
      "done": "🖼️ 畫好了",
      "failed": "🖼️ 畫崩了"
    },
    "dm": {
      "running": "✉️ {name} 打開了手機",
      "done": "✉️ 發出去了",
      "failed": "✉️ 沒發出去"
    },
    "channel": {
      "running": "📢 {name} 正在頻道發言",
      "done": "📢 發完了",
      "failed": "📢 發不出去"
    },
    "install_skill": {
      "running": "📥 {name} 正在裝技能",
      "done": "📥 裝好了",
      "failed": "📥 沒裝上"
    },
    "update_settings": {
      "running": "⚙️ {name} 正在改設定",
      "done": "⚙️ 改好了",
      "failed": "⚙️ 沒改成"
    },
    "automation": {
      "running": "🤖 {name} 正在調度快捷指令",
      "done": "🤖 指令跑完了",
      "failed": "🤖 指令執行失敗"
    },
    "computer": {
      "running": "🖥️ {name} 正在操控你的螢幕",
      "done": "🖥️ 操控完了",
      "failed": "🖥️ 操控失敗"
    },
    "terminal": {
      "running": "💻 {name} 正在敲命令",
      "done": "💻 敲完了",
      "failed": "💻 命令執行失敗"
    },
    "current_status": {
      "running": "🕐 {name} 正在看看現在什麼情況",
      "done": "🕐 掌握資訊了",
      "failed": "🕐 取得資訊失敗"
    },
    "pin_memory": {
      "running": "📌 {name} 正在把這件事釘起來",
      "done": "📌 釘好了",
      "failed": "📌 置頂失敗"
    },
    "unpin_memory": {
      "running": "📌 {name} 正在把釘子拔下來",
      "done": "📌 拔掉了",
      "failed": "📌 取消置頂失敗"
    },
    "recall_experience": {
      "running": "🧠 {name} 正在翻經驗本",
      "done": "🧠 翻到了",
      "failed": "🧠 沒找到相關經驗"
    },
    "record_experience": {
      "running": "🧠 {name} 正在把經驗記下來",
      "done": "🧠 記好了",
      "failed": "🧠 記錄失敗"
    },
    "session_folders": {
      "running": "📁 {name} 正在調整資料夾權限",
      "done": "📁 調好了",
      "failed": "📁 調整失敗"
    },
    "stop_task": {
      "running": "🛑 {name} 正在叫停背景任務",
      "done": "🛑 停下來了",
      "failed": "🛑 停止失敗"
    },
    "todo_write": {
      "running": "📝 {name} 正在寫清單",
      "done": "📝 寫好了",
      "failed": "📝 清單寫入失敗"
    },
    "workflow": {
      "running": "🔄 {name} 正在編排工作流",
      "done": "🔄 編排完了",
      "failed": "🔄 工作流執行失敗"
    },
    "generate-image": {
      "running": "🎨 {name} 正在作圖",
      "done": "🎨 畫好了",
      "failed": "🎨 作圖失敗"
    },
    "generate-video": {
      "running": "🎬 {name} 正在生成影片",
      "done": "🎬 影片好了",
      "failed": "🎬 影片生成失敗"
    },
    "create-cover": {
      "running": "🎨 {name} 正在設計封面",
      "done": "🎨 封面好了",
      "failed": "🎨 封面生成失敗"
    },
    "apply-cover-candidate": {
      "running": "🖼️ {name} 正在換封面",
      "done": "🖼️ 換好了",
      "failed": "🖼️ 封面套用失敗"
    },
    "get-cover-style-guide": {
      "running": "📖 {name} 正在翻風格手冊",
      "done": "📖 翻到了",
      "failed": "📖 取得風格指南失敗"
    },
    "list-capabilities": {
      "running": "📋 {name} 正在清點能力",
      "done": "📋 點完了",
      "failed": "📋 能力清點失敗"
    },
    "_fallback": {
      "running": "🔧 {name} 正在忙碌中…",
      "done": "🔧 {name} 忙完了",
      "failed": "🔧 {name} 沒忙明白"
    }
  },
  "file_output": {
    "open": "打開",
    "copied": "已複製路徑"
  },
  "model": {
    "unknown": "未知模型",
    "notSelected": "請選擇模型",
    "noneConfigured": "未配置模型",
    "unavailable": "模型不可用",
    "offline": "離線",
    "switchFailed": "切換模型失敗",
    "switchWhileStreaming": "回覆中不能切換模型"
  },
  "splash": {
    "lines": [
      "{name} 想起了那天傍晚的光",
      "有些句子在記憶裡發了芽",
      "Ta 在回憶裡找到了你的輪廓",
      "風穿過那些舊對話",
      "那些文字泡在時間裡，變得很軟",
      "{name} 記得你那天笑了很久",
      "有一段記憶被你折了角",
      "Ta 把散落的情緒重新收好",
      "{name} 聞到了某個下午的橘子味",
      "那些對話還帶著體溫"
    ],
    "installing": "{name} 正在更新到 v{version}，請稍候……"
  },
  "settings": {
    "title": "設定",
    "back": "返回",
    "save": "儲存",
    "saved": "儲存成功 ✿",
    "saveFailed": "儲存失敗",
    "fileChangedOnDisk": "檔案已被外部修改，已略過舊版本儲存",
    "noChanges": "沒有需要儲存的變更",
    "autoSaved": "已自動儲存 ✿",
    "tabs": {
      "interface": "介面",
      "general": "通用",
      "browser": "瀏覽器",
      "agent": "助手",
      "me": "我",
      "providers": "供應商",
      "media": "多媒體",
      "models": "模型",
      "memory": "記憶",
      "work": "工作台",
      "skills": "技能",
      "mcp": "連接器",
      "bridge": "社群平台",
      "sharing": "分享",
      "access": "存取與裝置",
      "plugins": "插件",
      "about": "關於",
      "security": "安全"
    },
    "browser": {
      "cookiesTitle": "Cookies",
      "acceptCookies": "接受 Cookies",
      "acceptCookiesHint": "開啟後，內置瀏覽器會像普通瀏覽器一樣儲存和傳送網站 Cookies。",
      "clearCookies": "清除 Cookies",
      "clearCookiesHint": "清除內置瀏覽器已經儲存的 Cookies 和站點資料。",
      "clearCookiesButton": "清除",
      "clearCookiesSuccess": "已清除 Cookies",
      "agentTitle": "Agent 預設行為",
      "agentOpenBehavior": "打開網頁時",
      "agentOpenBehaviorHint": "控制 Agent 使用瀏覽器時預設沿用目前標籤頁，還是每次新開標籤頁。",
      "agentOpenBehaviorCurrentTab": "在目前標籤頁操作",
      "agentOpenBehaviorNewTab": "新開標籤頁"
    },
    "general": {
      "title": "通用",
      "startup": {
        "title": "啟動與背景"
      },
      "launchAtLogin": "開機自啟",
      "keepAwake": "鎖定時保持執行",
      "quickChat": {
        "title": "快速聊天",
        "shortcut": "呼出快捷鍵",
        "shortcutHint": "點擊後按下新的組合鍵，Esc 取消錄製",
        "reuseTimeout": "保留舊輸入框",
        "reuseTimeoutHint": "小窗隱藏超過這個時間後，再按快捷鍵會打開新的輸入框",
        "minutes": "分鐘",
        "recording": "按下快捷鍵...",
        "restoreDefault": "恢復預設",
        "registrationFailed": "快捷鍵已被占用"
      },
      "notifications": {
        "title": "通知",
        "turnCompletion": "輪次完成通知",
        "turnCompletionNever": "從不",
        "turnCompletionWhenUnfocused": "焦點不在 HanaAgent 時",
        "turnCompletionWhenSessionUnfocused": "焦點不在完成任務的 Session 時"
      }
    },
    "computerUse": {
      "title": "電腦控制",
      "experimentalWarning": "Computer use 功能仍屬測試階段，而且對模型性能要求較高，請在知曉所有風險後開啟。目前已驗證某些軟體下不按預期工作，建議只是嚐鮮。",
      "description": "這是全域高權限工具。開啟後，只有主助手可以在操作模式的會話裡使用電腦控制；同一時間只允許一個會話佔用。",
      "enabled": "啟用電腦控制",
      "enabledHint": "預設關閉。關閉時新會話不會暴露電腦控制工具。",
      "provider": "Provider",
      "availability": "可用性",
      "available": "可用",
      "unavailable": "不可用",
      "permissions": "請求系統權限",
      "permissionsHint": "macOS 會請求輔助功能和螢幕錄製權限；Windows 通常無需額外系統權限。",
      "permissionsStatus": "系統權限",
      "permissionsEmpty": "無需額外權限或尚未返回",
      "approvals": "已批准應用",
      "approvalsEmpty": "暫無",
      "activeSession": "目前佔用",
      "active": "執行中",
      "idle": "空閒",
      "requestPermissions": "請求系統權限",
      "requestPermissionsFailed": "請求系統權限失敗",
      "refresh": "刷新"
    },
    "appearance": {
      "title": "外觀",
      "theme": "主題",
      "warmPaper": "暖紙",
      "warmPaperMode": "白天",
      "midnight": "青夜",
      "midnightMode": "夜間",
      "highContrast": "素白",
      "highContrastMode": "高對比",
      "grassAroma": "草香",
      "grassAromaMode": "Butter",
      "contemplation": "沉思",
      "contemplationMode": "Ming",
      "absolutely": "Absolutely",
      "absolutelyMode": "有一點點熟悉",
      "delve": "隨時準備接住你",
      "delveMode": "探究一下",
      "deepThink": "用戶徹底怒了",
      "deepThinkMode": "小鯨魚",
      "newWarmPaper": "新暖紙",
      "newWarmPaperMode": "紙本",
      "midnightContrast": "青夜·高對比",
      "midnightContrastMode": "清晰",
      "auto": "自動",
      "autoMode": "跟隨系統",
      "font": "字體",
      "fontHint": "選擇正文閱讀使用的字體",
      "serifFont": "襯線字體",
      "serifFontHint": "使用襯線體顯示正文內容",
      "paperTexture": "紙質紋理",
      "paperTextureHint": "為背景添加宣紙質感",
      "paperTextureDarkDisabledHint": "黑夜模式不支援紙質紋理，切回淺色主題後會按原設定恢復",
      "leavesOverlay": "晴天模式",
      "leavesOverlayHint": "沒事兒曬曬太陽"
    },
    "fonts": {
      "followReading": "跟隨閱讀字體",
      "serifName": "襯線",
      "serifDesc": "適合正文閱讀",
      "sansName": "非襯線",
      "sansDesc": "更接近系統介面"
    },
    "interface": {
      "system": "系統",
      "hardwareAcceleration": "硬體加速",
      "hardwareAccelerationHint": "使用顯示卡繪製視窗內容。關閉後會在下次啟動使用軟體渲染，可用於恢復 Windows 顯示卡驅動導致的啟動閃退。",
      "shortcuts": "快捷鍵",
      "voiceRecordingShortcut": "語音錄製/傳送",
      "voiceRecordingShortcutHint": "主聊天頁面聚焦時，按一次開始錄音，再按一次結束並傳送。"
    },
    "editor": {
      "title": "編輯器",
      "markdownFont": "字體",
      "markdownFontHint": "預設跟隨外觀裡的閱讀字體，也可以單獨指定。",
      "markdownBodyFontSize": "正文字號",
      "markdownBodyFontSizeHint": "Markdown 編輯器正文預設使用 15px。",
      "markdownHeading1FontSize": "一級標題字號",
      "markdownHeading1FontSizeHint": "用於 # 標題。",
      "markdownHeading2FontSize": "二級標題字號",
      "markdownHeading2FontSizeHint": "用於 ## 標題。",
      "markdownHeading3FontSize": "三級標題字號",
      "markdownHeading3FontSizeHint": "用於 ### 標題。",
      "markdownHeading4FontSize": "四級標題字號",
      "markdownHeading4FontSizeHint": "用於 #### 標題。",
      "markdownHeading5FontSize": "五級標題字號",
      "markdownHeading5FontSizeHint": "用於 ##### 標題。",
      "markdownHeading6FontSize": "六級標題字號",
      "markdownHeading6FontSizeHint": "用於 ###### 標題。",
      "markdownLineHeight": "行高",
      "markdownLineHeightHint": "控制編輯區每一行文字的垂直距離。",
      "markdownContentPadding": "內容邊距",
      "markdownContentPaddingHint": "控制編輯區正文左右留白。"
    },
    "locale": {
      "title": "語言和地區",
      "language": "語言",
      "languageHint": "切換語言後需要重新載入",
      "timezone": "時區",
      "timezoneHint": "用於記憶時間標記、日記等"
    },
    "agent": {
      "title": "助手",
      "changeAvatar": "更換",
      "removeAvatar": "移除頭像",
      "avatarRemoved": "已恢復預設頭像",
      "agentNameHint": "Ta 叫什麼",
      "identity": "身份簡介",
      "identityHint": "簡短描述助手是誰、擅長什麼。其他助手透過這段文字認識 Ta",
      "ishiki": "意識",
      "ishikiHint": "定義助手的性格、語氣和行為方式。跟「元」是分開的，互不影響。",
      "publicIshiki": "對外意識",
      "publicIshikiHint": "出於隱私考量，助手與訪客對話時無法存取記憶、你的個人資訊，以及電腦上的任何檔案與工具。\n你可以在這裡設定助手對訪客說話時的回覆風格以及注意事項。",
      "chatModel": "Ta 的模型",
      "chatModelHint": "Ta 在對話與工作中使用的模型",
      "modelUnavailable": "目前不可用：{model}",
      "modelUnavailableHint": "目前模型已不在可用列表中，請重新選擇模型，或到供應商頁面重新儲存設定並讀取模型。",
      "imageModel": "圖片模型",
      "imageModelHint": "Ta 在圖片生成時使用的模型",
      "addAgent": "新建助手",
      "createTitle": "新建助手",
      "namePlaceholder": "起個名字",
      "cancel": "取消",
      "confirm": "建立",
      "creating": "正在建立…",
      "nameRequired": "請輸入助手名字",
      "created": "{name} 已建立 ✿",
      "createFailed": "建立失敗",
      "switched": "已切換到 {name} ✿",
      "switchFailed": "切換失敗",
      "deleteBtn": "刪除助手",
      "deleteTitle1": "刪除 {name}？",
      "deleteDesc1": "這會永久刪除 Ta 的所有設定、記憶和對話記錄，無法恢復。",
      "deleteNext": "繼續",
      "deleteTitle2": "輸入「{name}」確認刪除",
      "deletePlaceholder": "輸入助手名字",
      "deleteConfirm": "永久刪除",
      "deleteCancel": "取消",
      "deleted": "{name} 已刪除",
      "deleteFailed": "刪除失敗",
      "setPrimary": "設為主助手",
      "setPrimaryFailed": "設定主助手失敗",
      "lastAgent": "至少保留一個助手",
      "yuan": "元",
      "yuanHint": "「元」是助手的潛意識，以此為基礎搭建你獨一無二的夥伴",
      "tools": {
        "title": "工具",
        "description": "這些工具開關會在重啟對話或建立新對話後生效。目前進行中的會話會繼續使用建立時的工具集。",
        "items": {
          "automation": {
            "label": "自動化",
            "summary": "讓 Agent 建立通知和外掛定時動作"
          },
          "beautify": {
            "label": "小花美术",
            "summary": "讓 Agent 為文件生成封面和審美增強內容"
          },
          "browser": {
            "label": "瀏覽器",
            "summary": "控制無頭瀏覽器瀏覽網頁"
          },
          "cron": {
            "label": "定時任務",
            "summary": "在指定時間自動執行任務"
          },
          "dm": {
            "label": "私訊",
            "summary": "向其他 Agent 傳送一對一訊息"
          },
          "install_skill": {
            "label": "安裝技能",
            "summary": "從 GitHub 或技能庫安裝新技能"
          },
          "update_settings": {
            "label": "修改設定",
            "summary": "讓 Agent 修改應用設定項"
          },
          "workflow": {
            "label": "Workflow",
            "summary": "讓 Agent 把多 Agent 編排腳本作為背景任務執行"
          }
        }
      }
    },
    "about": {
      "title": "關於 Ta",
      "tagline": "一個住在你電腦裡的助手，記性很好。",
      "license": "許可證",
      "copyright": "版權",
      "licenseToggle": "許可證全文",
      "updateAvailable": "有新版本可用：v{version}",
      "updateDownload": "下載",
      "updateChecking": "正在檢查更新…",
      "updateDownloading": "{agentName}正在準備新家 {percent}%",
      "updateReadyInstall": "v{version} 已就緒",
      "updateInstalling": "正在安裝更新，HanaAgent 會自動重新啟動…",
      "updateInstallManualHint": "點「重啟更新」後安裝，直接退出不會自動安裝",
      "updateInstall": "重新啟動更新",
      "updateInstallNow": "重新啟動立即更新",
      "updateProgress": "{percent}%",
      "updateError": "檢查更新失敗",
      "updateLatest": "已是最新版本",
      "updateCheckBtn": "檢查更新",
      "updateNeedInstall": "請先將 HanaAgent 移動到應用程式資料夾",
      "updateDiskSpace": "磁碟空間不足，無法下載更新",
      "launchAtLogin": "開機自啟",
      "keepAwake": "鎖定時保持執行",
      "betaUpdates": "接收測試版更新",
      "autoCheckUpdates": "自動檢查更新"
    },
    "access": {
      "networkAccess": "區域網路存取",
      "mobileAccess": "手機存取",
      "desktopAccess": "電腦存取",
      "lanToggle": "允許區域網路裝置存取",
      "lanHint": "開啟後，同一區域網路內的手機和電腦可以存取這台 HanaAgent Server",
      "port": "固定連接埠",
      "portHint": "用於書籤和 QR Code；修改後需要重新啟動 Hana 生效",
      "mobileUrl": "手機存取地址",
      "mobileUrlLanHint": "在手機瀏覽器中開啟這個地址",
      "mobileUrlLocalHint": "目前僅允許本機存取，開啟區域網路後會顯示手機可用地址",
      "status": "執行狀態",
      "statusHint": "用於確認目前服務實際監聽位置和手機可用地址",
      "runtimeEndpoint": "目前監聽",
      "effectiveMobileUrl": "目前生效地址",
      "effectiveDesktopUrl": "電腦連線地址",
      "lanAddresses": "區域網路地址",
      "noLanAddresses": "未發現區域網路地址",
      "qrCode": "QR Code",
      "qrCodeHint": "用手機掃碼開啟 PWA",
      "restartRequired": "連接埠變更已儲存，重新啟動 Hana 後生效",
      "saveNetwork": "儲存存取設定",
      "mobileKeys": "手機密鑰",
      "generateMobileKey": "產生手機存取密鑰",
      "mobileKeyHint": "手機首次登入時使用，之後會換成瀏覽器登入狀態",
      "mobileKey": "存取密鑰",
      "mobileKeyOnce": "密鑰只在產生後顯示一次，請妥善保存",
      "mobileKeyCreated": "已產生手機存取密鑰",
      "mobileKeyFailed": "產生失敗",
      "desktopUrl": "電腦連線地址",
      "desktopUrlLanHint": "在另一台電腦瀏覽器中開啟這個地址",
      "desktopUrlLocalHint": "目前僅允許本機存取，開啟區域網路後會顯示電腦可用地址",
      "generateDesktopKey": "產生電腦存取密鑰",
      "desktopKeyHint": "另一台電腦瀏覽器首次登入時使用，之後會換成瀏覽器登入狀態",
      "desktopKey": "電腦存取密鑰",
      "desktopKeyOnce": "密鑰只在產生後顯示一次，請在另一台電腦上填入",
      "desktopKeyCreated": "已產生電腦存取密鑰",
      "desktopKeyFailed": "產生失敗",
      "connectLanServer": "連線區域網路伺服器",
      "remoteServerUrl": "伺服器位址",
      "remoteServerUrlHint": "填入另一台電腦或 NAS 上 HanaAgent Server 的地址",
      "remoteServerKey": "存取密鑰",
      "remoteServerKeyHint": "填入那台伺服器設定頁產生的電腦存取密鑰",
      "remoteServerConnected": "已連線區域網路伺服器",
      "remoteServerFailed": "連線失敗",
      "remoteConnection": "目前連線的是遠端 Hana",
      "remoteConnectionDesc": "存取與裝置中的本機帳號、密碼、區域網路開關和密鑰產生只屬於本機 Hana。",
      "remoteConnectionName": "連線名稱",
      "remoteConnectionKind": "連線類型",
      "remoteConnectionUrl": "伺服器位址",
      "remoteConnectionUnknown": "未知",
      "remoteLocalOnlyNote": "需要管理這台電腦的區域網路存取、裝置密鑰或本機帳號時，請先切回本機 Hana。",
      "returnToLocal": "切回本機 Hana",
      "returnedToLocal": "已切回本機 Hana",
      "localConnectionUnavailable": "本機 Hana 連線尚未就緒",
      "pairedDevices": "已配對裝置",
      "noDevices": "暫無已配對裝置",
      "revoke": "撤銷",
      "revokeCredential": "撤銷密鑰",
      "credentialRevoked": "已撤銷密鑰",
      "credentialRevokeFailed": "撤銷密鑰失敗",
      "deviceRevoked": "已撤銷裝置",
      "deviceRevokeFailed": "撤銷失敗",
      "localAccount": "本機帳號",
      "username": "使用者名稱",
      "displayName": "顯示名稱",
      "saveAccount": "儲存帳號",
      "accountSaved": "帳號已儲存",
      "password": "密碼",
      "passwordSet": "已設定密碼",
      "passwordNotSet": "尚未設定密碼",
      "passwordHint": "用於後續安全遠端登入；區域網路 HTTP 仍優先使用手機存取密鑰",
      "newPassword": "新密碼",
      "savePassword": "儲存密碼",
      "passwordSaved": "密碼已儲存",
      "clearPassword": "清空密碼",
      "passwordCleared": "密碼已清空",
      "copy": "複製",
      "copied": "已複製",
      "saved": "已儲存",
      "invalidPort": "連接埠必須是數字",
      "loadFailed": "讀取存取設定失敗"
    },
    "security": {
      "sandbox": "沙盒",
      "sandboxDesc": "限制 AI 的檔案系統寫入範圍；普通外部檔案可唯讀存取，工作目錄內可讀寫",
      "sandboxWarning": "關閉沙盒後 AI 可以讀寫或刪除系統上的任意檔案，可能產生意想不到的結果",
      "sandboxNetwork": "允許沙盒聯網",
      "sandboxNetworkDesc": "開啟後，沙盒內的命令可以存取公網；檔案寫入限制仍然生效",
      "sandboxNetworkDisabledDesc": "沙盒關閉時命令已按普通行程聯網，這個開關只影響開啟沙盒後的命令",
      "sandboxNetworkWin32Unsupported": "Windows 命令沙盒只隔離檔案寫入，暫不支援網路隔離；沙盒命令會按目前使用者網路權限執行",
      "networkProxy": "出站代理",
      "networkProxyMode": "代理模式",
      "networkProxyModeDesc": "應用內 API、OAuth、Bridge 和網頁請求共用這組出站代理",
      "networkProxySystem": "跟隨系統 / 環境",
      "networkProxyManual": "手動代理",
      "networkProxyDirect": "直連",
      "networkProxyManualTitle": "代理位址",
      "networkProxyManualDesc": "支援 http、https、socks 和 socks5 URL；HTTPS 留空時會複用 HTTP",
      "networkProxyHttp": "HTTP proxy，例如 http://127.0.0.1:7890",
      "networkProxyHttps": "HTTPS proxy，例如 http://127.0.0.1:7890",
      "networkProxyWs": "WS proxy，可留空",
      "networkProxyWss": "WSS proxy，可留空",
      "networkProxyNoProxy": "不走代理，例如 localhost, 127.0.0.1, ::1",
      "networkProxySave": "儲存代理設定",
      "archivedChats": "歸檔對話",
      "archivedChatsDesc": "查看已歸檔的聊天，還原需要繼續的對話，或永久刪除不再需要的紀錄",
      "viewArchivedChats": "查看歸檔對話",
      "fileBackup": "檔案備份",
      "fileBackupDesc": "AI 修改或刪除檔案前自動儲存原始內容",
      "retention": "保留時間",
      "retention1d": "1 天",
      "retention3d": "3 天",
      "retention7d": "7 天",
      "maxFileSize": "忽略大於",
      "viewBackups": "查看備份",
      "hideBackups": "收起",
      "restoreBtn": "還原",
      "noBackups": "暫無備份紀錄",
      "restoreSuccess": "已還原",
      "restoreFailed": "還原失敗"
    },
    "me": {
      "title": "我",
      "changeAvatar": "更換",
      "userNameHint": "Ta 怎麼稱呼你",
      "userProfile": "使用者檔案",
      "userProfileHint": "讓助手了解你：興趣、習慣、偏好等，會注入到系統提示詞中"
    },
    "crop": {
      "title": "調整頭像",
      "hint": "拖曳移動，滾輪縮放",
      "cancel": "取消",
      "confirm": "確定",
      "updated": "頭像已更新 ✿",
      "reset": "已恢復預設頭像"
    },
    "providers": {
      "title": "已註冊的供應商",
      "addTitle": "新增供應商",
      "name": "供應商",
      "customName": "名稱",
      "customUrl": "Base URL",
      "apiFormat": "API 協定",
      "url": "Base URL",
      "apiKey": "API Key",
      "addBtn": "新增",
      "empty": "還沒有註冊供應商",
      "fetchModels": "讀取模型",
      "delete": "刪除供應商",
      "modelCount": "{n} 個模型",
      "fetchSuccess": "{name} 取得了 {n} 個模型",
      "fetchFailed": "拉取失敗",
      "nameRequired": "請輸入供應商名稱",
      "urlRequired": "請輸入 Base URL",
      "apiRequired": "請選擇 API 協定",
      "added": "已新增 {name}",
      "deleted": "已刪除 {name}",
      "noModels": "暫無模型",
      "resetModels": "重設模型",
      "apiType": "API 類型",
      "verify": "驗證",
      "verifyConnection": "驗證連線",
      "verifySuccess": "驗證通過",
      "verifyFailed": "驗證失敗",
      "setupHint": "輸入 API Key 以啟用此供應商",
      "configInvalid": "此供應商設定損壞，已被暫時略過。請重新儲存設定，或刪除後重建。",
      "configIncomplete": "此供應商設定不完整，請補齊 API Key、Base URL，並新增或讀取模型。",
      "selectHint": "選擇一個供應商查看詳情",
      "addCustom": "新增自訂供應商",
      "noKey": "未設定",
      "remove": "移除",
      "deleteConfirm": "確定刪除供應商 {name}？相關模型將一併清除。"
    },
    "usage": {
      "title": "用量統計",
      "note": "用量僅供參考，具體以供應商的統計為準。",
      "refresh": "重新整理用量",
      "total": "全部",
      "requests": "請求數",
      "totalTokens": "Tokens",
      "cacheRead": "快取命中",
      "cacheHitRate": "命中率",
      "uncached": "未快取消耗",
      "modelMix": "模型分佈",
      "dailyUsage": "每日用量",
      "requestLedger": "請求明細",
      "loading": "正在讀取用量…",
      "empty": "暫無用量記錄",
      "groupMeta": "{requests} 次 · {errors} 錯誤",
      "cacheShort": "快取 {tokens}",
      "tokensShort": "{tokens} tok",
      "cacheSummary": "快取 {cache} · 未快取 {uncached}",
      "view": {
        "overall": "總覽",
        "daily": "按日期",
        "category": "按類別",
        "model": "按模型"
      },
      "category": {
        "session": "Session",
        "phone": "Phone",
        "memory": "記憶",
        "automation": "自動化",
        "subagent": "Subagent",
        "compaction": "壓縮",
        "plugin": "外掛",
        "utility": "工具",
        "vision": "視覺",
        "unknown": "未知"
      },
      "status": {
        "ok": "完成",
        "error": "錯誤",
        "aborted": "中止",
        "usage_missing": "無用量"
      }
    },
    "media": {
      "imageGeneration": "圖片生成",
      "defaultModel": "預設圖片模型",
      "credentialOk": "API Key 已設定（複用供應商設定）",
      "credentialMissing": "未設定，前往供應商設定",
      "adapterMissing": "缺少圖片生成適配器",
      "addModel": "新增圖片模型",
      "providerDefaults": "預設參數",
      "size": "尺寸",
      "format": "格式",
      "quality": "品質",
      "watermark": "浮水印",
      "aspectRatio": "長寬比",
      "speechRecognition": "語音辨識",
      "speechRecognitionEnabled": "傳送語音條時轉錄",
      "defaultSpeechModel": "語音條轉錄模型",
      "speechModels": "轉錄模型",
      "speechSynthesis": "語音合成",
      "comingSoon": "即將推出",
      "noProvider": "請選擇一個供應商查看詳情",
      "models": "圖片模型",
      "globalDefault": "全域預設",
      "followGlobal": "跟隨全域預設",
      "default": "預設"
    },
    "oauth": {
      "title": "快速登入",
      "login": "登入",
      "logout": "登出",
      "loggedIn": "已登入",
      "codePlaceholder": "貼上授權碼",
      "submit": "確認",
      "success": "登入成功",
      "loggedOut": "已登出",
      "failed": "登入失敗",
      "deviceHint": "在瀏覽器中輸入此驗證碼並授權",
      "waiting": "等待授權中…",
      "clickToCopy": "點擊複製",
      "codeCopied": "驗證碼已複製",
      "addModel": "新增模型",
      "customModelPlaceholder": "輸入模型 ID"
    },
    "api": {
      "title": "模型與介面",
      "mainApi": "主 API",
      "provider": "Provider",
      "baseUrl": "Base URL",
      "baseUrlHint": "請明確填寫 Base URL",
      "apiKey": "API Key",
      "apiKeyPlaceholder": "輸入新的 Key 以更新",
      "utilityApi": "工具模型 API",
      "utilityApiHint": "單獨設定時需要完整填寫 provider、Base URL 和 API Key",
      "showKey": "顯示",
      "hideKey": "隱藏",
      "selectModel": "選擇模型",
      "customModel": "自訂...",
      "mainModelSection": "模型",
      "mainModelHint": "這裡的模型會顯示在聊天頁面",
      "addModel": "新增模型",
      "defaultModel": "預設",
      "removeModel": "移除",
      "noModels": "還沒有新增模型",
      "otherModelSection": "其他模型",
      "chatModel": "主模型",
      "utilityModel": "小工具模型",
      "utilityModelHint": "產生標題、輕量分類等簡單任務，推薦用便宜的小模型",
      "utilityLargeModel": "大工具模型",
      "utilityLargeModelHint": "活動摘要、任務拆解等需要理解力的場景，留空則複用小工具模型",
      "visionModel": "視覺輔助模型",
      "visionAuxiliaryToggle": "輔助視覺開關",
      "visionModelHint": "僅在目前聊天模型不能接收圖片時，用來先看圖並遞交簡潔說明",
      "visionModelMissingHint": "如果找不到你的模型，請在供應商頁面設定視覺能力。",
      "searchProvider": "搜尋服務",
      "searchProviderField": "搜尋引擎",
      "searchApiKey": "搜尋 API Key",
      "searchApiKeyHint": "啟用搜尋時請填寫所選 provider 的 API Key",
      "searchApiKeysAutoHint": "Auto 會優先使用已設定的 Tavily、Brave、Serper，然後使用 AnySearch 免費搜尋；額度耗盡、報錯、空結果或相關性較弱時再回退到瀏覽器搜尋。",
      "searchApiKeyNotRequired": "瀏覽器搜尋不需要 API Key，會在本機背景開啟搜尋頁並整理結果。",
      "favorites": "收藏",
      "searchModel": "搜尋模型...",
      "noFavorites": "點擊 ☆ 收藏常用模型",
      "customInput": "自訂...",
      "editModel": "編輯",
      "contextLength": "上下文長度",
      "contextShort": "上下文",
      "maxOutput": "最大輸出",
      "outputLength": "輸出長度",
      "modelName": "模型",
      "output": "輸出",
      "save": "儲存",
      "cancel": "取消",
      "thinkingLevel": "思考強度",
      "thinkingLevelHint": "控制模型的推理深度，僅對支援推理的模型生效",
      "thinkingLevels": {
        "off": "關閉",
        "low": "淺思",
        "medium": "中等",
        "high": "深思",
        "auto": "自動",
        "xhigh": "極限"
      },
      "addedModels": "已新增的模型",
      "displayName": "顯示名稱",
      "vision": "視覺",
      "video": "影片",
      "audio": "音訊",
      "reasoning": "推理",
      "capability": {
        "image": "支援圖像輸入",
        "video": "支援影片輸入",
        "audio": "支援音訊輸入",
        "reasoning": "支援推理"
      }
    },
    "memory": {
      "sectionTitle": "記憶",
      "title": "記憶開關",
      "needsUtilityModel": "需要先在「模型」中設定 Utility 模型",
      "compiled": "當下記憶",
      "compiledHint": "助手記住的關於你的，重要的與近期的事",
      "compiledView": "查看當下記憶",
      "compiledEmpty": "還沒有編譯過記憶",
      "compiledClear": "清空",
      "compiledCleared": "編譯記憶已清空",
      "health": {
        "healthy": "記憶整理正常",
        "degraded": "記憶整理有延遲",
        "unhealthy": "記憶整理需要處理",
        "disabled": "記憶已關閉",
        "unavailable": "記憶狀態暫不可用",
        "stepSeparator": "、",
        "failedSteps": "異常步驟：{steps}",
        "lastError": "最近錯誤：{time}",
        "errorMessage": "錯誤：{message}",
        "steps": {
          "rollingSummary": "滾動摘要",
          "compileToday": "今日記憶",
          "compileWeek": "本週記憶",
          "compileLongterm": "長期記憶",
          "compileFacts": "事實記憶",
          "deepMemory": "深層記憶"
        }
      },
      "allMemories": "所有記憶",
      "tokenBudget": "記憶容量",
      "tokenBudgetHint": "memory.md 的目標 token 預算",
      "decayPerDay": "衰減係數",
      "decayPerDayHint": "高斯衰減的基礎 λ 值",
      "hitBonus": "命中加分",
      "hitBonusHint": "每次提及記憶時增加的分數",
      "baseImportance": "初始重要度",
      "baseImportanceHint": "新記憶的預設初始分",
      "forgetSpeed": "遺忘倍率",
      "forgetSpeedHint": "1.0 = 正常，2.0 = 忘得快一倍",
      "compileThreshold": "編譯閾值",
      "compileThresholdHint": "分數低於此值的記憶不進入 memory.md",
      "timezone": "時區",
      "timezoneHint": "用於記憶的時間標記",
      "actions": {
        "title": "記憶管理",
        "view": "查看記憶",
        "clear": "清除記憶",
        "more": "更多",
        "export": "匯出記憶",
        "import": "匯入記憶",
        "clearConfirm": "確定要清除所有記憶嗎？此操作不可撤銷。",
        "cancel": "取消",
        "confirmClear": "確認清除",
        "viewTitle": "所有記憶",
        "clearSuccess": "記憶已清除",
        "exportSuccess": "匯出成功",
        "importSuccess": "已匯入 {count} 條記憶",
        "importing": "正在匯入...",
        "empty": "還沒有記憶",
        "invalidFile": "無效的記憶檔案",
        "activeOnly": "請先將此助手設為主助手"
      },
      "unknownDate": "未知日期",
      "threshold": {
        "title": "記憶水位線",
        "hint": "有多少記憶能被記住由你決定。有一些雜音是可以的，大語言模型可以很好的識別",
        "stats": "記住 {remembered} 條 / 共 {total} 條記憶"
      },
      "activeOnly": "請先將此助手設為主助手"
    },
    "pins": {
      "title": "置頂記憶",
      "hint": "你主動告訴助手一定要記住的東西，也可以手動編輯與新增",
      "empty": "還沒有置頂記憶",
      "delete": "刪除",
      "addPlaceholder": "新增一條置頂記憶..."
    },
    "experience": {
      "title": "經驗",
      "hint": "助手累積的工作經驗，按分類整理。助手在開始工作前會自動檢查相關經驗",
      "toggleLabel": "啟用經驗",
      "toggleHint": "預設關閉。開啟後，助手會自動總結工作經驗並不斷成長，但有污染上下文的風險。",
      "paused": "經驗已暫停。已有內容會保留，但助手不能讀取或記錄經驗。",
      "empty": "暫無經驗累積",
      "edit": "編輯",
      "deleteCategory": "刪除分類"
    },
    "search": {
      "verify": "驗證",
      "verifying": "驗證中...",
      "verified": "驗證通過，已儲存 ✿",
      "verifyFailed": "驗證失敗",
      "noProvider": "請先選擇搜尋引擎",
      "noKey": "請先輸入 API Key"
    },
    "work": {
      "title": "巡檢",
      "heartbeatMaster": "巡檢總開關",
      "heartbeatMasterDesc": "關閉後所有助手的巡檢均暫停",
      "heartbeatEnabled": "巡檢模式",
      "heartbeatOn": "已開啟",
      "heartbeatOff": "已關閉",
      "heartbeatInterval": "巡檢間隔",
      "heartbeatUnit": "分鐘",
      "heartbeatDesc": "助手每隔多久自動巡檢一次工作台",
      "automationPermissionMode": "自動化執行權限",
      "automationPermissionModeDesc": "決定背景自動化 Agent Run 能否自動審核工具呼叫、完整執行，或只讀取資訊",
      "homeFolder": "工作台",
      "homeFolderDesc": "新建對話預設使用的工作目錄，巡檢和定時任務也在這裡執行",
      "homeFolderPlaceholder": "未設定（每次手動選擇）",
      "homeFolderClear": "清除",
      "homeFolderBrowse": "選擇資料夾",
      "contextFilesTitle": "工作區說明注入",
      "contextFilesDesc": "把目前工作台專案裡的 AGENTS.md / CLAUDE.md 注入到新建會話的系統提示詞中，位置在記憶之前。",
      "injectAgentsMd": "注入 AGENTS.md",
      "injectAgentsMdDesc": "開啟後，新會話會讀取目前工作目錄到 Git 根目錄之間的 AGENTS.md。",
      "injectClaudeMd": "注入 CLAUDE.md",
      "injectClaudeMdDesc": "開啟後，新會話會讀取目前工作目錄到 Git 根目錄之間的 CLAUDE.md。"
    },
    "toolCaps": {
      "title": "技能安裝權限"
    },
    "skills": {
      "title": "技能管理",
      "desc": "啟用或關閉助手的技能。啟用後，助手在相關對話中會自動識別並使用對應技能。",
      "manageTitle": "已裝技能",
      "agentConfigTitle": "Agent Skill 設定",
      "configureFor": "正在設定:",
      "userSkillsTitle": "助手技能配置",
      "user": "使用者技能",
      "system": "系統技能",
      "add": "新增技能",
      "delete": "刪除",
      "deleteConfirm": "確定刪除技能「{name}」？",
      "installSuccess": "技能「{name}」已安裝",
      "installError": "安裝失敗",
      "enabled": "已啟用",
      "disabled": "未啟用",
      "noSkills": "暫無可用技能",
      "noUser": "暫無自訂技能",
      "copyToSkills": "複製到我的技能",
      "copied": "已複製 ✓",
      "copyFailed": "複製失敗",
      "dropzone": "拖入技能資料夾安裝，或點擊選擇",
      "learnHint": "試著對助手說：幫我從 GitHub 上找一些安全並且有用的技能",
      "reloaded": "技能已重新整理",
      "reload": "重新整理技能",
      "compatTitle": "相容技能",
      "compatDesc": "自動發現其他 AI 工具安裝的技能",
      "compatNoSkills": "未發現外部技能",
      "compatAddPath": "新增目錄",
      "compatRemove": "移除",
      "compatAutoDiscovered": "自動發現",
      "compatNotInstalled": "未安裝",
      "learnCreate": "自行建立 / 安裝技能",
      "learnCreateDesc": "允許 Agent 編寫新技能或透過工具呼叫安裝到通用技能池，並預設只為目前 Agent 啟用",
      "fetchRemote": "從 GitHub / ClawHub 主動取得技能",
      "fetchRemoteDesc": "開啟後 Agent 會在執行專業任務時主動搜尋並安裝合適的技能，請謹慎",
      "safetyReview": "安裝前安全審查",
      "safetyReviewDesc": "安裝技能前透過 AI 偵測 prompt injection 等安全風險",
      "fetchWarning": {
        "title": "關於主動取得技能",
        "body1": "開啟後，Agent 在執行專業任務時會主動從 GitHub 和 ClawHub 搜尋、下載並安裝合適的技能。",
        "body2": "雖然安裝前會進行自動安全審查和 star 數門檻檢查，但仍存在以下風險：",
        "risk1": "技能內容未經人工審核，可能包含不當指令",
        "risk2": "Agent 可能安裝與預期不符的技能",
        "risk3": "惡意技能可能嘗試操控 Agent 行為",
        "confirm": "我了解風險，開啟"
      },
      "safetyWarning": {
        "title": "關閉安全審查",
        "body1": "安全審查會在安裝技能前偵測潛在的惡意內容，包括：",
        "risk1": "Prompt injection（越權指令）",
        "risk2": "過於寬泛的觸發條件",
        "risk3": "社會工程和權限提升嘗試",
        "body2": "關閉後，所有技能將不經審查直接安裝。",
        "confirm": "我了解風險，關閉審查"
      }
    },
    "plugins": {
      "title": "插件",
      "desc": "管理社群插件。",
      "empty": "尚無插件",
      "reload": "重新整理",
      "statusLoaded": "已載入",
      "statusFailed": "載入失敗",
      "statusDisabled": "已停用",
      "fullAccessToggle": "允許全權插件",
      "fullAccessDesc": "開啟後，宣告 full-access 的插件將獲得完整系統權限（路由、鉤子、Provider 等）",
      "devToolsToggle": "允許 Agent 插件開發工具",
      "devToolsDesc": "開啟後，Agent 可以安裝、重載、啟停和移除開發態插件。只作用於開發插件目錄，不影響正式安裝的插件。",
      "dropzone": "拖入插件資料夾或 .zip 安裝，或點擊選擇",
      "statusRestricted": "需要全權許可",
      "deleteConfirm": "移除插件「{name}」？插件資料將保留。",
      "installSuccess": "插件「{name}」已安裝",
      "installError": "插件安裝失敗",
      "invalidPlugin": "不是有效的插件目錄",
      "pluginsDir": "插件目錄：{path}",
      "needsFullAccess": "請先開啟「允許全權插件」",
      "configure": "設定「{name}」",
      "configTitle": "「{name}」設定",
      "configLoadError": "插件設定載入失敗",
      "sensitiveHint": "已儲存的值會被隱藏。輸入新值即可替換。",
      "invalidJson": "JSON 格式不正確",
      "showDiagnostics": "查看插件診斷",
      "diagnosticsTitle": "插件診斷",
      "diagnosticsLoadError": "插件診斷載入失敗",
      "diagnosticsSummary": "能力 {capabilities}/{total} · 任務 {tasks} · 排程 {schedules}",
      "noDiagnostics": "暫無診斷資料",
      "diagnosticActivation": "激活：{state}",
      "diagnosticRoutes": "頁面 {pages} · 元件 {widgets} · 設定頁 {settingsTabs}",
      "diagnosticTools": "工具 {count}",
      "diagnosticCommands": "命令 {count}",
      "diagnosticConfig": "配置項 {count}",
      "openMarketplace": "打開插件市場",
      "marketBack": "返回插件管理",
      "marketplaceTitle": "插件市場",
      "marketplaceHint": "瀏覽可安裝插件，查看 README、權限和貢獻類型。",
      "marketplaceCount": "{count} 個插件",
      "marketplaceNoSource": "未配置市場源",
      "marketplaceEmpty": "暫無可瀏覽插件",
      "marketLoading": "正在讀取插件市場…",
      "marketLoadError": "插件市場載入失敗",
      "marketReadmeLoadError": "README 載入失敗",
      "marketInstalled": "已安裝",
      "marketInstall": "安裝",
      "marketUpdate": "更新",
      "marketReinstall": "重新安裝",
      "marketDowngrade": "降級",
      "marketIncompatible": "不相容",
      "marketUpdateAvailable": "可更新",
      "marketInstalledVersion": "已安裝 v{version}",
      "marketUpdateFrom": "已安裝 v{from}，可更新到 v{to}",
      "marketDowngradeTo": "目前只能安裝相容版本 v{version}",
      "marketDowngradeConfirm": "目前版本是 v{from}，將降級到 v{to}。繼續嗎？",
      "marketReadmeLoading": "正在讀取 README…",
      "marketSelectPlugin": "選擇一個插件查看 README"
    },
    "mcp": {
      "masterTitle": "總開關",
      "masterName": "啟用連接器",
      "masterDesc": "關閉後，新會話不會暴露任何 MCP 連接器工具；已凍結的舊會話呼叫時會收到明確錯誤。",
      "connectorsTitle": "連接器",
      "connectorName": "名稱",
      "description": "描述",
      "descriptionPlaceholder": "可選，用來說明這個連接器的用途",
      "connectorMode": "類型",
      "modeRemote": "遠端",
      "modeLocal": "本地命令",
      "remoteUrl": "遠端 URL",
      "transport": "傳輸",
      "transportAuto": "自動",
      "transportStreamable": "Streamable HTTP",
      "transportSse": "SSE",
      "authType": "鑑權",
      "authNone": "無",
      "authBearer": "Bearer Token",
      "authOAuth": "OAuth",
      "authToken": "存取權杖",
      "oauthClientId": "OAuth Client ID",
      "oauthClientSecret": "OAuth Client Secret",
      "oauthConnect": "連接",
      "oauthConnected": "OAuth 已連接",
      "oauthDisconnected": "OAuth 未連接",
      "headers": "請求標頭",
      "headersHint": "每行一個 KEY=value。儲存後會脫敏顯示，請求遠端 MCP 時會帶上這些 headers。",
      "statusRunning": "執行中",
      "statusStopped": "已停止",
      "statusConnecting": "連線中",
      "statusReconnecting": "重新連線中",
      "statusFailed": "重新連線失敗",
      "statusNeedsAuth": "需重新登入",
      "command": "命令",
      "args": "參數",
      "cwd": "工作目錄",
      "cwdPlaceholder": "可選",
      "registryUrl": "Registry",
      "env": "環境變數",
      "envHint": "每行一個 KEY=value。只會傳給本地 stdio MCP server 子行程。",
      "timeout": "逾時秒數",
      "autoStart": "自動啟動",
      "addConnector": "新增連接器",
      "updateConnector": "更新連接器",
      "importJson": "匯入 JSON",
      "importJsonHint": "支援 Cherry Studio、Claude 等 mcpServers JSON 配置格式。",
      "noConnectors": "暫無連接器",
      "envCount": "個環境變數",
      "headersCount": "個請求標頭",
      "toolsCount": "個工具",
      "start": "啟動",
      "stop": "停止",
      "refresh": "重新整理工具",
      "removeConfirm": "確定移除此連接器？已儲存的 per-agent 開關會保留但不再生效。",
      "agentTitle": "助手配置",
      "agentConnectorDesc": "像技能一樣，只對選中的助手啟用。",
      "saveError": "儲存失敗"
    },
    "screenshot": {
      "title": "截圖分享",
      "desc": "選擇你分享對話的截圖樣式與排版",
      "color": "配色",
      "width": "寬度",
      "font": "字體",
      "fontLabel": "截圖字體",
      "fontHint": "不選單獨字體時，截圖會跟隨外觀裡的閱讀字體。",
      "light": "淺色",
      "dark": "深色",
      "sakura": "青空與櫻",
      "mobile": "手機看",
      "desktop": "電腦看",
      "mobileTitle": "手機排版",
      "mobileDesc": "長圖，適合手機分享",
      "desktopTitle": "電腦排版",
      "desktopDesc": "更寬，適合電腦保存與分享",
      "segmentTitle": "自動分段",
      "segmentLimitLabel": "單頁字數上限",
      "segmentLimitHint": "超過這個可見字數後，會在完整輪次邊界切到下一張截圖；預設 10000 字。",
      "segmentLimitUnit": "字"
    },
    "bridge": {
      "agent": "Agent",
      "telegram": "Telegram",
      "telegramToken": "Bot Token",
      "telegramHint": "從 @BotFather 取得",
      "feishu": "飛書",
      "feishuAppId": "App ID",
      "feishuAppSecret": "App Secret",
      "feishuHint": "從飛書開放平台取得；使用長連線接收事件，不需要本機回呼 URL",
      "whatsapp": "WhatsApp",
      "qq": "QQ",
      "qqAppId": "App ID",
      "qqAppSecret": "App Secret",
      "qqHint": "從 QQ 機器人開放平台（q.qq.com/qqbot）取得",
      "wechat": "微信",
      "wechatHint": "透過微信 iLink 協議接入個人號",
      "wechatExclusive": "一個微信號只能綁定一個 Agent，綁定新 Agent 後舊的會自動失效",
      "wechatReplyWindowReminder": "微信主動通知依賴最近一次收到訊息後的回覆窗口。如果提醒沒有送達，可以先傳一則微信給這個 Agent 來啟用窗口。",
      "wechatScan": "掃碼登入",
      "wechatRescan": "重新登入",
      "wechatLoggedIn": "已登入",
      "wechatNeedScan": "請先掃碼登入",
      "wechatScanning": "請用微信掃描 QR Code",
      "wechatScanned": "已掃碼，請在手機上確認",
      "wechatExpired": "QR Code 已過期",
      "wechatLoginSuccess": "登入成功",
      "wechatLoginFailed": "登入失敗",
      "wechatUnbind": "解除綁定",
      "wechatUnbound": "已解除微信綁定",
      "connected": "已連線",
      "disconnected": "未連線",
      "error": "連線失敗",
      "test": "測試連線",
      "testOk": "連線成功",
      "testFail": "測試失敗",
      "noToken": "請先輸入 Bot Token",
      "noCredentials": "請先填寫 App ID 和 App Secret",
      "globalSettings": "全域設定",
      "agentSettings": "角色",
      "permissionMode": "權限模式",
      "permissionModeDesc": "決定外部平台機器人能否自動審核工具呼叫、完整執行，或只讀取資訊",
      "permissionModeAuto": "自動審核",
      "permissionModeOperate": "完整權限",
      "permissionModeReadOnly": "唯讀模式",
      "receiptEnabled": "回覆前提示",
      "receiptEnabledDesc": "收到訊息後，先傳送一條「已接收並正在回覆」的提示",
      "readOnly": "唯讀模式",
      "readOnlyDesc": "外部平台的機器人只能讀取檔案，不能執行寫入和命令操作",
      "howTo": "如何接入？",
      "tutorialTitle": "平台接入教學",
      "tutorialTgSteps": [
        "在 Telegram 搜尋 <code>@BotFather</code> 並打開對話",
        "傳送 <code>/newbot</code>，按提示設定 Bot 名稱和使用者名稱",
        "建立完成後 BotFather 會回覆一串 Bot Token（格式如 <code>123456:ABC-DEF...</code>）",
        "將 Token 貼到上方輸入框，打開開關即可",
        "在 Telegram 找到你的 Bot，發訊息試試吧"
      ],
      "ownerSelect": "哪個帳號是你",
      "ownerWarning": "所選帳號可存取你的檔案和隱私資訊，請確認是你本人。",
      "ownerNone": "傳送一則訊息後即可選擇",
      "ownerSaved": "已儲存",
      "ownerConfirmTitle": "確認設為 Owner？",
      "ownerConfirmText": "Owner 擁有完整的 Agent 權限，包括記憶、工具呼叫和人格。請確認這是你本人的帳號。",
      "ownerConfirmCancel": "取消",
      "ownerConfirmSave": "確認",
      "tutorialFsSteps": [
        "前往 <code>open.feishu.cn</code>，登入後進入「開發者後台」",
        "點擊「建立企業自建應用」，填寫應用名稱和描述",
        "在「憑證與基礎資訊」頁面複製 <code>App ID</code> 和 <code>App Secret</code>",
        "在左側選單找到「新增應用能力」，新增「機器人」能力，給機器人起個名字",
        "進入「權限管理」，搜尋並開通 <code>im:message</code>（取得與傳送訊息）權限",
        "進入「事件與回呼」→「事件設定」，將訂閱方式改為「使用長連線接收事件」",
        "點擊「新增事件」，新增 <code>im.message.receive_v1</code>（接收訊息）",
        "重要：進入「版本管理與發佈」，先建立並發佈一個版本（長連線設定需要應用已發佈才能儲存）",
        "將 App ID 和 App Secret 貼到上方輸入框，打開開關即可"
      ],
      "whatsappHint": "即將支援"
    }
  },
  "onboarding": {
    "welcome": {
      "title": "你好，我是 {name} ✿",
      "subtitle": "我是你的個人 AI 助手。\n來做一些簡單的設定，讓我們開始吧。",
      "next": "開始設定"
    },
    "remote": {
      "link": "已有伺服器？使用區域網路連線",
      "url": "伺服器位址",
      "key": "存取密鑰",
      "connect": "連線",
      "connecting": "連線中...",
      "failed": "連線區域網路伺服器失敗"
    },
    "name": {
      "title": "名字與記憶",
      "subtitle": "先讓我知道該怎麼稱呼你，也給這個 Agent 一個名字。",
      "userLabel": "我該怎麼稱呼你？",
      "placeholder": "你的名字",
      "agentLabel": "這個 Agent 叫什麼？",
      "agentPlaceholder": "小花",
      "memoryTitle": "記憶系統",
      "memoryHint": "開啟後，系統會在對話結束時整理聊天內容，形成記憶。因為記憶會經常更新，會導致模型快取命中率降低，關掉記憶時通常會更省錢。",
      "back": "上一步",
      "next": "下一步"
    },
    "provider": {
      "title": "選擇 AI 供應商",
      "subtitle": "我需要一個 AI 模型供應商來工作。\n選擇你常用的供應商並填入 API Key。",
      "selectPlaceholder": "選擇供應商",
      "searchPlaceholder": "搜尋供應商...",
      "empty": "未找到供應商",
      "custom": "自訂...",
      "customName": "名稱",
      "customNamePlaceholder": "如 my-provider",
      "customUrl": "API 位址",
      "customUrlPlaceholder": "如 https://api.example.com/v1",
      "keyLabel": "API Key",
      "keyPlaceholder": "貼上你的 API Key",
      "test": "測試連線",
      "testing": "連線中...",
      "testSuccess": "連線成功 ✿",
      "testFailed": "連線失敗",
      "back": "上一步",
      "next": "下一步"
    },
    "model": {
      "title": "選擇對話模型",
      "subtitle": "這是我主要使用的模型。推薦選擇一個聰明的大模型。",
      "loading": "正在取得模型列表...",
      "empty": "未找到模型",
      "addedModels": "已加入模型",
      "noAddedModels": "還沒有加入模型",
      "addModel": "加入模型",
      "addModelSearchPlaceholder": "搜尋可加入的模型...",
      "manualModelPlaceholder": "手動輸入模型 ID",
      "addManualModel": "加入",
      "mainModel": "主模型",
      "setMainModel": "設為主模型",
      "editModel": "編輯模型",
      "removeModel": "移除模型",
      "editTitle": "編輯模型",
      "displayName": "顯示名稱",
      "contextLength": "上下文長度",
      "maxOutput": "最大輸出",
      "imageInput": "支援圖片",
      "audioInput": "支援音訊",
      "reasoning": "推理模型",
      "cancelEdit": "取消",
      "saveEdit": "儲存",
      "invalidNumber": "請輸入有效的正整數",
      "utility": "小工具模型",
      "utilityHint": "對話摘要、事實提取等輕量任務，推薦便宜快速的小模型",
      "utilityLarge": "大工具模型",
      "utilityLargeHint": "記憶編譯、深度分析等需要理解力的任務，推薦能力較強的模型",
      "back": "上一步",
      "next": "下一步"
    },
    "theme": {
      "title": "選擇一個主題",
      "subtitle": "你可以隨時在設定中更改",
      "back": "上一步",
      "next": "下一步"
    },
    "workspace": {
      "title": "建立工作台",
      "subtitle": "我會把預設工作台放在桌面上的 OH-WorkSpace。\n你也可以選擇一個已有資料夾。",
      "defaultLabel": "預設工作台",
      "customLabel": "自選工作台",
      "defaultHint": "如果不選擇其他資料夾，將自動建立這個目錄。\n巡檢預設關閉，之後可在設定中開啟。",
      "choose": "選擇資料夾",
      "useDefault": "使用預設",
      "back": "上一步",
      "next": "下一步",
      "saving": "儲存中..."
    },
    "tutorial": {
      "title": "準備就緒 ✿",
      "memory": {
        "title": "記憶",
        "desc": "有多少記憶能被記住由你決定。\n記憶的留存不需要絕對一致。允許褶皺和縫隙存在，大語言模型能在具體的對話中辨認出哪些是符合現實情況的。"
      },
      "skills": {
        "title": "技能",
        "desc": "我可以讀寫檔案、執行命令、搜尋網頁。在設定中可以管理更多技能。"
      },
      "workspace": {
        "title": "工作台",
        "desc": "指定一個資料夾作為工作台，我就可以幫你管理專案和檔案。"
      },
      "jian": {
        "title": "箋",
        "desc": "在任意資料夾放一個 jian.md，寫上你的指令。\n我會在巡檢時看到它並自動執行。"
      },
      "agents": {
        "title": "多 Agent 協作",
        "desc": "不同 Agent 可以各自承擔任務、互相接力。\n適合把複雜工作拆開處理。"
      },
      "finish": "開始使用"
    }
  },
  "activity": {
    "title": "助手活動",
    "empty": "暫時沒有活動記錄，日常巡檢或定時任務執行後會出現在這裡",
    "back": "返回",
    "heartbeat": "日常巡檢",
    "subagent": "子 agent 任務",
    "cron": "定時任務",
    "automationRuns": "自訂自動化",
    "patrolRuns": "巡檢",
    "otherRuns": "其他背景活動",
    "agentTabs": "按助手篩選活動",
    "previousAgent": "查看前面的助手",
    "nextAgent": "查看更多助手",
    "categoryTabs": "按活動類型篩選",
    "emptyForCategory": "目前分類暫無活動",
    "patrolDone": "日常巡檢完畢",
    "cronDone": "定時任務執行完畢",
    "error": "執行異常",
    "viewSession": "展開過程",
    "expand": "展開過程",
    "collapse": "收起過程",
    "loadingSession": "正在讀取這次背景會話…",
    "sessionLoadFailed": "這次背景會話暫時無法讀取",
    "noSessionMessages": "這次背景會話沒有可顯示的訊息",
    "duration": "耗時 {text}",
    "promote": "升格為對話"
  },
  "automation": {
    "title": "任務計畫",
    "empty": "暫無任務計畫\n助手會在需要時自動建立",
    "emptyForAgent": "這個助手暫無任務計畫",
    "agentTabs": "按助手篩選自動化",
    "previousAgent": "查看前面的助手",
    "nextAgent": "查看更多助手",
    "draftTitle": "自動化草稿",
    "suggestionTitle": "建議",
    "suggested": "建議",
    "viewSuggestion": "查看建議",
    "openDraft": "開啟自動化草稿",
    "closeDraft": "關閉自動化草稿",
    "confirmCreate": "確認新增",
    "confirmUpdate": "確認修改",
    "defaultModel": "預設模型",
    "add": "新增自動化",
    "enable": "啟用",
    "disable": "停用",
    "newAutomation": "新的自動化",
    "newPrompt": "",
    "promptPlaceholder": "寫下你想讓 {agent} 做什麼",
    "promptRequired": "先寫下想讓 Agent 做什麼，再啟用這條自動化",
    "createFailed": "建立自動化失敗",
    "agentRequired": "需要先選擇一個 Agent",
    "field": {
      "label": "名稱",
      "agent": "助手",
      "scheduleType": "類型",
      "schedule": "時間",
      "prompt": "執行內容"
    },
    "schedule": {
      "at": "一次",
      "every": "每隔",
      "unit": "單位",
      "time": "時間",
      "hour": "小時",
      "minute": "分鐘",
      "weekday": "星期",
      "monthDay": "日期",
      "dateTime": "日期時間",
      "cronExpression": "Cron 表達式",
      "onceAt": "一次：{date}",
      "advancedCron": "進階 Cron：{cron}",
      "mode": {
        "interval": "每隔多久",
        "daily": "每天",
        "weekly": "每週",
        "monthly": "每月",
        "once": "指定一次",
        "advanced": "進階 Cron"
      },
      "unitLabel": {
        "minutes": "分鐘",
        "hours": "小時",
        "days": "天"
      }
    },
    "executor": {
      "agentSession": "助手執行",
      "notify": "通知",
      "pluginAction": "外掛動作",
      "directAction": "直接動作"
    },
    "edit": "編輯",
    "delete": "刪除"
  },
  "ctx": {
    "cut": "剪下",
    "copy": "複製",
    "paste": "貼上",
    "selectAll": "全選"
  },
  "rightWorkspace": {
    "activity": {
      "title": "背景動態"
    },
    "todo": {
      "title": "進程",
      "waitForOutput": "輸出完成後再標記"
    },
    "subagent": {
      "title": "子助手"
    },
    "workflow": {
      "title": "Workflow",
      "running": "已運行 {text}",
      "agents": "{n} 個 agent"
    },
    "session": {
      "title": "本次對話",
      "cwd": "工作目錄",
      "model": "模型",
      "files": "檔案",
      "authorizedFolders": "授權目錄",
      "addAuthorizedFolder": "新增授權目錄"
    },
    "tabs": {
      "label": "右側工作台",
      "sessionFiles": "對話檔案",
      "workspace": "工作台"
    },
    "sessionFiles": {
      "title": "對話檔案",
      "empty": "本對話還沒有產生或上傳檔案",
      "actions": {
        "preview": "預覽",
        "open": "打開",
        "reveal": "定位",
        "downloadToDevice": "下載到本機",
        "copyPath": "複製路徑",
        "copySelectedPaths": "複製 {n} 個路徑",
        "sendToBridge": "傳送到...",
        "sendToBridgeLoading": "正在載入 Bridge 對話...",
        "sendToBridgeEmpty": "沒有可傳送的 Bridge 對話",
        "sendToBridgeLoadFailed": "Bridge 對話載入失敗"
      },
      "bridgeLoadFailed": "載入 Bridge 對話失敗：{error}",
      "sendSuccess": "已傳送到 {target}",
      "sendFailed": "傳送到 {target} 失敗：{error}",
      "list": "對話檔案列表",
      "sort": {
        "label": "對話檔案排序",
        "timeDesc": "時間↓",
        "nameAsc": "名稱↑",
        "nameDesc": "名稱↓",
        "typeAsc": "類型↑"
      },
      "status": {
        "available": "可用",
        "expired": "已過期"
      }
    },
    "jian": {
      "collapse": "收起箋",
      "expand": "展開箋"
    }
  },
  "desk": {
    "title": "書桌",
    "workspaceTitle": "工作台",
    "skills": "技能",
    "cwdSkills": "專案技能",
    "cwdSkillsEmpty": "目前資料夾沒有專案技能",
    "cwdSkillsHint": "在資料夾下建立 .agents/skills/ 目錄即可",
    "cwdSkillsDesc": "技能跟隨工作台",
    "cwdSkillsDrop": "拖入資料夾或 .zip 安裝技能",
    "deleteSkill": "刪除技能",
    "openInFinder": "打開資料夾",
    "jianLabel": "箋",
    "jianPlaceholder": "寫點什麼，告訴助手這個資料夾裡面的檔案該如何處理...",
    "execLogLabel": "執行記錄",
    "execLogDelete": "刪除此條記錄",
    "emptyTitle": "書桌還空空的呢",
    "emptyHint": "書桌是助手日常巡檢的工作台，也是每次對話的預設目錄\n去設定裡指定一個資料夾吧",
    "goToSettings": "前往設定",
    "fileLabel": "檔案",
    "openWithDefault": "用預設應用程式打開",
    "refresh": "重新整理",
    "newMarkdownFileName": "未命名.md",
    "newFolder": "新建資料夾",
    "ctx": {
      "open": "打開",
      "openInFinder": "打開資料夾",
      "rename": "重新命名",
      "copyPath": "複製路徑",
      "delete": "刪除",
      "deleteSelected": "刪除 {count} 項",
      "deleteN": "刪除 {n} 項",
      "newMdFile": "新建 Markdown 文件",
      "newFolder": "新建資料夾"
    },
    "deleteConfirm": "要把「{name}」移到系統垃圾桶嗎？",
    "deleteSelectedConfirm": "要把選取的 {count} 項移到系統垃圾桶嗎？",
    "trashFailed": "移到系統垃圾桶失敗",
    "createFailed": "建立失敗",
    "renameInvalid": "檔名不能包含路徑分隔符",
    "renameFailed": "重新命名失敗",
    "sort": {
      "label": "排序",
      "mtime": "修改時間",
      "nameAsc": "名稱 A→Z",
      "nameDesc": "名稱 Z→A",
      "size": "檔案大小",
      "type": "檔案類型",
      "mtimeShort": "時間",
      "nameAscShort": "名稱↑",
      "nameDescShort": "名稱↓",
      "sizeShort": "大小",
      "typeShort": "類型"
    },
    "filter": {
      "label": "篩選",
      "images": "圖片",
      "text": "文字",
      "videos": "影片",
      "clear": "清除篩選",
      "activeShort": "{count} 類"
    },
    "search": {
      "placeholder": "搜尋工作台",
      "label": "搜尋工作台檔案",
      "results": "搜尋結果",
      "empty": "沒有找到相符檔案",
      "root": "根目錄"
    }
  },
  "window": {
    "minimize": "最小化",
    "maximize": "最大化",
    "close": "關閉"
  },
  "browser": {
    "using": "正在用瀏覽器",
    "close": "關閉瀏覽器",
    "closeBtn": "關閉",
    "back": "後退",
    "forward": "前進",
    "reload": "重新整理",
    "newTab": "新標籤頁",
    "closeTab": "關閉標籤頁",
    "emergencyStop": "緊急停止 AI 控制",
    "backgroundHint": "後台瀏覽器運行中，點擊查看",
    "background": "後台瀏覽器"
  },
  "bridge": {
    "selectChat": "選擇一個對話",
    "noSessions": "暫無對話",
    "noMessages": "暫無訊息",
    "empty": "暫無訊息記錄",
    "notConfigured": "尚未設定 {platform}",
    "goToSettings": "前往設定",
    "resetContext": "重啟上下文",
    "resetContextTip": "下次訊息將開啟新對話",
    "replyInterrupted": "（回覆中斷，以上內容可能不完整）",
    "replyFailed": "（回覆生成失敗，請稍後重試）",
    "sessionBusy": "目前桌面工作階段仍在回覆中，請稍後再傳"
  },
  "notification": {
    "turnCompletionBody": "這一輪已經完成"
  },
  "error": {
    "pathsRequired": "需要 paths 陣列",
    "tooManyFiles": "檔案數量超過限制（最多 {max} 個檔案，目前 {n} 個）",
    "pathNotFound": "路徑不存在",
    "missingParam": "缺少 {param} 參數",
    "invalidJson": "請求本體必須是 JSON 物件",
    "sessionNotFound": "Session 檔案不存在",
    "stillStreaming": "{name} 還在說話，請等一下",
    "agentNameEmpty": "助手名字不能為空",
    "agentIdInvalid": "助手 ID 包含非法字元",
    "agentAlreadyExists": "助手 \"{id}\" 已存在",
    "agentSwitching": "正在切換助手，請稍後再試",
    "agentNotFound": "助手 \"{id}\" 不存在或未初始化",
    "agentModelNotAvailable": "agent \"{id}\" 設定的模型 \"{model}\" 不在可用清單中",
    "agentDeleteActive": "不能刪除目前正在使用的助手",
    "agentNotExists": "助手 \"{id}\" 不存在",
    "modelNoResponse": "模型未回傳任何內容，請檢查 API 設定和網路連線。",
    "noActiveSession": "沒有活躍的 session",
    "compacting": "正在壓縮中",
    "waitForReply": "請等待回覆結束後再壓縮",
    "compactFailed": "壓縮失敗: {msg}",
    "maxImages": "最多支援 {max} 張圖片",
    "maxVideos": "最多支援 {max} 個影片",
    "maxAudios": "最多支援 {max} 個音訊",
    "unsupportedImageFormat": "不支援的圖片格式: {mime}",
    "unsupportedVideoFormat": "不支援的影片格式: {mime}",
    "unsupportedAudioFormat": "不支援的音訊格式: {mime}",
    "imageTooLarge": "單張圖片不得超過 20MB",
    "videoTooLarge": "單個影片不得超過 20MB",
    "audioTooLarge": "單個音訊不得超過 50MB",
    "viewImage": "（看圖）",
    "viewVideo": "（看影片）",
    "listenAudio": "（聽音訊）",
    "modelNoVision": "目前模型不支援圖片，請切換到支援圖片的模型後再試",
    "searchProviderNotConfigured": "未設定搜尋 provider",
    "searchProviderMissingKey": "搜尋 provider \"{provider}\" 缺少 API Key",
    "searchProviderUnknown": "未知搜尋 provider: {provider}",
    "searchFailed": "搜尋失敗: {msg}",
    "searchEmptyQuery": "請提供搜尋關鍵字。",
    "searchNoResults": "沒有找到相關結果。(via {provider})",
    "searchResults": "搜尋結果 (via {provider}):\n\n{results}",
    "searchError": "搜尋出錯: {msg}",
    "fetchEmptyUrl": "請提供要抓取的 URL。",
    "fetchHttpOnly": "只支援 http/https 協定的 URL。",
    "fetchInvalidUrl": "無效的 URL: {url}",
    "fetchSsrf": "禁止存取內網地址: {host}",
    "fetchRedirectLimit": "重新導向次數超限（{max}）",
    "fetchHttpError": "抓取失敗: HTTP {status} {statusText}",
    "fetchTruncated": "\n\n[... 內容已截斷，共 {len} 字元]",
    "fetchSource": "來源: {host}{path} ({format})\n\n",
    "fetchTimeout": "抓取逾時（{sec}s）: {url}",
    "fetchError": "抓取出錯: {msg}",
    "browserError": "錯誤: {msg}",
    "browserAlreadyRunning": "瀏覽器已在執行中",
    "browserLaunched": "瀏覽器已啟動",
    "browserNotRunning": "瀏覽器未在執行",
    "browserClosed": "瀏覽器已關閉",
    "browserNavigateNeedUrl": "navigate 需要 url 參數",
    "browserNavigated": "已導航到 {title}\nURL: {url}\n\n{snapshot}",
    "browserClickNeedRef": "click 需要 ref 參數",
    "browserClicked": "已點擊 [{ref}]\n\n{snapshot}",
    "browserTypeNeedText": "type 需要 text 參數",
    "browserTyped": "已輸入文字{target}\n\n{snapshot}",
    "browserScrollNeedDir": "scroll 需要 direction 參數（up/down）",
    "browserScrolled": "已向{dir}捲動\n\n{snapshot}",
    "browserSelectNeedRef": "select 需要 ref 參數",
    "browserSelectNeedValue": "select 需要 value 參數",
    "browserSelected": "已選擇 [{ref}] → \"{value}\"\n\n{snapshot}",
    "browserKeyNeedKey": "key 需要 key 參數",
    "browserKeyPressed": "已按鍵 {key}\n\n{snapshot}",
    "browserWaitDone": "等待完成\n\n{snapshot}",
    "browserEvalNeedExpr": "evaluate 需要 expression 參數",
    "browserOutputTruncated": "\n\n[... 輸出已截斷]",
    "browserShown": "瀏覽器視窗已置前",
    "browserUnknownAction": "未知操作: {action}",
    "browserActionFailed": "瀏覽器操作失敗: {msg}",
    "browserSessionUnavailable": "這個會話的瀏覽器實例已不可用{reason}。請重新啟動瀏覽器後再繼續。",
    "skillNeedAbsolutePath": "需要絕對路徑",
    "skillPathNotExists": "路徑不存在",
    "skillMissingSkillMd": "資料夾中缺少 SKILL.md",
    "skillUnsupportedFormat": "僅支援 .zip 或 .skill 檔案",
    "skillMissingSkillMdInZip": "壓縮檔中缺少 SKILL.md",
    "skillExtractFailed": "解壓失敗: {msg}",
    "skillMissingName": "SKILL.md 中缺少 name 欄位",
    "skillNameInvalid": "技能名稱無效（\"{name}\"）。僅允許字母、數字、底線和短橫線。",
    "skillPathMustBeAbsolute": "路徑必須是絕對路徑: {path}",
    "skillCannotAddSelfDir": "不能新增 HanaAgent 自身的技能目錄",
    "skillInvalidName": "無效的技能名稱",
    "skillExternalCannotDelete": "外部相容技能無法從此處刪除",
    "skillNotExists": "技能不存在",
    "channelsDisabled": "頻道系統已被使用者關閉",
    "channelReadNeedChannel": "錯誤：read 需要 channel 參數",
    "channelNotExists": "頻道 \"{channel}\" 不存在",
    "agentNotChannelMember": "你不是頻道 \"{channel}\" 的成員，無法發送訊息",
    "channelNoMessages": "(頻道暫無訊息)",
    "channelPostNeedParams": "錯誤：post 需要 channel 和 content 參數",
    "channelPosted": "已傳送到 #{channel}",
    "channelCreateNeedParams": "錯誤：create 需要 name 和 members 參數",
    "channelCreated": "頻道 #{name} ({id}) 已建立，成員：{members}",
    "channelCreateFailed": "建立失敗：{msg}",
    "channelNoJoined": "還沒有加入任何頻道",
    "unknownAction": "未知操作: {action}",
    "cannotSelfDm": "不能給自己發私訊",
    "dmSent": "已傳送私訊給 {name}",
    "agentNotFoundAvailable": "找不到 agent「{id}」。請使用 agent 的 id 欄位值（不是顯示名稱）。目前可用：\n{ids}",
    "noOtherAgents": "目前沒有其他可用的 agent。",
    "cronNoJobs": "沒有定時任務",
    "cronAddNeedParams": "錯誤：add 需要 scheduleType, schedule, prompt 參數",
    "cronEveryMustBeNumber": "錯誤：every 類型的 schedule 必須是正整數（毫秒）",
    "cronCreated": "已建立定時任務: {label} ({id})",
    "cronConfirmed": "使用者已確認，定時任務已建立: {label} ({id})",
    "cronRejected": "使用者取消了定時任務「{label}」的建立",
    "cronTimeout": "定時任務「{label}」確認逾時",
    "cronPendingConfirm": "準備建立定時任務: {label}，等待確認",
    "cronRemoveNeedId": "錯誤：remove 需要 id 參數",
    "cronJobNotFound": "任務 {id} 不存在",
    "cronRemoved": "已刪除任務 {id}",
    "cronToggleNeedId": "錯誤：toggle 需要 id 參數",
    "cronToggled": "任務 {id} {state}",
    "cronEnabled": "已啟用",
    "cronDisabled": "已停用",
    "notifySent": "已傳送通知: {title}",
    "notifyFailed": "通知傳送失敗: {msg}",
    "artifactCreated": "已建立預覽: {title}",
    "pinnedAlreadyExists": "這條已經在置頂記憶裡了。",
    "pinnedAdded": "已記住：{content}",
    "pinnedEmpty": "置頂記憶是空的，沒有可移除的內容。",
    "pinnedNotFound": "沒找到包含「{keyword}」的置頂記憶。",
    "pinnedRemoved": "已移除 {count} 條：{items}",
    "expEmpty": "經驗庫為空。",
    "expCategoryNotFound": "沒有找到分類「{category}」的經驗。",
    "expEmptyInput": "分類名和經驗內容不能為空。",
    "expDuplicate": "這條經驗已經記錄過了。",
    "expRecorded": "已記錄經驗 [{category}]：{content}",
    "expPaused": "經驗已暫停。",
    "outputFileNeedPaths": "需要提供 filepaths 陣列或 filePath。",
    "outputFileNotAbsolute": "路徑必須是絕對路徑: {path}",
    "outputFileNotFound": "檔案不存在: {path}",
    "outputFilePresented": "檔案已呈現: {summary}",
    "settingsUnknownKey": "未知的設定項「{key}」。請先用 search 查找正確的 key。",
    "settingsInvalidValue": "「{value}」不是有效的選項。可選：{options}",
    "settingsInvalidToggle": "toggle 類型僅接受 \"true\" 或 \"false\"。",
    "settingsNotReady": "設定系統未就緒",
    "settingsNoAgent": "目前沒有活躍的 Agent，無法修改此設定",
    "settingsApplied": "已將「{label}」修改為 {value}",
    "settingsApplyFailed": "設定修改失敗: {msg}",
    "settingsCancelled": "使用者取消了「{label}」的修改",
    "settingsTimeout": "「{label}」修改確認逾時，設定未變更",
    "subagentMaxConcurrent": "目前已有 {max} 個子 agent 在執行，請等待完成後再發起。",
    "subagentParentSessionRequired": "subagent 需要活躍父會話和背景任務儲存，無法在目前上下文建立可繼續實例。",
    "subagentWriteAccessDenied": "無法授予寫入權限：父會話處於唯讀模式，子代理權限不能超過父會話。請把會話切換到可操作模式後重試，或改用 access:\"read\" 重新派單。",
    "subagentFailed": "子 agent 執行失敗: {msg}",
    "subagentTimeout": "子 agent 執行逾時（{minutes} 分鐘）",
    "subagentAborted": "子 agent 已被終止",
    "subagentNoOutput": "(子 agent 未產生輸出)",
    "subagentProducedFiles": "子 agent 產生了檔案輸出：\n{files}",
    "subagentStopError": "子 agent 在完成任務前失敗。",
    "subagentStopLength": "子 agent 未完整完成（stopReason: length，輸出達到上限）。",
    "subagentStopReason": "子 agent 未完整完成（stopReason: {reason}）。",
    "subagentToolFailed": "子 agent 工具執行失敗: {msg}",
    "subagentDispatched": "子任務已派出 (task-id: {taskId})。完成後結果會自動送達。",
    "subagentThreadQueued": "子任務已派出 (task-id: {taskId})。實例 {threadId} 正忙，已排隊，前一個任務完成後接著跑。",
    "subagentThreadClosed": "子 Agent 實例已關閉：{threadId}",
    "installSkillDisabled": "技能安裝能力未啟用。請在設定中開啟「允許 Agent 自行建立/安裝技能」。",
    "installSkillGithubDisabled": "GitHub 技能獲取未啟用。請在設定中開啟「允許從 GitHub 獲取技能」。",
    "installSkillInvalidGithubUrl": "無效的 GitHub URL：{url}",
    "installSkillGithubApiFailed": "無法取得倉庫資訊（HTTP {status}）。請檢查 URL 是否正確。",
    "installSkillGithubApiError": "存取 GitHub API 失敗：{msg}",
    "installSkillStarTooLow": "該倉庫僅有 {stars} stars（門檻 {min}），安全性無法保證，拒絕安裝。",
    "installSkillNoSkillMd": "在 {owner}/{repo} 中找不到 SKILL.md（已嘗試路徑：{paths}）。",
    "installSkillSafetyFailed": "[安全策略] 技能安全審查未通過，已阻止安裝。\n原因：{reason}\n\n請告知使用者此技能未通過安全審查，說明具體原因。使用者可以在設定中關閉安全審查（不推薦）。",
    "installSkillNameInvalid": "技能名稱無效{name}。名稱僅允許字母、數字、底線和短橫線。",
    "installSkillSuccess": "技能「{name}」安裝成功！\n來源：{source}（⭐ {stars} stars）\n理由：{reason}",
    "installSkillNeedInput": "請提供 github_url 或 skill_content（SKILL.md 內容）。",
    "installSkillNeedName": "使用 skill_content 模式時，必須提供 skill_name。",
    "installSkillSuccessLocal": "技能「{name}」安裝成功！\n理由：{reason}",
    "installSkillSizeLimit": "技能內容超過大小上限（{size}KB > {max}KB）",
    "installSkillNoUtility": "安全審查不可用：未設定 utility 模型，請在設定中配置輔助模型",
    "installSkillUtilityIncomplete": "安全審查不可用：輔助模型設定不完整（缺少 API key 或 base URL），請在設定中補全",
    "installSkillSafetyPassed": "✓ 安全審查已通過",
    "installSkillSafetyEmpty": "安全審查回傳空回應",
    "installSkillSafetyUnexpected": "安全審查回傳未預期的格式: {reply}",
    "installSkillSafetyTimeout": "安全審查逾時或網路錯誤",
    "activeSessionOnly": "只能提升當前助手的活動 session",
    "heartbeatTriggered": "心跳已觸發",
    "dirNotAllowed": "目錄不在允許範圍內",
    "noWorkspace": "未設定工作台",
    "tokenSuccess": "token 取得成功",
    "verifyFailed": "驗證失敗",
    "tokenFetchFailed": "取得 access_token 失敗",
    "botInfoFailed": "取得機器人資訊失敗",
    "platformTestUnsupported": "該平台暫不支援測試",
    "codexNoHealthCheck": "codex API 不支援健康檢測",
    "modelNotFound": "找不到模型: {id}",
    "noUtilityModel": "未設定 utility 模型，請在設定中新增",
    "noUtilityLargeModel": "未設定 utility_large 模型，請在設定中新增",
    "modelNoProvider": "{role} 模型 \"{model}\" 沒有 provider 歸屬",
    "providerMissingApi": "provider \"{provider}\" 缺少 API 協議設定",
    "providerMissingCreds": "provider \"{provider}\" 缺少完整憑證",
    "utilityApiProviderMismatch": "utility_api.provider 必須與模型 \"{model}\" 的 provider 一致",
    "utilityApiMissingCreds": "utility_api 缺少完整憑證（provider: {provider}）",
    "noAvailableModel": "沒有可用的模型，請先在設定中設定 API key 和模型",
    "noActiveSessionPrompt": "沒有活躍的 session，請先呼叫 createSession()",
    "sessionNotInCache": "session \"{path}\" 不在快取中",
    "agentNotInitialized": "agent \"{id}\" 不存在或未初始化",
    "resolveModelNoChatModel": "resolveModel: 未指定 models.chat，無法選擇模型",
    "resolveModelNotAvailable": "resolveModel: 模型 \"{id}\" 不在可用清單中",
    "executeIsolatedNoModel": "executeIsolated: agent \"{name}\" 無可用模型",
    "bridgeAgentNoChatModel": "[bridge] agent \"{name}\" 未設定 models.chat",
    "bridgeAgentModelNotAvailable": "[bridge] agent \"{name}\" 設定的模型 \"{model}\" 不在可用清單中",
    "noAgentsFound": "agents/ 目錄下沒有找到任何助手，請先建立一個",
    "channelNotFoundById": "頻道 \"{id}\" 不存在",
    "channelAlreadyExists": "頻道 \"{id}\" 已存在",
    "providerMissingBaseUrl": "provider \"{provider}\" 缺少 Base URL",
    "providerMissingApiKey": "provider \"{provider}\" 缺少 API Key",
    "modelNameEmpty": "模型名不能為空",
    "modelNotRegistered": "模型 \"{model}\" 未在 models.json 中註冊 provider",
    "modelProviderMissingApi": "模型 \"{model}\" 所屬 provider \"{provider}\" 缺少 API 協議設定",
    "modelProviderIncomplete": "模型 \"{model}\" 所屬 provider \"{provider}\" 設定不完整",
    "browserDesktopOnly": "瀏覽器功能僅在 Electron 桌面模式下可用",
    "browserCmdTimeout": "瀏覽器命令逾時: {cmd}",
    "agentExecNotInit": "agent \"{id}\" 不存在或未初始化",
    "bridgeMgrNotStarted": "外部平台管理器未啟動",
    "qqTokenFailed": "取得 access_token 失敗: {detail}",
    "missingApiProtocol": "缺少 API 協議設定",
    "missingApiKey": "缺少 API Key",
    "unsupportedApiProtocol": "不支援的 API 協議: {api}",
    "missingModelId": "缺少模型 ID",
    "missingBaseUrl": "缺少 Base URL",
    "llmInvalidJson": "LLM 回傳了無法解析的 JSON ({status})",
    "llmEmptyResponse": "LLM 回傳了空內容",
    "xlsxParseFailed": "無法解析 {ext} 檔案: {msg}",
    "docxParseFailed": "無法解析 {ext} 檔案: {msg}",
    "compatDirCreated": "建立了 {count} 個缺失目錄",
    "compatConfigEmpty": "檔案為空",
    "compatConfigInvalid": "不像 YAML 格式",
    "compatConfigCorrupted": "config.yaml 損壞 ({msg})，已從範本重建",
    "compatConfigBackedUp": "config.yaml 損壞 ({msg})，已備份為 {backup}",
    "compatFactsCorrupted": "facts.db 損壞已備份，將重建空資料庫",
    "defaultChannelName": "工作群",
    "defaultChannelDesc": "工作協調頻道，所有成員在這裡溝通日常事務。",
    "memorySearchLabel": "搜尋記憶",
    "memorySearchDesc": "搜尋記憶庫。當你對某件事拿不準、覺得之前聊過但想不起細節、或者需要更多上下文時使用。輸入自然語言查詢和可選的標籤過濾。結果包含匹配的元事實和對應時間。",
    "memorySearchQueryDesc": "搜尋查詢，用自然語言描述你想找的內容",
    "memorySearchTagsDesc": "標籤過濾，輸入 2~5 個關鍵字標籤來精確匹配。例如 [\"巧克力\", \"食物偏好\"]",
    "memorySearchDateFromDesc": "起始日期，格式 YYYY-MM-DD",
    "memorySearchDateToDesc": "結束日期，格式 YYYY-MM-DD",
    "memorySearchCrossChannelDesc": "是否跨頻道檢索其它頻道的記憶。預設 false：頻道會話裡只能看到當前頻道和通用記憶；確有需要再顯式傳 true",
    "memorySearchEmpty": "記憶庫裡沒有找到相關內容。",
    "memorySearchError": "記憶搜尋出錯: {msg}",
    "fallbackUserName": "使用者",
    "uploadFailed": "檔案匯入失敗",
    "uploadPartialFail": "部分檔案匯入失敗：{files}",
    "stopTaskNotFound": "找不到任務 {taskId}，可能已完成或不存在",
    "stopTaskAlready": "任務 {taskId} 已經被終止了",
    "stopTaskNoHandler": "任務 {taskId} 的類型不支援終止",
    "stopTaskDone": "已終止任務 {taskId}"
  },
  "main": {
    "tray": {
      "show": "顯示 HanaAgent",
      "settings": "設定",
      "quit": "結束"
    },
    "dialog": {
      "selectFolder": "選擇工作資料夾",
      "selectSkill": "選擇技能",
      "selectPlugin": "選擇插件",
      "launchFailedTitle": "HanaAgent 啟動失敗",
      "launchFailedBody": "HanaAgent v{version}\n\n{detail}\n\n詳細日誌已儲存至：\n{logPath}\n\n請將此截圖或日誌檔案傳送給開發者。",
      "serverRestartFailed": "HanaAgent v{version}\n\nServer 崩潰後重新啟動失敗。\n{error}\n\n請重新啟動應用程式。",
      "serverMultipleCrash": "HanaAgent v{version}\n\nServer 多次崩潰 ({reason})。\n\n請重新啟動應用程式。",
      "serverStartTimeout": "Server 啟動逾時",
      "serverKilledBySignal": "Server 被訊號終止 ({signal})",
      "serverExitedWithCode": "Server 已結束，code: {code}",
      "serverFilesNotReady": "自動更新剛完成，新版本檔案仍在寫入磁碟（缺少 {missing}），已等待 {waited} 秒仍未就緒。請稍後重新啟動 HanaAgent。",
      "serverModuleMissing": "Server 啟動失敗：找不到模組 {module}。\n通常是自動更新剛完成、新版本檔案仍在寫入磁碟所致。\n建議：等待 1-2 分鐘後重新啟動 HanaAgent；若反覆出現，請至 GitHub 回報。",
      "installFailedTitle": "HanaAgent 更新",
      "installFailedBody": "更新安裝失敗：\n{error}\n\n請重新啟動 HanaAgent 後重試，或前往設定頁面手動檢查更新。"
    },
    "notification": {
      "ready": "通知已就緒"
    }
  },
  "devtools": {
    "heartbeat": "心跳巡檢",
    "memoryExport": "記憶匯出",
    "onboarding": "Onboarding",
    "previewGuide": "預覽引導",
    "reloadFrontend": "重新整理前端",
    "tabLogs": "活動日誌",
    "tabSessions": "Session 列表",
    "tabPrompt": "System Prompt",
    "waitingConnection": "等待連線...",
    "waitingServer": "等待 Server 啟動...",
    "loading": "載入中...",
    "loadFailed": "載入失敗",
    "refreshBtn": "重新整理",
    "clickRefresh": "點擊上方「重新整理」載入",
    "noActivities": "暫無活動記錄",
    "heartbeatLabel": "自動巡檢",
    "cronLabel": "定時任務",
    "heartbeatRunning": "心跳執行中...",
    "heartbeatGenerating": "正在生成摘要...",
    "heartbeatDone": "心跳完成",
    "heartbeatNoSummary": "心跳完成（無摘要）",
    "memoryExported": "記憶已匯出",
    "exportFailed": "匯出失敗",
    "onboardingOpened": "Onboarding 視窗已開啟",
    "previewOpened": "預覽模式已開啟",
    "openFailed": "開啟失敗",
    "frontendReloaded": "前端已重新整理",
    "refreshFailed": "重新整理失敗",
    "triggerFailed": "觸發失敗",
    "requestFailed": "請求失敗",
    "justNow": "剛剛",
    "minutesAgo": "{n}分鐘前",
    "hoursAgo": "{n}小時前",
    "chars": "字",
    "empty": "空",
    "serverConnected": "Server 已連線 (port {port})"
  },
  "skillViewer": {
    "cantRead": "無法讀取檔案",
    "copied": "已複製到技能列表",
    "installFailed": "安裝失敗: "
  },
  "cli": {
    "disconnected": "連線中斷",
    "wsError": "WebSocket 錯誤: {msg}",
    "error": "錯誤: {msg}",
    "interrupted": "(已中斷)",
    "goodbye": "再見 ✿",
    "helpTitle": "命令列表",
    "helpModel": "查看目前模型",
    "helpModelSet": "切換模型（互動式）",
    "helpConfig": "查看設定",
    "helpSessionNew": "新建對話",
    "helpSessionList": "列出對話",
    "helpAgent": "查看目前 agent",
    "helpAgentList": "列出所有 agent",
    "helpAgentSwitch": "切換 agent",
    "helpJian": "查看目前目錄的箋",
    "helpJianSub": "查看子目錄的箋",
    "helpLs": "列出書桌檔案",
    "helpLsSub": "列出子目錄檔案",
    "helpCat": "查看檔案內容",
    "helpHelp": "顯示此說明",
    "helpEsc": "中斷生成",
    "helpCtrlC": "中斷生成 / 離開",
    "noModels": "沒有可用模型",
    "availableModels": "可用模型：",
    "currentModel": "← 目前",
    "selectModel": "輸入編號選擇: ",
    "modelSwitched": "已切換到 {name}",
    "cancelled": "取消",
    "currentModelLabel": "目前模型:",
    "noModel": "(無)",
    "currentConfig": "目前設定",
    "notSet": "(未設定)",
    "sessionCreated": "新對話已建立",
    "noSessions": "暫無對話",
    "sessionList": "對話列表",
    "untitled": "(無標題)",
    "sessionUsage": "用法: /session new | /session list",
    "agentList": "Agent 列表",
    "agentSwitched": "已切換到 {name}",
    "currentAgent": "目前 Agent:",
    "jianTitle": "箋",
    "jianEmpty": "此目錄沒有箋",
    "dirEmpty": "(空)",
    "catUsage": "用法: /cat <檔案路徑>",
    "catFailed": "無法讀取: {status}",
    "unknownCommand": "未知命令: /{cmd}  輸入 /help 查看說明",
    "inputHelp": "輸入 /help 查看命令列表"
  },
  "sandbox": {
    "blocked": "[安全策略] {reason}\n\n此操作被 HanaAgent 的沙盒安全策略阻止，表示命令越過了路徑或權限邊界。先檢查目前工作台、具體路徑寫法，以及目標檔案是否本來就應該放在允許的工作台或 session 路徑內。請向使用者說明被攔截的路徑和原因；只有使用者明確決定時，再討論是否修改沙盒設定。",
    "noSudo": "禁止使用 sudo",
    "noSu": "禁止使用 su 切換使用者",
    "noChmod": "禁止修改檔案權限",
    "noChown": "禁止修改檔案擁有者",
    "noDelRecursive": "禁止遞迴刪除檔案 (del /s)",
    "noRmdirRecursive": "禁止遞迴刪除目錄 (rmdir /s)",
    "noRegEdit": "禁止修改登錄檔",
    "noTakeown": "禁止奪取檔案擁有權",
    "noIcacls": "禁止修改檔案 ACL 權限",
    "noNetUser": "禁止使用者/群組管理操作",
    "noSchtasks": "禁止建立排程工作",
    "noScService": "禁止操作系統服務",
    "noPsExecutionBypass": "禁止繞過 PowerShell 執行策略",
    "noFormat": "禁止格式化磁碟",
    "noBcdedit": "禁止修改開機設定",
    "noWmic": "禁止 WMI 命令",
    "restrictedPath": "命令存取了受限路徑：{path}",
    "writeRestricted": "[安全策略] 檔案系統寫入被限制在允許的工作台和 session 路徑內。先檢查目前工作台和路徑寫法，再詢問使用者是否需要修改沙盒設定。",
    "osRequired": "[sandbox] standard 模式要求 OS 級沙盒，但當前平台不支援（{platform}）。請安裝 sandbox-exec (macOS) 或 bubblewrap (Linux)，或切換到 full-access 模式。",
    "opRead": "讀取",
    "opWrite": "寫入",
    "opDelete": "刪除",
    "denied": "{op}被拒絕：{path}（權限級別: {level}）"
  },
  "error.llmTimeout": "模型请求超时",
  "error.llmRateLimited": "模型限流，请稍候",
  "error.llmEmptyResponse": "模型返回了空响应",
  "error.llmAuthFailed": "模型认证失败",
  "error.llmSlowResponse": "模型响应较慢，请耐心等待",
  "error.fsPermission": "文件权限不足",
  "error.fsNotFound": "文件未找到",
  "error.fsCopyFailed": "文件复制失败",
  "error.wsDisconnected": "连接已断开",
  "error.fetchTimeout": "请求超时",
  "error.fetchServerError": "服务器错误",
  "error.ipcFailed": "内部通信错误",
  "error.renderCrash": "显示异常",
  "error.configParse": "配置文件损坏",
  "error.bridgeSendFailed": "消息发送失败",
  "error.skillSyncFailed": "技能同步失败",
  "error.memoryCompileFailed": "记忆编译失败",
  "error.dbError": "数据库错误",
  "error.serverAuthFailed": "认证失败",
  "error.unknown": "发生了未知错误",
  "error.regionUnavailable": "此区域暂时无法显示",
  "status.reconnecting": "正在重连...",
  "status.disconnected": "连接已断开",
  "status.reconnect": "重新连接",
  "action.retry": "重试",
  "mobile.update.available": "Hana 有新版本可用",
  "mobile.update.reload": "重新整理",
  "subagentAbort": "終止",
  "subagentAborted": "已終止",
  "preview.toggle": "預覽面板",
  "preview.markdownPreview": "預覽",
  "preview.exitMarkdownPreview": "回到編輯",
  "preview.markdownEditorStatus": "選中 {selected} 字 · 共 {total} 字",
  "preview.markdownAttachmentInsertFailed": "插入附件失敗"
}
