diff --git a/apps/builder/__tests__/i18n-zh-tw-parity.test.ts b/apps/builder/__tests__/i18n-zh-tw-parity.test.ts new file mode 100644 index 000000000..8fb78638a --- /dev/null +++ b/apps/builder/__tests__/i18n-zh-tw-parity.test.ts @@ -0,0 +1,28 @@ +// @vitest-environment node +import { expect, test } from "vitest" +import { messagesByLocale } from "@/i18n/messages" + +type FlatMessages = Record + +const flattenMessages = ( + value: unknown, + prefix = "", + result: FlatMessages = {}, +): FlatMessages => { + if (typeof value !== "object" || value === null || Array.isArray(value)) { + result[prefix] = value + return result + } + + for (const [key, child] of Object.entries(value)) { + flattenMessages(child, prefix ? `${prefix}.${key}` : key, result) + } + + return result +} + +test("zh-TW has the exact English key set", () => { + expect( + Object.keys(flattenMessages(messagesByLocale["zh-TW"])).sort(), + ).toEqual(Object.keys(flattenMessages(messagesByLocale.en)).sort()) +}) diff --git a/apps/builder/messages/zh-TW.json b/apps/builder/messages/zh-TW.json index de091d71c..2c83a0f01 100644 --- a/apps/builder/messages/zh-TW.json +++ b/apps/builder/messages/zh-TW.json @@ -1348,8 +1348,8 @@ "description": "新增一個或多個事件名稱。當 Make 為其中某個事件附加 Webhook 時,此步驟執行時就會把資料傳送過去。" }, "n8nEvents": { - "label": "活動", - "placeholder": "輸入事件名稱並按 Enter", + "label": "事件", + "placeholder": "輸入事件名稱後按 Enter", "description": "新增一個或多個事件名稱。當 n8n 為其中某個事件附加 Webhook 時,此步驟執行時就會把資料傳送過去。" } }, @@ -1548,7 +1548,6 @@ "disableBot": "停用機器人", "disconnect": "中斷連線", "download": "下載", - "downloadTemplate": "下載範本", "edit": "編輯", "editFeature": "編輯 {feature}", "enableBot": "啟用機器人", @@ -1650,10 +1649,8 @@ "onSuccess": "成功", "clone": "複製", "remove": "移除", - "restore": "還原" - }, - "errors": { - "superAdminRequired": "您需要是工作區的超級管理員才能執行此操作。" + "restore": "還原", + "downloadTemplate": "下載範本" }, "states": { "success": "成功", @@ -2046,7 +2043,6 @@ "noAdminReply": "無管理員回覆", "contactCreatedAt": "聯絡人建立時間", "fromCtwaAd": "來自 Click to WhatsApp 廣告", - "ctwaConversion": "CTWA 轉換", "lastUserInputTypes": { "text": "文字", "location": "位置", @@ -2057,8 +2053,9 @@ "gif": "GIF", "file": "檔案" }, + "ctwaConversion": "CTWA 轉換", "ctwaConversionTypes": { - "lead": "名單", + "lead": "潛在客戶", "purchase": "購買" } }, @@ -2075,7 +2072,7 @@ "customFields": "自訂欄位", "email": "電子郵件", "sms": "簡訊", - "ctwaAds": "Click to WhatsApp 廣告" + "ctwaAds": "點擊 WhatsApp 廣告" }, "languages": { "ar": "阿拉伯語", @@ -2113,13 +2110,13 @@ "chatPlugin": "C.聊天外掛" }, "ctwaRetarget": { + "adPrefix": "廣告", + "allAds": "所有廣告", "segments": { - "conversations": "CTWA 對話發起者", - "leads": "CTWA 合格名單", + "conversations": "CTWA 對話開啟者", + "leads": "CTWA 合格潛在客戶", "purchases": "CTWA 購買者" - }, - "adPrefix": "廣告", - "allAds": "所有廣告" + } } }, "channels": { @@ -2145,7 +2142,7 @@ }, "tokenRefreshErrorDialog": { "title": "緊急", - "description": "以下頻道未能自動重新整理存取權杖。請重新連接以繼續傳送和接收訊息。", + "description": "以下頻道未能自動刷新其存取權杖。請重新連接,以持續收發訊息。", "cta": "重新連接" }, "refreshAllTokens": { @@ -2240,7 +2237,7 @@ "broadcastActions": "廣播操作", "callApi": "外部API 請求", "make": "Make.com", - "triggerN8n": "Trigger n8n", + "triggerN8n": "觸發 n8n", "triggers": "觸發器", "questionnaires": "問卷", "setUpCoupon": "設定優惠券", @@ -2269,7 +2266,7 @@ "getResponseAddContact": "將聯絡人新增到 GetResponse", "sendGridAddContact": "將聯絡人新增到 SendGrid", "messenger": "Messenger", - "metaConversions": "Meta Conversions API", + "metaConversions": "Meta 轉換 API", "openWebsite": "打開網站", "optInEmail": "選擇接收電子郵件", "optOutEmail": "選擇退出電子郵件", @@ -2324,7 +2321,7 @@ "splitTraffic": "拆分流量", "aiEditImage": "人工智慧編輯影像", "whatsappFlow": "WhatsApp流程", - "sendMetaCapiEvent": "Send Meta CAPI Event" + "sendMetaCapiEvent": "傳送 Meta CAPI 事件" }, "splitTraffic": { "balanceHint": "總和必須等於 100%。", @@ -2476,207 +2473,6 @@ "invalidAppSettings": "Facebook 應用程式設定無效" } }, - "ads": { - "title": "廣告", - "nav": { - "clickToWhatsappAds": "Click to WhatsApp 廣告", - "clickToTiktokAds": "Click to TikTok 廣告", - "connectAccounts": "連接帳戶", - "conversionEvents": "轉換事件", - "adsAnalytics": "廣告分析", - "reporting": "報表", - "ctwa": "CTWA", - "googleAds": "Google 廣告", - "comingSoon": "即將推出" - }, - "connectAccounts": { - "title": "管理您的所有廣告帳戶", - "description": "追蹤轉換並優化您的 Click to WhatsApp 廣告活動。", - "learnMore": "了解更多", - "connectAdAccount": "連接廣告帳戶", - "adAccountName": "廣告帳戶名稱", - "disconnect": "取消連接", - "empty": "尚未連接任何廣告帳戶。", - "adAccountsTitle": "Meta 廣告帳戶", - "adAccountsDescription": "連接 Facebook 廣告,以載入用於 Click to WhatsApp 活動的廣告帳戶。", - "adAccountsReconnectBanner": "您的 Meta 廣告帳戶權杖已過期或失去權限。請重新連接 Facebook 廣告,以維持廣告報表功能可用。", - "adAccountsNotConnected": "尚未連接任何 Meta 廣告帳戶。", - "adAccountsEmpty": "此 Facebook 廣告連接找不到任何 Meta 廣告帳戶。", - "adAccountsNote": "花費與再行銷受眾皆來自這些廣告帳戶。", - "reconnectBanner": "重新連接您的 WhatsApp 帳戶,以啟用將轉換事件傳送至 Meta。", - "reconnect": "重新連接", - "reconnectSuccess": "WhatsApp 帳戶已重新連接。", - "selectAccountLabel": "WhatsApp 帳戶", - "status": { - "ready": "自動事件已就緒", - "missingPermission": "缺少自動事件權限", - "unverified": "權限尚未驗證" - }, - "table": { - "name": "名稱", - "phoneNumber": "電話號碼", - "wabaId": "WABA ID", - "permission": "自動事件" - }, - "providers": { - "meta": "Meta", - "googleAds": "Google 廣告", - "tiktok": "TikTok" - }, - "connectWhatsapp": { - "title": "請先連接您的 WhatsApp 帳戶", - "description": "在連接廣告帳戶並建立轉換資料集之前,Click to WhatsApp 轉換追蹤需要先連接一個 WhatsApp 帳戶。", - "step1": "在「頻道」中連接您的 WhatsApp Business 帳戶。", - "step2": "返回此處以授權 Meta 廣告並選擇您的廣告帳戶。", - "step3": "我們將使用您的 WhatsApp Business 帳戶自動建立轉換資料集。", - "cta": "連接 WhatsApp 帳戶" - } - }, - "conversionEvents": { - "title": "轉換事件", - "tabs": { - "facebook": "Facebook", - "whatsapp": "WhatsApp" - }, - "manageAdsAccounts": "管理廣告帳戶", - "export": "匯出", - "selectAll": "全選", - "whatsappAsset": "WhatsApp 資產", - "selectWhatsappAsset": "選擇 WhatsApp 資產", - "templates": "範本", - "selectTemplates": "選擇範本", - "noTemplates": "找不到任何已核准的範本。", - "existingRules": "現有規則", - "noRules": "此 WhatsApp 資產尚無轉換規則。", - "toggleRule": "啟用或停用規則", - "deleteRule": "刪除規則", - "qualifyingTemplateMessageSent": "已傳送符合資格的範本訊息", - "qualifyingFirstReply": "聯絡人傳送第一則訊息", - "qualifyingAnyReply": "聯絡人傳送訊息", - "when": "當", - "whenOptions": { - "templateSent": "已傳送符合資格的範本訊息", - "tagApplied": "聯絡人已加上標籤", - "keywordMatched": "聯絡人的訊息符合某個關鍵字規則", - "contactReplied": "聯絡人傳送訊息" - }, - "tags": "標籤", - "selectTags": "選擇標籤", - "noTags": "找不到任何標籤。", - "untitledKeywordRule": "(未命名的關鍵字規則)", - "keywordRules": "關鍵字規則", - "selectKeywordRules": "選擇關鍵字規則", - "noKeywordRules": "找不到任何收件關鍵字規則。", - "replyOptions": "回覆選項", - "firstReplyOnly": "僅限第一則訊息", - "dedupeNote": "每個對話、每項規則,每天最多只會記錄 1 筆事件。", - "dealWon": "成交", - "eventTypeLead": "名單", - "eventTypePurchase": "購買", - "messages": { - "ruleSaved": "轉換規則已儲存", - "ruleUpdated": "轉換規則已更新", - "ruleDeleted": "轉換規則已刪除" - }, - "mockAdAccount": "Banana 1", - "mockPages": { - "page1": "粉絲專頁 1", - "page2": "粉絲專頁 2" - }, - "trackQualifiedLeads": { - "title": "追蹤合格名單", - "question": "您希望在對話的哪個階段將聯絡人認定為合格名單?", - "when": "當", - "then": "然後將 CTWA 名單標記為" - }, - "trackPurchases": { - "title": "追蹤購買", - "question": "哪個範本可確認購買?", - "when": "當", - "then": "然後", - "noValueNote": "以規則為基礎的購買會記錄一筆沒有訂單金額的購買轉換:計入購買次數,但營收增加為 0。訂單金額僅由 Meta 自動事件擷取。" - } - }, - "analytics": { - "title": "CTWA 分析", - "funnelOverview": "轉換流程總覽", - "conversationsStarted": "已發起的對話", - "qualifiedLeads": "合格名單", - "purchases": "購買", - "adSpend": "廣告花費", - "spendAccountLevelNote": "花費是以 Meta 廣告帳戶層級回報的;當選取了某個 WhatsApp 帳戶時,該帳戶下只有花費、沒有轉換流程活動的廣告將被隱藏。", - "revenue": "營收", - "roas": "廣告投資報酬率 (ROAS)", - "revenueCurrencyNote": "營收假設採用單一貨幣(美元)。目前尚未支援彙總多幣別的廣告帳戶。", - "costPerLead": "每筆名單成本", - "costPerPurchase": "每筆購買成本", - "impressions": "曝光次數", - "clicks": "點擊次數", - "cpc": "CPC", - "ctr": "CTR", - "cpm": "CPM", - "costPerConversation": "每次對話成本", - "costCurrencyNote": "成本指標與廣告花費一致,皆假設採用單一貨幣(美元)。", - "performanceChart": { - "title": "成效趨勢", - "empty": "此範圍內尚無對話、名單、購買或花費資料。" - }, - "dateRange": { - "oneDay": "1天", - "oneWeek": "1週", - "oneMonth": "1個月", - "threeMonths": "3個月", - "custom": "自訂", - "apply": "套用" - }, - "allAds": "所有廣告", - "adAccountFilter": { - "all": "所有廣告帳戶", - "label": "廣告帳戶", - "note": "以廣告帳戶篩選時,在所選日期範圍內有轉換但花費或曝光為零的廣告將被隱藏。" - }, - "retarget": "再行銷", - "thoseWhoPurchased": "已購買的使用者", - "thoseWhoStartedConversation": "已發起對話的使用者", - "sendWhatsappBroadcast": "傳送 WhatsApp 廣播", - "from": "從", - "to": "到", - "unattributed": "未歸因", - "retargetDialog": { - "title": "再行銷 CTWA 聯絡人", - "createAudience": "建立受眾", - "useExistingAudience": "使用現有受眾", - "audienceName": "受眾名稱", - "audiencePrefix": "CTWA", - "confirm": "開始同步", - "success": "再行銷受眾同步已排入佇列。", - "error": "無法將再行銷受眾同步排入佇列。" - }, - "delivery": { - "title": "轉換傳送狀態", - "sent": "已傳送", - "pending": "待處理", - "failed": "失敗", - "skippedNoScope": "已略過(無權限範圍)", - "skippedRegion": "已略過(地區)", - "noScopeWarning": "由於此 WhatsApp 帳戶缺少事件權限,部分轉換未能傳送。請重新連接以啟用自動事件回報。", - "reconnectCta": "重新連接帳戶", - "empty": "此範圍內尚無轉換事件。" - }, - "export": { - "conversations": "匯出對話", - "leads": "匯出名單", - "purchases": "匯出購買" - }, - "csv": { - "contactName": "聯絡人姓名", - "phone": "電話", - "adId": "廣告 ID", - "occurredAt": "發生時間" - }, - "empty": "尚無資料。請連接廣告帳戶並開始追蹤轉換。" - } - }, "googleSheets": { "setting": { "label": "Google工作表", @@ -2974,8 +2770,8 @@ "reconnect": "重新連接", "title": "Instagram", "tabs": { - "generalSettings": "General Settings", - "conversionsApi": "Ads Optimization" + "generalSettings": "一般設定", + "conversionsApi": "廣告最佳化" } }, "coexist": { @@ -3033,7 +2829,7 @@ "tabs": { "generalSettings": "一般設定", "messageTemplates": "訊息範本", - "conversionsApi": "Ads Optimization" + "conversionsApi": "廣告最佳化" }, "messageTemplate": { "params": { @@ -3327,13 +3123,6 @@ "wabaResolveFailed": "無法從授權解析WhatsApp 企業帳號。" } }, - "reconnect": { - "errors": { - "notFound": "找不到 WhatsApp 整合。", - "phoneNumberMismatch": "重新連接傳回了預期的 WhatsApp Business 帳戶,但電話號碼並非此工作區所連接的號碼。", - "wabaMismatch": "重新連接傳回了不同的 WhatsApp Business 帳戶。請重新連接相同的帳戶。" - } - }, "marketingMessageLite": "行銷訊息 Lite", "messageTemplate": { "carouselImage": { @@ -3408,7 +3197,7 @@ "messageTemplates": "訊息範本", "profile": "簡介", "usefulLinks": "有用連結", - "conversionsApi": "Ads Optimization" + "conversionsApi": "廣告最佳化" }, "accountHealths": { "title": "管理您的WhatsApp帳戶", @@ -3538,7 +3327,14 @@ "label": "範本標頭" }, "transferPhoneNumber": "從其他 Whatsapp 供應商轉接電話", - "signupSessionExpired": "您的WhatsApp註冊會話已過期。請重新開始連線。" + "signupSessionExpired": "您的WhatsApp註冊會話已過期。請重新開始連線。", + "reconnect": { + "errors": { + "notFound": "找不到 WhatsApp 整合。", + "phoneNumberMismatch": "重新連接後雖然回傳了預期的 WhatsApp Business 帳號,但不是連接到此工作區的電話號碼。", + "wabaMismatch": "重新連接後回傳了不同的 WhatsApp Business 帳號。請重新連接相同帳號。" + } + } }, "zalo": { "title": "ZaloOA", @@ -3636,7 +3432,7 @@ "startAnotherFlow": "開始另一個流程", "notifyAdmins": "通知管理員", "transferConversationToHuman": "將對話轉移給人類", - "sendMetaCapiEvent": "Send Meta CAPI Event" + "sendMetaCapiEvent": "傳送 Meta CAPI 事件" }, "triggerGoesOff": "觸發器熄滅", "before": "之前", @@ -4222,7 +4018,7 @@ "title": "允許頻道", "description": "選擇此租使用者中的工作區可以建立哪些頻道類型。", "hint": "取消選取每個頻道以允許所有頻道。", - "hiddenByPlatform": "已被平台管理員隱藏—您無法重新啟用此頻道。" + "hiddenByPlatform": "已由平台管理員隱藏,您無法重新啟用此頻道。" }, "platformEmailTemplates": { "title": "電子郵件範本", @@ -4688,100 +4484,304 @@ "iconSearchLink": "瀏覽 Lucide 圖示 →" } }, + "ads": { + "analytics": { + "adAccountFilter": { + "all": "所有廣告帳號", + "label": "廣告帳號", + "note": "在依廣告帳號篩選時,若廣告於所選日期範圍內有轉換但花費為 0 或投遞為 0,將被隱藏。" + }, + "adSpend": "廣告花費", + "allAds": "所有廣告", + "clicks": "點擊次數", + "conversationsStarted": "已開始對話", + "costCurrencyNote": "成本指標假設為單一幣別(USD),並與廣告花費一致。", + "costPerConversation": "每次對話成本", + "costPerLead": "每位潛在客戶成本", + "costPerPurchase": "每次購買成本", + "cpc": "CPC", + "cpm": "CPM", + "csv": { + "adId": "廣告 ID", + "contactName": "聯絡人名稱", + "occurredAt": "發生時間", + "phone": "電話" + }, + "ctr": "CTR", + "dateRange": { + "apply": "套用", + "custom": "自訂", + "oneDay": "1D", + "oneMonth": "1M", + "oneWeek": "1W", + "threeMonths": "3M" + }, + "delivery": { + "empty": "此範圍內尚無轉換事件。", + "failed": "失敗", + "noScopeWarning": "部分轉換未傳送,因為此 WhatsApp 帳號缺少事件權限。請重新連接以啟用 Automatic Events 報表。", + "pending": "待處理", + "reconnectCta": "重新連接帳號", + "sent": "已傳送", + "skippedNoScope": "已略過(無權限範圍)", + "skippedRegion": "已略過(地區)", + "title": "轉換傳送" + }, + "empty": "尚無資料。請連接廣告帳號並開始追蹤轉換。", + "export": { + "conversations": "匯出對話", + "leads": "匯出潛在客戶", + "purchases": "匯出購買" + }, + "from": "從", + "funnelOverview": "漏斗總覽", + "impressions": "曝光次數", + "performanceChart": { + "empty": "此範圍內尚無對話、潛在客戶、購買或花費。", + "title": "一段時間內的成效" + }, + "purchases": "購買", + "qualifiedLeads": "合格潛在客戶", + "retarget": "再行銷", + "retargetDialog": { + "audienceName": "受眾名稱", + "audiencePrefix": "CTWA", + "confirm": "開始同步", + "createAudience": "建立受眾", + "error": "無法排入再行銷受眾同步。", + "success": "已排入再行銷受眾同步。", + "title": "再行銷 CTWA 聯絡人", + "useExistingAudience": "使用現有受眾" + }, + "revenue": "營收", + "revenueCurrencyNote": "營收假設為單一幣別(USD)。多幣別廣告帳號目前尚未彙總。", + "roas": "ROAS", + "sendWhatsappBroadcast": "傳送 WhatsApp 廣播", + "spendAccountLevelNote": "花費是以 Meta 廣告帳號層級回報;選取 WhatsApp 帳號後,該帳號中只有花費、但沒有漏斗活動的廣告將被隱藏。", + "thoseWhoPurchased": "已購買的人", + "thoseWhoStartedConversation": "已開始對話的人", + "title": "CTWA 分析", + "to": "到", + "unattributed": "未歸因" + }, + "connectAccounts": { + "adAccountName": "廣告帳號名稱", + "adAccountsDescription": "連接 Facebook Ads 以載入用於點擊 WhatsApp 廣告活動的廣告帳號。", + "adAccountsEmpty": "此 Facebook Ads 連線找不到任何 Meta 廣告帳號。", + "adAccountsNotConnected": "尚未連接任何 Meta 廣告帳號。", + "adAccountsNote": "廣告花費與再行銷受眾來自這些廣告帳號。", + "adAccountsReconnectBanner": "您的 Meta 廣告帳號權杖已過期或失去權限。請重新連接 Facebook Ads 以持續使用廣告報表功能。", + "adAccountsTitle": "Meta 廣告帳號", + "connectAdAccount": "連接廣告帳號", + "connectWhatsapp": { + "cta": "連接 WhatsApp 帳號", + "description": "點擊 WhatsApp 轉換追蹤需要先連接 WhatsApp 帳號,您才能連結廣告帳號並建立轉換資料集。", + "step1": "在「頻道」中連接您的 WhatsApp Business 帳號。", + "step2": "返回此處授權 Meta Ads,並選擇您的廣告帳號。", + "step3": "我們會使用您的 WhatsApp Business 帳號自動建立轉換資料集。", + "title": "請先連接您的 WhatsApp 帳號" + }, + "description": "追蹤轉換並最佳化您的點擊 WhatsApp 廣告活動。", + "disconnect": "中斷連接", + "empty": "尚未連接任何廣告帳號。", + "learnMore": "了解更多", + "providers": { + "googleAds": "Google Ads", + "meta": "Meta", + "tiktok": "TikTok" + }, + "reconnect": "重新連接", + "reconnectBanner": "重新連接您的 WhatsApp 帳號,以啟用將轉換事件傳送至 Meta。", + "reconnectSuccess": "WhatsApp 帳號已重新連接。", + "selectAccountLabel": "WhatsApp 帳號", + "status": { + "missingPermission": "缺少 Automatic Events 權限", + "ready": "自動事件已就緒", + "unverified": "權限尚未驗證" + }, + "table": { + "name": "名稱", + "permission": "Automatic Events", + "phoneNumber": "電話號碼", + "wabaId": "WABA ID" + }, + "title": "管理您的所有廣告帳號" + }, + "conversionEvents": { + "dealWon": "商機成交", + "dedupeNote": "每段對話每條規則每天最多 1 個事件。", + "deleteRule": "刪除規則", + "eventTypeLead": "潛在客戶", + "eventTypePurchase": "購買", + "existingRules": "現有規則", + "export": "匯出", + "firstReplyOnly": "僅第一則訊息", + "keywordRules": "關鍵字規則", + "manageAdsAccounts": "管理廣告帳號", + "messages": { + "ruleDeleted": "已刪除轉換規則", + "ruleSaved": "已儲存轉換規則", + "ruleUpdated": "已更新轉換規則" + }, + "mockAdAccount": "Banana 1", + "mockPages": { + "page1": "頁面 1", + "page2": "頁面 2" + }, + "noKeywordRules": "找不到任何傳入關鍵字規則。", + "noRules": "此 WhatsApp 資產尚無轉換規則。", + "noTags": "找不到標籤。", + "noTemplates": "找不到已核准的範本。", + "qualifyingAnyReply": "聯絡人傳送訊息", + "qualifyingFirstReply": "聯絡人傳送第一則訊息", + "qualifyingTemplateMessageSent": "已傳送符合條件的範本訊息", + "replyOptions": "回覆選項", + "selectAll": "全選", + "selectKeywordRules": "選擇關鍵字規則", + "selectTags": "選擇標籤", + "selectTemplates": "選擇範本", + "selectWhatsappAsset": "選擇 WhatsApp 資產", + "tabs": { + "facebook": "Facebook", + "whatsapp": "WhatsApp" + }, + "tags": "標籤", + "templates": "範本", + "title": "轉換事件", + "toggleRule": "啟用或停用規則", + "trackPurchases": { + "noValueNote": "以規則為基礎的購買會記錄一筆 Purchase 轉換,但不包含訂單金額,會計入購買次數,但營收增加 0。只有 Meta Automatic Events 會擷取訂單金額。", + "question": "哪個範本用於確認購買?", + "then": "然後", + "title": "追蹤購買", + "when": "當" + }, + "trackQualifiedLeads": { + "question": "您希望在對話的哪個階段將聯絡人判定為潛在客戶?", + "then": "然後將 CTWA 潛在客戶標記為", + "title": "追蹤合格潛在客戶", + "when": "當" + }, + "untitledKeywordRule": "(未命名關鍵字規則)", + "whatsappAsset": "WhatsApp 資產", + "when": "當", + "whenOptions": { + "contactReplied": "聯絡人傳送訊息", + "keywordMatched": "聯絡人的訊息符合關鍵字規則", + "tagApplied": "已為聯絡人加上標籤", + "templateSent": "已傳送符合條件的範本訊息" + } + }, + "nav": { + "adsAnalytics": "廣告分析", + "clickToTiktokAds": "點擊 TikTok 廣告", + "clickToWhatsappAds": "點擊 WhatsApp 廣告", + "comingSoon": "即將推出", + "connectAccounts": "連接帳號", + "conversionEvents": "轉換事件", + "ctwa": "CTWA", + "googleAds": "Google Ads", + "reporting": "報表" + }, + "title": "廣告" + }, + "errors": { + "superAdminRequired": "您必須是工作區超級管理員才能執行此操作。" + }, "metaConversions": { - "title": "Conversions API", - "description": "Send LeadSubmitted events from Messenger, Instagram, and WhatsApp conversations to Meta.", - "datasetId": "Dataset ID", - "reconnect": "Reconnect permissions", - "connectViaFacebook": "Connect via Facebook", - "unsupportedExplanation": "This Instagram account was connected with Instagram Business Login. Connect the account via Facebook to use Meta Conversions API.", + "title": "轉換 API", + "description": "將 Messenger、Instagram 與 WhatsApp 對話中的 LeadSubmitted 事件傳送到 Meta。", + "datasetId": "資料集 ID", + "reconnect": "重新連接權限", + "connectViaFacebook": "透過 Facebook 連接", + "unsupportedExplanation": "此 Instagram 帳號是透過 Instagram Business Login 連接。請改用 Facebook 連接此帳號,才能使用 Meta 轉換 API。", "flowStep": { - "description": "Queue a LeadSubmitted event for Messenger, Instagram, or WhatsApp.", - "whatsappNote": "WhatsApp events only send for conversations that started from a click-to-WhatsApp ad." + "description": "為 Messenger、Instagram 或 WhatsApp 排入一筆 LeadSubmitted 事件。", + "whatsappNote": "WhatsApp 事件只會針對由 Click to WhatsApp 廣告開始的對話傳送。" }, "status": { - "title": "Meta Conversions API", - "ready": "Ready", - "missingPermission": "Permission needed", - "unverified": "Unverified", - "unsupported": "Unsupported", - "notConnected": "Not connected" + "title": "Meta 轉換 API", + "ready": "已就緒", + "missingPermission": "需要權限", + "unverified": "尚未驗證", + "unsupported": "不支援", + "notConnected": "尚未連接" }, "statusDescriptions": { - "ready": "This integration has the required Meta permission for Conversions API events.", - "missingPermission": "Reconnect this integration and grant the requested Meta permission.", - "unverified": "Platform app settings are not available, so the CAPI permission cannot be verified.", - "unsupported": "Meta Conversions API for Instagram requires an account connected through Facebook Login for Business.", - "notConnected": "The Conversions API is a Meta Business Tool that allows you to share data with Meta to enhance the performance of ads." + "ready": "此整合已具備傳送轉換 API 事件所需的 Meta 權限。", + "missingPermission": "請重新連接此整合,並授予要求的 Meta 權限。", + "unverified": "目前無法取得平台應用程式設定,因此無法驗證 CAPI 權限。", + "unsupported": "Instagram 的 Meta 轉換 API 需要透過 Facebook Login for Business 連接的帳號。", + "notConnected": "轉換 API 是 Meta 的商務工具,可讓您與 Meta 分享資料,以提升廣告成效。" }, "errors": { - "reconnect": "Failed to start Meta CAPI reconnect.", - "messengerNotFound": "Messenger integration not found.", - "instagramNotFound": "Instagram integration not found.", - "instagramRequiresFacebook": "Instagram CAPI requires connecting via Facebook.", - "saveFailed": "Could not save. Please try again.", - "datasetRequired": "Save a Dataset ID before adding an access token.", - "invalidToken": "This token could not access the dataset.", - "whatsappNotFound": "WhatsApp integration not found." + "reconnect": "無法開始 Meta CAPI 重新連接。", + "messengerNotFound": "找不到 Messenger 整合。", + "instagramNotFound": "找不到 Instagram 整合。", + "instagramRequiresFacebook": "Instagram CAPI 需要透過 Facebook 連接。", + "saveFailed": "無法儲存。請再試一次。", + "datasetRequired": "新增存取權杖前,請先儲存資料集 ID。", + "invalidToken": "此權杖無法存取該資料集。", + "whatsappNotFound": "找不到 WhatsApp 整合。" }, "fields": { "eventType": { - "label": "Event type", - "leadSubmitted": "Lead Submitted" + "label": "事件類型", + "leadSubmitted": "LeadSubmitted" }, - "value": "Value", - "valuePlaceholder": "e.g. 250", - "currency": "Currency", - "currencyPlaceholder": "e.g. USD", - "contentCategory": "Content Category", - "contentCategoryPlaceholder": "The category of the content associated with the event", - "contentName": "Content Name", - "contentNamePlaceholder": "The name of the page or product associated with the event" - }, - "datasetIdPlaceholder": "Paste Dataset ID from Events Manager", - "saveDataset": "Save", - "accessToken": "Access Token (optional)", - "accessTokenHint": "Paste a token from Events Manager to send events with your own token instead of the connected page token. Requires a Dataset ID.", - "accessTokenPlaceholder": "Events Manager access token", - "saveToken": "Save token", - "tokenSaved": "Token saved", - "removeToken": "Remove", - "saved": "Saved", + "value": "數值", + "valuePlaceholder": "例如 250", + "currency": "幣別", + "currencyPlaceholder": "例如 USD", + "contentCategory": "內容分類", + "contentCategoryPlaceholder": "與此事件相關內容的分類", + "contentName": "內容名稱", + "contentNamePlaceholder": "與此事件相關的頁面或商品名稱" + }, + "datasetIdPlaceholder": "貼上來自 Events Manager 的資料集 ID", + "saveDataset": "儲存", + "accessToken": "存取權杖(選填)", + "accessTokenHint": "貼上來自 Events Manager 的權杖,即可改用您自己的權杖傳送事件,而不是使用已連接頁面的權杖。需要先填入資料集 ID。", + "accessTokenPlaceholder": "Events Manager 存取權杖", + "saveToken": "儲存權杖", + "tokenSaved": "權杖已儲存", + "removeToken": "移除", + "saved": "已儲存", "help": { - "delay": "Events may take up to 40 minutes to appear in Events Manager and show as Meta Leads in Ads Manager." + "delay": "事件最多可能需要 40 分鐘才會出現在 Events Manager,並在 Ads Manager 中顯示為 Meta 潛在客戶。" }, - "connected": "Connected", - "disconnect": "Disconnect", - "openEventManager": "Open Event Manager", + "connected": "已連接", + "disconnect": "中斷連接", + "openEventManager": "開啟 Events Manager", "methods": { "oauth": { - "title": "Connect via Facebook", - "description": "Use your page's existing connection, then choose a Dataset ID.", - "connect": "Connect via Facebook", - "connectedLabel": "via Facebook" + "title": "透過 Facebook 連接", + "description": "使用您頁面現有的連接,然後選擇資料集 ID。", + "connect": "透過 Facebook 連接", + "connectedLabel": "透過 Facebook" }, "custom": { - "title": "Custom connection", - "description": "Use a Dataset ID and an access token from Meta Events Manager.", - "start": "Set up custom connection", - "connect": "Connect", - "connectedLabel": "Custom" + "title": "自訂連接", + "description": "使用來自 Meta Events Manager 的資料集 ID 與存取權杖。", + "start": "設定自訂連接", + "connect": "連接", + "connectedLabel": "自訂" }, "whatsapp": { - "title": "Connect via WhatsApp", - "description": "Use your WhatsApp connection, then choose a Dataset ID.", - "connect": "Connect via WhatsApp", - "connectedLabel": "via WhatsApp" + "title": "透過 WhatsApp 連接", + "description": "使用您的 WhatsApp 連接,然後選擇資料集 ID。", + "connect": "透過 WhatsApp 連接", + "connectedLabel": "透過 WhatsApp" } }, "finalize": { - "title": "Choose a Dataset ID", - "description": "Enter an existing Dataset ID, or leave it empty to create one automatically.", + "title": "選擇資料集 ID", + "description": "輸入現有的資料集 ID,或留空讓系統自動建立。", "save": "儲存", - "caveat": "A Dataset ID that isn't linked to this Page or Instagram account may not attribute events correctly. Leave this field empty to create a linked dataset automatically." + "caveat": "若資料集 ID 未連結到此 Facebook 頁面或 Instagram 帳號,事件可能無法正確歸因。將此欄位留空即可自動建立已連結的資料集。" }, "whatsapp": { - "connect": "Connect" + "connect": "連接" } } }