# 基礎錯誤 ErrInvalidParams: '請求參數錯誤: {{ .detail }}' ErrMcpGatewayArgsParse: 'MCP 自訂參數格式錯誤' ErrMcpGatewayArgsConflict: '參數 {{ .name }} 由 1Panel 管理,不能在自訂參數中設定' ErrTokenParse: 'Token 產生錯誤: {{ .detail }}' ErrInitialPassword: '原密碼錯誤' ErrInternalServer: '服務內部錯誤: {{ .detail }}' ErrRecordExist: '記錄已存在' ErrRecordNotFound: '記錄未能找到' WafLogExport: 'WAF 日誌匯出' MonitorLogExport: '網站監控日誌匯出' LogExportNoData: '沒有符合條件的日誌' LogExportDiskSpace: '可用磁碟空間不足 1 GiB,匯出任務已停止' LogExportRetentionInvalid: '匯出記錄保留天數必須介於 1 到 30 天之間' ErrSystemLogKeywordFilterUnsupported: '目前系統版本不支援系統日誌關鍵字篩選(需要 systemd 237 或更高版本)' ErrStructTransform: '型別轉換失敗: {{ .err }}' ErrNotSupportType: '系統暫不支援目前類型: {{ .name }}' # 檔案 AI ErrFileAINotEnabled: '請先在檔案管理頁透過「AI 帳號」啟用檔案 AI 搜尋並選擇帳號。' ErrFileAISearchBadPattern: '搜尋條件無效(正則或全詞): {{ .detail }}' FileAISearchEmptyDir: '目前目錄下沒有可列出的檔案或資料夾(或均被過濾)。' # 遠端下載 ErrWgetRemoteFailed: '遠端下載網址無效或無法存取:{{ .detail }}' ErrWgetInvalidContentType: '遠端網址未回傳檔案內容(可能是錯誤頁),{{ .detail }}' ErrWgetProxyNotConfigured: '請先在面板設定中設定代理伺服器' ErrWgetProxyInvalid: '代理伺服器位址無效:{{ .detail }}' # 登入與安全 ErrNotLogin: '使用者未登入: {{ .detail }}' ErrPasswordExpired: '目前密碼已過期: {{ .detail }}' # 請求與 API ErrProxy: '請求錯誤,請檢查該節點狀態: {{ .detail }}' ErrApiConfigStatusInvalid: 'API 介面禁止存取: {{ .detail }}' ErrApiConfigKeyInvalid: 'API 介面金鑰錯誤: {{ .detail }}' ErrApiConfigIPInvalid: '呼叫 API 介面 IP 不在白名單: {{ .detail }}' ErrApiConfigDisable: '此介面禁止使用 API 介面呼叫: {{ .detail }}' ErrApiConfigKeyTimeInvalid: 'API 介面時間戳記錯誤: {{ .detail }}' ErrCreateHttpClient: '建立請求失敗{{ .err }}' ErrHttpReqTimeOut: '請求逾時{{ .err }}' ErrHttpReqFailed: '請求失敗{{ .err }}' ErrNoSuchHost: '無法找到請求的伺服器{{ .err }}' ErrHttpReqNotFound: '無法找到要求的資源{{ .err }}' # 快速跳轉 ErrMinQuickJump: '請至少設定一個快速跳轉入口!' ErrMaxQuickJump: '最多可設定四個快速跳轉入口!' # 通用 ErrShutDown: '指令被手動結束!' ErrUsernameIsExist: '使用者名稱已存在' ErrNameIsExist: '名稱已存在' ErrDemoEnvironment: '示範伺服器,禁止此操作!' ErrCmdTimeout: '指令執行逾時!' ErrCmdIllegal: '執行指令中存在不合法字元,請修改後重試!' ErrPortExist: '{{ .port }} 埠已被{{ .type }} [{{ .name }}] 佔用' TYPE_APP: '應用' TYPE_RUNTIME: '運作環境' TYPE_DOMAIN: '網域名稱' ErrTypePort: '埠{{ .name }} 格式錯誤' ErrTypePortRange: '連接埠範圍需要在 1-65535 之間' Success: '成功' Failed: '失敗' SystemRestart: '系統重新啟動導致任務中斷' ErrGroupIsDefault: '預設分組,無法刪除' ErrGroupIsInWebsiteUse: '分組正在被其他網站使用,無法刪除' Decrypt: '解密' # 智慧體 ErrAgentAccountBound: '該帳號已綁定到智能體,無法刪除,請重試。' ErrTerminalAIAccountInUse: '該模型帳號正被終端 AI 使用,請在終端 AI 設定中更換帳號或關閉終端 AI 後再試。' ErrFileAIAccountInUse: '該模型帳號正被檔案管理 AI 使用,請在檔案管理 AI 設定中更換帳號或關閉檔案管理 AI 後再試。' ErrAgentAccountUnavailable: '帳號連線資訊不可用,錯誤:{{ .err }},請重試' ErrAgentProviderNotSupported: '暫不支援該智能體提供商,請重試' ErrAgentAccountRequired: '請選擇智能體帳號後重試' ErrAgentAccountNotVerified: '帳號未驗證通過,請重試' ErrAgentAccountModelsRequired: '請至少配置一個模型' ErrAgentAccountSingleInitialModel: '建立帳號時只能配置一個初始模型' ErrAgentModelNotInAccount: '所選模型未配置在當前帳號中,請重試' ErrAgentVerifyModelInUse: '該模型正用於驗證帳號,請先選擇其他驗證模型後再刪除' ErrAgentFallbackModelDuplicate: '備用模型不能重複' ErrAgentFallbackModelPrimary: '備用模型不能與主模型相同' ErrAgentModelInUse: '仍有智能體正在使用該模型:{{ .name }}' ErrAgentBaseURLRequired: 'Base URL 不可為空,請重試' ErrAgentApiKeyRequired: 'API Key 不可為空,請重試' ErrAgentComposeRequired: '自訂編排內容不可為空,請重試' ErrAgentIDRequired: '智能體 ID 不可為空,請重試' ErrAgentAccountIDRequired: '帳號 ID 不可為空,請重試' ErrAgentLimitReached: '社群版最多支援建立 {{ .max }} 個 AI 智能體,升級至商業版即可無限制使用' ErrAgentWebsiteBound: '該智能體已關聯網站' ErrAgentWebsiteTypeUnsupported: '只能關聯反向代理或靜態網站' ErrAgentWebsiteInUse: '該網站已被其他智能體關聯' ErrAgentWebsiteUnbindUnsupported: '一鍵部署網站不支援手動解綁' ErrQwenPawAuthRequest: 'QwenPaw 驗證資訊更新失敗: {{ .err }}' ErrQwenPawAuthOutOfSync: 'QwenPaw 目前憑據與 1Panel 記錄不一致,請先重設 QwenPaw 密碼或還原應用程式 .env 中的憑據' ErrQwenPawAuthDisabled: 'QwenPaw 尚未啟用登入驗證' ErrHermesPairingCodeUnavailable: '配對碼在 Hermes 中暫時不存在,可能是由於網路原因,請稍後再試' ErrHermesFeishuGroupAllowlistRequiresAllowlist: '飛書群組策略為白名單時,私聊策略不能為配對碼' # 備份與告警設定 Localhost: '本機' ErrBackupInUsed: '此備份帳號已在排程任務中使用,無法刪除' ErrBackupCheck: '備份帳號測試連線失敗{{ .err }}' ErrBackupLocalDelete: '暫時不支援刪除本機伺服器備份帳號' ErrBackupLocalCreate: '暫時不支援建立本機伺服器備份帳號' ErrAlertConfigInUse: '告警配置正在使用中,無法刪除' ErrAlertConfigPhoneExist: '手機號碼已存在' # 應用 ErrPortInUsed: '{{ .detail }} 連接埠已被佔用!' ErrAppLimit: '應用程式超出安裝數量限制' ErrNotInstall: '應用程式未安裝' ErrPortInOtherApp: '{{ .port }} 連接埠已被應用程式{{ .apps }} 佔用!' ErrDbUserNotValid: '存量資料庫,使用者名稱密碼不符!' ErrMysqlUserUsedByApps: '該資料庫使用者已被【{{ .detail }}】應用使用,無法修改 Host、刪除或撤銷授權' ErrUpdateBuWebsite: '應用程式更新成功,但網站設定檔修改失敗,請檢查設定!' Err1PanelNetworkFailed: '預設容器網路建立失敗! {{ .detail }}' ErrFileParse: '應用docker-compose 檔解析失敗!' ErrInstallDirNotFound: '安裝目錄不存在,如需移除,請選擇強制移除' AppStoreIsUpToDate: '應用程式商店已經是最新版本' LocalAppVersionNull: '{{ .name }} 應用程式未同步到版本!無法加入到應用程式列表' LocalAppVersionErr: '{{ .name }} 同步版本{{ .version }} 失敗! {{ .err }}' ErrFileNotFound: '{{ .name }} 檔案不存在' ErrFileParseApp: '{{ .name }} 檔案解析失敗{{ .err }}' ErrAppDirNull: '版本資料夾不存在' LocalAppErr: '應用程式{{ .name }} 同步失敗!{{ .err }}' ErrContainerName: '容器名稱已存在' ErrContainerNotFound: '{{ .name }} 容器不存在' ErrContainerMsg: '{{ .name }} 容器異常,請在容器頁面上檢視日誌' ErrAppBackup: '{{ .name }} 應用備份失敗 {{ .err }}' ErrVersionTooLow: '目前 1Panel 版本過低,無法更新應用程式商店,請升級版本之後操作' ErrAppNameExist: '應用程式名稱已存在' ErrAppInstallNameExist: '應用程式安裝名稱 {{ .name }} 已存在' AppStoreIsSyncing: '應用程式商店正在同步中,請稍後重試' ErrGetCompose: 'docker-compose.yml 檔案取得失敗!{{ .detail }}' ErrComposeProjectNameParse: '解析 Docker Compose 設定輸出中的專案名稱失敗:{{ .detail }}' ErrComposeProjectNameEmpty: '無法從 Docker Compose 設定或檔案父目錄中推導出專案名稱,請填寫名稱後重試' ErrComposeNameInvalid: 'Compose 專案名稱格式錯誤:必須以小寫字母或數字開頭,僅支援小寫字母、數字、- 和 _,長度為 1-256 個字元' ErrAppVersionUnavailable: '目前應用程式版本已從遠端服務下架,請選擇其他版本後重試' ErrVllmGB10ProOnly: '此 vLLM 版本僅支援 1Panel 專業版' ErrAppWarn: '狀態異常,請檢視日誌' ErrAppParamKey: '參數{{ .name }} 欄位異常' ErrAppUpgrade: '應用程式{{ .name }} 升級失敗{{ .err }}' AppRecover: '應用程式{{ .name }} 回滾' PullImageStart: '開始拉取映像 [{{ .name }}]' PullImageSuccess: '映像拉取成功' AppStoreSyncSuccess: '應用程式商店同步成功' SyncAppDetail: '同步應用程式設定' AppVersionNotMatch: '{{ .name }} 應用程式需要更高的 1Panel 版本,跳過同步' MoveSiteDir: '偵測到網站目錄變更 需要遷移 OpenResty 網站目錄到 {{ .name }}' MoveSiteDirSuccess: '遷移網站目錄成功' DeleteRuntimePHP: '刪除PHP 執行環境' CustomAppStoreFileValid: '應用程式商店包需要.tar.gz 格式' PullImageTimeout: '拉取映像逾時,請嘗試增加映像加速或更換其他映像加速' ErrAppIsDown: '{{ .name }} 應用程式狀態異常,請檢查' ErrCustomApps: '存在已安裝的應用程式,請先解除安裝' ErrCustomRuntimes: '存在已安裝的運作環境,請先刪除' ErrAppVersionDeprecated: '{{ .name }} 應用不適配目前 1Panel 版本,跳過' ErrDockerFailed: 'Docker 狀態異常,請檢查服務狀態' ErrDockerComposeCmdNotFound: 'Docker Compose 指令不存在,請先在宿主機安裝此指令' UseExistImage: '映像已存在,使用現有映像' UpgradePrepare: '準備應用程式升級' UpgradeStop: '停止原應用程式' UpgradeWaitReady: '等待應用程式就緒' UpgradeBackupDisabled: '未啟用升級備份,升級腳本產生的資料變更無法完整回滾' UpgradeRollbackFailed: '回滾失敗' ErrDatabaseNotFound: '資料庫 {{ .name }} 不存在' # SSH ExportIP: '登入IP' ExportArea: '歸屬地' ExportPort: '埠' ExportAuthMode: '登入方式' ExportUser: '使用者' ExportStatus: '登入狀態' ExportDate: '時間' # 檔案 ErrFileCanNotRead: '此檔案不支援預覽' ErrSensitiveFileRead: '不允許讀取敏感檔案' ErrFileToLarge: '檔案超過10M,無法開啟' ErrPathNotFound: '目錄不存在' ErrMovePathFailed: '目標路徑不可包含原路徑!' ErrLinkPathNotFound: '目標路徑不存在!' ErrFileIsExist: '檔案或資料夾已存在!' ErrFileUpload: '{{ .name }} 上傳檔案失敗{{ .detail }}' ErrFileDownloadDir: '不支援下載資料夾' ErrFileSharePath: '無效的分享路徑或目標不是檔案' ErrFileShareInvalid: '分享連結無效或已失效' ErrFileShareExpired: '分享連結已過期' ErrFileSharePassword: '存取密碼錯誤' ErrFileShareExhausted: '此分享連結的下載次數已用盡' ErrFileSharePasswordPolicy: '存取密碼至少 4 位' ErrFileShareRateLimit: '操作過於頻繁,請稍後再試' ErrCmdNotFound: '{{ .name }} 指令不存在,請先在宿主機安裝此指令' ErrSourcePathNotFound: '來源目錄不存在' ErrFavoriteExist: '已收藏此路徑' ErrInvalidChar: '禁止使用無效字元' ErrPathNotDelete: '所選目錄不可刪除' ErrLogFileToLarge: '日誌檔案超過 500M,無法開啟' FileDropFailed: '清理檔案 {{ .name }} 失敗: {{ .err }}' FileDropSuccess: '清理檔案 {{ .name }} 成功,清理 {{ .count }} 個檔案,釋放 {{ .size }} 磁碟空間' FileDropSum: '檔案清理完成,共清理 {{ .count }} 個檔案,共釋放 {{ .size }} 磁碟空間' ErrBadDecrypt: '壓縮檔解壓密碼錯誤,解壓失敗,請重試。' # 網站 ErrAliasIsExist: '代號已存在' ErrBackupMatch: '該備份檔案與目前網站部分資料不符{{ .detail }}' ErrBackupExist: '該備份檔案對應部分來源資料不存在{{ .detail }}' ErrPHPResource: '本機執行環境不支援切換!' ErrPathPermission: 'index 目錄下偵測到非 1000:1000 權限資料夾,可能導致網站存取 Access denied 錯誤,請點選上方儲存按鈕' ErrDomainIsUsed: '網域名稱已被網站【{{ .name }}】使用' ErrDomainFormat: '{{ .name }} 網域格式不正確' ErrDefaultAlias: 'default 為保留代號,請使用其他代號' ErrParentWebsite: '需要先移除子網站{{ .name }}' ErrBuildDirNotFound: '建置目錄不存在' ErrBrotliDisabled: 'brotli 模組未啟用,請先啟用並建置' ErrBrotliUnsupported: '面板無法自動將 brotli 設定寫入 nginx.conf,請檢查設定檔或升級 OpenResty' ErrModuleBuildUnsupported: '目前 OpenResty 版本無法建置模組,請先升級' ErrImageNotExist: '執行環境{{ .name }} 映像不存在,請重新編輯執行環境' ErrProxyIsUsed: '負載均衡已被反向代理使用,無法刪除' ErrSSLValid: '憑證檔案異常,請檢查憑證狀態!' ErrWebsiteDir: '請選擇網站目錄下的目錄' ErrComposerFileNotFound: 'composer.json 檔案不存在' ErrRuntimeNoPort: '執行環境未設定埠,請先編輯執行環境' ErrRuntimeProjectDirContainsCodeDir: '執行環境目錄包含所選專案目錄,請先更換專案目錄後再重新建立' Status: '狀態' start: '開啟' stop: '關閉' restart: '重新啟動' kill: '強制停止' pause: '暫停' unpause: '恢復' remove: '刪除' delete: '刪除' ErrDefaultWebsite: '已經設定預設網站,請取消後再設定!' SSL: '憑證' Set: '設定' # SSL 憑證 ErrSSLCannotDelete: '{{ .name }} 憑證正在被網站使用,無法刪除' ErrAccountCannotDelete: '帳號關聯憑證,無法刪除' ErrSSLApply: '憑證續簽成功,openresty reload 失敗,請檢查設定!' ErrEmailIsExist: '信箱已存在' ErrSSLKeyNotFound: '私鑰檔案不存在' ErrSSLCertificateNotFound: '憑證檔案不存在' ErrSSLKeyFormat: '私鑰檔案驗證失敗' ErrSSLCertificateFormat: '憑證檔案格式錯誤,請使用 pem 格式' ErrEabKidOrEabHmacKeyCannotBlank: 'EabKid 或 EabHmacKey 不可為空' ErrOpenrestyNotFound: 'HTTP 模式需要先安裝 OpenResty' ApplySSLStart: '開始申請憑證,網域名稱[{{ .domain }}] 申請方式[{{ .type }}]' dnsAccount: 'DNS 自動' dnsManual: 'DNS 手排' http: 'HTTP' ApplySSLFailed: '申請[{{ .domain }}] 憑證失敗, {{ .detail }}' ApplySSLSuccess: '申請[{{ .domain }}] 憑證成功!' DNSAccountName: 'DNS 帳號[{{ .name }}] 廠商[{{ .type }}]' PushDirLog: '憑證推送到目錄[{{ .path }}] {{ .status }}' ErrDeleteCAWithSSL: '目前機構下存在已簽發憑證,無法刪除' ErrDeleteWithPanelSSL: '面板SSL 設定使用此憑證,無法刪除' ErrDefaultCA: '預設機構不可刪除' ApplyWebSiteSSLLog: '開始更新{{ .name }} 網站憑證' ErrUpdateWebsiteSSL: '{{ .name }} 網站更新憑證失敗: {{ .err }}' ApplyWebSiteSSLSuccess: '更新網站憑證成功' ErrExecShell: '執行腳本失敗{{ .err }}' ExecShellStart: '開始執行腳本' ExecShellSuccess: '腳本執行成功' StartUpdateSystemSSL: '開始更新系統憑證' UpdateSystemSSLSuccess: '更新系統憑證成功' ErrWildcardDomain: 'HTTP 模式無法申請泛網域憑證' ErrApplySSLCanNotDelete: '正在申請的憑證 {{ .name }} 無法刪除,請稍後重試' StartPushSSLToNode: '開始推送憑證到節點' PushSSLToNodeFailed: '推送憑證到節點失敗: {{ .err }}' PushSSLToNodeSuccess: '推送憑證到節點成功' # MySQL ErrUserIsExist: '目前使用者已存在,請重新輸入' ErrDatabaseIsExist: '目前資料庫已存在,請重新輸入' ErrExecTimeOut: 'SQL 執行逾時,請檢查資料庫' ErrRemoteExist: '遠端資料庫已存在該名稱,請修改後重試' ErrLocalExist: '本機資料庫已存在該名稱,請修改後重試' RemoteBackup: '備份遠端資料庫需要先使用映像 {{ .name }} 啟動本機容器資料庫服務,請稍候...' RemoteRecover: '復原遠端資料庫需要先使用映像 {{ .name }} 啟動本機容器資料庫服務,請稍候...' Arg: '參數' # Redis ErrTypeOfRedis: '復原檔案類型與目前持久化方式不符,請修改後重試' # 容器 ErrInUsed: '{{ .detail }} 正被使用,無法刪除!' ErrObjectInUsed: '該對象正被使用,無法刪除!' ErrObjectBeDependent: '該映像正被其他映像所依賴,無法刪除!' ErrPortRules: '連接埠數目不符,請重新輸入!' ErrPgImagePull: '映像拉取逾時,請設定映像加速或手動拉取{{ .name }} 映像後重試' PruneHelper: '本次清理 {{ .name }} 釋放磁碟空間 {{ .size }}' ImageRemoveHelper: '刪除映像 {{ .name }} ,釋放磁碟空間 {{ .size }}' BuildCache: '構建快取' Volume: '磁碟區' Network: '網路' PruneStart: '清理中,請稍候...' ContainerBackupPrepare: '準備容器備份工作目錄' ContainerBackupStop: '備份前停止容器' ContainerBackupInspect: '備份容器 Inspect 與網路資訊' ContainerBackupMounts: '備份容器掛載資料' ContainerBackupMeta: '寫入容器備份中繼資訊' ContainerBackupStart: '備份後啟動容器' ContainerRecoverPrepare: '準備容器還原工作目錄' ContainerRecoverExtract: '解壓容器備份檔案' ContainerRecoverParse: '載入容器備份中繼資訊' ContainerRecoverCreate: '重建容器' ContainerRecoverMounts: '還原容器掛載資料' ContainerRecoverStart: '啟動已還原容器' ContainerRecoverCleanup: '清理容器還原工作目錄' ComposeBackupPrepare: '準備編排備份工作目錄' ComposeBackupStop: '備份前停止編排' ComposeBackupFiles: '備份編排檔案' ComposeBackupContainers: '備份編排容器' ComposeBackupMeta: '寫入編排備份中繼資訊' ComposeBackupStart: '備份後啟動編排' ComposeBackupCleanup: '清理編排備份工作目錄' ComposeRecoverPrepare: '準備編排還原工作目錄' ComposeRecoverExtract: '解壓編排備份檔案' ComposeRecoverMeta: '載入編排備份中繼資訊' ComposeRecoverMetaLogName: '編排還原中繼資訊:名稱={{ .name }}' ComposeRecoverMetaLogPath: '編排還原中繼資訊:備份路徑={{ .backupPath }} 目標路徑={{ .targetDir }}' ComposeRecoverMetaLogCount: '編排還原中繼資訊:檔案數={{ .files }} 容器數={{ .containers }}' ComposeRecoverFiles: '還原編排檔案' ComposeRecoverContainers: '還原編排容器' ComposeRecoverRecord: '保存編排記錄' ComposeRecoverCleanup: '清理編排還原工作目錄' # 執行環境 ErrFileNotExist: '{{ .detail }} 檔案不存在!請檢查來源檔案完整性!' ErrImageBuildErr: '映像build 失敗' ErrImageExist: '映像已存在!請修改映像名稱。' ErrDelWithWebsite: '執行環境已經關聯網站,無法刪除' ErrRuntimeStart: '啟動失敗' ErrPackageJsonNotFound: 'package.json 檔案不存在' ErrScriptsNotFound: '沒有在 package.json 中找到 scripts 設定項' ErrContainerNameNotFound: '無法取得容器名稱,請檢查.env 檔案' ErrNodeModulesNotFound: 'node_modules 資料夾不存在!請編輯執行環境或等待執行環境啟動成功' ErrContainerNameIsNull: '容器名稱不存在' ErrPHPPortIsDefault: '9000 埠為預設埠,請修改後重試' ErrPHPRuntimePortFailed: '{{ .name }} 埠已被目前執行環境使用,請修改後重試' # 工具 ErrConfigNotFound: '設定檔不存在' ErrConfigParse: '設定檔格式有誤' ErrConfigIsNull: '設定檔不允許為空' ErrConfigDirNotFound: '執行目錄不存在' ErrConfigAlreadyExist: '已存在同名設定檔' ErrUserFindErr: '使用者{{ .name }} 尋找失敗{{ .err }}' # 計劃任務 CutWebsiteLogSuccess: '{{ .name }} 網站日誌切割成功,備份路徑{{ .path }}' HandleShell: '執行腳本{{ .name }}' HandleCurl: '存取 URL {{ .name }}' HandleNtpSync: '系統時間同步' HandleSystemClean: '系統快取清理' SystemLog: '系統日誌' CutWebsiteLog: '切割網站日誌' FileOrDir: '目錄 / 檔案' UploadFile: '上傳備份檔案 {{ .file }} 到 {{ .backup }}' Upload: '上傳' IgnoreBackupErr: '備份失敗,錯誤:{{ .detail }},忽略本次錯誤...' IgnoreUploadErr: '上傳失敗,錯誤:{{ .detail }},忽略本次錯誤...' LoadBackupFailed: '取得備份帳號連線失敗,錯誤:{{ .detail }}' InExecuting: '目前任務正在執行中,請勿重複執行!' NoSuchResource: '資料庫中未能查詢到備份內容,跳過...' CleanLog: '清理日誌' CleanLogByName: '清理 {{ .name }} 日誌' WafIpGroupNotFound: 'WAF IP 群組未找到,請先到【進階功能-WAF-黑白名單-IP群組】添加遠端下載方式的IP群組' # 工具箱 ErrNotExistUser: '目前使用者不存在,請修改後重試!' ErrBanAction: '設定失敗,目前{{ .name }} 服務不可用,請重試' ErrClamdscanNotFound: '未偵測到clamdscan 指令,請參考檔案安裝!' TaskSwapSet: '設定 Swap' SetSwap: '設定 Swap {{ .path }} - {{ .size }}' CreateSwap: '建立 Swap 檔案' FormatSwap: '格式化 Swap 檔案' EnableSwap: '啟用 Swap' # 防篡改 CleanTamperSetting: '清理歷史防護設定' SetTamperWithRules: '根據規則啟動目錄防護' ProtectDir: '防護目錄 {{ .name }}' IgnoreFile: '保護檔案 {{ .name }}' TamperSetSuccessful: '防護設定完成,開始監聽以下目錄:' # WAF ErrScope: '不支援修改此設定' ErrStateChange: '狀態修改失敗' ErrRuleExist: '規則已存在' ErrRuleNotExist: '規則不存在' ErrParseIP: 'IP 格式錯誤' ErrDefaultIP: 'default 為保留名稱,請更換其他名稱' ErrGroupInUse: 'IP 群組被黑/白名單使用,無法刪除' ErrIPGroupAclUse: 'IP 群組被網站 {{ .name }} 自訂規則使用,無法刪除' ErrIPGroupOriginProtectionUse: 'IP 群組被網站 {{ .name }} 的 CDN 來源站保護使用,無法刪除' ErrOriginProtectionIPGroupRequired: '開啟來源站保護時必須選擇至少一個非空 IP 群組' ErrOriginProtectionIPGroupInvalid: 'IP 群組 {{ .name }} 不存在或為空' ErrGroupExist: 'IP 群組名稱已存在' ErrIPRange: 'IP 範圍錯誤' ErrIPExist: 'IP 已存在' urlDefense: 'URL 規則' urlHelper: '禁止訪問的URL' dirFilter: '目錄過濾' xss: 'XSS' phpExec: 'PHP 腳本執行' oneWordTrojan: '一句話木馬' appFilter: '套用危險目錄過濾' webShell: 'WebShell' args: '參數規則' protocolFilter: '協定過濾' javaFilter: 'Java 危險檔案過濾' scannerFilter: '掃描器過濾' escapeFilter: '轉義過濾' customRule: '自訂規則' httpMethod: 'HTTP 方法過濾' fileExt: '檔案上傳限制' defaultIpBlack: '惡意IP 群組' cookie: 'Cookie 規則' urlBlack: 'URL 黑名單' uaBlack: 'User-Agent 黑名單' attackCount: '攻擊頻率限制' fileExtCheck: '檔案上傳限制' geoRestrict: '地區訪問限制' unknownWebsite: '未授權網域存取' notFoundCount: '404 頻率限制' headerDefense: 'Header 規則' defaultUaBlack: 'User-Agent 規則' methodWhite: 'HTTP 規則' captcha: '人機驗證' fiveSeconds: '5 秒驗證' vulnCheck: '補充規則' acl: '自訂規則' sql: 'SQL 注入' cc: '訪問頻率限制' defaultUrlBlack: 'URL 規則' sqlInject: 'SQL 注入' ErrDBNotExist: '資料庫不存在' allow: '允許' deny: '禁止' OpenrestyNotFound: 'OpenResty 未安裝' remoteIpIsNull: 'IP 列表為空' OpenrestyVersionErr: 'OpenResty 版本過低,請升級 OpenResty 至 1.27.1.2-2-2-focal' ErrFileTooLarge: '檔案超過 1MB,無法上傳' # 任務 TaskStart: '{{ .name }} 任務開始[START]' TaskEnd: '{{ .name }} 任務結束[COMPLETED]' TaskFailed: '{{ .name }} 任務失敗' TaskTimeout: '{{ .name }} 逾時' TaskSuccess: '{{ .name }} 任務成功' TaskRetry: '開始第{{ .name }} 次重試' SubTaskSuccess: '{{ .name }} 成功' SubTaskFailed: '{{ .name }} 失敗: {{ .err }}' TaskInstall: '安裝' TaskUninstall: '移除' TaskCreate: '建立' TaskDelete: '刪除' TaskUpgrade: '升級' TaskUpdate: '更新' AgentPluginInstall: '安裝外掛程式' AgentPluginEnable: '啟用外掛程式' AgentPluginDisable: '停用外掛程式' AgentPluginUpdate: '更新外掛程式' AgentPluginUninstall: '解除安裝外掛程式' TaskRestart: '重新啟動' TaskProtect: '防護' TaskBackup: '備份' TaskRecover: '復原' TaskRollback: '回滾' TaskPull: '拉取' TaskCommit: '製作' TaskBuild: '建置' TaskPush: '推送' TaskClean: '清理' TaskHandle: '執行' TaskImport: '匯入' TaskExport: '匯出' Website: '網站' App: '應用程式' Runtime: '運作環境' Database: '資料庫' ConfigFTP: '建立FTP 使用者{{ .name }}' ConfigOpenresty: '建立 OpenResty 設定檔' InstallAppSuccess: '應用程式{{ .name }} 安裝成功' ConfigRuntime: '設定執行環境' ConfigApp: '設定應用程式' SuccessStatus: '{{ .name }} 成功' FailedStatus: '{{ .name }} 失敗{{ .err }}' HandleLink: '處理應用程式關聯' HandleDatabaseApp: '處理應用程式參數' ExecShell: '執行{{ .name }} 腳本' PullImage: '拉取映像' Start: '開始' Run: '啟動' Stop: '停止' Image: '映像' Compose: '編排' Container: '容器' AppLink: '關聯應用程式' EnableSSL: '開啟HTTPS' AppStore: '應用程式商店' TaskSync: '同步' LocalApp: '本機應用' SubTask: '子任務' RuntimeExtension: '執行環境擴充' TaskIsExecuting: '任務正在運作' CustomAppstore: '自訂應用程式倉庫' TaskExec: '執行' TaskBatch: '批次操作' FileConvert: '檔案格式轉換' # 任務 - ClamAV Clamscan: '掃描 {{ .name }}' TaskScan: '掃描' # 任務 - AI OllamaModelPull: '拉取 Ollama 模型{{ .name }}' OllamaModelSize: '取得 Ollama 模型{{ .name }} 大小' AIBenchmarkRun: '執行 AI 基準測試' # 任務 - 快照 Snapshot: '快照' SnapDBInfo: '寫入1Panel 資料庫資訊' SnapCopy: '複製檔案&目錄{{ .name }}' SnapNewDB: '初始化資料庫{{ .name }} 連線' SnapDeleteOperationLog: '刪除操作日誌' SnapDeleteLoginLog: '刪除存取日誌' SnapDeleteMonitor: '刪除監控資料' SnapRemoveSystemIP: '移除系統IP' SnapBaseInfo: '寫入1Panel 基本資料' SnapInstallAppImageEmpty: '目前未勾選應用映像,跳過...' SnapInstallApp: '備份 1Panel 已安裝應用' SnapDockerSave: '壓縮已安裝應用' SnapLocalBackup: '備份1Panel 本機備份目錄' SnapCompressBackup: '壓縮本機備份目錄' SnapPanelData: '備份1Panel 資料目錄' SnapCompressPanel: '壓縮資料目錄' SnapWebsite: '備份1Panel 網站目錄' SnapCloseDBConn: '關閉資料庫連線' SnapCompress: '製作快照檔案' SnapCompressFile: '壓縮快照檔案' SnapCheckCompress: '檢查快照壓縮檔' SnapCompressSize: '快照檔案大小{{ .name }}' SnapUpload: '上傳快照檔案' SnapUploadTo: '上傳快照檔案到{{ .name }}' SnapUploadRes: '上傳快照檔案到{{ .name }}' SnapshotRecover: '快照復原' RecoverDownload: '下載快照檔案' Download: '下載' RecoverDownloadAccount: '取得快照下載備份帳號{{ .name }}' RecoverDecompress: '解壓縮快照壓縮檔' Decompress: '解壓縮' BackupBeforeRecover: '快照前備份系統相關資料' ReadJson: '讀取快照內JSON 檔案' ReadJsonPath: '取得快照內JSON 檔案路徑' ReadJsonContent: '讀取JSON 檔案' ReadJsonMarshal: 'JSON 轉義處理' RecoverApp: '復原已安裝應用程式' RecoverWebsite: '復原網站目錄' RecoverAppImage: '復原快照映像備份' RecoverCompose: '復原其他編排內容' RecoverComposeList: '取得所有待復原編排' RecoverComposeItem: '復原編排{{ .name }}' RecoverAppEmpty: '快照檔案中未發現應用程式映像備份' RecoverBaseData: '復原基礎資料及檔案' RecoverDaemonJsonEmpty: '快照檔案及目前機器都不存在容器設定daemon.json 檔' RecoverDaemonJson: '復原容器設定daemon.json 檔' RecoverDBData: '復原資料庫資料' RecoverBackups: '還原本機備份目錄' RecoverPanelData: '復原資料目錄' # 任務 - 容器 ContainerImagePull: '拉取容器映像{{ .name }}' ContainerRemoveOld: '刪除原容器{{ .name }}' ContainerImageCheck: '檢查映像是否正常拉取' ContainerLoadInfo: '取得容器基本資訊' ContainerRecreate: '容器更新失敗,現在開始復原原容器' ContainerCreate: '建立新容器{{ .name }}' ContainerCreateFailed: '容器建立失敗,刪除失敗容器' ContainerStartCheck: '檢查容器是否已啟動' ContainerAcquireLock: '等待容器 {{ .name }} 操作鎖' ContainerUpgradeItem: '升級容器 {{ .name }}' ContainerUpgradeSummary: '彙總容器升級結果' ContainerCleanupWarning: '容器更新成功,但備份容器 {{ .name }} 刪除失敗。請確認新容器運作正常後手動刪除該備份容器。錯誤:{{ .err }}' ContainerStopOld: '停止原容器 {{ .name }}' ContainerRenameOld: '重新命名原容器 {{ .name }} 以便回復' ContainerDisconnectOld: '釋放原容器 {{ .name }} 的網路位址' ContainerCreateReplacement: '建立替換容器 {{ .name }}' ContainerStartReplacement: '啟動替換容器 {{ .name }}' ContainerWaitReplacement: '檢查替換容器 {{ .name }} 是否就緒' ContainerStartupDiagnostic: '替換容器 {{ .name }} 啟動失敗診斷' ContainerRecentLogs: '最近 200 行容器日誌' ContainerDiagnosticLogsFailed: '取得失敗容器 {{ .name }} 日誌失敗:{{ .err }}' ContainerDiagnosticLogsEmpty: '容器沒有可用日誌' ContainerRollbackRestartOld: '重新啟動原容器 {{ .name }}' ContainerRollbackRemoveReplacement: '刪除啟動失敗的替換容器 {{ .name }}' ContainerRollbackRenameOld: '恢復原容器 {{ .name }} 的名稱' ContainerRollbackReconnectOld: '恢復原容器 {{ .name }} 的網路' # 任務 - 映像 ImageBuild: '映像建置' ImagePull: '拉取映像' ImageRepoAuthFromDB: '從資料庫取得倉庫認證資訊' ImagePush: '推播映像' ImageRenameTag: '修改映像Tag' ImageNewTag: '新映像Tag {{ .name }}' ComposeCreate: '建立編排' # 任務 - 網站 BackupNginxConfig: '備份網站OpenResty 設定檔' CompressFileSuccess: '壓縮目錄成功,壓縮為{{ .name }}' CompressDir: '壓縮目錄' DeCompressFile: '解壓縮檔案{{ .name }}' ErrCheckValid: '驗證備份檔失敗,{{ .name }}' Rollback: '回滾' websiteDir: '網站目錄' RecoverFailedStartRollBack: '復原失敗,開始回溯' AppBackupFileIncomplete: '備份檔案不完整缺少 app.json 或 app.tar.gz 檔案' AppAttributesNotMatch: '應用程式類型或名稱不一致' # 告警 ErrAlertMethodNotSupported: '當前版本不支援此告警方式' ErrAlertSync: '警告訊息同步錯誤,請重試。' # 任務 - 執行環境 ErrInstallExtension: '已有安裝任務正在進行,請等待任務結束' # 告警郵件範本 PanelAlertTitle: '面板警示通知' TestAlertTitle: '測試郵件 - 驗證信箱連通性' TestAlert: '這是一封測試郵件,用於確認您的郵件發送設定是否正確。' LicenseExpirationAlert: '您的 {{ .node }}{{ .ip }} 面板,授權將於 {{ .day }} 天後到期,詳情請登入面板檢視。' CronJobFailedAlert: '您的 {{ .node }}{{ .ip }} 面板,排程任務{{ .name }}執行失敗,詳情請登入面板檢視。' ClamAlert: '您的 {{ .node }}{{ .ip }} 面板,病毒掃描任務偵測到 {{ .num }} 個感染檔案,詳情請登入面板檢視。' WebSiteAlert: '您的 {{ .node }}{{ .ip }} 面板,{{ .num }} 個網站將於 {{ .day }} 天後到期,詳情請登入面板檢視。' SSLAlert: '您的 {{ .node }}{{ .ip }} 面板,{{ .num }} 張SSL憑證將於 {{ .day }} 天後到期,詳情請登入面板檢視。' DiskUsedAlert: '您的 {{ .node }}{{ .ip }} 面板,磁碟 {{ .name }} 使用率已達 {{ .used }},詳情請登入面板檢視。' ResourceAlert: '您的 {{ .node }}{{ .ip }} 面板,過去 {{ .time }} 分鐘內 {{ .name }} 平均使用率為 {{ .used }},詳情請登入面板檢視。' PanelVersionAlert: '您的 {{ .node }}{{ .ip }} 面板,已有最新版本可供升級,詳情請登入面板檢視。' PanelPwdExpirationAlert: '您的 {{ .node }}{{ .ip }} 面板,面板密碼將於 {{ .day }} 天後到期,詳情請登入面板檢視。' CommonAlert: '您的 {{ .node }}{{ .ip }} 面板,{{ .msg }},詳情請登入面板檢視。' NodeExceptionAlert: '您的 {{ .node }}{{ .ip }} 面板,{{ .num }} 個節點出現異常,詳情請登入面板檢視。' LicenseExceptionAlert: '您的 {{ .node }}{{ .ip }} 面板,{{ .num }} 個授權出現異常,詳情請登入面板檢視。' SSHAndPanelLoginAlert: '您的 {{ .node }}{{ .ip }} 面板,來自 {{ .loginIp }} 的 {{ .name }} 登入出現異常,詳情請登入面板檢視。' # 磁碟 DeviceNotFound: '裝置 {{ .name }} 未找到' DeviceIsMounted: '裝置 {{ .name }} 已掛載,請先移除' PartitionDiskErr: '分區失敗,{{ .err }}' FormatDiskErr: '格式化磁碟失敗,{{ .err }}' MountDiskErr: '掛載磁碟失敗,{{ .err }}' XfsNotFound: '未偵測到 xfs 檔案系統,請先安裝 xfsprogs' # 終端 TerminalAIBlockedRiskyCommand: '已攔截風險命令:{{ .command }}' TerminalAIThinking: 'AI 正在思考...' TerminalOutputTruncated: '[輸出已截斷,僅顯示最近輸出]' TerminalAIReadyToExecute: '思考完成,請按 Enter 執行(耗時 {{ .duration }},token:{{ .tokens }})' TerminalAIRequestFailed: 'AI 請求失敗:{{ .err }}' # AI 閘道 ErrAIProxyServiceNotInstalled: '{{ .name }} 服務未安裝' ErrAIProxyModelAccountNotFound: '模型帳號 {{ .id }} 不存在' ErrAIProxyModelMapRequired: '請填寫必填項' ErrAIProxyModelMapInvalid: '模型映射必須是合法的 JSON 物件:{{ .err }}' ErrAIProxyModelMapEmpty: '模型映射不能為空' ErrAIProxyModelMapEmptyExternalModel: '模型映射中存在空的請求模型' ErrAIProxyModelMapEmptyUpstreamModel: '模型 {{ .model }} 的上游模型不能為空' AIProxyUserFallback: '已刪除使用者 (ID: {{ .id }})' AIProviderBailian: '阿里雲百煉' AIProviderBailianCodingPlan: '阿里雲百煉 Coding Plan' AIProviderArk: '火山方舟' AIProviderArkCodingPlan: '火山方舟 Coding Plan' # 防火牆 ErrDockerIptablesChainUnavailable: '未偵測到 Docker 的 DOCKER-USER 鏈,請重新啟動 Docker 後再試' ErrDockerNftablesChainUnavailable: '未偵測到 Docker 的 nftables IPv4 防火牆鏈,請確認目前 Docker 版本支援 nftables 防火牆後端,重新啟動 Docker 後再試' ErrDockerForwardPolicyDrop: '偵測到 {{ .family }} FORWARD 預設策略為 DROP,請調整後重試' ErrUFWRuleAdopt: 'UFW 規則納管失敗:{{ .detail }}。如果目前 UFW 版本低於 0.35,請先升級 UFW 後再試' Firewall: '防火牆' FirewallTaskHost: '主機防火牆' FirewallTaskForwarding: '連接埠轉發' FirewallTaskDocker: '容器連接埠防護' FirewallRuleTaskCreate: '建立防火牆規則[{{ .name }}]' FirewallRuleTaskUpdate: '更新防火牆規則[{{ .name }}]' FirewallRuleTaskDelete: '刪除防火牆規則[{{ .name }}]' FirewallRuleTaskSync: '同步防火牆規則[{{ .name }}]' FirewallTaskInitialize: '初始化防火牆[{{ .name }}]' FirewallCreateRulesStep: '建立防火牆規則' FirewallCreateRulesResult: '建立結果:成功 {{ .succeeded }} 條,失敗 {{ .failed }} 條,未執行 {{ .skipped }} 條' FirewallRuleOperationResult: '操作結果:成功 {{ .succeeded }} 條,失敗 {{ .failed }} 條' FirewallCreateRuleSkipped: '未執行' FirewallCreateBatchStep: '向 {{ .backend }} 批次提交 {{ .count }} 條規則' FirewallImportRuleConversion: '[{{ .index }}/{{ .total }}] {{ .source }} → {{ .target }}:{{ .rule }};轉換為 {{ .count }} 條規則' FirewallCreateRuleExecutionFailed: '規則建立失敗,未寫入資料庫,已執行的命令不回復' FirewallCreateRulePersistenceFailed: '規則已建立,但納管資訊儲存失敗' FirewallAdoptRulePersistenceFailed: '規則納管命令已執行,但納管資訊儲存失敗' FirewallSyncOperationsResult: '同步操作彙總:刪除成功 {{ .removed }} 條,建立成功 {{ .created }} 條,失敗 {{ .failed }} 條,未執行 {{ .skipped }} 條,已一致無需變更 {{ .unchanged }} 條' FirewallSyncRuleUnchanged: '已一致,無需變更' FirewallSyncStep: '同步規則到 {{ .name }}' FirewallSyncFailed: '{{ .failed }} 條防火牆規則同步失敗' FirewallResetSourceStep: '重設並停用來源防火牆 {{ .name }}' FirewallResetSourceResult: '來源防火牆重設完成,已刪除 {{ .removed }} 條資料庫規則' FirewallInitializeChainsStep: '初始化並綁定 {{ .name }} 基礎鏈' FirewallRestoreRulesStep: '恢復資料庫規則至 {{ .name }}' FirewallSyncWhitelistStep: '同步防火牆連接埠白名單' FirewallEnableForwardingStep: '啟用並綁定連接埠轉發鏈' FirewallRestoreForwardingRulesStep: '恢復資料庫連接埠轉發規則' FirewallInspectDockerGuardStep: '檢查 Docker 防火牆後端與防護策略' FirewallInitializeDockerGuardStep: '初始化並綁定 {{ .name }} 連接埠防護鏈' FirewallPersistDockerGuardStep: '儲存 Docker 連接埠防護狀態' ErrFirewallRuleScopeChange: "目前的防火牆不支援修改規則的作用範圍(如 IPv4/IPv6 位址族),請建立新規則。" FirewallWhitelistReleased: "{{ .name }}:已解除白名單保護,放行規則保留;如需關閉連接埠,請在規則清單手動刪除" FirewallWhitelistRequired: "{{ .name }}:由系統必要連接埠規則保護"