# 基礎錯誤 ErrInvalidParams: "請求參數錯誤: {{ .detail }}" ErrTokenParse: "Token 產生錯誤: {{ .detail }}" ErrInitialPassword: "原密碼錯誤" ErrInternalServer: "服務內部錯誤: {{ .detail }}" ErrInternalServerKey: "服務內部錯誤: " ErrRecordExist: "記錄已存在" ErrRecordNotFound: "記錄未找到" ErrStructTransform: "類型轉換失敗: {{ .detail }}" ErrNotSupportType: "系統暫不支援目前類型: {{ .name }}" ErrDemoEnvironment: "示範伺服器,禁止此操作!" ErrCmdTimeout: "指令執行逾時!" ErrPortInUsed: "{{ .name }} 埠已被佔用!" ErrFileNotFound: "{{ .name }} 檔案不存在" ErrReqFailed: "{{.name}} 請求失敗: {{ .err }}" # 請求與安全入口 ErrNoSuchHost: "無法找到請求的伺服器 {{ .err }}" ErrHttpReqNotFound: "無法找到請求的資源 {{ .err }}" ErrHttpReqFailed: "請求失敗 {{ .err }}" ErrHttpReqTimeOut: "請求逾時 {{ .err }}" ErrCreateHttpClient: "建立請求失敗 {{ .err }}" ErrProxy: "請求錯誤,請檢查該節點狀態: {{ .detail }}" ErrProxySetting: "代理伺服器資訊不可用 {{ .err }},請檢查後重試。" ErrEntrance: "安全入口資訊錯誤,請檢查後再試。" ErrEntranceFormat: "暫不支援安全入口 {{ .name }} ,請檢查後重試。" # 登入與安全 ErrNotLogin: "使用者未登入: {{ .detail }}" ErrSessionDataNotFound: "目前工作階段已過期!" ErrSessionDataFormat: "目前工作階段資料格式異常!" ErrPasswordExpired: "目前密碼已過期: {{ .detail }}" ErrLoginLocked: "失敗次數過多,目前登入已被暫時鎖定 5 分鐘。" ErrApiConfigStatusInvalid: "API 介面禁止存取: {{ .detail }}" ErrApiConfigKeyInvalid: "API 金鑰錯誤: {{ .detail }}" ErrApiConfigIPInvalid: "API 請求 IP 不在白名單: {{ .detail }}" ErrApiConfigDisable: "此介面禁止使用 API 呼叫: {{ .detail }}" ErrApiConfigKeyTimeInvalid: "API 時間戳錯誤: {{ .detail }}" ErrPasskeyDisabled: "需啟用 HTTPS 才能使用 Passkey" ErrPasskeyNotConfigured: "尚未設定 Passkey" ErrPasskeyLimit: "Passkey 數量已達上限(最多 5 個)" ErrPasskeySession: "Passkey 會話已過期或無效" ErrPasskeyDuplicate: "Passkey 已存在" ErrPasskeyVerify: "Passkey 驗證失敗" ErrOIDCNotEnabled: "OIDC 驗證尚未啟用" ErrOIDCConfigInvalid: "OIDC 設定無效" ErrOIDCConfigChanged: "OIDC 設定已變更,請重新發起驗證" ErrOIDCDiscoveryFailed: "OIDC Provider 設定探索失敗" ErrOIDCIssuerMismatch: "OIDC Issuer 與設定的 Issuer 不一致" ErrOIDCUnsupportedPKCE: "OIDC Provider 不支援要求的 PKCE 方式" ErrOIDCUnsupportedSigningAlgorithm: "不支援此 OIDC 簽章演算法" ErrOIDCInvalidState: "OIDC 登入狀態無效或已被使用" ErrOIDCLoginExpired: "OIDC 登入請求已過期,請重試" ErrOIDCTokenExchange: "OIDC 授權碼交換 Token 失敗" ErrOIDCTokenValidation: "OIDC Token 驗證失敗" ErrOIDCUserInfoValidation: "OIDC 使用者資訊驗證失敗" ErrOIDCNameClaimMissing: "設定的 OIDC 使用者名稱 Claim 缺失或無效" ErrOIDCNameConflictLocal: "OIDC 使用者名稱與本機使用者衝突" ErrOIDCNameConflictLDAP: "OIDC 使用者名稱與 LDAP 使用者衝突" ErrOIDCNameConflictOIDC: "OIDC 使用者名稱與其他 OIDC 身分衝突" ErrOIDCDefaultRoleInvalid: "OIDC 設定的預設角色不可用" ErrOIDCPrivateAddressDenied: "OIDC 端點位址不符合網路安全原則" ErrOIDCTLSValidation: "OIDC TLS 憑證驗證失敗" ErrOIDCTestExpired: "OIDC 瀏覽器測試已過期,請重新測試" ErrOIDCLocalCredentialsReadonly: "OIDC 使用者名稱和密碼由身分提供者管理,無法在本機修改。" ErrOIDCPasswordExpirationUnsupported: "OIDC 使用者不使用本機密碼到期原則。" ErrOIDCInternal: "OIDC 認證發生內部錯誤,請稍後重試。" # 使用者與權限 ErrNoSuchUser: "未能找到該使用者資訊,請檢查後重試!" ErrToMaster: "該使用者無權限對主節點進行此操作,請檢查後重試!" ErrToNode: "該使用者無權限對該節點進行此操作,請檢查後重試!" ErrRBAC: "使用者權限不足,無法進行此操作,請檢查後重試!" ErrNoneNode: "該使用者無任何節點權限,請聯絡管理員或檢查後重試!" ErrOnlySuperAdmin: "僅超級管理員支援此功能!" ErrRolePresetCannotDelete: "系統預設角色,無法刪除" ErrRolePresetCannotUpdate: "系統預設角色,無法修改" ErrRoleBoundToUser: "角色已被使用者綁定,無法刪除" ErrRolePresetCannotBind: "系統預設角色,無法分配給使用者" ErrNodeAdminMasterForbidden: "主節點不允許新增節點管理員權限" ErrSuperAdminCannotDelete: "超級管理員使用者無法刪除" ErrGroupIsDefault: "預設分組無法刪除" ErrGroupIsInUse: "分組正被使用,無法刪除。" # 許可證 LicenseCheck: '檢查許可證是否可用' ErrLicenseInUsed: '偵測到該許可證已被綁定,請檢查後重試。' ErrLicenseExpired: '偵測到該許可證已過期,請檢查後重試。' ErrLicense: "許可證格式錯誤,請檢查後重試。" ErrLicenseCheck: "許可證驗證失敗,請檢查後重試。" ErrXpackVersion: "許可證驗證失敗,該許可證受版本限制,無法成功匯入,請檢查後重試。" ErrLicenseSave: "許可證資訊儲存失敗,錯誤 {{ .err }},請重試。" ErrLicenseSync: "許可證資訊同步失敗,資料庫中未偵測到許可證資訊!" ErrLicenseExist: "該許可證記錄已存在,您可直接前往許可證頁面進行節點綁定。" ErrXpackNotFound: "此功能需要商業版。請在 面板設定 > 許可證 匯入許可證" ErrXpackExceptional: "此功能需要商業版。請在 面板設定 > 許可證 同步許可證狀態" ErrXpackLost: "許可證已達重試上限,請前往 面板設定 > 許可證 手動同步" ErrEnterpriseLicenseRequired: "企業版許可證未匯入,請先匯入許可證" ErrDeviceLost: "許可證驗證必要檔案遺失,請檢查後重試。" ErrDeviceErr: "目前環境與許可證匯入環境不一致,請編輯許可證重新匯入!" ErrXpackTimeout: "請求逾時,網路連接可能不穩定,請稍後再試。" ErrUnbindMaster: "偵測到節點管理內存在節點,無法解綁目前許可證,請先移除後重試!" ErrFreeNodeLimit: "可新增節點數量已達上限,請購買後再試!" ErrNodeBound: "該許可證已綁定到其他節點,請檢查後重試。" ErrNodeBoundDelete: "該許可證已被綁定,不支援刪除操作,請檢查後重試。" ErrNodeBoundLimit: "目前免費節點已達上限,請檢查後重試。" ErrLicenseFree: "僅當許可證正常綁定到節點後,才能使用其免費節點,請檢查後重試。" ErrLicenseUnbind: "此許可證仍綁定了社群版節點,請在 面板設定 > 許可證 解除綁定後再試" ErrLicenseBindCount: "新許可證免費節點數量小於目前已綁定的社群版節點數量,請檢查後重試。" ErrNoSuchNode: "未能找到該節點資訊,請檢查後重試。" ErrNodeUnbind: "偵測到該節點未在許可證綁定範圍內,請檢查後重試。" ErrNodeBind: "偵測到該節點已綁定許可證,請檢查後重試。" ErrNodeLocalRollback: "主節點暫不支援直接回滾,請手動執行 '1pctl restore' 進行回滾" ErrIntlLicense: "當前版本暫不支援匯入國際版許可證,敬請期待!" InvalidRequestBodyType: "請求內容格式錯誤,請檢查請求內容是否符合格式要求後重試!" InvalidLicenseCodeType: "提供的許可證格式錯誤,請檢查後重試。" LicenseNotFoundType: "許可證不存在,系統中未找到與提供許可證符合的紀錄,請檢查後重試。" LicenseRevokedType: "請求的許可證已被廢棄,無法使用,請檢查後重試。" LicenseExpiredType: "許可證已超過有效期,請續費或在 面板設定-許可證 介面重新匯入許可證後重試!" LicenseProductMismatchType: "許可證與目前請求的產品或服務不符!" InvalidAssigneeType: "許可證分配的目標使用者或裝置資訊無效,請檢查後重試。" LicenseUsageNotFoundType: "無使用記錄,目前許可證尚未被啟動或使用,請檢查後重試。" LicenseUsageLimitExceededType: "該許可證已綁定到其他節點,請檢查後重試。" # 節點與叢集 MasterNode: "主節點" Node: "節點" ErrLocalDelete: "無法刪除本機節點!" ErrMasterDelete: "無法刪除主節點,請先刪除從節點" ClusterNameIsExist: "叢集名稱已存在" AppStatusUnHealthy: "應用取得狀態異常,請在節點列表檢查安裝節點狀態" MasterNodePortNotAvailable: "節點 {{ .name }} 埠 {{ .port }} 連通性驗證失敗,請檢查防火牆/安全組設定和主節點狀態" ClusterMasterNotExist: "叢集主節點失聯,請刪除子節點" # 虛擬機 ErrVMNotFound: "虛擬機不存在" ErrVMAlreadyExists: "虛擬機已存在" ErrVMImageAlreadyExists: "虛擬機映像檔已存在: {{ .detail }}" ErrVMStoragePathInUse: "儲存池路徑已被 [{{ .name }}] 使用" ErrVMHelperNotFound: "1panel-kvm 不存在" ErrVMBridgeManaged: "橋接名稱已被 libvirt 或 Docker 管理" ErrVMNetworkInUse: "網路正在被使用,無法刪除" ErrVMStorageInUse: "儲存池正在被使用,無法刪除" ErrVMStorageNameCannotChange: "儲存池名稱無法修改" ErrVMStoragePathCannotChange: "儲存池路徑無法修改" ErrVMRunning: "虛擬機正在執行" ErrVMLibvirtConnect: "連接 libvirt 失敗: {{ .detail }}" ErrVMPermission: "沒有虛擬機操作權限: {{ .detail }}" ErrVMNetworkNotFound: "虛擬機網路不存在: {{ .detail }}" ErrVMInvalidPath: "虛擬機路徑非法: {{ .detail }}" ErrVMInvalidInput: "虛擬機參數非法: {{ .detail }}" ErrVMCommandFailed: "虛擬機指令執行失敗: {{ .err }}" VMCreateTask: "建立虛擬機 [{{ .name }}]" VMCreateFromTemplateTask: "從範本建立虛擬機 [{{ .name }}]" VMUpdateTask: "更新虛擬機 [{{ .name }}]" VMRenameTask: "重新命名虛擬機 [{{ .name }}] 為 [{{ .newName }}]" VMDeleteTask: "刪除虛擬機 [{{ .name }}]" VMTemplateCreateTask: "轉存虛擬機 [{{ .name }}] 為範本 [{{ .template }}]" VMTemplateDeleteTask: "刪除虛擬機範本 [{{ .name }}]" VMForceDeleteMetadataOnly: "1panel-kvm 不存在,僅強制刪除虛擬機 [{{ .name }}] 元資料" VMForceDeleteMetadataAfterLibvirtFailed: "從 libvirt 刪除虛擬機 [{{ .name }}] 失敗,強制刪除元資料: {{ .err }}" VMForceDeleteDiskFailed: "強制刪除虛擬機磁碟檔案 [{{ .path }}] 失敗: {{ .err }}" VMForceDeleteDiskSuccess: "已強制刪除虛擬機磁碟檔案 [{{ .path }}]" VMSnapshotCreateTask: "建立虛擬機 [{{ .vm }}] 快照 [{{ .snapshot }}]" VMSnapshotCreateStep: "建立虛擬機快照 [{{ .snapshot }}]" VMSnapshotRecoverTask: "復原虛擬機 [{{ .vm }}] 快照 [{{ .snapshot }}]" VMSnapshotRecoverStep: "復原虛擬機快照 [{{ .snapshot }}]" VMSnapshotDeleteTask: "刪除虛擬機 [{{ .vm }}] 快照 [{{ .snapshot }}]" VMSnapshotDeleteStep: "刪除虛擬機快照 [{{ .snapshot }}]" # 應用 CustomAppStoreFileValid: "應用商店包需要 .tar.gz 格式" AppBackup: '應用備份' AppBackupPush: '傳輸應用備份檔案 {{.file}} 到節點 {{ .name }}' ErrSourceTargetSame: '源節點和目標節點不可相同!' AppInstall: '在 {{ .targetNode }} 節點安裝應用 {{ .name }}' AppInstallCheck: '檢查應用安裝環境' # 備份 ErrBackupInUsed: "該備份帳號已在排程任務中使用,無法刪除" ErrBackupCheck: "備份帳號測試連線失敗 {{ .err }}" ErrBackupLocal: "本機伺服器備份帳號暫不支援該操作!" ErrBackupPublic: "偵測到該備份帳號為非公用,請檢查後再試。" ErrOSSConn: "無法取得最新版本,請確認伺服器是否能夠連接外部網路。" MvBackup: "行動資料到備份目錄" # 告警 ErrAlertSync: "告警資訊同步錯誤,請檢查後重試。" # AI 閘道 ErrAIProxyUserGroupIsDefault: "預設使用者群組無法刪除" ErrAIProxyUserGroupInUse: "使用者群組正被使用,無法刪除。" ErrAIProxyUserGroupExists: "使用者群組名稱已存在" ErrAIProxyBackendAccountExists: "該模型帳號已匯入 AI 閘道帳號池,請勿重複匯入" ErrAIProxyModelGroupInUse: "模型組正在使用,無法刪除" ErrAIProxyModelGroupExists: "模型組名稱已存在" ErrAIProxySensitiveGroupInUse: "敏感詞分組正在使用,無法刪除。" ErrAIProxySensitiveGroupExists: "敏感詞分組名稱已存在" AIProxyContentPolicyViolation: "抱歉,我無法處理此請求。請求內容可能不符合內容合規要求,請調整後重試。" AIBenchmarkRun: "執行 AI 基準測試" # 任務 TaskStart: "{{ .name }} 任務開始 [START]" TaskEnd: "{{ .name }} 任務結束 [COMPLETED]" TaskFailed: "{{ .name }} 任務失敗" TaskTimeout: "{{ .name }} 逾時" TaskSuccess: "{{ .name }} 任務成功" TaskRetry: "開始第 {{ .name }} 次重試" SubTaskSuccess: "{{ .name }} 成功" SubTaskFailed: "{{ .name }} 失敗: {{ .err }}" TaskInstall: "安裝" TaskUpgrade: "升級" TaskSync: "同步" TaskSyncForNode: "同步節點資料" TaskBackup: "備份" TaskPush: "傳送" TaskRsync: "同步" SuccessStatus: "{{ .name }} 成功" FailedStatus: "{{ .name }} 失敗 {{ .err }}" Start: "開始" SubTask: "子任務" Skip: "忽略錯誤並繼續..." Success: "成功" # AI 閘道智慧路由任務 AIProxySmartRouteCreateTask: "建立 AI 閘道智慧路由樣本" AIProxySmartRouteCreateSubTask: "建立樣本並產生向量" AIProxySmartRouteCreateStart: "開始建立樣本,共 {{ .total }} 條" AIProxySmartRouteCreateFailed: "[{{ .current }}/{{ .total }}] 建立失敗:type={{ .type }} label={{ .label }} error={{ .err }}" AIProxySmartRouteCreateSuccess: "[{{ .current }}/{{ .total }}] 建立成功:sampleID={{ .id }} type={{ .type }} label={{ .label }}" AIProxySmartRouteCreateComplete: "建立完成:成功 {{ .success }} 條,失敗 {{ .failed }} 條" AIProxySmartRouteCreateError: "建立樣本失敗:失敗 {{ .failed }} 條,最後錯誤" AIProxySmartRouteRebuildTask: "重建 AI 閘道智慧路由樣本向量" AIProxySmartRouteRebuildSubTask: "重建樣本向量" AIProxySmartRouteEmbeddingRequired: "Embedding 位址和模型不能為空" AIProxySmartRouteRebuildStart: "開始重建樣本向量,共 {{ .total }} 條" AIProxySmartRouteRebuildFailed: "[{{ .current }}/{{ .total }}] 重建失敗:sampleID={{ .id }} type={{ .type }} label={{ .label }} error={{ .err }}" AIProxySmartRouteRebuildSuccess: "[{{ .current }}/{{ .total }}] 重建成功:sampleID={{ .id }} type={{ .type }} label={{ .label }}" AIProxySmartRouteRebuildComplete: "重建完成:成功 {{ .success }} 條,失敗 {{ .failed }} 條" AIProxySmartRouteRebuildError: "重建樣本向量失敗:失敗 {{ .failed }} 條,最後錯誤" # 智慧體批次任務 BatchInstallAgent: "批量安裝智能體" DispatchAgentInstallTasks: "下發智能體安裝任務" BatchUpgradeAgent: "批量升級智能體" DispatchAgentUpgradeTasks: "下發智能體升級任務" BatchAgentInstallDispatchFailed: "{{ .node }} 節點下發 {{ .agentType }} 安裝任務失敗 Message: {{ .err }}" BatchAgentInstallSubmitted: "{{ .node }} 節點下發 {{ .agentType }} 安裝任務成功!" BatchAgentUpgradeDispatchFailed: "{{ .node }} 節點下發 {{ .agentType }} 升級任務失敗 Message: {{ .err }}" BatchAgentUpgradeAlreadyLatest: "{{ .node }} 節點 {{ .agent }} 已是目標版本,跳過" BatchAgentUpgradeSubmitted: "{{ .node }} 節點下發 {{ .agent }} 升級任務成功!" BatchAgentUpgradeFailed: "{{ .node }} 節點下發 {{ .agent }} 升級任務失敗 Message: {{ .err }}" BatchInstallAgentSkill: "批量下發 Skill" DispatchAgentSkillInstallTasks: "下發 Skill 安裝任務" BatchAgentSkillDispatchFailed: "{{ .node }} 節點下發 {{ .skill }} 到 {{ .target }} 失敗 Message: {{ .err }}" BatchAgentNoAgentsFound: "{{ .node }} 節點未發現 {{ .agentType }} 智能體,跳過" BatchAgentSkillSkipped: "{{ .node }} 節點 {{ .agent }} 跳過 Message: {{ .msg }}" BatchAgentSkillInstallSubmitted: "{{ .node }} 節點下發 {{ .skill }} 到 {{ .agent }} 安裝任務成功!" BatchAgentSkillInstallFailed: "{{ .node }} 節點下發 {{ .skill }} 到 {{ .agent }} 安裝任務失敗 Message: {{ .err }}" BatchAgentOperateDispatchFailed: "{{ .node }} 節點下發 {{ .agentType }} {{ .operate }}任務失敗 Message: {{ .err }}" BatchAgentOperateSkipped: "{{ .node }} 節點 {{ .agent }} 跳過 Message: {{ .msg }}" BatchAgentOperateSubmitted: "{{ .node }} 節點下發 {{ .agent }} {{ .operate }}任務成功!" BatchAgentOperateFailed: "{{ .node }} 節點下發 {{ .agent }} {{ .operate }}任務失敗 Message: {{ .err }}" BatchStartAgent: "批量啟動智能體" DispatchAgentStartTasks: "下發智能體啟動任務" BatchStopAgent: "批量停止智能體" DispatchAgentStopTasks: "下發智能體停止任務" BatchRestartAgent: "批量重啟智能體" DispatchAgentRestartTasks: "下發智能體重啟任務" BatchDeleteAgent: "批量刪除智能體" DispatchAgentDeleteTasks: "下發智能體刪除任務" AgentOperateStart: "啟動" AgentOperateStop: "停止" AgentOperateRestart: "重啟" AgentOperateDelete: "刪除" # 應用與技能任務 PushAppInstallTaskToNode: "傳送應用安裝任務到節點 [{{ .name }}]" AppInstallTask: "應用安裝任務" PushAppFailed: "傳送應用安裝任務失敗" SkillHubInstallTask: "安裝技能 [{{ .name }}]" SkillHubInstallToTarget: "安裝技能 [{{ .name }}] 到目標 [{{ .target }}]" # 腳本庫 ScriptLibrary: "腳本庫" RemoteScriptLibrary: "遠端腳本庫" ScriptSyncSkip: "目前腳本庫已是最新版本!" DownloadData: "下載腳本庫檔案 data.yaml" DownloadPackage: "下載腳本庫壓縮檔" AnalyticCompletion: "解析成功,現在開始同步到資料庫..." # 節點同步 SyncNode: "同步資料到節點 {{ .name }}" LocalName: "'local' 名稱僅用於系統本機標識" SyncPackageData: "打包同步資料" SyncPackageEncrypt: "封包加密" SyncRequest: "請求節點同步介面" SyncFailedRetry: "第 {{ .index }} 次同步節點資料失敗逾時,正在重試..." SyncFailed: "同步失敗,請在節點列表中手動同步!" SyncSystemProxy: "系統代理設定" SyncScripts: "腳本庫" SyncBackupAccounts: "備份帳號" SyncAlertSetting: "告警設定" SyncCustomApp: "自訂應用" SyncLanguage: "系統語言" SyncEdition: "運行區域" # 節點升級 NodeUpgrade: "升級節點 {{ .name }}" UpgradeCheck: "檢查節點更新" UpgradeCheckLocal: "本機節點不支援批次升級,跳過..." UpgradeCheckLatest: "偵測到該節點已是最新版本,跳過..." NewSSHClient: "初始化 SSH 連接" BackupBeforeUpgrade: "升級前備份資料" UploadUpgradeFile: "發送升級所需檔案" RestartAfterUpgrade: "升級後啟動服務" LoadAutoUpgradeNodesFailed: "載入自動升級節點失敗,錯誤: {{ .err }}" AutoUpgradeNodes: "自動升級節點: {{ .nodes }}" UpdateAutoUpgradeNodesStatusFailed: "更新自動升級節點狀態失敗,錯誤: {{ .err }}" # 新增節點 MasterData: "主節點資料" LoadSftpClient: "取得上傳用戶端" PackageMasterData: "產生主節點備份壓縮檔" UploadBackup: "上傳備份資料" TaskAddNode: "新增節點" LoadNodeArch: "取得節點架構資訊" LoadNodeArchDetail: "偵測到主節點架構: {{ .local }},子節點架構: {{ .node }}" LoadNodeUpgradeDetail: "使用 v1 版本歷史安裝目錄: {{ .baseDir }},服務監聽埠: {{ .port }}" SyncAgentBaseInfo: "同步節點基礎資料" GenerateSSLInfo: "產生節點 SSL 資訊" ConnInfoNotMatch: "連接資訊不符" MakeAgentPackage: "產生節點安裝包" SendAgent: "下發節點安裝包" StartService: "啟動服務" NoBackupNode: "目前備份節點為空,請選擇備份節點儲存後重試!" # 節點檔案與映像同步 LocalNodeIpFailed: "無法取得主節點 IP ,請編輯主節點增加 IP 位址和 SSH 認證資訊" HandlePrivateKey: "處理節點私鑰" HandlePublicKey: "處理節點公鑰" ExchangeFile: "開始從 {{ .source }} 節點同步 {{ .sourcePath }} 到 {{ .dest }} 節點 {{ .destPath }}" NodeFile: "節點檔案" ImageSyncTaskName: "映像同步 {{ .count }} 張映像" SSLSyncTaskName: "憑證同步 {{ .count }} 張憑證" AppSyncTaskName: "應用同步 {{ .name }}" SSLSyncToNode: "推送憑證 [{{ .cert }}] 到節點 [{{ .node }}]" ImageSyncSave: "儲存映像 {{ .image }}" ImageSyncSaveTags: "儲存映像標籤 {{ .tags }}" ImageSyncToNode: "同步映像 {{ .image }} 到節點 {{ .node }}" ImageSyncLoad: "在節點 {{ .node }} 載入映像 {{ .image }}" ImageSyncClean: "清理映像 {{ .image }} 暫存檔案" ImageSyncNoTag: "映像 {{ .image }} 沒有標籤,將使用映像 ID 儲存" ImageSyncFrontendTagsIgnored: "映像 {{ .image }} 在來源節點未查詢到標籤,已忽略前端傳入標籤" ImageSyncHandlePrivateKey: "處理映像同步節點私鑰" ImageSyncHandlePublicKey: "處理映像同步節點公鑰" ImageSyncTransfer: "開始傳輸映像暫存檔案:{{ .source }}:{{ .sourcePath }} -> {{ .dest }}:{{ .destPath }}" # 命令列 SudoHelper: "請使用 {{ .cmd }} 或切換到 root 使用者" UsernameNeed: "企業版必須指定 --username" DBConnErr: "錯誤: 初始化資料庫連線失敗,{{ .err }}" SystemVersion: "版本: " SystemMode: "模式: " # 命令列 - 應用 AppVersion: "應用版本" AppCommands: "應用相關指令" AppInit: "初始化應用" AppKeyVal: "應用的 key(僅支援英文)" AppCreateFileErr: "檔案 {{ .name }} 建立失敗 {{ .err }}" AppCreateDirErr: "資料夾 {{ .name }} 建立失敗 {{ .err }}" AppMissKey: "應用的 key 缺失,使用 -k 指定" AppMissVersion: "應用版本缺失,使用 -v 指定" AppVersionExist: "版本已存在!" AppCreateSuccessful: "建立成功!" AppWriteErr: "檔案 {{ .name }} 寫入失敗 {{ .err }}" # 命令列 - 監聽 IP ListenIPCommands: "切換監聽 IP" ListenIPv4: "監聽 IPv4" ListenIPv6: "監聽 IPv6" ListenChangeSuccessful: "切換成功!已切換至監聽 {{ .value }}" # 命令列 - 重設 ResetCommands: "重設系統資訊" ResetMFA: "取消 1Panel 兩步驗證" ResetHttps: "取消 1Panel https 方式登入" ResetEntrance: "取消 1Panel 安全入口" ResetIPs: "取消 1Panel 授權 IP 限制" ResetDomain: "取消 1Panel 存取網域綁定" ResetPasskey: "清空 1Panel 通行密鑰" # 命令列 - 使用者 UserList: "獲取 1Panel 使用者列表" UserTableName: "名稱" UserTableMFAStatus: "MFA 狀態" UserTableSuperAdmin: "超級管理員" UserTableCreatedAt: "建立時間" UserEmptyList: "暫無使用者" UserInfo: "取得面板資訊" UserInfoAddr: "面板位址: " UserInfoPassHelp: "提示: 修改密碼可執行指令: " # 命令列 - 回滾 RestoreCommands: "回滾 1Panel 服務及資料" RestoreNoSuchFile: "暫無可回滾檔案" RestoreStep1: "(1/5)開始從 {{ .name }} 目錄回滾 1Panel 服務及資料... " RestoreStep2: "(2/5)1Panel 二進位回滾成功" RestoreStep3: "(3/5)1Panel 腳本回滾成功" RestoreStep4: "(4/5)1Panel 服務回滾成功" RestoreStep5: "(5/5)1Panel 資料回滾成功" RestoreSuccessful: "回滾成功!已回滾到 {{ .version }},正在重新啟動服務,請稍候..." # 命令列 - 修改 UpdateCommands: "修改面板資訊" UpdateUser: "修改使用者資訊" UpdatePassword: "修改使用者密碼" UpdatePort: "修改面板埠" UpdateUserNull: "錯誤: 輸入使用者為空!" UpdateUserBlank: "錯誤: 輸入使用者中包含空格字元!" UpdateUserFormat: "錯誤: 輸入使用者錯誤!僅支援英文、中文、數字和_,長度3-30" UpdateUserErr: "錯誤: 使用者修改失敗,{{ .err }}" UpdateSuccessful: "修改成功!" UpdateUserResult: "使用者: {{ .name }}" UpdatePasswordRead: "錯誤: 使用者密碼資訊讀取錯誤,{{ .err }}" UpdatePasswordNull: "錯誤: 輸入使用者密碼為空!" UpdateUPasswordBlank: "錯誤: 輸入使用者密碼中包含空格字元!" UpdatePasswordFormat: "錯誤: 使用者密碼僅支援字母、數字、特殊字元(!@#$%*_,.?),長度 8-30 位!" UpdatePasswordLen: "錯誤: 請輸入 6 位以上密碼!" UpdatePasswordRe: "確認密碼: " UpdatePasswordErr: "錯誤: 使用者密碼修改失敗,{{ .err }}" UpdatePasswordSame: "錯誤: 兩次密碼不符,請檢查後重試。" UpdatePasswordResult: "使用者密碼: {{ .name }}" UpdatePortFormat: "錯誤: 輸入的埠號必須在 1 到 65535 之間!" UpdatePortUsed: "錯誤: 該埠號正被佔用,請檢查後重試。" UpdatePortErr: "錯誤: 面板埠修改失敗,{{ .err }}" UpdatePortResult: "面板埠: {{ .name }}" UpdatePortFirewallAdd: "新增防火牆埠規則失敗,{{ .err }},請您手動將 {{ .name }} 埠新增至防火牆規則中。" UpdatePortFirewallDel: "錯誤: 防火牆埠刪除失敗,{{ .err }}" UpdatePortFirewallReload: "防火牆重載失敗,{{ .err }},請您手動重載防火牆。" # 行動端 ErrVerifyToken: '令牌驗證錯誤,請重設後再次掃碼' ErrInvalidToken: '無效的令牌,請重設後再次掃碼' ErrExpiredToken: '二維碼已失效,請重新產生後再次掃碼' # 命令匯出 Name: "名稱" Command: "指令" # LDAP ErrLDAPConnectionTest: "LDAP 連線測試失敗,請檢查服務位址、綁定帳號和網路設定。" ErrLDAPLoginTest: "LDAP 登入測試失敗,請檢查使用者名稱和密碼。" LDAPConnectionTestSuccess: "LDAP 連線測試成功。" ErrLDAPDirectorySearch: "讀取 LDAP 使用者失敗,請檢查連線和搜尋設定。" ErrLDAPConfigLoad: "載入 LDAP 設定失敗。" ErrLDAPConfigSave: "儲存 LDAP 設定失敗。" ErrLDAPURLInvalid: "LDAP 服務位址必須使用 ldap:// 或 ldaps://,並包含有效的主機位址。" ErrLDAPBindDNRequired: "請輸入綁定 DN。" ErrLDAPBindPasswordRequired: "請輸入綁定密碼。" ErrLDAPUserOURequired: "請輸入使用者 OU。" ErrLDAPConnectTimeoutRange: "連線逾時時間必須介於 1 到 120 秒。" ErrLDAPSearchPageSizeRange: "LDAP 查詢分頁大小必須介於 1 到 10000。" ErrLDAPResultPageSizeRange: "結果分頁大小不能超過 200。" ErrLDAPAttributeMapOnlyName: "屬性對應僅支援 name 欄位。" ErrLDAPNameAttributeRequired: "請輸入對應到 name 的 LDAP 屬性。" ErrLDAPAttributeNameInvalid: "屬性對應中包含無效的 LDAP 屬性名稱。" ErrLDAPUserFilterRequired: "請輸入使用者篩選器。" ErrLDAPUserFilterInvalid: "使用者篩選器不是有效的 LDAP 篩選器。" ErrLDAPAttributeMapObject: "屬性對應必須是有效的 JSON 物件。" ErrLDAPImportModeInvalid: "匯入模式必須為匯入選取使用者或匯入全部使用者。" ErrLDAPImportSelectionRequired: "請至少選取一個要匯入的 LDAP 使用者。" ErrLDAPImportSelectionInvalid: "選取的 LDAP 使用者無效或已不存在,請重新讀取目錄。" ErrLDAPConfigChanged: "LDAP 設定已變更,請重新讀取目錄並預覽匯入。" ErrLDAPRoleRequired: "請選取新 LDAP 使用者的角色。" ErrLDAPImportPlanIncomplete: "無法執行不完整的 LDAP 匯入計畫。" ErrLDAPQueryTokenInvalid: "LDAP 查詢結果已過期,請重新讀取目錄。" ErrLDAPPlanTokenInvalid: "LDAP 匯入預覽已過期,請重新預覽。" ErrLDAPOperationFailed: "LDAP 操作失敗,請重試。" ErrLDAPEntryIdentityMissing: "LDAP 項目缺少穩定 ID 或使用者名稱。" ErrLDAPDuplicateExternalID: "LDAP 傳回了重複的使用者 ID。" ErrLDAPUsernameConflict: "此使用者名稱已被其他使用者使用。" ErrLDAPUsernameSourceConflict: "此使用者名稱已被本機使用者或其他驗證來源使用。" ErrLDAPUsernameConcurrentConflict: "匯入期間此使用者名稱已被其他使用者占用。" ErrLDAPLocalCredentialsReadonly: "LDAP 使用者名稱和密碼由 LDAP 管理,無法在本機修改。" ErrLDAPPasswordExpirationUnsupported: "LDAP 使用者不使用本機密碼到期原則。" ErrLDAPSyncSourceDisabled: "請先啟用 AD/LDAP,再開啟或執行同步。" ErrLDAPSyncConfigSave: "儲存 LDAP 同步設定失敗。" ErrLDAPSyncSchedule: "更新 LDAP 同步排程失敗。" ErrLDAPSyncCronInvalid: "請輸入有效的五段式 Cron 運算式。" ErrLDAPSyncWeekdayInvalid: "請選擇有效的星期。" ErrLDAPSyncCronRequired: "請輸入 Cron 運算式。" ErrLDAPSyncScheduleTypeInvalid: "請選擇有效的同步執行週期。" ErrLDAPSyncTimeInvalid: "請輸入有效的執行時間。" ErrLDAPSyncRunning: "已有 LDAP 同步工作正在執行。" ErrLDAPSyncDirectoryIncomplete: "LDAP 全量查詢結果不完整,本次未變更任何使用者狀態。" ErrLDAPSyncFailed: "LDAP 使用者同步失敗。" LDAPSyncSuccess: "LDAP 使用者同步成功。" ErrSAML2NotEnabled: "SAML2 驗證尚未啟用" ErrSAML2ConfigInvalid: "SAML2 設定無效" ErrSAML2ConfigChanged: "SAML2 設定已變更,請重新發起驗證" ErrSAML2PanelOriginMissing: "請輸入有效的面板對外存取位址,僅包含協定、主機和選用連接埠" ErrSAML2MetadataInvalid: "IdP Metadata 缺失或無效" ErrSAML2MetadataURLInvalid: "IdP Metadata URL 或 Metadata 中的端點位址不符合安全策略" ErrSAML2MetadataFetch: "取得 IdP Metadata 失敗" ErrSAML2MetadataCertificate: "IdP Metadata 中沒有可用的簽章憑證" ErrSAML2KeyPairInvalid: "SP 私鑰和憑證無效或不相符" ErrSAML2NameAttributeMissing: "設定的 SAML2 使用者名稱屬性缺失或無效" ErrSAML2DefaultRoleInvalid: "SAML2 設定的預設角色不可用" ErrSAML2SLOUnavailable: "IdP 未提供支援的單一登出服務" ErrSAML2TestExpired: "SAML2 測試已過期,請重新測試" ErrSAML2LoginExpired: "SAML2 登入要求已過期,請重試" ErrSAML2InvalidState: "SAML2 登入狀態無效或已被使用" ErrSAML2RequestBuild: "產生 SAML2 要求失敗" ErrSAML2ResponseInvalid: "SAML2 回應無效" ErrSAML2SignatureInvalid: "SAML2 簽章驗證失敗" ErrSAML2Replay: "SAML2 訊息已被使用" ErrSAML2NameIDMissing: "SAML2 NameID 缺失或無效" ErrSAML2SessionIndexMissing: "SAML2 SessionIndex 缺失或無效" ErrSAML2NameConflictLocal: "SAML2 使用者名稱與本機使用者衝突" ErrSAML2NameConflictLDAP: "SAML2 使用者名稱與 LDAP 使用者衝突" ErrSAML2NameConflictOIDC: "SAML2 使用者名稱與 OIDC 使用者衝突" ErrSAML2NameConflictSAML2: "SAML2 使用者名稱與其他 SAML2 身分衝突" ErrSAML2Internal: "SAML2 驗證發生內部錯誤,請稍後重試" ErrSAML2LogoutExpired: "SAML2 登出要求已過期" ErrSAML2LogoutInvalid: "SAML2 登出訊息無效" ErrSAML2LocalCredentialsReadonly: "SAML2 使用者名稱和密碼由身分提供者管理,無法在本機修改。" ErrSAML2PasswordExpirationUnsupported: "SAML2 使用者不使用本機密碼到期原則。"