diff --git a/agent/i18n/lang/zh-Hant.yaml b/agent/i18n/lang/zh-Hant.yaml index e2847526d..78fb5a5d9 100644 --- a/agent/i18n/lang/zh-Hant.yaml +++ b/agent/i18n/lang/zh-Hant.yaml @@ -14,7 +14,7 @@ ErrApiConfigKeyInvalid: 'API 介面金鑰錯誤: {{ .detail }}' ErrApiConfigIPInvalid: '呼叫 API 介面 IP 不在白名單: {{ .detail }}' ErrApiConfigDisable: '此介面禁止使用 API 介面呼叫: {{ .detail }}' ErrApiConfigKeyTimeInvalid: 'API 介面時間戳記錯誤: {{ .detail }}' -ErrShutDown: "命令被手動結束!" +ErrShutDown: "指令被手動結束!" ErrMinQuickJump: "請至少設定一個快速跳轉入口!" ErrMaxQuickJump: "最多可設定四個快速跳轉入口!" @@ -123,7 +123,7 @@ ErrLogFileToLarge: "日誌檔案超過 500M,無法打開" FileDropFailed: "清理文件 {{ .name }} 失敗: {{ .err }}" FileDropSuccess: "清理文件 {{ .name }} 成功,清理 {{ .count }} 個文件,釋放 {{ .size }} 磁碟空間" FileDropSum: "文件清理完成,共清理 {{ .count }} 個文件,共釋放 {{ .size }} 磁碟空間" -ErrBadDecrypt: "壓縮包解壓密碼錯誤,解壓失敗,請檢查後重試!" +ErrBadDecrypt: "壓縮檔解壓密碼錯誤,解壓失敗,請檢查後重試!" #website ErrAliasIsExist: '代號已存在' @@ -267,7 +267,7 @@ ErrRuleExist: '規則已存在' ErrRuleNotExist: '規則不存在' ErrParseIP: 'IP 格式錯誤' ErrDefaultIP: 'default 為保留名稱,請更換其他名稱' -ErrGroupInUse: 'IP 群組被駭/白名單使用,無法刪除' +ErrGroupInUse: 'IP 群組被黑/白名單使用,無法刪除' ErrIPGroupAclUse: "IP 群組被網站 {{ .name }} 自訂規則使用,無法刪除" ErrGroupExist: 'IP 群組名稱已存在' ErrIPRange: 'IP 範圍錯誤' @@ -372,8 +372,8 @@ RuntimeExtension: '執行環境擴充' TaskIsExecuting: '任務正在運作' CustomAppstore: '自訂應用程式倉庫' TaskExec: '執行' -TaskBatch: "批量操作" -FileConvert: '文件格式轉換' +TaskBatch: "批次操作" +FileConvert: '檔案格式轉換' # task - clam Clamscan: "掃描 {{ .name }}" diff --git a/core/i18n/lang/zh-Hant.yaml b/core/i18n/lang/zh-Hant.yaml index acffaa322..51106d6a4 100644 --- a/core/i18n/lang/zh-Hant.yaml +++ b/core/i18n/lang/zh-Hant.yaml @@ -245,4 +245,4 @@ ErrReqFailed: "{{.name}} 請求失敗: {{ .err }}" #command Name: "名稱" -Command: "命令" \ No newline at end of file +Command: "指令" \ No newline at end of file diff --git a/frontend/src/lang/modules/zh-Hant.ts b/frontend/src/lang/modules/zh-Hant.ts index afce4c89d..4c2ea7be0 100644 --- a/frontend/src/lang/modules/zh-Hant.ts +++ b/frontend/src/lang/modules/zh-Hant.ts @@ -235,10 +235,8 @@ const message = { host: '請輸入正確的 IP 或者域名', hostHelper: '支援輸入 ip 或者域名', port: '請輸入正確的埠,1-65535', - selectHelper: '請選擇正確的 {0} 文件', domain: '域名格式錯誤', databaseName: '支援英文、數字、_,長度1-30', - ipErr: 'IP [{0}] 格式錯誤,請檢查', numberRange: '數字範圍: {0} - {1}', paramName: '支援英文、數字、.-和_,長度2-64', paramComplexity: '支援英文、數字、{0},長度6-128,特殊字元不能在首尾', @@ -374,7 +372,7 @@ const message = { tamper: '防篡改', app: '應用', msgCenter: '任務中心', - disk: '磁碟', + disk: '磁碟管理', }, home: { recommend: '推薦', @@ -671,13 +669,14 @@ const message = { prohibitedHelper: '禁止: 不允許行程同時執行', migModeHelper: '用於建立 MIG 實例,在使用者層實現 GPU 的物理隔離。', migModeNA: '不支援', + shr: '共享 GPU', }, mcp: { server: 'MCP Server', create: '建立 MCP Server', edit: '編輯 MCP Server', baseUrl: '外部訪問路徑', - baseUrlHelper: '例如:http://192.168.1.2:8000', + baseUrlHelper: '例如:http://192.168.1.1:8000', ssePath: 'SSE 路徑', ssePathHelper: '例如:/sse,注意不要與其他 Server 重複', environment: '環境變數', @@ -689,7 +688,7 @@ const message = { domainHelper: '例如:192.168.1.1 或者 example.com', bindDomain: '綁定網站', commandPlaceHolder: '目前僅支援 npx 和 二進制啟動的指令', - importMcpJson: '匯入 MCP Server配置', + importMcpJson: '匯入 MCP Server 配置', importMcpJsonError: 'mcpServers 結構不正確', bindDomainHelper: '綁定網站之後會修改所有已安裝 MCP Server 的訪問地址,並關閉埠的外部訪問', outputTransport: '輸出類型', @@ -701,8 +700,8 @@ const message = { tensorRT: { llm: 'TensorRT LLM', modelDir: '模型目錄', - commandHelper: '啟動命令中的 /models 後需補全模型名稱;若需外部訪問,請將命令中的端口設置為與應用端口相同', - imageAlert: '由於鏡像較大,建議先手動將鏡像下載到服務器後再進行安裝', + commandHelper: '啟動指令中的 /models 後需補全模型名稱;若需外部訪問,請將指令中的埠設定為與應用埠相同', + imageAlert: '由於鏡像較大,建議先手動將鏡像下載到伺服器後再進行安裝', }, }, container: { @@ -824,15 +823,15 @@ const message = { sharedLabel: '傳播模式', private: '私有', privateHelper: '容器裡的掛載變化和主機互不干擾', - rprivate: '遞歸私有', + rprivate: '遞迴私有', rprivateHelper: '容器裡所有掛載都和主機完全隔離', shared: '共享', sharedHelper: '主機和容器裡的掛載變化互相可見', - rshared: '遞歸共享', + rshared: '遞迴共享', rsharedHelper: '主機和容器裡所有掛載變化都互相可見', slave: '從屬', slaveHelper: '容器能看見主機的掛載變化,但自己的變化不影響主機', - rslave: '遞歸從屬', + rslave: '遞迴從屬', rslaveHelper: '容器裡所有掛載都能看見主機變化,但不影響主機', mode: '權限', env: '環境變數', @@ -847,7 +846,7 @@ const message = { image: '鏡像', imagePull: '拉取鏡像', - imagePullHelper: '支援選擇拉取多個鏡像,輸入一組鏡像後回車繼續', + imagePullHelper: '支援選擇拉取多個鏡像,輸入一組鏡像後Enter繼續', imagePush: '推送鏡像', imagePushHelper: '檢測到該映像存在多個標籤,請確認推送時使用的映像名稱為:{0}', imageDelete: '刪除鏡像', @@ -864,7 +863,7 @@ const message = { pathSelect: '路徑選擇', label: '標籤', imageTag: '鏡像標籤', - imageTagHelper: '支援設定多個映像標籤,輸入一個標籤後回車繼續', + imageTagHelper: '支援設定多個映像標籤,輸入一個標籤後Enter繼續', push: '推送', fileName: '檔案名', export: '匯出', @@ -1027,7 +1026,7 @@ const message = { snapshot: '系統快照', allOptionHelper: '目前計劃任務為備份所有【{0}】,暫不支援直接下載,可在【{0}】備份列表中查看', exclusionRules: '排除規則', - exclusionRulesHelper: '選擇或輸入排除規則,輸入完一組後回車繼續,排除規則將對此次備份的所有壓縮操作生效', + exclusionRulesHelper: '選擇或輸入排除規則,輸入完一組後Enter繼續,排除規則將對此次備份的所有壓縮操作生效', default_download_path: '預設下載網址', saveLocal: '同時保留本機備份(和雲端儲存保留份數一致)', url: 'URL 地址', @@ -1039,7 +1038,7 @@ const message = { timeout: '逾時時間', ignoreErr: '忽略錯誤', ignoreErrHelper: '忽略備份過程中出現的錯誤,保證所有備份任務執行', - retryTimesHelper: '為0表示失敗後不重試', + retryTimesHelper: '為 0 表示失敗後不重試', retainCopiesHelper: '執行記錄及日誌保留份數', retainCopiesHelper1: '備份文件保留份數', retainCopiesUnit: ' 份 (查看)', @@ -1084,7 +1083,7 @@ const message = { requestExpirationTime: '上傳請求過期時間(小時)', unitHours: '單位:小時', - alertTitle: '計畫任務-{0}「{1}」任務失敗告警', + alertTitle: '計劃任務-{0}「{1}」任務失敗告警', library: { script: '腳本', syncNow: '立即同步', @@ -1159,7 +1158,7 @@ const message = { fold: '全部收縮', batchInput: '批次輸入', quickCommand: '快速指令', - noSuchCommand: '導入的CSV文件中未能發現快速命令數據,請檢查後重試!', + noSuchCommand: '匯入的CSV文件中未能發現快速指令資料,請檢查後重試!', quickCommandHelper: '常用命令列表,用於在終端介面底部快速選擇', groupDeleteHelper: '移除組後,組內所有連接將遷移到 default 組內,是否繼續?', command: '指令', @@ -1335,7 +1334,7 @@ const message = { xsetting: '介面設定', logs: '日誌審計', settings: '面板設定', - cronjobs: '計畫任務', + cronjobs: '計劃任務', databases: '資料庫', waf: 'WAF', licenses: '許可證', @@ -1482,7 +1481,7 @@ const message = { cancelUploadHelper: '是否取消上傳,取消後將清空上傳列表', keepOneTab: '至少保留一個分頁', notCanTab: '無法新增更多分頁', - convert: '文件格式轉換', + convert: '檔案格式轉換', converting: '轉換為', fileCanNotConvert: '此文件不支援轉換格式', formatType: '格式類型', @@ -1862,8 +1861,8 @@ const message = { mfaHelper3: '輸入手機應用上的 6 位數字', mfaCode: '驗證碼', mfaInterval: '重新整理時間(秒)', - mfaTitleHelper: '用於區分不同 1Panel 主機,修改後請重新掃描或手動新增密鑰資訊!', - mfaIntervalHelper: '修改重新整理時間後,請重新掃描或手動新增密鑰資訊!', + mfaTitleHelper: '用於區分不同 1Panel 主機,修改後請重新掃描或手動新增金鑰資訊!', + mfaIntervalHelper: '修改重新整理時間後,請重新掃描或手動新增金鑰資訊!', sslChangeHelper: 'https 設定修改需要重啟服務,是否繼續?', sslDisable: '停用', sslDisableHelper: '停用 https 服務,需要重啟面板才能生效,是否繼續?', @@ -1895,7 +1894,7 @@ const message = { versionItem: '目前版本', backupCopies: '保留份數', backupCopiesHelper: '設定用於版本回滾的升級備份保留份數。0 表示保留所有。', - backupCopiesRule: '請至少保存 3 份升級備份記錄', + backupCopiesRule: '請至少儲存 3 份升級備份記錄', release: '版本更新日誌', releaseHelper: '目前環境更新日誌取得異常,可手動前往官方文件查看', project: '項目地址', @@ -1916,7 +1915,7 @@ const message = { ifShow: '是否顯示', menu: '選單', confirmMessage: '即將重新整理頁面更新進階功能選單列表,是否繼續?', - recoverMessage: '即将重新整理頁面,並恢復選單列表至初始狀態。是否繼續?', + recoverMessage: '即將重新整理頁面,並復原選單列表至初始狀態。是否繼續?', compressPassword: '壓縮密碼', backupRecoverMessage: '請輸入壓縮或解壓縮密碼(留空則不設定)', }, @@ -2411,7 +2410,7 @@ const message = { strategy: '策略', strategyDown: '停用', strategyBackup: '備用', - ipHashBackupErr: 'IP 哈希不支援備用節點', + ipHashBackupErr: 'IP 雜湊不支援備用節點', staticChangePHPHelper: '目前為靜態網站,可切換為 PHP 網站', proxyCache: '反向代理快取', @@ -2674,7 +2673,7 @@ const message = { runtime: '執行環境', workDir: '工作目錄', create: '建立執行環境', - localHelper: '本地環境安裝及離線環境使用相關問題,可參考 ', + localHelper: '本機環境安裝及離線環境使用相關問題,可參考 ', versionHelper: 'PHP的版本,例 v8.0', buildHelper: '擴展越多,製作映像檔時占用的 CPU 越高,可在建立環境後再安裝擴展。', openrestyWarn: 'PHP 需要升級 OpenResty 至 1.21.4.1 版本以上才能使用', @@ -2708,7 +2707,7 @@ const message = { module: '模組', nodeOperatorHelper: '是否{0} {1} 模組? 操作可能導致運轉環境異常,請確認後操作', customScript: '自訂啟動指令', - customScriptHelper: '請填寫完整的啟動命令,例如:npm run start,pm2 啟動命令請換為 pm2-runtime,否則會啟動失敗', + customScriptHelper: '請填寫完整的啟動指令,例如:npm run start,pm2 啟動指令請換為 pm2-runtime,否則會啟動失敗', portError: '不能填寫相同連接埠', systemRestartHelper: '狀態說明:中斷-系統重新啟動導致狀態取得失敗', javaScriptHelper: '請填寫完整啟動指令,例如:java -jar halo.jar -Xmx1024M -Xms256M', @@ -2833,24 +2832,10 @@ const message = { serial: '序號', }, xpack: { - expiresTrialAlert: - '溫馨提醒:您的專業版試用將在 {0} 天後到期,屆時所有專業版功能將無法繼續使用,請及時續費或升級到正式版本。', - expiresAlert: - '溫馨提醒:您的專業版許可證將在 {0} 天後到期,屆時所有專業版功能將無法繼續使用,請及時續費以保證正常使用。', + expiresAlert: '溫馨提醒:您的專業版許可證將在 {0} 天後到期,屆時所有專業版功能將無法繼續使用。', + name: '專業版', menu: '進階功能', upage: 'AI 建站', - app: { - app: 'APP', - title: '面板別名', - titleHelper: '面板別名用於 APP 端的顯示(預設面板別名)', - qrCode: '二維碼', - apiStatusHelper: '面板 APP 需要開啟 API 介面功能', - apiInterfaceHelper: '支援面板 API 介面訪問功能(面板 APP 需要開啟該功能)', - apiInterfaceHelper1: - '面板 APP 訪問需將訪問者新增至白名單,非固定 IP 建議新增 0.0.0.0/0(所有 IPv4),::/0(所有 IPv6)', - qrCodeExpired: '重新整理時間', - apiLeakageHelper: '請勿洩露二維碼,確保僅在受信任的環境中使用', - }, waf: { name: 'WAF', blackWhite: '黑白名單', @@ -3160,8 +3145,7 @@ const message = { xff1: '取得 X-Forwarded-For 的上一級代理程式', xff2: '取得 X-Forwarded-For 的上上一級代理程式', xff3: '取得 X-Forwarded-For 的上上上一級代理程式', - xffHelper: - '例如:X-Forwarded-For: ,,, 上一階代理程式會取最後一個 IP ', + xffHelper: '例如:X-Forwarded-For: ,,, 上一階代理程式會取最後一個 IP ', headersHelper: '從下列常用的 CDN 攜帶真實 IP 的 HTTP Header 中取得,取第一個能取得到的值', monitorCDNHelper: '修改網站監控的 CDN 設定會同步更新 WAF 的 CDN 設定', wafCDNHelper: '修改 WAF 的 CDN 設定會同步更新網站監控的 CDN 設定', @@ -3196,14 +3180,14 @@ const message = { ignoreTemplate: '排除模版', protectTemplate: '保護模版', ignoreTemplateHelper: - '請輸入排除內容,回車或空格分隔。(具體目錄 ./log 或目錄名 tmp,排除文件需要輸入具體文件 ./data/test.html)', + '請輸入排除內容,Enter或空格分隔。(具體目錄 ./log 或目錄名 tmp,排除文件需要輸入具體檔案 ./data/test.html)', protectTemplateHelper: - '請輸入保護內容,回車或空格分隔。(具體文件 ./index.html、文件後綴 .html、文件類型 js,保護目錄需要輸入具體目錄 ./log)', + '請輸入保護內容,Enter或空格分隔。(具體檔案 ./index.html、文件後綴 .html、文件類型 js,保護目錄需要輸入具體目錄 ./log)', templateContent: '模版內容', template: '模版', - saveTemplate: '保存為模版', + saveTemplate: '儲存為模版', tamperHelper1: - '一鍵部署類型的網站,建議啟用應用目錄防篡改功能;如出現網站無法正常使用或備份、恢復失敗的情況,請先關閉防篡改功能;', + '一鍵部署類型的網站,建議啟用應用目錄防篡改功能;如出現網站無法正常使用或備份、復原失敗的情況,請先關閉防篡改功能;', tamperHelper2: '將限制非排除目錄下受保護文件的讀寫、刪除、權限和所有者修改操作', tamperPath: '防護目錄', tamperPathEdit: '修改路徑', @@ -3213,14 +3197,14 @@ const message = { templateRule: '長度1-512,名稱不能含有{0}等符號', ignore: '排除', ignoreHelper: - '請選擇或輸入排除內容,回車或空格分隔。(具體目錄 ./log 或目錄名 tmp,排除文件需要輸入或選擇具體文件 ./data/test.html)', + '請選擇或輸入排除內容,Enter或空格分隔。(具體目錄 ./log 或目錄名 tmp,排除文件需要輸入或選擇具體檔案 ./data/test.html)', protect: '保護', protectHelper: - '請選擇或輸入保護內容,回車或空格分隔。(具體文件 ./index.html、文件後綴 .html、文件類型 js,保護目錄需要輸入或選擇具體目錄 ./log)', + '請選擇或輸入保護內容,Enter或空格分隔。(具體檔案 ./index.html、文件後綴 .html、文件類型 js,保護目錄需要輸入或選擇具體目錄 ./log)', tamperHelper00: '排除和保護僅支援輸入相對路徑;', - tamperHelper01: '開啟防篡改後,系統將限制非排除目錄下保護文件的創建、編輯和刪除操作等操作;', - tamperHelper02: '優先級:具體路徑保護 > 具體路徑排除 > 保護 > 排除', - tamperHelper03: '監聽操作只針對於非排除目錄,監聽該目錄下非保護文件的創建操作。', + tamperHelper01: '開啟防篡改後,系統將限制非排除目錄下保護文件的建立、編輯和刪除操作等操作;', + tamperHelper02: '優先度:具體路徑保護 > 具體路徑排除 > 保護 > 排除', + tamperHelper03: '監聽操作只針對於非排除目錄,監聽該目錄下非保護文件的建立操作。', disableHelper: '即將關閉下列網站的防篡改功能,是否繼續?', appendOnly: '僅追加', appendOnlyHelper: '將限制該目錄下文件的刪除操作,僅允許新增排除目錄或非保護文件', @@ -3522,7 +3506,7 @@ const message = { loadName: '負載', diskName: '磁碟', - syncAlertInfo: '同步', + syncAlertInfo: '同步告警資訊', syncAlertInfoMsg: '是否同步告警資訊內容狀態?', pushError: '推送失敗', pushSuccess: '推送成功', @@ -3645,6 +3629,18 @@ const message = { setDefaultHelper: '即將復原主題配色到初始狀態,是否繼續?', setHelper: '即將儲存目前選定的主題配色,是否繼續?', }, + app: { + app: 'APP', + title: '面板別名', + titleHelper: '面板別名用於 APP 端的顯示(預設面板別名)', + qrCode: '二維碼', + apiStatusHelper: '面板 APP 需要開啟 API 介面功能', + apiInterfaceHelper: '支援面板 API 介面訪問功能(面板 APP 需要開啟該功能)', + apiInterfaceHelper1: + '面板 APP 訪問需將訪問者新增至白名單,非固定 IP 建議新增 0.0.0.0/0(所有 IPv4),::/0(所有 IPv6)', + qrCodeExpired: '重新整理時間', + apiLeakageHelper: '請勿洩露二維碼,確保僅在受信任的環境中使用', + }, exchange: { exchange: '文件對傳', exchangeConfirm: '是否將 {0} 節點文件/資料夾 {1} 傳輸到 {2} 節點 {3} 目錄?',