{
  "toast": {
    "connectionLost": {
      "title": "伺服器連線已中斷",
      "message": "無法連接到後端伺服器。請檢查伺服器是否正在執行。"
    }
  },
  "common": {
    "appName": "OpenWA",
    "loading": "正在載入...",
    "cancel": "取消",
    "delete": "刪除",
    "create": "建立",
    "close": "關閉",
    "showApiKey": "顯示 API 金鑰",
    "hideApiKey": "隱藏 API 金鑰",
    "search": "搜尋",
    "status": "狀態",
    "name": "名稱",
    "role": "角色",
    "url": "URL",
    "port": "連接埠",
    "host": "主機",
    "username": "用戶名稱",
    "password": "密碼",
    "active": "活躍",
    "inactive": "非活躍",
    "connected": "已連線",
    "disconnected": "已中斷連線",
    "never": "從未",
    "justNow": "剛剛",
    "minAgo": "{{count}} 分鐘前",
    "hoursAgo": "{{count}} 小時前",
    "optional": "選填",
    "language": "語言",
    "back": "返回",
    "next": "下一步",
    "previous": "上一步",
    "expand": "展開",
    "collapse": "收合",
    "logout": "登出",
    "refresh": "重新整理",
    "errorGeneric": "發生錯誤",
    "unknownError": "未知錯誤",
    "retry": "重試"
  },
  "theme": {
    "light": "淺色",
    "dark": "深色",
    "system": "跟隨系統",
    "label": "主題：{{value}}",
    "appearance": "外觀",
    "mode": "模式",
    "toggleTo": "切換到{{value}}"
  },
  "nav": {
    "dashboard": "控制面板",
    "sessions": "工作階段",
    "chats": "聊天",
    "webhooks": "Webhooks",
    "templates": "Templates",
    "apiKeys": "API 金鑰",
    "messageTester": "訊息測試器",
    "infrastructure": "基礎架構",
    "plugins": "外掛",
    "logs": "記錄"
  },
  "chats": {
    "media": {
      "location": "位置",
      "call": "通話",
      "callMissed": "未接來電",
      "callVideo": "視像通話",
      "callVideoMissed": "未接視像通話",
      "omitted": "媒體",
      "image": "圖片"
    },
    "subtitle": "即時傳送和回覆 WhatsApp 訊息",
    "noSessionsTitle": "沒有已連線的工作階段",
    "noSessionsDesc": "請先從 <1>工作階段</1> 選單連線一個 WhatsApp 工作階段，才能使用聊天功能。",
    "sessionLabel": "WhatsApp 工作階段",
    "noPhone": "沒有電話",
    "searchPlaceholder": "搜尋聊天...",
    "loadingChats": "正在載入聊天...",
    "empty": "沒有聊天",
    "noMessageYet": "尚無訊息",
    "unreadBadge": "{{count}} 條未讀訊息",
    "unreadBadge_other": "{{count}} 條未讀訊息",
    "loadingMessages": "正在載入訊息...",
    "noMessagesInChat": "尚無訊息。傳送第一則訊息即可開始！",
    "downloadDocument": "下載文件",
    "actions": {
      "reply": "回覆",
      "react": "回應",
      "delete": "刪除訊息"
    },
    "replyingTo": "正在回覆 {{name}}",
    "you": "你",
    "youPrefix": "你：",
    "yesterday": "昨天",
    "attachTitle": "傳送檔案 / 圖片",
    "emojiTitle": "選擇表情符號",
    "captionPlaceholder": "新增說明文字...",
    "messagePlaceholder": "輸入訊息...",
    "noPermission": "你沒有傳送訊息的權限",
    "send": "傳送",
    "placeholderTitle": "開始聊天",
    "placeholderDesc": "從左側邊欄選擇一個活躍聊天，即可開始閱讀和傳送 WhatsApp 訊息。",
    "scrollToBottom": "捲動到最新",
    "groupSubtitle": "群組",
    "privateContactSubtitle": "私人聯絡人",
    "deleteConfirm": "為所有人刪除此訊息？",
    "messageDeleted": "🚫 此訊息已被刪除",
    "messageMasked": "🔒 WhatsApp 已對已連結裝置隱藏此訊息 — 請在主手機上查看",
    "kind": {
      "group": "群組",
      "channel": "頻道",
      "status": "狀態",
      "broadcast": "廣播"
    },
    "tab": {
      "chats": "聊天",
      "channels": "頻道",
      "status": "狀態"
    },
    "status": {
      "itemCount": "{{count}} 則更新",
      "itemCount_other": "{{count}} 則更新",
      "empty": "沒有聯絡人有活躍的狀態。",
      "loadError": "無法載入狀態。",
      "mediaUnavailable": "媒體無法使用",
      "compose": "發佈狀態",
      "composeText": "文字",
      "composeImage": "圖片",
      "recipients": "誰可以看到這個",
      "recipientsHint": "Baileys 需要收件人清單；whatsapp-web.js 使用你的狀態隱私對象。",
      "noContacts": "找不到聯絡人",
      "caption": "說明文字",
      "backgroundColor": "背景顏色",
      "font": "字型",
      "fontDefault": "預設",
      "orLabel": "或",
      "post": "發佈",
      "posted": "狀態已發佈",
      "postFailed": "無法發佈狀態",
      "imageFile": "狀態圖片"
    },
    "channels": {
      "notSupported": "Baileys 引擎不支援頻道。",
      "empty": "你尚未訂閱任何頻道。",
      "notReady": "工作階段尚未就緒。",
      "subscribers": "{{count}} 位訂閱者",
      "subscribers_other": "{{count}} 位訂閱者"
    },
    "errors": {
      "loadSessions": "載入工作階段失敗",
      "loadChats": "載入聊天失敗",
      "markRead": "將聊天標記為已讀失敗",
      "send": "傳送訊息失敗",
      "react": "回應訊息失敗",
      "delete": "刪除訊息失敗",
      "fileTooLarge": "檔案過大（最大 18 MB）"
    },
    "loadMessagesError": "無法載入訊息。請檢查伺服器日誌。",
    "messageStatus": {
      "pending": "待傳送",
      "sent": "已傳送",
      "delivered": "已送達",
      "read": "已讀",
      "failed": "傳送失敗"
    }
  },
  "errorBoundary": {
    "title": "發生問題",
    "description": "控制面板遇到未預期的錯誤。",
    "reload": "重新載入控制面板"
  },
  "login": {
    "apiKey": "API 金鑰",
    "apiKeyPlaceholder": "輸入你的 API 金鑰",
    "apiKeyRequired": "必須輸入 API 金鑰",
    "connect": "連線",
    "connecting": "正在連線...",
    "invalidKey": "API 金鑰無效",
    "connectionError": "無法連線到伺服器。請再試一次。",
    "help": "需要協助？",
    "viewDocs": "查看文件",
    "footer": "由 Yudhi Armyndharis 及 OpenWA 社群用 ❤️ 打造",
    "version": "v{{version}} · {{date}}"
  },
  "dashboard": {
    "title": "控制面板",
    "subtitle": "查看你的 WhatsApp 工作階段及活動概覽",
    "stats": {
      "activeSessions": "已連接工作階段",
      "sessionsDetail": "{{running}} 運行中 · 共 {{total}}",
      "messagesToday": "今日訊息",
      "webhooksConfigured": "已設定 Webhook",
      "totalMessages": "訊息總數"
    },
    "sessionsOverview": "工作階段概覽",
    "showingSessions": "顯示 {{shown}} / {{total}} 個工作階段",
    "columns": {
      "sessionId": "工作階段 ID",
      "phone": "電話號碼",
      "status": "狀態",
      "lastActive": "上次活躍",
      "actions": "操作"
    },
    "noSessions": "找不到工作階段。建立一個即可開始。",
    "view": "查看",
    "disconnect": "中斷連線",
    "errorPrefix": "錯誤：{{message}}",
    "loadError": "載入資料失敗",
    "charts": {
      "title": "訊息分析",
      "period": {
        "24h": "24小時",
        "7d": "7天",
        "30d": "30天"
      },
      "overTime": "訊息趨勢",
      "byType": "按類型分類的訊息",
      "topChats": "熱門聊天",
      "sent": "已傳送",
      "received": "已接收",
      "messages": "訊息",
      "empty": "此期間沒有訊息活動。",
      "error": "無法載入訊息分析。請查看伺服器日誌。"
    }
  },
  "sessionStatus": {
    "created": "新增",
    "idle": "閒置",
    "initializing": "正在啟動...",
    "connecting": "正在連線...",
    "qr_ready": "掃描 QR",
    "ready": "已連線",
    "disconnected": "已中斷連線",
    "action_required": "需要操作",
    "failed": "失敗",
    "authenticating": "正在驗證..."
  },
  "sessions": {
    "title": "工作階段",
    "subtitle": "管理你的 WhatsApp 工作階段及 QR 碼連線",
    "newSession": "新增工作階段",
    "searchPlaceholder": "搜尋工作階段...",
    "filter": {
      "all": "所有狀態",
      "active": "活躍（已連線）",
      "inactive": "非活躍",
      "connecting": "正在連線"
    },
    "empty": {
      "title": "找不到工作階段",
      "description": "建立新工作階段即可開始"
    },
    "create": {
      "title": "建立新工作階段",
      "label": "工作階段名稱",
      "placeholder": "例如：marketing-bot",
      "hint": "只可使用小寫字母、數字及連字號。例如：<code>customer-support</code>、<code>bot-1</code>",
      "invalidChars": "字元無效。只可使用小寫字母、數字及連字號。",
      "tooLong": "名稱不可超過 50 個字元（{{length}}/50）。",
      "duplicate": "已存在同名工作階段。",
      "successTitle": "工作階段已建立",
      "successDesc": "工作階段 \"{{name}}\" 已成功建立",
      "errorTitle": "建立失敗",
      "errorDefault": "建立工作階段失敗"
    },
    "delete": {
      "title": "確認刪除",
      "message": "確定要刪除工作階段 <strong>\"{{name}}\"</strong> 嗎？",
      "warning": "此操作無法復原。",
      "successTitle": "工作階段已刪除",
      "successDescNamed": "工作階段 \"{{name}}\" 已刪除",
      "successDescGeneric": "工作階段已刪除",
      "errorTitle": "刪除失敗",
      "errorDefault": "刪除工作階段失敗"
    },
    "qr": {
      "title": "掃描 QR 碼",
      "step1": "<strong>1.</strong> 在手機上開啟 WhatsApp",
      "step2": "<strong>2.</strong> 點按<strong>選單</strong> → <strong>已連結裝置</strong>",
      "step3": "<strong>3.</strong> 點按<strong>連結裝置</strong>並掃描此 QR",
      "autoRefresh": "QR 每 5 秒自動更新一次",
      "generating": "正在產生 QR 碼...",
      "preparing": "正在準備 QR 碼...",
      "showQr": "顯示 QR",
      "loading": "正在載入...",
      "scanToConnect": "掃描 QR 碼以連線"
    },
    "details": {
      "title": "工作階段詳情",
      "name": "名稱",
      "status": "狀態",
      "sessionId": "工作階段 ID",
      "phone": "電話號碼",
      "phoneNone": "未連線",
      "created": "建立時間",
      "lastActive": "上次活躍",
      "autoRejectCalls": "自動拒接來電",
      "autoRejectCallsHint": "來電響鈴後即時拒接。call.received webhook 仍會先行觸發。下一通來電起生效，無需重新啟動。"
    },
    "actions": {
      "view": "查看",
      "start": "啟動",
      "stop": "停止",
      "reconnect": "重新連線",
      "unlink": "解除連結",
      "delete": "刪除",
      "killStuck": "強制終止"
    },
    "toasts": {
      "readyTitle": "工作階段就緒",
      "readyDesc": "WhatsApp 工作階段現已連線",
      "disconnectedTitle": "工作階段已中斷連線",
      "disconnectedDesc": "WhatsApp 工作階段已中斷連線",
      "actionRequiredTitle": "需要操作",
      "actionRequiredDesc": "此工作階段需要您的關注。開啟工作階段以查看需要做什麼。",
      "failedTitle": "工作階段失敗",
      "failedDesc": "WhatsApp 工作階段啟動失敗。開啟該工作階段以查看原因。"
    },
    "card": {
      "phone": "電話",
      "sessionId": "工作階段 ID",
      "lastActive": "上次活躍",
      "error": "錯誤",
      "restriction": "限制"
    },
    "forceKill": {
      "title": "強制終止卡住的工作階段",
      "message": "確定要強制終止工作階段「{{name}}」嗎？",
      "warning": "這會強制結束 WhatsApp 瀏覽器程序。工作階段重新啟動後可能需要重新掃描。",
      "confirm": "終止工作階段",
      "successTitle": "工作階段已終止",
      "success": "工作階段已強制終止。你現在可以重新啟動它。",
      "failedTitle": "強制終止失敗",
      "failed": "無法強制終止工作階段。"
    },
    "unlink": {
      "title": "解除裝置連結",
      "message": "要將工作階段 <strong>\"{{name}}\"</strong> 從 WhatsApp 帳戶解除連結嗎？",
      "warning": "WhatsApp 會將此裝置從帳戶的已連結裝置列表中移除，工作階段將停止。重新連接需要重新掃描 QR 碼或使用配對碼。如需同時清除所有本地資料，請隨後刪除該工作階段。",
      "confirm": "解除連結",
      "successTitle": "裝置已解除連結",
      "success": "解除連結已完成：裝置已登出，本機工作階段憑證已清除。重新連線需要新的 QR 掃描或配對碼。",
      "failedTitle": "解除連結失敗",
      "failed": "無法解除該工作階段的連結。",
      "incompleteTitle": "解除連結未完成",
      "incomplete": "工作階段已在本地停止，但登出操作未完成——裝置可能仍處於連結狀態。請啟動工作階段後重新嘗試解除連結。"
    },
    "pairing": {
      "tabQr": "QR 碼",
      "tabPhone": "以電話號碼連結",
      "phoneLabel": "電話號碼",
      "phonePlaceholder": "例如：919876543210",
      "phoneHint": "只可輸入數字（不可有 +、空格或連字號），須為國際格式（國家代碼 + 號碼）。",
      "invalidPhone": "請輸入有效的電話號碼：6 至 15 位數字，國家代碼在前，不可有符號。",
      "generateButton": "產生配對碼",
      "generating": "正在產生配對碼...",
      "codeLabel": "你的配對碼",
      "changeNumber": "更改號碼／重新索取配對碼",
      "instructions": "配對說明",
      "step1": "<strong>1.</strong> 在手機上開啟 WhatsApp",
      "step2": "<strong>2.</strong> 點按<strong>選單</strong>或<strong>設定</strong>，然後選擇<strong>已連結裝置</strong>",
      "step3": "<strong>3.</strong> 點按<strong>連結裝置</strong>，然後點按<strong>改用電話號碼連結</strong>",
      "step4": "<strong>4.</strong> 在手機上輸入上方顯示的 8 位字元配對碼",
      "waitingConnection": "正在等待你的手機完成連結…"
    },
    "start": {
      "teardownPendingTitle": "工作階段啟動中",
      "teardownPending": "此工作階段的憑證拆除仍在進行中。請稍候再試。"
    },
    "restriction": {
      "reachout_timelock": "新對話被封鎖",
      "tos_block": "被 WhatsApp 封鎖",
      "proxy_block": "連線被封鎖",
      "until": "至 {{date}}"
    }
  },
  "webhooks": {
    "title": "Webhooks",
    "subtitle": "設定用於即時事件通知的 HTTP 回呼",
    "addWebhook": "新增 Webhook",
    "createTitle": "建立 Webhook",
    "editTitle": "編輯 Webhook",
    "deleteTitle": "刪除 Webhook",
    "deleteConfirm": "確定要刪除此 webhook 嗎？",
    "selectSession": "選擇工作階段...",
    "session": "工作階段",
    "events": "事件",
    "available": "可用事件",
    "saveChanges": "儲存變更",
    "filters": {
      "title": "篩選條件（選填）",
      "hint": "僅當所有條件都符合時才觸發。適用於訊息事件。",
      "badge": "{{count}} 個篩選條件",
      "badge_other": "{{count}} 個篩選條件",
      "addCondition": "新增條件",
      "removeCondition": "移除條件",
      "caseSensitive": "區分大小寫",
      "contactPlaceholder": "號碼或 WhatsApp ID...",
      "textPlaceholder": "要符合的文字...",
      "addValue": "新增 \"{{value}}\"",
      "yes": "是",
      "no": "否",
      "fields": {
        "sender": "傳送者",
        "recipient": "接收者",
        "body": "訊息內容",
        "type": "訊息類型",
        "isGroup": "是群組聊天",
        "fromMe": "由我傳送",
        "hasMedia": "包含媒體",
        "mentions": "提及"
      },
      "operators": {
        "is": "是",
        "isNot": "不是",
        "contains": "包含",
        "equals": "等於"
      },
      "fieldLabel": "篩選欄位",
      "operatorLabel": "篩選運算符",
      "valueLabel": "篩選值"
    },
    "columns": {
      "url": "URL",
      "events": "事件",
      "session": "工作階段",
      "status": "狀態",
      "actions": "操作"
    },
    "empty": {
      "title": "尚未設定 Webhook",
      "description": "新增 Webhook 以接收即時事件通知"
    },
    "toasts": {
      "created": "Webhook 建立成功",
      "createFailed": "建立 Webhook 失敗：{{message}}",
      "deleted": "Webhook 刪除成功",
      "deleteFailed": "刪除 Webhook 失敗：{{message}}",
      "updated": "Webhook 更新成功",
      "updateFailed": "更新 Webhook 失敗：{{message}}",
      "testOk": "Webhook 測試成功！狀態：{{status}}",
      "testFailed": "Webhook 測試失敗：{{message}}",
      "testError": "測試 Webhook 失敗：{{message}}"
    },
    "actions": {
      "test": "測試",
      "edit": "編輯",
      "delete": "刪除"
    },
    "eventDescriptions": {
      "message.received": "收到訊息時",
      "message.sent": "傳送訊息時",
      "session.connected": "工作階段連線時",
      "session.disconnected": "工作階段中斷連線時",
      "session.qr": "產生 QR 碼時",
      "all": "所有事件"
    }
  },
  "templates": {
    "title": "範本",
    "subtitle": "為每個 WhatsApp 工作階段建立可重用的訊息範本",
    "createTitle": "建立範本",
    "editTitle": "編輯範本",
    "newTemplate": "新範本",
    "createTemplate": "建立範本",
    "saveChanges": "儲存變更",
    "viewOnly": "僅供檢視",
    "noSessions": "沒有工作階段",
    "sessionHint": "儲存於 {{name}}",
    "namePlaceholder": "例如：order-confirmation",
    "header": "標題",
    "headerPlaceholder": "可選的開首句",
    "body": "內文",
    "bodyPlaceholder": "你好 {{customer}}，你的訂單 {{orderId}} 已經準備好。",
    "footer": "頁尾",
    "footerPlaceholder": "可選的結尾句",
    "previewTitle": "預覽",
    "previewValuePlaceholder": "範例值",
    "previewEmpty": "開始撰寫範本，即可在此預覽。",
    "noPlaceholders": "使用 {{name}} 佔位符測試替換效果。",
    "savedTitle": "已儲存的範本",
    "count": "共 {{count}} 個",
    "deleteTitle": "刪除範本",
    "deleteConfirm": "確定刪除範本「{{name}}」？此操作無法復原。",
    "actions": {
      "copyName": "複製範本名稱"
    },
    "empty": {
      "title": "未儲存任何範本",
      "description": "建立可重用的範本，加快常用回覆和通知的速度。",
      "noSessionsTitle": "沒有可用的工作階段",
      "noSessionsDesc": "請先建立 WhatsApp 工作階段，才能新增範本。"
    },
    "toasts": {
      "created": "範本建立成功",
      "createFailed": "建立範本失敗：{{message}}",
      "updated": "範本更新成功",
      "updateFailed": "更新範本失敗：{{message}}",
      "deleted": "範本刪除成功",
      "deleteFailed": "刪除範本失敗：{{message}}",
      "copied": "已複製範本名稱"
    },
    "sessionSelect": "工作階段"
  },
  "apiKeys": {
    "title": "API 金鑰",
    "subtitle": "管理用於認證及存取控制的 API 金鑰",
    "createBtn": "建立 API 金鑰",
    "modalTitle": "建立 API 金鑰",
    "createdTitle": "API 金鑰已建立",
    "createdHint": "請立即複製此金鑰。之後將無法再次查看。",
    "namePlaceholder": "例如：Production Key",
    "rolesTitle": "角色參考",
    "roles": {
      "admin": "管理員",
      "operator": "操作員",
      "viewer": "檢視者"
    },
    "roleDescriptions": {
      "admin": "可完整存取所有資源",
      "operator": "工作階段及訊息管理",
      "viewer": "唯讀存取"
    },
    "columns": {
      "name": "名稱",
      "key": "金鑰",
      "role": "角色",
      "status": "狀態",
      "lastUsed": "上次使用",
      "actions": "操作"
    },
    "statuses": {
      "active": "活躍",
      "revoked": "已撤銷"
    },
    "empty": {
      "title": "尚未建立 API 金鑰",
      "description": "建立 API 金鑰以認證你的請求"
    },
    "confirm": {
      "deleteTitle": "刪除 API 金鑰",
      "revokeTitle": "撤銷 API 金鑰",
      "deleteMessage": "確定要永久刪除 <strong>{{name}}</strong> 嗎？此操作無法復原。",
      "revokeMessage": "確定要撤銷 <strong>{{name}}</strong> 嗎？它將無法再使用。",
      "delete": "刪除",
      "revoke": "撤銷"
    },
    "actions": {
      "copy": "複製",
      "revoke": "撤銷",
      "delete": "刪除"
    }
  },
  "logs": {
    "title": "審計記錄",
    "subtitle": "追蹤及查看所有 API 操作和系統事件",
    "exportCsv": "匯出 CSV",
    "searchPlaceholder": "搜尋記錄...",
    "severity": {
      "all": "所有嚴重程度",
      "info": "資訊",
      "warn": "警告",
      "error": "錯誤"
    },
    "columns": {
      "timestamp": "時間戳記",
      "action": "操作",
      "session": "工作階段",
      "apiKey": "API 金鑰",
      "ip": "IP 位址",
      "severity": "嚴重程度"
    },
    "empty": {
      "title": "找不到記錄",
      "description": "執行操作後，審計記錄會顯示在這裡",
      "filteredTitle": "本頁無符合項目",
      "filteredDescription": "搜尋只會過濾目前頁面。請清除搜尋、翻頁，或使用嚴重程度篩選在伺服器端收窄。",
      "filteredServerDescription": "沒有符合這些篩選條件的日誌。請調整嚴重程度篩選以擴大搜尋範圍。"
    }
  },
  "messageTester": {
    "title": "訊息測試器",
    "subtitle": "透過 API 傳送測試訊息",
    "compose": "傳送測試訊息",
    "responseTitle": "API 回應",
    "session": "工作階段",
    "noReadySessions": "沒有就緒的工作階段",
    "sessionOptionPhoneNone": "沒有電話",
    "recipientType": "接收者類型",
    "personal": "個人",
    "group": "群組",
    "selectGroup": "選擇群組",
    "recipientPhone": "接收者電話號碼",
    "loadingGroups": "正在載入群組...",
    "noGroupsFound": "找不到群組",
    "selectGroupHint": "從你的 WhatsApp 選擇一個群組",
    "phoneHint": "使用不含空格的國際格式",
    "messageType": "訊息類型",
    "types": {
      "text": "文字",
      "image": "圖片",
      "video": "影片",
      "audio": "音訊",
      "document": "文件",
      "location": "位置",
      "contact": "聯絡人",
      "sticker": "貼圖",
      "poll": "投票",
      "forward": "轉發",
      "bulk": "批量"
    },
    "messageContent": "訊息內容",
    "messagePlaceholder": "在此輸入你的訊息...",
    "mediaUrl": "媒體 URL",
    "uploadFile": "上傳檔案",
    "browse": "瀏覽",
    "removeFile": "移除檔案",
    "fileReadError": "檔案讀取失敗",
    "fileTooLarge": "檔案過大（最大 18 MB）",
    "caption": "說明文字",
    "filename": "檔案名稱",
    "captionPlaceholder": "輸入說明文字...",
    "filenamePlaceholder": "document.pdf",
    "locationLatitude": "緯度",
    "locationLongitude": "經度",
    "locationDescription": "描述",
    "locationAddress": "地址",
    "contactName": "聯絡人姓名",
    "contactNamePlaceholder": "陳大文",
    "contactNumber": "聯絡人號碼",
    "pollQuestion": "投票問題",
    "pollQuestionPlaceholder": "我們在哪裏見面？",
    "pollOptions": "投票選項",
    "pollOptionPlaceholder": "選項 {{index}}",
    "pollOptionsHint": "2 至 12 個選項",
    "addOption": "新增選項",
    "removeOption": "移除選項",
    "allowMultipleAnswers": "允許多選",
    "forwardFromChatId": "來源對話 ID",
    "forwardFromPlaceholder": "628123456789@c.us",
    "forwardFromHint": "留空則從目前收件人轉發",
    "forwardToChatId": "目標對話 ID",
    "forwardToPlaceholder": "電話號碼或對話 ID",
    "forwardMessageId": "訊息 ID",
    "forwardMessageIdHint": "要轉發的訊息 ID",
    "bulkRecipients": "收件人",
    "bulkRecipientsPlaceholder": "+62812345678",
    "bulkRecipientsHint": "每行一個電話號碼或對話 ID（最多 100 個）",
    "bulkRecipientsCount": "收件人：{{count}}",
    "bulkDelay": "訊息之間的延遲（毫秒）",
    "bulkDelayHint": "1000–60000 毫秒（預設 3000）",
    "send": "傳送訊息",
    "sending": "正在傳送...",
    "viewOnly": "僅檢視",
    "responseEmpty": "傳送訊息後即可查看 API 回應",
    "successLabel": "成功",
    "failedLabel": "失敗",
    "response": {
      "timestamp": "時間戳記",
      "messageId": "訊息 ID",
      "batchId": "批次 ID",
      "error": "錯誤"
    },
    "sendFailed": "傳送訊息失敗",
    "notOnWhatsApp": "此號碼未在 WhatsApp 註冊",
    "batch": {
      "status": {
        "pending": "等候中",
        "processing": "處理中",
        "completed": "已完成",
        "cancelled": "已取消",
        "failed": "失敗"
      },
      "progress": "已發送 {{sent}}/{{total}} · {{failed}} 失敗 · {{pending}} 待發送",
      "cancel": "取消批次",
      "cancelling": "取消中..."
    }
  },
  "infrastructure": {
    "title": "基礎架構",
    "subtitle": "設定伺服器、資料庫、快取、儲存空間和引擎設定",
    "saveConfig": "儲存設定",
    "saving": "正在儲存...",
    "database": {
      "title": "資料庫設定",
      "sqlite": "SQLite",
      "sqliteDesc": "本機檔案型資料庫",
      "postgres": "PostgreSQL",
      "postgresDesc": "適用於生產環境的資料庫",
      "useBuiltIn": "使用內置 PostgreSQL 容器",
      "builtInDesc": "OpenWA 會為你管理 PostgreSQL 容器",
      "dbName": "資料庫名稱",
      "schema": "結構描述",
      "schemaDesc": "PostgreSQL 結構描述（SQLite 會忽略）。預設為 'public'。該結構描述必須已存在。",
      "poolSize": "連線池大小",
      "ssl": "SSL 連線",
      "sslDesc": "啟用 TLS/SSL 以保障資料庫連線安全",
      "sslRejectUnauthorized": "驗證 SSL 憑證",
      "sslRejectUnauthorizedDesc": "拒絕自簽署或無效的憑證。對於使用自簽署憑證的託管 Postgres（Supabase、Heroku、Render、Railway），請關閉此項。",
      "migrationsTitle": "資料庫遷移",
      "migrationsStatus": "結構會透過 TypeORM 自動同步",
      "migrationsHint": "遷移會自動管理。手動遷移請使用 CLI。"
    },
    "engine": {
      "title": "WhatsApp 引擎",
      "builtIn": "內置",
      "headless": "無頭模式",
      "headlessDesc": "在沒有可見介面的情況下執行瀏覽器（建議用於生產環境）。",
      "sessionDataPath": "工作階段資料路徑",
      "browserArgs": "瀏覽器參數",
      "noBrowser": "此引擎透過 WebSocket 連線——沒有瀏覽器，因此沒有無頭模式或瀏覽器參數設定。使用中的引擎會在重新啟動後生效。",
      "restartNote": "切換引擎會在伺服器重新啟動後生效。",
      "webVersion": "WhatsApp Web 版本",
      "webVersionNative": "自動（whatsapp-web.js 預設）",
      "webVersionSource": {
        "pinned": "透過 WWEBJS_WEB_VERSION 鎖定",
        "auto": "自動解析，目前已知可用的版本",
        "native": "whatsapp-web.js 原生自動選取"
      }
    },
    "redis": {
      "title": "Redis",
      "enable": "啟用 Redis",
      "enableDesc": "快取、工作階段儲存及 BullMQ 佇列需要 Redis",
      "useBuiltIn": "使用內置 Redis 容器",
      "builtInDesc": "OpenWA 會為你管理 Redis 容器",
      "queueTitle": "啟用 BullMQ 佇列系統",
      "queueDesc": "使用訊息佇列可靠地傳遞訊息和 Webhook",
      "statsTitle": "佇列統計",
      "webhookQueue": "Webhook 佇列",
      "pending": "待處理",
      "completed": "已完成",
      "failed": "失敗",
      "viewBullMq": "查看 Bull MQ 控制面板",
      "disabledTitle": "Redis 已停用",
      "disabledDesc": "啟用 Redis 以使用快取、工作階段儲存及 BullMQ 訊息佇列。",
      "passwordOptional": "（選填）",
      "bullMqUrlCopied": "已複製 Bull MQ 儀表板網址",
      "bullMqUrlHint": "請使用 ADMIN API 金鑰開啟 — 瀏覽器分頁無法進行身份驗證。"
    },
    "storage": {
      "title": "儲存空間設定",
      "local": "本機檔案系統",
      "localDesc": "在本機儲存媒體檔案",
      "s3": "Amazon S3",
      "s3Desc": "雲端儲存空間（兼容 S3）",
      "useBuiltIn": "使用內置 MinIO 容器",
      "builtInDesc": "OpenWA 會為你管理 MinIO（兼容 S3）容器",
      "storagePath": "儲存路徑",
      "bucket": "儲存桶名稱",
      "region": "區域",
      "accessKey": "存取金鑰",
      "secretKey": "秘密金鑰",
      "endpoint": "自訂端點（選填）",
      "endpointHint": "適用於 MinIO 或其他兼容 S3 的服務",
      "s3Unreachable": "S3（無法連線）"
    },
    "statusLabels": {
      "connected": "已連線",
      "disconnected": "已中斷連線",
      "disabled": "已停用"
    },
    "restart": {
      "idleTitle": "⚙️ 設定已儲存",
      "restartingTitle": "🔄 正在重新啟動伺服器...",
      "waitingTitle": "⏳ 請稍候...",
      "successTitle": "✅ 伺服器就緒",
      "errorTitle": "❌ 重新啟動失敗",
      "idleDesc": "設定已儲存到 <code>.env.generated</code>。<br/>需要重新啟動伺服器才能套用變更。",
      "later": "稍後重新啟動",
      "now": "立即重新啟動",
      "restartingMsg": "伺服器正在重新啟動... {{count}} 秒",
      "checking": "正在檢查伺服器狀態...",
      "dontClose": "請不要關閉此視窗",
      "successMsg": "伺服器已重新上線！頁面將自動重新載入。",
      "errorMsg": "伺服器在 30 秒後仍未回應。請檢查 Docker 記錄並手動重新啟動。",
      "reload": "重新載入頁面"
    },
    "toasts": {
      "saveFailed": "儲存失敗"
    },
    "envPinNote": "已由環境變數 {{name}} 鎖定 — 這是正在運行的值；在取消設定該變數之前，儀表板的變更不會生效。",
    "pendingRestartNote": "已儲存，但尚未生效 — 請重新啟動伺服器以套用此變更。",
    "migration": {
      "title": "請注意 — 此操作會更改資料後端",
      "dbWarning": "新資料庫會以空白狀態啟動。請立即下載目前資料的備份（趁仍在舊資料庫時），然後在重新啟動後還原。",
      "storageWarning": "現有的媒體檔案不會自動移至新的儲存後端；它們會保留在舊位置。",
      "downloadBackup": "請先下載備份",
      "backupTitle": "資料備份與還原",
      "backupHint": "在切換資料庫前，請將所有資料匯出為 JSON，然後在切換後再匯入。備份以明文包含 webhook 密鑰及代理憑證 — 請妥善保存，並在還原後刪除。",
      "export": "匯出資料",
      "import": "匯入資料",
      "exportFailed": "無法匯出資料",
      "exportPartialTitle": "Backup is missing some media",
      "exportPartial": "{{count}} attachment payload(s) exceeded the export media budget and were saved as placeholders. The messages restore; their media does not.",
      "importFailed": "無法匯入資料",
      "importOk": "資料已匯入",
      "importConfirm": "匯入將以備份（{{rows}} 列）取代所有目前資料。此操作無法復原。是否繼續？",
      "invalidFile": "該檔案並非有效的 OpenWA 資料備份。",
      "importTooLarge": "備份超出請求大小限制。請在伺服器上調高 BODY_SIZE_LIMIT 後重試。"
    },
    "statusLoadError": "無法載入目前的基礎設施狀態。請重新整理以重試。"
  },
  "plugins": {
    "title": "外掛",
    "subtitle": "安裝、設定和管理擴充功能",
    "refresh": "重新整理",
    "builtIn": "內置",
    "noDescription": "沒有可用描述",
    "enable": "啟用",
    "disable": "停用",
    "healthCheck": "健康檢查",
    "configure": "設定",
    "install": "安裝外掛",
    "uninstall": "解除安裝",
    "uninstallConfirm": "解除安裝「{{name}}」？此操作會刪除其檔案。",
    "empty": {
      "title": "找不到外掛",
      "description": "安裝外掛以擴展 OpenWA 功能"
    },
    "config": {
      "title": "設定 {{name}}",
      "noOptions": "此外掛沒有可用設定選項",
      "uiHandshakeError": "外掛設定介面未初始化。如有可用的結構表單，請使用下方表單。",
      "save": "儲存設定",
      "addItem": "新增",
      "tabConfig": "設定",
      "tabSessions": "工作階段"
    },
    "rail": {
      "enabled": "已啟用",
      "installed": "已安裝",
      "active": "活躍外掛",
      "none": "尚未啟用任何外掛"
    },
    "installModal": {
      "title": "安裝外掛",
      "hint": "上載打包成 .zip 的外掛（內含 manifest.json）。啟用後會以沙盒方式執行。",
      "trustWarning": "外掛會以閘道處理程序的完整權限執行——沙盒只能隔離當機，不能阻擋惡意程式碼。請只安裝你信任的外掛。",
      "choose": "選擇 .zip 檔案…",
      "tooLarge": "檔案超出 5 MB 上限。",
      "catalogHint": "直接從 OpenWA 外掛目錄安裝。.zip 檔案由伺服器透過 SSRF 防護取得，然後經過驗證並在沙箱中執行。",
      "catalogTeaser": "在找外掛嗎？",
      "catalogTeaserSuffix": "瀏覽官方市場。",
      "tabCatalog": "目錄",
      "tabUpload": "上傳 .zip"
    },
    "toasts": {
      "errorTitle": "外掛錯誤",
      "errorDefault": "切換外掛失敗",
      "healthOk": "健康檢查通過",
      "healthFail": "健康檢查失敗",
      "healthError": "健康檢查錯誤",
      "savedTitle": "設定已儲存",
      "savedDesc": "需要重新啟動伺服器以套用變更。",
      "saveFailed": "儲存失敗",
      "installed": "外掛已安裝",
      "installFailed": "安裝失敗",
      "uninstalled": "外掛已解除安裝",
      "uninstallFailed": "解除安裝失敗",
      "enableFailedTitle": "啟用失敗",
      "disableFailedTitle": "停用失敗",
      "configRequiredTitle": "需要設定",
      "configRequiredDesc": "啟用前請填寫必填項：{{fields}}",
      "updateFailed": "更新失敗"
    },
    "sessions": {
      "activationTitle": "執行對象",
      "activationDesc": "選擇此外掛程式要為哪些工作階段執行。",
      "allSessions": "所有工作階段",
      "specificSessions": "指定工作階段",
      "noSessions": "尚無工作階段。",
      "saveActivation": "儲存啟用設定",
      "perSessionTitle": "個別工作階段設定",
      "perSessionDesc": "為某個工作階段覆寫全域設定;未變更的欄位會沿用全域數值。",
      "selectSession": "選擇工作階段…",
      "saveOverride": "儲存覆寫",
      "clearOverride": "清除覆寫"
    },
    "instances": {
      "title": "執行個體",
      "description": "為此整合按帳戶佈建執行個體。每個執行個體都有專屬的簽署密鑰和連入 URL。",
      "create": "建立執行個體",
      "empty": "尚無執行個體。建立一個即可取得連入 URL 和密鑰。",
      "loadError": "載入執行個體失敗。",
      "allSessions": "所有工作階段",
      "enabled": "已啟用",
      "disabled": "已停用",
      "form": {
        "instanceId": "執行個體 ID",
        "instanceIdPlaceholder": "例如 acme-support",
        "instanceIdHint": "字母、數字、連字號、底線（最多 64 個字元）。",
        "sessionScope": "工作階段範圍（選填）",
        "sessionScopePlaceholder": "留空表示套用至所有工作階段",
        "verifyToken": "驗證權杖（選填）",
        "verifyTokenPlaceholder": "服務商在驗證時回傳的權杖",
        "secret": "Ingress 密鑰（可選）",
        "secretPlaceholder": "供應商的 webhook 密鑰（如 Chatwoot）",
        "secretHint": "留空則自動產生（只顯示一次）。如果供應商使用自己固定的 webhook 密鑰，請貼在此處——自動產生的密鑰將無法匹配。",
        "config": "設定（選填 JSON）",
        "configPlaceholder": "{ }"
      },
      "created": {
        "title": "執行個體已建立",
        "hint": "請立即複製密鑰——只會顯示一次。",
        "secret": "簽署密鑰",
        "ingressUrls": "連入 URL"
      },
      "regenerate": {
        "title": "重新產生密鑰",
        "confirm": "要重新產生 {{id}} 的簽署密鑰嗎？目前的密鑰會立即失效。",
        "action": "重新產生"
      },
      "edit": {
        "title": "編輯 {{id}}"
      },
      "delete": {
        "title": "刪除執行個體",
        "confirm": "要刪除執行個體 {{id}} 嗎？其連入 URL 和密鑰會立即失效。",
        "action": "刪除"
      },
      "actions": {
        "regenerate": "重新產生密鑰",
        "edit": "編輯",
        "delete": "刪除",
        "copy": "複製",
        "save": "儲存",
        "enable": "啟用",
        "disable": "停用"
      },
      "errors": {
        "invalidId": "執行個體 ID 只能包含字母、數字、連字號或底線（最多 64 個字元）。",
        "invalidJson": "設定必須是有效的 JSON。",
        "invalidSecret": "密鑰至少 16 個字元，或留空以自動產生。",
        "duplicateId": "已存在使用該 ID 的執行個體。"
      },
      "toasts": {
        "created": "執行個體已建立",
        "updated": "執行個體已更新",
        "deleted": "執行個體已刪除",
        "secretRegenerated": "密鑰已重新產生",
        "actionFailed": "操作失敗"
      }
    },
    "catalog": {
      "empty": "目錄中暫無外掛。",
      "install": "安裝",
      "installed": "已安裝",
      "noDownload": "此目錄項目沒有下載地址。",
      "noMatch": "沒有符合搜尋條件的外掛。",
      "searchPlaceholder": "搜尋外掛…",
      "update": "更新",
      "updateAvailable": "有可用更新",
      "updated": "外掛已更新"
    }
  },
  "search": {
    "placeholder": "搜尋訊息…",
    "results": "{{count}} 個結果",
    "empty": "未找到訊息。",
    "error": "搜尋失敗。請重試。",
    "unavailable": "搜尋未設定。",
    "scope": {
      "current": "目前工作階段"
    },
    "loading": "搜尋中…"
  }
}
