From fe0a8375a3253a0340cff81da0d56b7c6fb940cd Mon Sep 17 00:00:00 2001 From: Huang Kuan Wei <33425166+xellosiris@users.noreply.github.com> Date: Thu, 3 Oct 2024 15:46:15 +0800 Subject: [PATCH] add language zh-Tw (#2572) * add translation zh-TW * add zh-TW to langs.js --- web/assets/js/langs.js | 159 +++---- web/translation/translate.zh_TW.toml | 620 +++++++++++++++++++++++++++ 2 files changed, 702 insertions(+), 77 deletions(-) create mode 100644 web/translation/translate.zh_TW.toml diff --git a/web/assets/js/langs.js b/web/assets/js/langs.js index 5f2577b72f..2dfdc4e5c5 100644 --- a/web/assets/js/langs.js +++ b/web/assets/js/langs.js @@ -1,93 +1,98 @@ const supportLangs = [ - { - name: 'English', - value: 'en-US', - icon: '🇺🇸', - }, - { - name: 'فارسی', - value: 'fa-IR', - icon: '🇮🇷', - }, - { - name: '中文', - value: 'zh-CN', - icon: '🇨🇳', - }, - { - name: 'Русский', - value: 'ru-RU', - icon: '🇷🇺', - }, - { - name: 'Tiếng Việt', - value: 'vi-VN', - icon: '🇻🇳', - }, - { - name: 'Español', - value: 'es-ES', - icon: '🇪🇸', - }, - { - name: 'Indonesian', - value: 'id-ID', - icon: '🇮🇩', - }, - { - name: 'Український', - value: 'uk-UA', - icon: '🇺🇦', - }, - { - name: 'Türkçe', - value: 'tr-TR', - icon: '🇹🇷', - }, - { - name: "Português", - value: "pt-BR", - icon: "🇧🇷", - }, + { + name: "English", + value: "en-US", + icon: "🇺🇸", + }, + { + name: "فارسی", + value: "fa-IR", + icon: "🇮🇷", + }, + { + name: "簡體中文", + value: "zh-CN", + icon: "🇨🇳", + }, + { + name: "繁體中文", + value: "zh-TW", + icon: "🇹🇼", + }, + { + name: "Русский", + value: "ru-RU", + icon: "🇷🇺", + }, + { + name: "Tiếng Việt", + value: "vi-VN", + icon: "🇻🇳", + }, + { + name: "Español", + value: "es-ES", + icon: "🇪🇸", + }, + { + name: "Indonesian", + value: "id-ID", + icon: "🇮🇩", + }, + { + name: "Український", + value: "uk-UA", + icon: "🇺🇦", + }, + { + name: "Türkçe", + value: "tr-TR", + icon: "🇹🇷", + }, + { + name: "Português", + value: "pt-BR", + icon: "🇧🇷", + }, ]; function getLang() { - let lang = getCookie('lang'); + let lang = getCookie("lang"); - if (!lang) { - if (window.navigator) { - lang = window.navigator.language || window.navigator.userLanguage; + if (!lang) { + if (window.navigator) { + lang = window.navigator.language || window.navigator.userLanguage; - if (isSupportLang(lang)) { - setCookie('lang', lang, 150); - } else { - setCookie('lang', 'en-US', 150); - window.location.reload(); - } - } else { - setCookie('lang', 'en-US', 150); - window.location.reload(); - } - } + if (isSupportLang(lang)) { + setCookie("lang", lang, 150); + } else { + setCookie("lang", "en-US", 150); + window.location.reload(); + } + } else { + setCookie("lang", "en-US", 150); + window.location.reload(); + } + } - return lang; + return lang; } function setLang(lang) { - if (!isSupportLang(lang)) { - lang = 'en-US'; - } + if (!isSupportLang(lang)) { + lang = "en-US"; + } - setCookie('lang', lang, 150); - window.location.reload(); + setCookie("lang", lang, 150); + window.location.reload(); } function isSupportLang(lang) { - for (l of supportLangs) { - if (l.value === lang) { - return true; - } - } + for (l of supportLangs) { + if (l.value === lang) { + return true; + } + } - return false; + return false; } diff --git a/web/translation/translate.zh_TW.toml b/web/translation/translate.zh_TW.toml new file mode 100644 index 0000000000..19f7f6b12a --- /dev/null +++ b/web/translation/translate.zh_TW.toml @@ -0,0 +1,620 @@ +"username" = "使用者名稱" +"password" = "密碼" +"login" = "登入" +"confirm" = "確定" +"cancel" = "取消" +"close" = "關閉" +"copy" = "複製" +"copied" = "已複製" +"download" = "下載" +"remark" = "備註" +"enable" = "啟用" +"protocol" = "協議" +"search" = "搜尋" +"filter" = "篩選" +"loading" = "載入中..." +"second" = "秒" +"minute" = "分鐘" +"hour" = "小時" +"day" = "天" +"check" = "檢視" +"indefinite" = "無限期" +"unlimited" = "無限制" +"none" = "無" +"qrCode" = "二維碼" +"info" = "更多資訊" +"edit" = "編輯" +"delete" = "刪除" +"reset" = "重置" +"copySuccess" = "複製成功" +"sure" = "確定" +"encryption" = "加密" +"transmission" = "傳輸" +"host" = "主機" +"path" = "路徑" +"camouflage" = "偽裝" +"status" = "狀態" +"enabled" = "開啟" +"disabled" = "關閉" +"depleted" = "耗盡" +"depletingSoon" = "即將耗盡" +"offline" = "離線" +"online" = "線上" +"domainName" = "域名" +"monitor" = "監聽" +"certificate" = "憑證" +"fail" = "失敗" +"success" = "成功" +"getVersion" = "獲取版本" +"install" = "安裝" +"clients" = "客戶端" +"usage" = "使用情況" +"secretToken" = "安全金鑰" +"remained" = "剩餘" +"security" = "安全" +"secAlertTitle" = "安全警報" +"secAlertSsl" = "此連線不安全。在啟用 TLS 進行資料保護之前,請勿輸入敏感資訊。" +"secAlertConf" = "某些設定易受攻擊。建議加強安全協議以防止潛在漏洞。" +"secAlertSSL" = "面板缺少安全連線。請安裝 TLS 證書以保護資料安全。" +"secAlertPanelPort" = "面板預設埠存在安全風險。請配置隨機埠或特定埠。" +"secAlertPanelURI" = "面板預設 URI 路徑不安全。請配置複雜的 URI 路徑。" +"secAlertSubURI" = "訂閱預設 URI 路徑不安全。請配置複雜的 URI 路徑。" +"secAlertSubJsonURI" = "訂閱 JSON 預設 URI 路徑不安全。請配置複雜的 URI 路徑。" + +[menu] +"dashboard" = "系統狀態" +"inbounds" = "入站列表" +"settings" = "面板設定" +"xray" = "Xray 設定" +"logout" = "退出登入" +"link" = "管理" + +[pages.login] +"hello" = "你好" +"title" = "歡迎" +"loginAgain" = "登入時效已過,請重新登入" + +[pages.login.toasts] +"invalidFormData" = "資料格式錯誤" +"emptyUsername" = "請輸入使用者名稱" +"emptyPassword" = "請輸入密碼" +"wrongUsernameOrPassword" = "使用者名稱或密碼錯誤" +"successLogin" = "登入" + +[pages.index] +"title" = "系統狀態" +"memory" = "記憶體" +"hard" = "磁碟" +"xrayStatus" = "Xray" +"stopXray" = "停止" +"restartXray" = "重啟" +"xraySwitch" = "版本" +"xraySwitchClick" = "選擇你要切換到的版本" +"xraySwitchClickDesk" = "請謹慎選擇,因為較舊版本可能與當前配置不相容" +"operationHours" = "系統正常執行時間" +"systemLoad" = "系統負載" +"systemLoadDesc" = "過去 1、5 和 15 分鐘的系統平均負載" +"connectionTcpCountDesc" = "系統中所有 TCP 連線數" +"connectionUdpCountDesc" = "系統中所有 UDP 連線數" +"connectionCount" = "連線數" +"upSpeed" = "總上傳速度" +"downSpeed" = "總下載速度" +"totalSent" = "系統啟動以來傳送的總資料量" +"totalReceive" = "系統啟動以來接收的總資料量" +"xraySwitchVersionDialog" = "切換 Xray 版本" +"xraySwitchVersionDialogDesc" = "是否切換 Xray 版本至" +"dontRefresh" = "安裝中,請勿重新整理此頁面" +"logs" = "日誌" +"config" = "配置" +"backup" = "備份和恢復" +"backupTitle" = "備份和恢復資料庫" +"backupDescription" = "恢復資料庫之前建議進行備份" +"exportDatabase" = "備份" +"importDatabase" = "恢復" + +[pages.inbounds] +"title" = "入站列表" +"totalDownUp" = "總上傳 / 下載" +"totalUsage" = "總用量" +"inboundCount" = "入站數量" +"operate" = "選單" +"enable" = "啟用" +"remark" = "備註" +"protocol" = "協議" +"port" = "埠" +"traffic" = "流量" +"details" = "詳細資訊" +"transportConfig" = "傳輸配置" +"expireDate" = "到期時間" +"resetTraffic" = "重置流量" +"addInbound" = "新增入站" +"generalActions" = "通用操作" +"create" = "新增" +"update" = "修改" +"modifyInbound" = "修改入站" +"deleteInbound" = "刪除入站" +"deleteInboundContent" = "確定要刪除入站嗎?" +"deleteClient" = "刪除客戶端" +"deleteClientContent" = "確定要刪除客戶端嗎?" +"resetTrafficContent" = "確定要重置流量嗎?" +"copyLink" = "複製連結" +"address" = "地址" +"network" = "網路" +"destinationPort" = "目標埠" +"targetAddress" = "目標地址" +"monitorDesc" = "留空表示監聽所有 IP" +"meansNoLimit" = "= 無限制(單位:GB)" +"totalFlow" = "總流量" +"leaveBlankToNeverExpire" = "留空表示永不過期" +"noRecommendKeepDefault" = "建議保留預設值" +"certificatePath" = "檔案路徑" +"certificateContent" = "檔案內容" +"publicKey" = "公鑰" +"privatekey" = "私鑰" +"clickOnQRcode" = "點選二維碼複製" +"client" = "客戶" +"export" = "匯出連結" +"clone" = "複製" +"cloneInbound" = "複製" +"cloneInboundContent" = "此入站規則除埠(Port)、監聽 IP(Listening IP)和客戶端(Clients)以外的所有配置都將應用於克隆" +"cloneInboundOk" = "建立克隆" +"resetAllTraffic" = "重置所有入站流量" +"resetAllTrafficTitle" = "重置所有入站流量" +"resetAllTrafficContent" = "確定要重置所有入站流量嗎?" +"resetInboundClientTraffics" = "重置客戶端流量" +"resetInboundClientTrafficTitle" = "重置所有客戶端流量" +"resetInboundClientTrafficContent" = "確定要重置此入站客戶端的所有流量嗎?" +"resetAllClientTraffics" = "重置所有客戶端流量" +"resetAllClientTrafficTitle" = "重置所有客戶端流量" +"resetAllClientTrafficContent" = "確定要重置所有客戶端的所有流量嗎?" +"delDepletedClients" = "刪除流量耗盡的客戶端" +"delDepletedClientsTitle" = "刪除流量耗盡的客戶端" +"delDepletedClientsContent" = "確定要刪除所有流量耗盡的客戶端嗎?" +"email" = "電子郵件" +"emailDesc" = "電子郵件必須完全唯一" +"IPLimit" = "IP 限制" +"IPLimitDesc" = "如果數量超過設定值,則禁用入站流量。(0 = 禁用)" +"IPLimitlog" = "IP 日誌" +"IPLimitlogDesc" = "IP 歷史日誌(要啟用被禁用的入站流量,請清除日誌)" +"IPLimitlogclear" = "清除日誌" +"setDefaultCert" = "從面板設定證書" +"xtlsDesc" = "Xray 核心需要 1.7.5" +"realityDesc" = "Xray 核心需要 1.8.0 及以上版本" +"telegramDesc" = "請提供Telegram聊天ID。(在機器人中使用'/id'命令)或(@userinfobot" +"subscriptionDesc" = "要找到你的訂閱 URL,請導航到“詳細資訊”。此外,你可以為多個客戶端使用相同的名稱。" +"info" = "資訊" +"same" = "相同" +"inboundData" = "入站資料" +"exportInbound" = "匯出入站規則" +"import"="匯入" +"importInbound" = "匯入入站規則" + +[pages.client] +"add" = "新增客戶端" +"edit" = "編輯客戶端" +"submitAdd" = "新增客戶端" +"submitEdit" = "儲存修改" +"clientCount" = "客戶端數量" +"bulk" = "批量建立" +"method" = "方法" +"first" = "置頂" +"last" = "置底" +"prefix" = "字首" +"postfix" = "字尾" +"delayedStart" = "首次使用後開始" +"expireDays" = "期間" +"days" = "天" +"renew" = "自動續訂" +"renewDesc" = "到期後自動續訂。(0 = 禁用)(單位: 天)" + +[pages.inbounds.toasts] +"obtain" = "獲取" + +[pages.inbounds.stream.general] +"request" = "請求" +"response" = "響應" +"name" = "名稱" +"value" = "值" + +[pages.inbounds.stream.tcp] +"version" = "版本" +"method" = "方法" +"path" = "路徑" +"status" = "狀態" +"statusDescription" = "狀態說明" +"requestHeader" = "請求頭" +"responseHeader" = "響應頭" + +[pages.settings] +"title" = "面板設定" +"save" = "儲存" +"infoDesc" = "此處的所有更改都需要儲存並重啟面板才能生效" +"restartPanel" = "重啟面板" +"restartPanelDesc" = "確定要重啟面板嗎?若重啟後無法訪問面板,請前往伺服器檢視面板日誌資訊" +"actions" = "操作" +"resetDefaultConfig" = "重置為預設配置" +"panelSettings" = "常規" +"securitySettings" = "安全設定" +"TGBotSettings" = "Telegram 機器人配置" +"panelListeningIP" = "面板監聽 IP" +"panelListeningIPDesc" = "預設留空監聽所有 IP" +"panelListeningDomain" = "面板監聽域名" +"panelListeningDomainDesc" = "預設情況下留空以監視所有域名和 IP 地址" +"panelPort" = "面板監聽埠" +"panelPortDesc" = "重啟面板生效" +"publicKeyPath" = "面板證書公鑰檔案路徑" +"publicKeyPathDesc" = "填寫一個 '/' 開頭的絕對路徑" +"privateKeyPath" = "面板證書金鑰檔案路徑" +"privateKeyPathDesc" = "填寫一個 '/' 開頭的絕對路徑" +"panelUrlPath" = "面板 url 根路徑" +"panelUrlPathDesc" = "必須以 '/' 開頭,以 '/' 結尾" +"pageSize" = "分頁大小" +"pageSizeDesc" = "定義入站表的頁面大小。設定 0 表示禁用" +"remarkModel" = "備註模型和分隔符" +"datepicker" = "日期選擇器" +"datepickerPlaceholder" = "選擇日期" +"datepickerDescription" = "選擇器日曆類型指定到期日期" +"sampleRemark" = "備註示例" +"oldUsername" = "原使用者名稱" +"currentPassword" = "原密碼" +"newUsername" = "新使用者名稱" +"newPassword" = "新密碼" +"telegramBotEnable" = "啟用 Telegram 機器人" +"telegramBotEnableDesc" = "啟用 Telegram 機器人功能" +"telegramToken" = "Telegram 機器人令牌(token)" +"telegramTokenDesc" = "從 '@BotFather' 獲取的 Telegram 機器人令牌" +"telegramProxy" = "SOCKS5 Proxy" +"telegramProxyDesc" = "啟用 SOCKS5 代理連線到 Telegram(根據指南調整設定)" +"telegramChatId" = "管理員聊天 ID" +"telegramChatIdDesc" = "Telegram 管理員聊天 ID (多個以逗號分隔)(可通過 @userinfobot 獲取,或在機器人中使用 '/id' 命令獲取)" +"telegramNotifyTime" = "通知時間" +"telegramNotifyTimeDesc" = "設定週期性的 Telegram 機器人通知時間(使用 crontab 時間格式)" +"tgNotifyBackup" = "資料庫備份" +"tgNotifyBackupDesc" = "傳送帶有報告的資料庫備份檔案" +"tgNotifyLogin" = "登入通知" +"tgNotifyLoginDesc" = "當有人試圖登入你的面板時顯示使用者名稱、IP 地址和時間" +"sessionMaxAge" = "會話時長" +"sessionMaxAgeDesc" = "保持登入狀態的時長(單位:分鐘)" +"expireTimeDiff" = "到期通知閾值" +"expireTimeDiffDesc" = "達到此閾值時,將收到有關到期時間的通知(單位:天)" +"trafficDiff" = "流量耗盡閾值" +"trafficDiffDesc" = "達到此閾值時,將收到有關流量耗盡的通知(單位:GB)" +"tgNotifyCpu" = "CPU 負載通知閾值" +"tgNotifyCpuDesc" = "CPU 負載超過此閾值時,將收到通知(單位:%)" +"timeZone" = "時區" +"timeZoneDesc" = "定時任務將按照該時區的時間執行" +"subSettings" = "訂閱設定" +"subEnable" = "啟用訂閱服務" +"subEnableDesc" = "啟用訂閱服務功能" +"subListen" = "監聽 IP" +"subListenDesc" = "訂閱服務監聽的 IP 地址(留空表示監聽所有 IP)" +"subPort" = "監聽埠" +"subPortDesc" = "訂閱服務監聽的埠號(必須是未使用的埠)" +"subCertPath" = "公鑰路徑" +"subCertPathDesc" = "訂閱服務使用的公鑰檔案路徑(以 '/' 開頭)" +"subKeyPath" = "私鑰路徑" +"subKeyPathDesc" = "訂閱服務使用的私鑰檔案路徑(以 '/' 開頭)" +"subPath" = "URI 路徑" +"subPathDesc" = "訂閱服務使用的 URI 路徑(以 '/' 開頭,以 '/' 結尾)" +"subDomain" = "監聽域名" +"subDomainDesc" = "訂閱服務監聽的域名(留空表示監聽所有域名和 IP)" +"subUpdates" = "更新間隔" +"subUpdatesDesc" = "客戶端應用中訂閱 URL 的更新間隔(單位:小時)" +"subEncrypt" = "編碼" +"subEncryptDesc" = "訂閱服務返回的內容將採用 Base64 編碼" +"subShowInfo" = "顯示使用資訊" +"subShowInfoDesc" = "客戶端應用中將顯示剩餘流量和日期資訊" +"subURI" = "反向代理 URI" +"subURIDesc" = "用於代理後面的訂閱 URL 的 URI 路徑" +"fragment" = "分片" +"fragmentDesc" = "啟用 TLS hello 資料包分片" +"fragmentSett" = "設定" +"noisesDesc" = "啟用 Noises." +"noisesSett" = "Noises 設定" +"mux" = "多路複用器" +"muxDesc" = "在已建立的資料流內傳輸多個獨立的資料流" +"muxSett" = "複用器設定" +"direct" = "直接連線" +"directDesc" = "直接與特定國家的域或IP範圍建立連線" + + +[pages.xray] +"title" = "Xray 配置" +"save" = "儲存" +"restart" = "重新啟動 Xray" +"basicTemplate" = "基礎配置" +"advancedTemplate" = "高階配置" +"generalConfigs" = "常規配置" +"generalConfigsDesc" = "這些選項將決定常規配置" +"logConfigs" = "日誌" +"logConfigsDesc" = "日誌可能會影響伺服器的效能,建議僅在需要時啟用" +"blockConfigs" = "防護遮蔽" +"blockConfigsDesc" = "這些選項將阻止使用者連線到特定協議和網站" +"blockConnectionsConfigs" = "阻止連線" +"blockConnectionsConfigsDesc" = "這些選項將根據特定的請求國家阻止流量。" +"directConnectionsConfigs" = "直接連線" +"directConnectionsConfigsDesc" = "直接連線確保特定的流量不會通過其他伺服器路由。" +"blockips" = "阻止IP" +"blockdomains" = "阻止域名" +"directips" = "直接IP" +"directdomains" = "直接域名" +"ipv4Configs" = "IPv4 路由" +"ipv4ConfigsDesc" = "此選項將僅通過 IPv4 路由到目標域" +"warpConfigs" = "WARP 路由" +"warpConfigsDesc" = "注意:在使用這些選項之前,請按照面板 GitHub 上的步驟在你的伺服器上以 socks5 代理模式安裝 WARP。WARP 將通過 Cloudflare 伺服器將流量路由到網站。" +"Template" = "高階 Xray 配置模板" +"TemplateDesc" = "最終的 Xray 配置檔案將基於此模板生成" +"FreedomStrategy" = "Freedom 協議策略" +"FreedomStrategyDesc" = "設定 Freedom 協議中網路的輸出策略" +"RoutingStrategy" = "配置路由域策略" +"RoutingStrategyDesc" = "設定 DNS 解析的整體路由策略" +"Torrent" = "遮蔽 BitTorrent 協議" +"TorrentDesc" = "禁止使用 BitTorrent" +"PrivateIp" = "遮蔽私有 IP" +"PrivateIpDesc" = "阻止連線到私有 IP" +"Ads" = "遮蔽廣告" +"AdsDesc" = "遮蔽廣告網站" +"Family" = "家庭保護" +"FamilyDesc" = "遮蔽成人內容和惡意網站" +"Security" = "安全防護" +"SecurityDesc" = "遮蔽惡意軟體、網路釣魚和挖礦網站" +"Speedtest" = "遮蔽測速網站" +"SpeedtestDesc" = "阻止連線到測速網站" +"GoogleIPv4" = "Google" +"GoogleIPv4Desc" = "通過 IPv4 將流量路由到谷歌" +"NetflixIPv4" = "Netflix" +"NetflixIPv4Desc" = "通過 IPv4 將流量路由到 Netflix" +"GoogleWARP" = "Google" +"GoogleWARPDesc" = "通過 WARP 將流量路由到 Google" +"OpenAIWARP" = "OpenAI (ChatGPT)" +"OpenAIWARPDesc" = "通過 WARP 將流量路由到 OpenAI (ChatGPT)" +"NetflixWARP" = "Netflix" +"NetflixWARPDesc" = "通過 WARP 將流量路由到 Netflix" +"MetaWARP"="Meta" +"MetaWARPDesc" = "通過 WARP 將流量路由到 Meta(Instagram、Facebook、WhatsApp、Threads...)" +"AppleWARP" = "Apple" +"AppleWARPDesc" = "通過 WARP 將流量路由到 Apple" +"RedditWARP" = "Reddit" +"RedditWARPDesc" = "通過 WARP 將流量路由到 Reddit" +"SpotifyWARP" = "Spotify" +"SpotifyWARPDesc" = "通過 WARP 將流量路由到 Spotify" +"IRWARP" = "伊朗域名" +"IRWARPDesc" = "通過 WARP 將流量路由到伊朗域名" +"Inbounds" = "入站規則" +"InboundsDesc" = "接受來自特定客戶端的流量" +"Outbounds" = "出站規則" +"Balancers" = "負載均衡" +"OutboundsDesc" = "設定出站流量傳出方式" +"Routings" = "路由規則" +"RoutingsDesc" = "每條規則的優先順序都很重要" +"completeTemplate" = "全部" +"logLevel" = "日誌級別" +"logLevelDesc" = "錯誤日誌的日誌級別,用於指示需要記錄的資訊" +"accessLog" = "訪問日誌" +"accessLogDesc" = "訪問日誌的檔案路徑。特殊值 'none' 禁用訪問日誌" +"errorLog" = "錯誤日誌" +"errorLogDesc" = "錯誤日誌的檔案路徑。特殊值 'none' 禁用錯誤日誌" +"dnsLog" = "DNS 日誌" +"dnsLogDesc" = "是否啟用 DNS 查詢日誌" +"maskAddress" = "隱藏地址" +"maskAddressDesc" = "IP 地址掩碼,啟用時會自動替換日誌中出現的 IP 地址。" + +[pages.xray.rules] +"first" = "置頂" +"last" = "置底" +"up" = "向上" +"down" = "向下" +"source" = "來源" +"dest" = "目的地址" +"inbound" = "入站" +"outbound" = "出站" +"balancer" = "負載均衡" +"info" = "資訊" +"add" = "新增規則" +"edit" = "編輯規則" +"useComma" = "逗號分隔的項目" + +[pages.xray.outbound] +"addOutbound" = "新增出站" +"addReverse" = "新增反向" +"editOutbound" = "編輯出站" +"editReverse" = "編輯反向" +"tag" = "標籤" +"tagDesc" = "唯一標籤" +"address" = "地址" +"reverse" = "反向" +"domain" = "域名" +"type" = "類型" +"bridge" = "Bridge" +"portal" = "Portal" +"intercon" = "互連" +"settings" = "設定" +"accountInfo" = "帳戶資訊" +"outboundStatus" = "出站狀態" +"sendThrough" = "傳送通過" + +[pages.xray.balancer] +"addBalancer" = "新增負載均衡" +"editBalancer" = "編輯負載均衡" +"balancerStrategy" = "策略" +"balancerSelectors" = "選擇器" +"tag" = "標籤" +"tagDesc" = "唯一標籤" +"balancerDesc" = "無法同時使用 balancerTag 和 outboundTag。如果同時使用,則只有 outboundTag 會生效。" + +[pages.xray.wireguard] +"secretKey" = "金鑰" +"publicKey" = "公鑰" +"allowedIPs" = "允許的 IP" +"endpoint" = "端點" +"psk" = "共享金鑰" +"domainStrategy" = "域策略" + +[pages.xray.dns] +"enable" = "啟用 DNS" +"enableDesc" = "啟用內建 DNS 伺服器" +"tag" = "DNS 入站標籤" +"tagDesc" = "此標籤將在路由規則中可用作入站標籤" +"strategy" = "查詢策略" +"strategyDesc" = "解析域名的總體策略" +"add" = "新增伺服器" +"edit" = "編輯伺服器" +"domains" = "域" +"expectIPs" = "預期 IP" + +[pages.xray.fakedns] +"add" = "新增假 DNS" +"edit" = "編輯假 DNS" +"ipPool" = "IP 池子網" +"poolSize" = "池大小" + +[pages.settings.security] +"admin" = "管理員" +"secret" = "安全令牌" +"loginSecurity" = "登入安全" +"loginSecurityDesc" = "新增額外的身份驗證以提高安全性" +"secretToken" = "安全令牌" +"secretTokenDesc" = "請將此令牌儲存在安全的地方。此令牌用於登入,丟失無法恢復。" + +[pages.settings.toasts] +"modifySettings" = "修改設定" +"getSettings" = "獲取設定" +"modifyUser" = "修改管理員" +"originalUserPassIncorrect" = "原使用者名稱或原密碼錯誤" +"userPassMustBeNotEmpty" = "新使用者名稱和新密碼不能為空" + +[tgbot] +"keyboardClosed" = "❌ 自定義鍵盤已關閉!" +"noResult" = "❗ 沒有結果!" +"noQuery" = "❌ 未找到查詢!請重新使用命令!" +"wentWrong" = "❌ 出了點問題!" +"noIpRecord" = "❗ 沒有 IP 記錄!" +"noInbounds" = "❗ 沒有找到入站連線!" +"unlimited" = "♾ 無限制" +"add" = "新增" +"month" = "月" +"months" = "月" +"day" = "天" +"days" = "天" +"hours" = "小時" +"unknown" = "未知" +"inbounds" = "入站連線" +"clients" = "客戶端" +"offline" = "🔴 離線" +"online" = "🟢 線上" + +[tgbot.commands] +"unknown" = "❗ 未知命令" +"pleaseChoose" = "👇 請選擇:\r\n" +"help" = "🤖 歡迎使用本機器人!它旨在為您提供來自伺服器的特定資料,並允許您進行必要的修改。\r\n\r\n" +"start" = "👋 你好,{{ .Firstname }}。\r\n" +"welcome" = "🤖 歡迎來到 {{ .Hostname }} 管理機器人。\r\n" +"status" = "✅ 機器人正常執行!" +"usage" = "❗ 請輸入要搜尋的文字!" +"getID" = "🆔 您的 ID 為:{{ .ID }}" +"helpAdminCommands" = "要搜尋客戶電子郵件:\r\n/usage [電子郵件]\r\n\r\n要搜尋入站(帶有客戶統計資料):\r\n/inbound [備註]\r\n\r\nTelegram聊天ID:\r\n/id" +"helpClientCommands" = "要搜尋統計資料,請使用以下命令:\r\n/usage [電子郵件]\r\n\r\nTelegram聊天ID:\r\n/id" + +[tgbot.messages] +"cpuThreshold" = "🔴 CPU 使用率為 {{ .Percent }}%,超過閾值 {{ .Threshold }}%" +"selectUserFailed" = "❌ 使用者選擇錯誤!" +"userSaved" = "✅ 電報使用者已儲存。" +"loginSuccess" = "✅ 成功登入到面板。\r\n" +"loginFailed" = "❗️ 面板登入失敗。\r\n" +"report" = "🕰 定時報告:{{ .RunTime }}\r\n" +"datetime" = "⏰ 日期時間:{{ .DateTime }}\r\n" +"hostname" = "💻 主機名:{{ .Hostname }}\r\n" +"version" = "🚀 X-UI 版本:{{ .Version }}\r\n" +"xrayVersion" = "📡 Xray 版本: {{ .XrayVersion }}\r\n" +"ipv6" = "🌐 IPv6:{{ .IPv6 }}\r\n" +"ipv4" = "🌐 IPv4:{{ .IPv4 }}\r\n" +"ip" = "🌐 IP:{{ .IP }}\r\n" +"ips" = "🔢 IP 地址:\r\n{{ .IPs }}\r\n" +"serverUpTime" = "⏳ 伺服器執行時間:{{ .UpTime }} {{ .Unit }}\r\n" +"serverLoad" = "📈 伺服器負載:{{ .Load1 }}, {{ .Load2 }}, {{ .Load3 }}\r\n" +"serverMemory" = "📋 伺服器記憶體:{{ .Current }}/{{ .Total }}\r\n" +"tcpCount" = "🔹 TCP 連線數:{{ .Count }}\r\n" +"udpCount" = "🔸 UDP 連線數:{{ .Count }}\r\n" +"traffic" = "🚦 流量:{{ .Total }} (↑{{ .Upload }},↓{{ .Download }})\r\n" +"xrayStatus" = "ℹ️ Xray 狀態:{{ .State }}\r\n" +"username" = "👤 使用者名稱:{{ .Username }}\r\n" +"password" = "👤 密碼: {{ .Password }}\r\n" +"time" = "⏰ 時間:{{ .Time }}\r\n" +"inbound" = "📍 入站:{{ .Remark }}\r\n" +"port" = "🔌 埠:{{ .Port }}\r\n" +"expire" = "📅 過期日期:{{ .Time }}\r\n" +"expireIn" = "📅 剩餘時間:{{ .Time }}\r\n" +"active" = "💡 啟用:{{ .Enable }}\r\n" +"enabled" = "🚨 已啟用:{{ .Enable }}\r\n" +"online" = "🌐 連線狀態:{{ .Status }}\r\n" +"email" = "📧 郵箱:{{ .Email }}\r\n" +"upload" = "🔼 上傳↑:{{ .Upload }}\r\n" +"download" = "🔽 下載↓:{{ .Download }}\r\n" +"total" = "📊 總計:{{ .UpDown }} / {{ .Total }}\r\n" +"TGUser" = "👤 電報使用者:{{ .TelegramID }}\r\n" +"exhaustedMsg" = "🚨 耗盡的 {{ .Type }}:\r\n" +"exhaustedCount" = "🚨 耗盡的 {{ .Type }} 數量:\r\n" +"onlinesCount" = "🌐 線上客戶:{{ .Count }}\r\n" +"disabled" = "🛑 禁用:{{ .Disabled }}\r\n" +"depleteSoon" = "🔜 即將耗盡:{{ .Deplete }}\r\n\r\n" +"backupTime" = "🗄 備份時間:{{ .Time }}\r\n" +"refreshedOn" = "\r\n📋🔄 重新整理時間:{{ .Time }}\r\n\r\n" +"yes" = "✅ 是的" +"no" = "❌ 沒有" + +[tgbot.buttons] +"closeKeyboard" = "❌ 關閉鍵盤" +"cancel" = "❌ 取消" +"cancelReset" = "❌ 取消重置" +"cancelIpLimit" = "❌ 取消 IP 限制" +"confirmResetTraffic" = "✅ 確認重置流量?" +"confirmClearIps" = "✅ 確認清除 IP?" +"confirmRemoveTGUser" = "✅ 確認移除 Telegram 使用者?" +"confirmToggle" = "✅ 確認啟用/禁用使用者?" +"dbBackup" = "獲取資料庫備份" +"serverUsage" = "伺服器使用情況" +"getInbounds" = "獲取入站資訊" +"depleteSoon" = "即將耗盡" +"clientUsage" = "獲取使用情況" +"onlines" = "線上客戶端" +"commands" = "命令" +"refresh" = "🔄 重新整理" +"clearIPs" = "❌ 清除 IP" +"removeTGUser" = "❌ 移除 Telegram 使用者" +"selectTGUser" = "👤 選擇 Telegram 使用者" +"selectOneTGUser" = "👤 選擇一個 Telegram 使用者:" +"resetTraffic" = "📈 重置流量" +"resetExpire" = "📅 更改到期日期" +"ipLog" = "🔢 IP 日誌" +"ipLimit" = "🔢 IP 限制" +"setTGUser" = "👤 設定 Telegram 使用者" +"toggle" = "🔘 啟用/禁用" +"custom" = "🔢 風俗" +"confirmNumber" = "✅ 確認: {{ .Num }}" +"confirmNumberAdd" = "✅ 確認新增:{{ .Num }}" +"limitTraffic" = "🚧 流量限制" +"getBanLogs" = "禁止日誌" +"allClients" = "所有客戶" + +[tgbot.answers] +"successfulOperation" = "✅ 成功!" +"errorOperation" = "❗ 操作錯誤。" +"getInboundsFailed" = "❌ 獲取入站資訊失敗。" +"getClientsFailed" = "❌ 獲取客戶失敗。" +"canceled" = "❌ {{ .Email }}:操作已取消。" +"clientRefreshSuccess" = "✅ {{ .Email }}:客戶端重新整理成功。" +"IpRefreshSuccess" = "✅ {{ .Email }}:IP 重新整理成功。" +"TGIdRefreshSuccess" = "✅ {{ .Email }}:客戶端的 Telegram 使用者重新整理成功。" +"resetTrafficSuccess" = "✅ {{ .Email }}:流量已重置成功。" +"setTrafficLimitSuccess" = "✅ {{ .Email }}: 流量限制儲存成功。" +"expireResetSuccess" = "✅ {{ .Email }}:過期天數已重置成功。" +"resetIpSuccess" = "✅ {{ .Email }}:成功儲存 IP 限制數量為 {{ .Count }}。" +"clearIpSuccess" = "✅ {{ .Email }}:IP 已成功清除。" +"getIpLog" = "✅ {{ .Email }}:獲取 IP 日誌。" +"getUserInfo" = "✅ {{ .Email }}:獲取 Telegram 使用者資訊。" +"removedTGUserSuccess" = "✅ {{ .Email }}:Telegram 使用者已成功移除。" +"enableSuccess" = "✅ {{ .Email }}:已成功啟用。" +"disableSuccess" = "✅ {{ .Email }}:已成功禁用。" +"askToAddUserId" = "未找到您的配置!\r\n請向管理員詢問,在您的配置中使用您的 Telegram 使用者 ChatID。\r\n\r\n您的使用者 ChatID:{{ .TgUserID }}" +"chooseClient" = "為入站 {{ .Inbound }} 選擇一個客戶" +"chooseInbound" = "選擇一個入站" \ No newline at end of file