/* AppBrand.name ("Meetings") 有意省略 — 應用程式名稱在程式碼中保持不變。 */
"AI Companion for Meet" = "Meet 智慧助手";

/* MARK: - 通用 */
"OK" = "確定";
"Cancel" = "取消";
"Continue" = "繼續";
"Apply" = "套用";
"Reset" = "重設";
"Save" = "儲存";
"Copy" = "複製";
"Copied" = "已複製";
"Close" = "關閉";
"Join" = "加入";
"None" = "無";
"Link" = "連結";
"Stop" = "停止";
"Address" = "地址";
"Title" = "標題";
"Notes" = "備註";
"Start" = "開始";
"Premium" = "進階版";
"Popular" = "熱門";
"Browser" = "瀏覽器";
"Meeting" = "會議";
"Error" = "錯誤";
"Success" = "成功";

/* MARK: - 狀態列 */
"Meetings status menu" = "會議狀態選單";
"Open App" = "打開應用程式";
"Join Meetings" = "加入會議";
"Schedule" = "日程安排";
"Calendar" = "日曆";
"Widgets" = "小工具";
"AI Companion" = "智慧助手";
"Settings" = "設定";
"Top meetings" = "置頂會議";
"No upcoming meetings" = "沒有即將開始的會議";
"Sign Out" = "登出";
"Sign In" = "登入";
"Quit" = "退出";

/* MARK: - 啟動閃屏 */
"Preparing your meetings workspace" = "正在準備您的會議工作區";
"CONNECTING SERVICES" = "正在連接服務";
"READY" = "就緒";
"Plan smart, achieve more" = "智慧規劃，成就更多";

/* MARK: - 小工具 */
"Add Widget to Desktop" = "加入小工具到桌面";
"Choose a size and add your Google Meet widget." = "選擇尺寸並加入您的谷歌會議小工具。";
"Tip: Right-click a desktop widget to remove it." = "提示：在桌面小工具上按右鍵可將其移除。";
"Removed %@ widget from desktop." = "已從桌面移除 %@ 小工具。";
"Added %@ widget from desktop." = "已從桌面加入 %@ 小工具。";
"Widgets are Premium only. Upgrade to add widgets." = "小工具僅限進階版。升級以加入小工具。";
"Remove Widget" = "移除小工具";
"Small" = "小";
"Medium" = "中";
"Quick actions" = "快速操作";
"Open Meet" = "打開 Meet";
"Upcoming meetings" = "即將開始的會議";
"Sign in to see upcoming meetings" = "登入以查看即將開始的會議";
"Sign in with Google" = "使用谷歌登入";
"Google Meet" = "谷歌會議";
"Open and join quickly" = "快速打開並加入";
"Refresh" = "重新整理";

/* MARK: - 側邊欄與導航 */
"Planning" = "規劃";
"Additional" = "更多";
"Get Premium" = "取得進階版";
"Manage Subscription" = "管理訂閱";
"App for Google Meet" = "谷歌會議應用程式";

/* MARK: - 加入會議 */
"New Instant Meet" = "新建即時會議";
"Start instant Meet in more section with\nGoogle Meet meet." = "在更多選項中透過\n谷歌會議開始即時會議。";
"Join with Link" = "透過連結加入";
"Code or meet.google.com/…" = "代碼或 meet.google.com/…";
"Join with ID" = "透過識別碼加入";
"Join with URL" = "透過 URL 加入";
"Meeting URL" = "會議 URL";
"Enter meeting URL..." = "輸入會議 URL...";
"Quick Join Meeting" = "快速加入會議";
"Invalid Meet link" = "無效的 Meet 連結";
"Enter a valid Google Meet link or meeting code (for example nkd-grps-duv, meet.google.com/nkd-grps-duv, or https://meet.google.com/nkd-grps-duv)." = "輸入有效的谷歌會議連結或會議代碼（例如 nkd-grps-duv、meet.google.com/nkd-grps-duv 或 https://meet.google.com/nkd-grps-duv）。";
"Instant Meeting" = "即時會議";
"Connect Google to start Instant Meeting" = "連接谷歌以開始即時會議";
"To auto-stop recording when the meeting ends, connect your Google account first." = "要在會議結束時自動停止錄製，請先連接您的谷歌帳戶。";
"Could not create Instant Meeting" = "無法建立即時會議";
"Free trial used. Upgrade to continue." = "免費試用已用完。升級以繼續。";

/* MARK: - 瀏覽網頁 */
"Browse the web" = "瀏覽網頁";
"Enter a web address (for example meet.google.com)." = "輸入網址（例如 meet.google.com）。";
"Invalid address" = "無效地址";
"Enter a valid http or https URL." = "輸入有效的 http 或 https URL。";
"Browse" = "瀏覽";
"Quick links" = "快速連結";
"Zoom help" = "Zoom 說明";
"https://example.com or example.com" = "https://example.com 或 example.com";
"Enter a valid web address, for example https://example.com" = "輸入有效網址，例如 https://example.com";
"Address not allowed" = "地址不允許";
"This URL is not permitted with the current in-app browser policy (whitelist)." = "當前應用程式內瀏覽器政策（白名單）不允許此 URL。";
"Unable to load page" = "無法載入頁面";
"Could not load this page in the in-app browser.\n\n%@" = "無法在應用程式內瀏覽器中載入此頁面。\n\n%@";
"Page stopped loading" = "頁面已停止載入";
"Unable to open browser" = "無法打開瀏覽器";
"Unable to Open Safari" = "無法打開 Safari";

/* MARK: - 日程安排與日曆 */
"All" = "全部";
"Today" = "今天";
"This week" = "本週";
"This month" = "本月";
"Previous week" = "上一週";
"Previous month" = "上一月";
"Custom range" = "自訂範圍";
"No meetings match the selected filters." = "沒有會議符合所選篩選條件。";
"Adjust the date range and tap Apply." = "調整日期範圍並點擊「套用」。";
"Premium required. Get Premium now to unlock Calendar." = "需要進階版。立即取得進階版以解鎖日曆。";
"Premium required. Click to open paywall." = "需要進階版。點擊打開付費頁面。";
"Get Premium to see events" = "取得進階版以查看事件";
"Connect Google" = "連接谷歌";
"Sign in with Google first to schedule a meeting from Calendar." = "請先使用谷歌登入，以便從日曆安排會議。";
"Select date" = "選擇日期";
"Choose a date to schedule your meeting." = "選擇日期以安排您的會議。";
"Google schedule" = "谷歌日程";
"To show scheduled meetings, connect your Google account. You’ll need a Google OAuth client ID (Desktop) and a redirect URI matching the app’s callback scheme." = "要顯示已安排的會議，請連接您的谷歌帳戶。您需要谷歌 OAuth 用戶端識別碼（桌面版）和一個與應用程式回呼方案匹配的重導向 URI。";
"Actions" = "操作";
"Schedule meeting" = "安排會議";
"Team sync" = "團隊同步";
"Duration (min)" = "時長（分鐘）";
"Refresh saved meetings" = "重新整理已儲存的會議";

/* MARK: - 設定 */
"Manage appearance, account, and app options." = "管理外觀、帳戶和應用程式選項。";
"Appearance" = "外觀";
"Account" = "帳戶";
"App" = "應用程式";
"Notifications" = "通知";
"Help & Legal" = "說明與法律";
"Dark Mode" = "深色模式";
"Language" = "語言";
"System Language" = "系統語言";
"Rate Us" = "給我們評分";
"Share App" = "分享應用程式";
"Upgrade" = "升級";
"Privacy Policy" = "隱私權政策";
"Support" = "支援";
"Terms of Services" = "服務條款";
"AI Language 1" = "智慧語言 1";
"AI Language 2" = "智慧語言 2";
"Google account connected" = "谷歌帳戶已連接";
"Google account not connected" = "谷歌帳戶未連接";
"Signed in" = "已登入";
"Sign in to sync your meetings and calendar." = "登入以同步您的會議和日曆。";
"Log out" = "登出";
"Check out %@ for managing and joining meetings." = "試試 %@ 來管理和加入會議。";
"Meetings App" = "會議應用程式";

/* MARK: - 錄製同意 */
"Record this meeting locally?" = "在本機錄製此會議？";
"With your consent, the app will record meeting audio on this Mac and show it in AI Companion after the meeting." = "經您同意，應用程式將在此 Mac 上錄製會議音訊，並在會議結束後在智慧助手中顯示。";
"Allow and Continue" = "允許並繼續";
"Continue Without Recording" = "不錄製繼續";
"Transcription Languages" = "轉錄語言";
"Preferred Language 1" = "偏好語言 1";
"Preferred Language 2" = "偏好語言 2";
"Microphone permission denied" = "麥克風權限被拒絕";
"Microphone permission required" = "需要麥克風權限";
"Enable microphone access in System Settings to record meetings locally." = "請在系統設定中啟用麥克風存取權限以在本機錄製會議。";
"Could not start recording" = "無法開始錄製";
"Recording will start when the meeting starts" = "錄製將在會議開始時開始";
"Meeting recording started (meeting + microphone)" = "會議錄製已開始（會議 + 麥克風）";
"System audio unavailable. Recording microphone only." = "系統音訊不可用。僅錄製麥克風。";
"Meeting recording started (microphone only)" = "會議錄製已開始（僅麥克風）";
"Meeting recording saved" = "會議錄製已儲存";

/* MARK: - 智慧助手 */
"Get notes from your previous meetings" = "取得您之前會議的筆記";
"Connect your Google account to see your AI Companion meeting history." = "連接您的谷歌帳戶以查看您的智慧助手會議歷史記錄。";
"No previous meetings yet for %@. End a meeting to save it here and generate notes." = "%@ 尚無之前的會議。結束會議可將其儲存於此並產生筆記。";
"this account" = "此帳戶";
"Previous meetings" = "之前的會議";
"Recording in progress: %@" = "正在錄製：%@";
"Started: %@" = "開始時間：%@";
"Stop Recording" = "停止錄製";
"Date: %@" = "日期：%@";
"Saved time: %@" = "儲存時間：%@";
"Get Notes" = "取得筆記";
"Premium required. Click to unlock AI Companion notes." = "需要進階版。點擊解鎖智慧助手筆記。";
"Play Audio" = "播放音訊";
"Pause Audio" = "暫停音訊";
"Stopped" = "已停止";
"Speaking..." = "正在說話...";
"Paused" = "已暫停";
"Playing..." = "正在播放...";
"Not playing" = "未播放";
"Checking audio..." = "正在檢查音訊...";
"Audio file missing" = "音訊檔案缺失";
"Could not play recording" = "無法播放錄製";
"Failed: %@" = "失敗：%@";
"Failed to play audio" = "播放音訊失敗";
"decode error" = "解碼錯誤";
"Loading..." = "載入中...";
"Buffering..." = "緩衝中...";
"Finished" = "已完成";
"Transcript not requested" = "未要求轉錄";
"Transcript processing..." = "轉錄處理中...";
"Transcript ready" = "轉錄就緒";
"Transcript unavailable (tap to retry)" = "轉錄不可用（點擊重試）";
"Notes not requested" = "未要求筆記";
"Preparing notes, please wait..." = "正在準備筆記，請稍候...";
"Notes ready" = "筆記就緒";
"Notes unavailable (tap to retry)" = "筆記不可用（點擊重試）";
"Transcript unavailable" = "轉錄不可用";
"Notes unavailable" = "筆記不可用";
"Could not find recording details for this meeting." = "找不到此會議的錄製詳情。";
"Transcript - %@" = "轉錄 - %@";
"Notes - %@" = "筆記 - %@";
"Meeting Notes" = "會議筆記";
"Transcript processing..." = "轉錄處理中...";

/* MARK: - 付費牆與 StoreKit */
"Meetings Pro" = "會議專業版";
"PREMIUM EXPERIENCE" = "進階體驗";
"Elevate your meetings workflow" = "提升您的會議工作流程";
"Unlock automation, premium meeting tools, and priority support for every session." = "解鎖自動化、進階會議工具以及每次會議的優先支援。";
"Manage meetings" = "管理會議";
"Smart scheduling" = "智慧安排";
"Faster workflow" = "更高效的工作流程";
"Reminder notifications" = "提醒通知";
"Monthly" = "每月";
"Bi Yearly" = "每半年";
"Yearly" = "每年";
"Most Popular" = "最受歡迎";
"%@ • Most Popular" = "%@ • 最受歡迎";
"3 days free trial" = "3 天免費試用";
"Cancel anytime" = "隨時取消";
"No lock-in" = "無合約限制";
"Instant access" = "即時存取";
"Unlock all tools" = "解鎖所有工具";
"Secure billing" = "安全計費";
"Handled by Apple" = "由蘋果處理";
"Secured by Apple. Cancel anytime." = "由蘋果提供安全保障。隨時取消。";
"Restore Purchase" = "回復購買";
"Continue with free plan" = "繼續使用免費方案";
"Already Premium" = "已是進階版";
"You are already premium. Do you want to continue with this purchase?" = "您已是進階版。是否要繼續此次購買？";
"Current plan: %@. Choose a different package to switch." = "目前方案：%@。選擇其他方案以切換。";
"Premium is active on this Apple ID." = "此蘋果帳號上進階版已啟用。";
"Free for %@, then %@" = "%@ 免費，之後 %@";
"Billed via App Store" = "透過 App Store 計費";
"%@  •  %@" = "%@  •  %@";
"Save 0%" = "省下 0%";
"Save %@%%" = "省下 %@%%";
"month" = "月";
"year" = "年";
"%@ free trial" = "%@ 免費試用";
"Processing..." = "處理中...";
"Premium Active" = "進階版已啟用";
"Continue with 3 day trail" = "繼續 3 天試用";
"Please Wait" = "請稍候";
"A purchase is already being processed." = "已有購買正在處理中。";
"This Apple ID already has premium access." = "此蘋果帳號已擁有進階版存取權。";
"Purchase Complete" = "購買完成";
"Premium has been unlocked successfully." = "進階版已成功解鎖。";
"Purchase Pending" = "購買待處理";
"Your purchase is pending approval. You can continue once it completes." = "您的購買正在等待核准。完成後您可以繼續。";
"Product Not Available" = "產品不可用";
"Unable to load this product. Check your StoreKit configuration and product IDs." = "無法載入此產品。請檢查您的 StoreKit 配置和產品識別碼。";
"Already Purchased" = "已購買";
"This plan is already active on your Apple ID." = "此方案已在您的蘋果帳號上啟用。";
"Purchase Failed" = "購買失敗";
"Restore Purchases" = "回復購買";
"Purchases restored successfully." = "購買回復成功。";
"No previous premium purchase was found for this Apple ID." = "未找到此蘋果帳號之前的任何進階版購買記錄。";
"Restore failed: %@" = "回復失敗：%@";
"Unable to Open Subscriptions" = "無法打開訂閱";
"The subscriptions URL is invalid." = "訂閱 URL 無效。";
"%@ tapped." = "%@ 已點擊。";

/* MARK: - 認證 */
"Google Sign-In" = "谷歌登入";

/* MARK: - 語音辨識/轉錄錯誤 */
"Speech recognition permission denied. Enable it in System Settings and try again." = "語音辨識權限被拒絕。請在系統設定中啟用並重試。";
"Speech recognition is restricted on this Mac." = "此 Mac 上語音辨識受限。";
"Speech recognition authorization is unavailable." = "語音辨識授權不可用。";
"Speech recognizer is unavailable for the current locale." = "目前地區設定下語音辨識器不可用。";
"Speech recognizer is unavailable for %@." = "%@ 的語音辨識器不可用。";
"No audio was available to transcribe." = "沒有可用於轉錄的音訊。";

/* MARK: - StoreKit 交易錯誤 */
"Unable to load products: %@" = "無法載入產品：%@";
"Product ID not found in StoreKit response. Requested: %@. Loaded IDs: %@" = "StoreKit 回應中未找到產品識別碼。要求：%@。已載入的識別碼：%@";
"Purchase verification failed." = "購買驗證失敗。";
"Unknown purchase state." = "未知的購買狀態。";
"none" = "無";

/* MARK: - 付費牆價格文案 */
"%@ one-time purchase" = "%@ 一次性購買";
"%@/month" = "%@/月";
"%@/6 months" = "%@/6 個月";
"%@/year (3 days free trial)" = "%@/年（3 天免費試用）";
"day" = "天";
"week" = "週";
"period" = "週期";
"1 %@" = "1 %@";
"%d %@s" = "%d %@";

/* MARK: - 提示與快速反饋 */
"Meeting added successfully." = "會議新增成功。";
"An issue occurred. Please try again." = "發生問題。請重試。";
"Failed to load transcript." = "載入轉錄失敗。";
"Failed to generate notes." = "產生筆記失敗。";

/* MARK: - 瀏覽器提醒 */
"Try Again" = "重試";
"The in-app browser closed this page unexpectedly. You can try loading it again in this same window." = "應用程式內瀏覽器意外關閉了此頁面。您可以嘗試在同一視窗中重新載入。";

/* MARK: - 日程安排與日曆錯誤 */
"Couldn't load schedule." = "無法載入日程。";
"Couldn't refresh schedule." = "無法重新整理日程。";
"Couldn't connect Google account." = "無法連接谷歌帳戶。";
"Couldn't logout Google account." = "無法登出谷歌帳戶。";
"Couldn't load schedule" = "無法載入日程";
"Couldn't determine Meet meeting code from URL." = "無法從 URL 確定 Meet 會議代碼。";
"Refreshing…" = "重新整理中…";
"Connect Google to see meetings" = "連接谷歌以查看會議";
"Connect to load schedule" = "連接以載入日程";
"Loading…" = "載入中…";
"Loading schedule…" = "載入日程中…";
"Start date must be on or before end date." = "開始日期必須早於或等於結束日期。";
"Invalid custom date range" = "無效的自訂日期範圍";
"No meetings" = "無會議";
"No meetings for selected filters" = "所選篩選條件無會議";
"No meetings on %@" = "%@ 無會議";
"1 meeting on %@" = "%@ 有 1 個會議";
"%d meetings on %@" = "%@ 有 %d 個會議";
"All day" = "全天";
"Duration: all day" = "持續時間：全天";
"Duration: %dh %dm" = "持續時間：%dh %dm";
"Duration: %dh" = "持續時間：%dh";
"Duration: %dm" = "持續時間：%dm";
"%@ - %@" = "%@ - %@";
"Scheduled Meeting" = "已安排的會議";

/* MARK: - 建立會議彈窗 */
"Please enter a title." = "請輸入標題。";
"Duration must be a positive number of minutes." = "時長必須為正數分鐘。";
"Invalid start time." = "無效的開始時間。";

/* MARK: - 提醒與通知 */
"Reminders" = "提醒";
"1 Day Before" = "提前 1 天";
"12 Hours Before" = "提前 12 小時";
"1 Hour Before" = "提前 1 小時";
"Starts in 1 day" = "1 天後開始";
"Starts in 12 hours" = "12 小時後開始";
"Starts in 1 hour" = "1 小時後開始";

/* MARK: - 谷歌 OAuth 錯誤 */
"Missing Google OAuth Client ID." = "缺少谷歌 OAuth 用戶端識別碼。";
"Missing Google OAuth Client Secret." = "缺少谷歌 OAuth 用戶端密鑰。";
"Invalid OAuth callback URL." = "無效的 OAuth 回呼 URL。";
"Google did not return an authorization code." = "谷歌未回傳授權碼。";
"Token exchange failed: %@" = "令牌交換失敗：%@";
"Could not open browser for Google sign-in." = "無法打開瀏覽器進行谷歌登入。";
"Google sign-in timed out." = "谷歌登入逾時。";
"No stored Google tokens found." = "未找到儲存的谷歌令牌。";

/* MARK: - 智慧助手/轉錄錯誤 */
"Recording not found." = "未找到錄製。";
"Local meeting audio is missing." = "本機會議音訊缺失。";
"Generated transcript was empty." = "產生的轉錄為空白。";
"(No transcript entries found.)" = "（未找到轉錄條目。）";
"No conference record found for this meeting." = "未找到此會議的會議記錄。";
"No transcript found for this meeting." = "未找到此會議的轉錄。";
"Unable to create audio composition tracks." = "無法建立音訊合成軌道。";
"Unable to create audio export session." = "無法建立音訊匯出會話。";
"Audio mix export failed." = "音訊混音匯出失敗。";
"No display available for system audio capture." = "沒有可用於系統音訊擷取的顯示器。";
"Cannot add audio writer input." = "無法加入音訊寫入器輸入。";

/* MARK: - 谷歌 API 錯誤 */
"Google Meet returned an invalid response." = "谷歌會議回傳了無效的回應。";
"Google Meet API error (%d): %@" = "谷歌會議 API 錯誤 (%d)：%@";
"Failed to parse Google Meet response: %@" = "解析谷歌會議回應失敗：%@";
"Google Calendar returned an invalid response." = "谷歌日曆回傳了無效的回應。";
"Google Calendar API error (%d): %@" = "谷歌日曆 API 錯誤 (%d)：%@";
"Failed to parse Google Calendar events: %@" = "解析谷歌日曆事件失敗：%@";

/* MARK: - OpenAI 錯誤 */
"OpenAI API key is missing. Set OPENAI_API_KEY in the environment or app key vault." = "缺少 OpenAI API 金鑰。請在環境或應用程式金鑰庫中設定 OPENAI_API_KEY。";
"Notes generation returned an invalid response." = "筆記產生回傳了無效的回應。";
"Notes generation failed (%d): %@" = "筆記產生失敗 (%d)：%@";
"Notes generation returned empty text." = "筆記產生回傳了空文字。";
"OpenAI transcription returned an invalid response." = "OpenAI 轉錄回傳了無效的回應。";
"OpenAI transcription failed (%d): %@" = "OpenAI 轉錄失敗 (%d)：%@";
"OpenAI transcription returned no text." = "OpenAI 轉錄未回傳文字。";

/* MARK: - 瀏覽與應用程式內瀏覽器 */
"Open sites in the in-app browser (back, forward, reload, address bar). OAuth and “Continue in browser” flows stay inside the app." = "在應用程式內瀏覽器中打開網站（後退、前進、重新整理、網址列）。OAuth 和「在瀏覽器中繼續」流程保持在應用程式內。";
"Open in app browser" = "在應用程式瀏覽器中打開";
"Meet help" = "Meet 說明";
"Go" = "前往";
"Back" = "返回";
"Forward" = "前進";
"Reload" = "重新整理";

/* MARK: - 日程安排與日曆標籤 */
"Google Calendar" = "谷歌日曆";
"Untitled meeting" = "無標題會議";
"Created event missing start/end." = "建立的事件缺少開始/結束時間。";
"Created event missing Meet/HTML link." = "建立的事件缺少 Meet/HTML 連結。";

/* MARK: - 谷歌帳戶 */
"Google account" = "谷歌帳戶";
"%@, Google account" = "%@，谷歌帳戶";

/* MARK: - Zoom 加入（未使用部分） */
"Meeting ID" = "會議識別碼";
"Enter meeting ID..." = "輸入會議識別碼...";
"Meeting Passcode" = "會議密碼";
"Enter meeting passcode..." = "輸入會議密碼...";

/* MARK: - 付費牆（備選權益） */
"Virtual backgrounds" = "虛擬背景";
"Tools for productivity" = "生產力工具";
"24/7 support" = "7x24 小時支援";

/* MARK: - 轉錄發言者 */
"You" = "你";

/* MARK: - 鑰匙圈錯誤 */
"Failed to read OAuth tokens from Keychain." = "從鑰匙圈讀取 OAuth 令牌失敗。";
"Keychain returned an invalid token payload." = "鑰匙圈回傳了無效的令牌負載。";
"Failed to update OAuth tokens in Keychain." = "更新鑰匙圈中的 OAuth 令牌失敗。";
"Failed to save OAuth tokens to Keychain." = "儲存 OAuth 令牌到鑰匙圈失敗。";
"Failed to delete OAuth tokens from Keychain." = "從鑰匙圈刪除 OAuth 令牌失敗。";
"Unable to allocate audio buffer." = "無法分配音訊緩衝區。";
"Invalid revoke response." = "無效的撤銷回應。";
"Token revoke failed with status %d." = "令牌撤銷失敗，狀態碼 %d。";

/* MARK: - 錯誤提醒診斷 */
"Keychain: %d (%@)" = "鑰匙圈：%d (%@)";
"OSStatus: %d" = "作業系統狀態：%d";
"Item: service=%@, account=%@" = "項目：service=%@，account=%@";
