# base errors ErrInvalidParams: "Invalid request parameters: {{ .detail }}" ErrTokenParse: "Token generation error: {{ .detail }}" ErrInitialPassword: "Incorrect initial password" ErrInternalServer: "Internal server error: {{ .detail }}" ErrInternalServerKey: "Internal server error:" ErrRecordExist: "Record already exists" ErrRecordNotFound: "Record not found" ErrStructTransform: "Type conversion failed: {{ .detail }}" ErrNotSupportType: "Unsupported type: {{ .name }}" ErrDemoEnvironment: "Demo server, this operation is prohibited!" ErrCmdTimeout: "Command execution timeout!" ErrPortInUsed: "The {{ .name }} port is already in use!" ErrFileNotFound: "{{ .name }} file does not exist" ErrReqFailed: "{{.name}} request failed: {{ .err }}" # request and entrance ErrNoSuchHost: "Host resolution failed: {{ .err }}" ErrHttpReqNotFound: "Requested resource not found: {{ .err }}" ErrHttpReqFailed: "Request failed {{ .err }}" ErrHttpReqTimeOut: "Request timed out {{ .err }}" ErrCreateHttpClient: "Failed to create request {{ .err }}" ErrProxy: "Request failed; check this node status: {{ .detail }}" ErrProxySetting: "Proxy server information unavailable {{ .err }}, check and try again!" ErrEntrance: "Security entrance information error, check and try again!" ErrEntranceFormat: "Security entry {{ .name }} is not supported. Check and try again." # login and security ErrNotLogin: "User not logged in: {{ .detail }}" ErrSessionDataNotFound: "Session expired" ErrSessionDataFormat: "Invalid session data format" ErrPasswordExpired: "Password expired: {{ .detail }}" ErrLoginLocked: "Too many failed attempts. Login is temporarily locked for 5 minutes." ErrApiConfigStatusInvalid: "API access disabled: {{ .detail }}" ErrApiConfigKeyInvalid: "Invalid API key: {{ .detail }}" ErrApiConfigIPInvalid: "The API request IP is not on the whitelist: {{ .detail }}" ErrApiConfigDisable: "This interface prohibits API calls: {{ .detail }}" ErrApiConfigKeyTimeInvalid: "Invalid API timestamp: {{ .detail }}" ErrPasskeyDisabled: "Passkey requires HTTPS to be enabled" ErrPasskeyNotConfigured: "No passkey configured" ErrPasskeyLimit: "Passkey limit reached (max 5)" ErrPasskeySession: "Passkey session expired or invalid" ErrPasskeyDuplicate: "Passkey already exists" ErrPasskeyVerify: "Passkey verification failed" ErrOIDCNotEnabled: "OIDC authentication is not enabled" ErrOIDCConfigInvalid: "OIDC configuration is invalid" ErrOIDCConfigChanged: "OIDC configuration changed; start authentication again" ErrOIDCDiscoveryFailed: "Failed to discover the OIDC provider configuration" ErrOIDCIssuerMismatch: "The OIDC issuer does not match the configured issuer" ErrOIDCUnsupportedPKCE: "The OIDC provider does not support the required PKCE method" ErrOIDCUnsupportedSigningAlgorithm: "The OIDC signing algorithm is not supported" ErrOIDCInvalidState: "The OIDC login state is invalid or has already been used" ErrOIDCLoginExpired: "The OIDC login request has expired; try again" ErrOIDCTokenExchange: "Failed to exchange the OIDC authorization code" ErrOIDCTokenValidation: "Failed to validate the OIDC token" ErrOIDCUserInfoValidation: "Failed to validate OIDC user information" ErrOIDCNameClaimMissing: "The configured OIDC user name claim is missing or invalid" ErrOIDCNameConflictLocal: "The OIDC user name conflicts with a local user" ErrOIDCNameConflictLDAP: "The OIDC user name conflicts with an LDAP user" ErrOIDCNameConflictOIDC: "The OIDC user name conflicts with another OIDC identity" ErrOIDCDefaultRoleInvalid: "The default role configured for OIDC is unavailable" ErrOIDCPrivateAddressDenied: "The OIDC endpoint address is not allowed by the network security policy" ErrOIDCTLSValidation: "OIDC TLS certificate validation failed" ErrOIDCTestExpired: "The OIDC browser test has expired; run the test again" ErrOIDCLocalCredentialsReadonly: "OIDC user names and passwords are managed by the identity provider and cannot be changed locally." ErrOIDCPasswordExpirationUnsupported: "OIDC users do not use the local password expiration policy." ErrOIDCInternal: "OIDC authentication encountered an internal error. Please try again later." # user and permission ErrNoSuchUser: "User information not found, check and try again!" ErrToMaster: "This user does not have permission to perform this operation on the master node. Check and try again!" ErrToNode: "This user does not have permission to perform this operation on this node. Check and try again!" ErrRBAC: "Insufficient user permissions. This operation cannot be performed. Check and try again!" ErrNoneNode: "This user has no node permissions. Contact an administrator or check and try again!" ErrOnlySuperAdmin: "Only super admins can use this feature!" ErrRolePresetCannotDelete: "System preset roles cannot be deleted" ErrRolePresetCannotUpdate: "System preset roles cannot be updated" ErrRoleBoundToUser: "This role is already bound to users and cannot be deleted" ErrRolePresetCannotBind: "System preset roles cannot be assigned to users" ErrNodeAdminMasterForbidden: "Node Admin permissions cannot be added to the master node" ErrSuperAdminCannotDelete: "Super admin users cannot be deleted" ErrGroupIsDefault: "Default group, unable to delete" ErrGroupIsInUse: "The group is in use and cannot be deleted." # license LicenseCheck: 'Check if the license is available' ErrLicenseInUsed: 'The license is already bound. Check and try again!' ErrLicenseExpired: 'The license has expired. Check and try again!' ErrLicense: "License format error, check and retry!" ErrLicenseCheck: "License validation failed, check and retry!" ErrXpackVersion: "License validation failed, this license is version-limited, cannot import, check and retry!" ErrLicenseSave: "Failed to save license information, error {{ .err }}, retry!" ErrLicenseSync: "License synchronization failed, no license info detected in database!" ErrLicenseExist: "This license record already exists. You can directly go to the license page for node binding." ErrXpackNotFound: "This section requires Business Edition. Import a license in Panel Settings > License." ErrXpackExceptional: "This section requires Business Edition. Sync the license status in Panel Settings > License." ErrXpackLost: "The license retry limit has been reached. Go to Panel Settings > License and run a manual sync." ErrEnterpriseLicenseRequired: "Enterprise Edition license is not imported. Import a license first." ErrDeviceLost: "Required files for license verification are missing, check and try again!" ErrDeviceErr: "Current environment does not match the license import environment. Edit the license and re-import." ErrXpackTimeout: "Request timeout, network connection might be unstable, try again later!" ErrUnbindMaster: "Nodes exist in node management. Remove nodes first, then unbind the current license." ErrFreeNodeLimit: "The number of nodes that can be added has reached the limit. Purchase and try again." ErrNodeBound: "This license is bound to another node, check and retry!" ErrNodeBoundDelete: "This license is bound and does not support delete operations. Check and try again!" ErrNodeBoundLimit: "The current free node has reached its limit, check and try again!" ErrLicenseFree: "Free nodes are available only when the license is correctly bound to a node. Verify and retry." ErrLicenseUnbind: "Community Edition nodes are still linked to this license. Unbind them in Panel Settings > License and try again." ErrLicenseBindCount: "The new license free node count is less than the currently linked Community Edition node count. Check and try again." ErrNoSuchNode: "Node information not found, check and retry!" ErrNodeUnbind: "This node is not within the license binding range, check and retry!" ErrNodeBind: "This node is already bound to a license, check and retry!" ErrNodeLocalRollback: "The primary node does not support direct rollback. Run '1pctl restore' manually to roll back." ErrIntlLicense: "The current version does not support importing international licenses yet. Stay tuned!" InvalidRequestBodyType: "Invalid request body format. Ensure content matches the required format and retry." InvalidLicenseCodeType: "Invalid license code format provided, check and try again!" LicenseNotFoundType: "License not found, no matching record exists in the system for the provided license. Check and try again!" LicenseRevokedType: "The requested license has been revoked and is no longer usable. Check and try again!" LicenseExpiredType: "License expired. Renew it or re-import it in Panel Settings - License before retrying." LicenseProductMismatchType: "The license does not match the requested product or service!" InvalidAssigneeType: "Invalid target user or device information for license assignment. Check and try again!" LicenseUsageNotFoundType: "No usage records found. This license has not been activated or used yet. Check and try again!" LicenseUsageLimitExceededType: "This license is already bound to another node. Check and try again!" # node and cluster MasterNode: "Master Node" Node: "Node" ErrLocalDelete: "Cannot delete the local node!" ErrMasterDelete: "Unable to delete the master node. Delete slave nodes first." ClusterNameIsExist: "Cluster name already exists." AppStatusUnHealthy: "Failed to fetch application status. Check installation node status in the node list." MasterNodePortNotAvailable: "Node {{ .name }} port {{ .port }} connectivity check failed. Check firewall/security group settings and master node status." ClusterMasterNotExist: "Cluster master node is disconnected. Delete child nodes." # virtual machine ErrVMNotFound: "Virtual machine does not exist" ErrVMAlreadyExists: "Virtual machine already exists" ErrVMImageAlreadyExists: "Virtual machine image already exists: {{ .detail }}" ErrVMStoragePathInUse: "Storage pool path is already used by [{{ .name }}]" ErrVMHelperNotFound: "1panel-kvm not found" ErrVMBridgeManaged: "Bridge name is already managed by libvirt or Docker" ErrVMNetworkInUse: "Network is in use and cannot be deleted" ErrVMStorageInUse: "Storage pool is in use and cannot be deleted" ErrVMStorageNameCannotChange: "Storage pool name cannot be changed" ErrVMStoragePathCannotChange: "Storage pool path cannot be changed" ErrVMRunning: "Virtual machine is running" ErrVMLibvirtConnect: "Failed to connect to libvirt: {{ .detail }}" ErrVMPermission: "No permission to operate virtual machine: {{ .detail }}" ErrVMNetworkNotFound: "Virtual machine network does not exist: {{ .detail }}" ErrVMInvalidPath: "Invalid virtual machine path: {{ .detail }}" ErrVMInvalidInput: "Invalid virtual machine parameter: {{ .detail }}" ErrVMCommandFailed: "Virtual machine command failed: {{ .err }}" VMCreateTask: "Create virtual machine [{{ .name }}]" VMCreateFromTemplateTask: "Create virtual machine [{{ .name }}] from template" VMUpdateTask: "Update virtual machine [{{ .name }}]" VMRenameTask: "Rename virtual machine [{{ .name }}] to [{{ .newName }}]" VMDeleteTask: "Delete virtual machine [{{ .name }}]" VMTemplateCreateTask: "Save virtual machine [{{ .name }}] as template [{{ .template }}]" VMTemplateDeleteTask: "Delete virtual machine template [{{ .name }}]" VMForceDeleteMetadataOnly: "1panel-kvm not found, force deleting virtual machine [{{ .name }}] metadata only" VMForceDeleteMetadataAfterLibvirtFailed: "Failed to delete virtual machine [{{ .name }}] from libvirt, force deleting metadata: {{ .err }}" VMForceDeleteDiskFailed: "Force delete virtual machine disk file [{{ .path }}] failed: {{ .err }}" VMForceDeleteDiskSuccess: "Force deleted virtual machine disk file [{{ .path }}]" VMSnapshotCreateTask: "Create snapshot [{{ .snapshot }}] for virtual machine [{{ .vm }}]" VMSnapshotCreateStep: "Create virtual machine snapshot [{{ .snapshot }}]" VMSnapshotRecoverTask: "Recover snapshot [{{ .snapshot }}] for virtual machine [{{ .vm }}]" VMSnapshotRecoverStep: "Recover virtual machine snapshot [{{ .snapshot }}]" VMSnapshotDeleteTask: "Delete snapshot [{{ .snapshot }}] for virtual machine [{{ .vm }}]" VMSnapshotDeleteStep: "Delete virtual machine snapshot [{{ .snapshot }}]" # app CustomAppStoreFileValid: "Application store package requires .tar.gz format" AppBackup: 'Application backup' AppBackupPush: 'Transfer application backup file {{.file}} to node {{ .name }}' ErrSourceTargetSame: 'Source node and target node cannot be the same!' AppInstall: 'Install application {{ .name }} on node {{ .targetNode }}' AppInstallCheck: 'Check application installation environment' # backup ErrBackupInUsed: "This backup account is used in scheduled tasks and cannot be deleted" ErrBackupCheck: "Backup account connection test failed {{ .err }}" ErrBackupLocal: "Local server backup account does not support this operation!" ErrBackupPublic: "Detected that this backup account is not public, check and try again!" ErrOSSConn: "Unable to get the latest version. Check server internet connectivity." MvBackup: "Move data to backup directory" # alert ErrAlertSync: "Alert information sync error, check and retry!" # AI gateway ErrAIProxyUserGroupIsDefault: "Default user group cannot be deleted." ErrAIProxyUserGroupInUse: "The user group is in use and cannot be deleted." ErrAIProxyUserGroupExists: "The user group name already exists." ErrAIProxyBackendAccountExists: "This model account has already been imported into the AI Gateway account pool." ErrAIProxyModelGroupInUse: "The model group is in use and cannot be deleted." ErrAIProxyModelGroupExists: "The model group name already exists." ErrAIProxySensitiveGroupInUse: "The sensitive word group is in use and cannot be deleted." ErrAIProxySensitiveGroupExists: "The sensitive word group name already exists." AIProxyContentPolicyViolation: "Sorry, I cannot process this request because the content may not meet the content policy. Please revise it and try again." AIBenchmarkRun: "Run AI benchmark" # task TaskStart: "{{ .name }} task started [START]" TaskEnd: "{{ .name }} task ended [COMPLETED]" TaskFailed: "{{ .name }} task failed" TaskTimeout: "{{ .name }} timed out" TaskSuccess: "{{ .name }} task succeeded" TaskRetry: "Retry {{ .name }}" SubTaskSuccess: "{{ .name }} succeeded" SubTaskFailed: "{{ .name }} failed: {{ .err }}" TaskInstall: "Install" TaskUpgrade: "Upgrade" TaskSync: 'Sync' TaskSyncForNode: "Sync node data" TaskBackup: "Backup" TaskPush: "Push" TaskRsync: "Sync" SuccessStatus: "{{ .name }} succeeded" FailedStatus: "{{ .name }} failed {{ .err }}" Start: "Start" SubTask: "Subtask" Skip: "Ignore errors and continue" Success: "Success" # AI gateway smart routing tasks AIProxySmartRouteCreateTask: "Create AI gateway smart routing samples" AIProxySmartRouteCreateSubTask: "Create samples and generate vectors" AIProxySmartRouteCreateStart: "Starting sample creation, {{ .total }} in total" AIProxySmartRouteCreateFailed: "[{{ .current }}/{{ .total }}] Creation failed: type={{ .type }} label={{ .label }} error={{ .err }}" AIProxySmartRouteCreateSuccess: "[{{ .current }}/{{ .total }}] Created: sampleID={{ .id }} type={{ .type }} label={{ .label }}" AIProxySmartRouteCreateComplete: "Creation completed: {{ .success }} succeeded, {{ .failed }} failed" AIProxySmartRouteCreateError: "Sample creation failed: {{ .failed }} failed, last error" AIProxySmartRouteRebuildTask: "Rebuild AI gateway smart routing sample vectors" AIProxySmartRouteRebuildSubTask: "Rebuild sample vectors" AIProxySmartRouteEmbeddingRequired: "Embedding endpoint and model are required" AIProxySmartRouteRebuildStart: "Starting sample vector rebuild, {{ .total }} in total" AIProxySmartRouteRebuildFailed: "[{{ .current }}/{{ .total }}] Rebuild failed: sampleID={{ .id }} type={{ .type }} label={{ .label }} error={{ .err }}" AIProxySmartRouteRebuildSuccess: "[{{ .current }}/{{ .total }}] Rebuilt: sampleID={{ .id }} type={{ .type }} label={{ .label }}" AIProxySmartRouteRebuildComplete: "Rebuild completed: {{ .success }} succeeded, {{ .failed }} failed" AIProxySmartRouteRebuildError: "Sample vector rebuild failed: {{ .failed }} failed, last error" # agent batch task BatchInstallAgent: "Batch install agent" DispatchAgentInstallTasks: "Dispatch agent install tasks" BatchUpgradeAgent: "Batch upgrade agent" DispatchAgentUpgradeTasks: "Dispatch agent upgrade tasks" BatchAgentInstallDispatchFailed: "Node {{ .node }} failed to dispatch {{ .agentType }} install task Message: {{ .err }}" BatchAgentInstallSubmitted: "Node {{ .node }} dispatched {{ .agentType }} install task successfully!" BatchAgentUpgradeDispatchFailed: "Node {{ .node }} failed to dispatch {{ .agentType }} upgrade task Message: {{ .err }}" BatchAgentUpgradeAlreadyLatest: "Node {{ .node }} {{ .agent }} is already at the target version, skipped" BatchAgentUpgradeSubmitted: "Node {{ .node }} dispatched {{ .agent }} upgrade task successfully!" BatchAgentUpgradeFailed: "Node {{ .node }} failed to dispatch {{ .agent }} upgrade task Message: {{ .err }}" BatchInstallAgentSkill: "Batch distribute Skill" DispatchAgentSkillInstallTasks: "Dispatch Skill install tasks" BatchAgentSkillDispatchFailed: "Node {{ .node }} failed to dispatch {{ .skill }} to {{ .target }} Message: {{ .err }}" BatchAgentNoAgentsFound: "Node {{ .node }} found no {{ .agentType }} agents, skipped" BatchAgentSkillSkipped: "Node {{ .node }} {{ .agent }} skipped Message: {{ .msg }}" BatchAgentSkillInstallSubmitted: "Node {{ .node }} dispatched {{ .skill }} install task to {{ .agent }} successfully!" BatchAgentSkillInstallFailed: "Node {{ .node }} failed to dispatch {{ .skill }} install task to {{ .agent }} Message: {{ .err }}" BatchAgentOperateDispatchFailed: "Node {{ .node }} failed to dispatch {{ .agentType }} {{ .operate }} task Message: {{ .err }}" BatchAgentOperateSkipped: "Node {{ .node }} {{ .agent }} skipped Message: {{ .msg }}" BatchAgentOperateSubmitted: "Node {{ .node }} dispatched {{ .agent }} {{ .operate }} task successfully!" BatchAgentOperateFailed: "Node {{ .node }} failed to dispatch {{ .agent }} {{ .operate }} task Message: {{ .err }}" BatchStartAgent: "Batch start agent" DispatchAgentStartTasks: "Dispatch agent start tasks" BatchStopAgent: "Batch stop agent" DispatchAgentStopTasks: "Dispatch agent stop tasks" BatchRestartAgent: "Batch restart agent" DispatchAgentRestartTasks: "Dispatch agent restart tasks" BatchDeleteAgent: "Batch delete agent" DispatchAgentDeleteTasks: "Dispatch agent delete tasks" AgentOperateStart: "Start" AgentOperateStop: "Stop" AgentOperateRestart: "Restart" AgentOperateDelete: "Delete" # app and skill task PushAppInstallTaskToNode: "Push app installation task to node [{{ .name }}]" AppInstallTask: "App installation task" PushAppFailed: "Failed to push app installation task" SkillHubInstallTask: "Install skill [{{ .name }}]" SkillHubInstallToTarget: "Install skill [{{ .name }}] to target [{{ .target }}]" # script library ScriptLibrary: "Script Library" RemoteScriptLibrary: "Remote Script Library" ScriptSyncSkip: "Script library is already up to date" DownloadData: "Downloading script library file data.yaml" DownloadPackage: "Downloading script library package" AnalyticCompletion: "Analysis completed, now syncing to database..." # node sync SyncNode: "Sync data to node {{ .name }}" LocalName: "'local' name is only used for system local identification" SyncPackageData: "Package sync data" SyncPackageEncrypt: "Data package encryption" SyncRequest: "Request node sync API" SyncFailedRetry: "Node data sync timeout (attempt {{ .index }}), retrying..." SyncFailed: "Sync failed, manually sync in the node list!" SyncSystemProxy: "System Proxy Settings" SyncScripts: "Script Library" SyncBackupAccounts: "Backup Accounts" SyncAlertSetting: "Alert Settings" SyncCustomApp: "Custom App" SyncLanguage: "System Language" SyncEdition: "Region" # node upgrade NodeUpgrade: "Upgrade node {{ .name }}" UpgradeCheck: "Check for node updates" UpgradeCheckLocal: "Local nodes do not support batch upgrades, skipping..." UpgradeCheckLatest: "The node is already the latest version, skipping..." NewSSHClient: "Initializing SSH connection" BackupBeforeUpgrade: "Backup data before upgrade" UploadUpgradeFile: "Distribute upgrade files" RestartAfterUpgrade: "Start service after upgrade" LoadAutoUpgradeNodesFailed: "Load auto upgrade nodes failed, err: {{ .err }}" AutoUpgradeNodes: "Auto upgrade nodes: {{ .nodes }}" UpdateAutoUpgradeNodesStatusFailed: "Update status of auto upgrade nodes failed, err: {{ .err }}" # node add MasterData: "Master Node Data" LoadSftpClient: "Load SFTP Client" PackageMasterData: "Generate master node backup package" UploadBackup: "Upload backup data" TaskAddNode: "Add node" LoadNodeArch: "Get node architecture info" LoadNodeArchDetail: "Detected master node architecture: {{ .local }}, child node architecture: {{ .node }}" LoadNodeUpgradeDetail: "Using the v1 version historical installation directory: {{ .baseDir }}, service listening port: {{ .port }}" SyncAgentBaseInfo: "Sync basic node info" GenerateSSLInfo: "Generate node SSL info" ConnInfoNotMatch: "Connection info mismatch" MakeAgentPackage: "Generate node installation package" SendAgent: "Distribute node installation package" StartService: "Start service" NoBackupNode: "Backup node is empty. Select one and save first" # node file and image sync LocalNodeIpFailed: "Failed to get master node IP. Edit the master node and add IP address and SSH authentication information." HandlePrivateKey: "Handle node private key" HandlePublicKey: "Handle node public key" ExchangeFile: "Start syncing {{ .sourcePath }} from node {{ .source }} to node {{ .dest }}:{{ .destPath }}" NodeFile: "Node file" ImageSyncTaskName: "Image sync {{ .count }} images" SSLSyncTaskName: "Certificate sync {{ .count }} certificates" AppSyncTaskName: "App sync {{ .name }}" SSLSyncToNode: "Push certificate [{{ .cert }}] to node [{{ .node }}]" ImageSyncSave: "Save image {{ .image }}" ImageSyncSaveTags: "Save image tags {{ .tags }}" ImageSyncToNode: "Sync image {{ .image }} to node {{ .node }}" ImageSyncLoad: "Load image {{ .image }} on node {{ .node }}" ImageSyncClean: "Clean temporary files for image {{ .image }}" ImageSyncNoTag: "Image {{ .image }} has no tag and will be saved by image ID" ImageSyncFrontendTagsIgnored: "No tags were found for image {{ .image }} on the source node. Frontend tags were ignored." ImageSyncHandlePrivateKey: "Handle image sync node private key" ImageSyncHandlePublicKey: "Handle image sync node public key" ImageSyncTransfer: "Start transferring image temporary file: {{ .source }}:{{ .sourcePath }} -> {{ .dest }}:{{ .destPath }}" # command line SudoHelper: "Use {{ .cmd }} or switch to root user" UsernameNeed: "Enterprise edition must specify --username" DBConnErr: "Error: Failed to initialize database connection, {{ .err }}" SystemVersion: "version: " SystemMode: "mode: " # command line - app AppVersion: "App version" AppCommands: "App related commands" AppInit: "Initialize app" AppKeyVal: "App key (only supports English)" AppCreateFileErr: "File {{ .name }} creation failed {{ .err }}" AppCreateDirErr: "Folder {{ .name }} creation failed {{ .err }}" AppMissKey: "App key missing, use -k to specify" AppMissVersion: "App version missing, use -v to specify" AppVersionExist: "Version already exists!" AppCreateSuccessful: "Creation successful!" AppWriteErr: "File {{ .name }} write failed {{ .err }}" # command line - listen IP ListenIPCommands: "Switch listening ip" ListenIPv4: "Listen on IPv4" ListenIPv6: "Listen on IPv6" ListenChangeSuccessful: "Switch successful! Now listening on {{ .value }}" # command line - reset ResetCommands: "Reset system info" ResetMFA: "Cancel 1Panel two-factor authentication" ResetHttps: "Cancel 1Panel https login" ResetEntrance: "Cancel 1Panel secure entrance" ResetIPs: "Cancel 1Panel authorized ip restrictions" ResetDomain: "Cancel 1Panel domain binding" ResetPasskey: "Clear 1Panel passkeys" # command line - user UserList: "Get 1Panel user list" UserTableName: "Name" UserTableMFAStatus: "MFA Status" UserTableSuperAdmin: "Super Admin" UserTableCreatedAt: "Created At" UserEmptyList: "No users found" UserInfo: "Get panel information" UserInfoAddr: "Panel address: " UserInfoPassHelp: "Tip: To change the password, you can execute the command: " # command line - restore RestoreCommands: "Roll back 1Panel service and data" RestoreNoSuchFile: "No rollback files found" RestoreStep1: "(1/5) Starting rollback of 1Panel service and data from {{ .name }} directory..." RestoreStep2: "(2/5) 1Panel binary rollback completed" RestoreStep3: "(3/5) 1Panel script rollback completed" RestoreStep4: "(4/5) 1Panel service rollback completed" RestoreStep5: "(5/5) 1Panel data rollback completed" RestoreSuccessful: "Rollback completed. Reverted to {{ .version }}. Restarting service..." # command line - update UpdateCommands: "Update panel info" UpdateUser: "Update user information" UpdatePassword: "Update user password" UpdatePort: "Update panel port" UpdateUserNull: "Error: user is empty!" UpdateUserBlank: "Error: user contains spaces!" UpdateUserFormat: "Error: Invalid user format! Only supports English, Chinese, numbers, and _, length 3-30" UpdateUserErr: "Error: Failed to update user, {{ .err }}" UpdateSuccessful: "Update successful!" UpdateUserResult: "User: {{ .name }}" UpdatePasswordRead: "Error: Failed to read user password information, {{ .err }}" UpdatePasswordNull: "Error: User password is empty!" UpdateUPasswordBlank: "Error: User password contains spaces!" UpdatePasswordFormat: "Error: User password supports only letters, numbers, and special characters (!@#$%*_,.?) with a length of 8-30." UpdatePasswordLen: "Error: Enter a password longer than 6 characters" UpdatePasswordRe: "Confirm password:" UpdatePasswordErr: "Error: Failed to update user password, {{ .err }}" UpdatePasswordSame: "Error: The two passwords do not match, check and try again!" UpdatePasswordResult: "User password: {{ .name }}" UpdatePortFormat: "Error: The input port number must be between 1 and 65535!" UpdatePortUsed: "Error: The port number is already in use, check and try again!" UpdatePortErr: "Error: Failed to update panel port, {{ .err }}" UpdatePortResult: "Panel Port: {{ .name }}" UpdatePortFirewallAdd: "Failed to add firewall port rule, {{ .err }}, manually add the {{ .name }} port to the firewall rules." UpdatePortFirewallDel: "Error: Failed to delete firewall port, {{ .err }}" UpdatePortFirewallReload: "Failed to reload the firewall, {{ .err }}, manually reload the firewall." # mobile app ErrVerifyToken: 'Token verification failed. Reset and scan again.' ErrInvalidToken: 'Invalid token. Reset and scan again.' ErrExpiredToken: 'QR code is no longer valid. Generate a new one and scan again.' # command export Name: "Name" Command: "Command" # LDAP ErrLDAPConnectionTest: "LDAP connection test failed. Check the server address, bind account, and network settings." ErrLDAPLoginTest: "LDAP login test failed. Check the username and password." LDAPConnectionTestSuccess: "LDAP connection test succeeded." ErrLDAPDirectorySearch: "Failed to read LDAP users. Check the connection and search settings." ErrLDAPConfigLoad: "Failed to load the LDAP configuration." ErrLDAPConfigSave: "Failed to save the LDAP configuration." ErrLDAPURLInvalid: "The LDAP server address must use ldap:// or ldaps:// and include a valid host." ErrLDAPBindDNRequired: "The bind DN is required." ErrLDAPBindPasswordRequired: "The bind password is required." ErrLDAPUserOURequired: "The user OU is required." ErrLDAPConnectTimeoutRange: "The connection timeout must be between 1 and 120 seconds." ErrLDAPSearchPageSizeRange: "The LDAP query page size must be between 1 and 10000." ErrLDAPResultPageSizeRange: "The result page size cannot exceed 200." ErrLDAPAttributeMapOnlyName: "The attribute mapping supports only the name field." ErrLDAPNameAttributeRequired: "The LDAP attribute mapped to name is required." ErrLDAPAttributeNameInvalid: "The attribute mapping contains an invalid LDAP attribute name." ErrLDAPUserFilterRequired: "The user filter is required." ErrLDAPUserFilterInvalid: "The user filter is not a valid LDAP filter." ErrLDAPAttributeMapObject: "The attribute mapping must be a valid JSON object." ErrLDAPImportModeInvalid: "The import mode must be selected users or all users." ErrLDAPImportSelectionRequired: "Select at least one LDAP user to import." ErrLDAPImportSelectionInvalid: "The selected LDAP users are invalid or no longer exist. Read the directory again." ErrLDAPConfigChanged: "The LDAP configuration has changed. Read the directory and preview the import again." ErrLDAPRoleRequired: "Select a role for new LDAP users." ErrLDAPImportPlanIncomplete: "An incomplete LDAP import plan cannot be executed." ErrLDAPQueryTokenInvalid: "The LDAP query result has expired. Read the directory again." ErrLDAPPlanTokenInvalid: "The LDAP import preview has expired. Preview the import again." ErrLDAPOperationFailed: "The LDAP operation failed. Try again." ErrLDAPEntryIdentityMissing: "The LDAP entry is missing a stable ID or username." ErrLDAPDuplicateExternalID: "LDAP returned duplicate user IDs." ErrLDAPUsernameConflict: "The username is already used by another user." ErrLDAPUsernameSourceConflict: "The username is already used by a local user or another authentication source." ErrLDAPUsernameConcurrentConflict: "The username was claimed by another user during import." ErrLDAPLocalCredentialsReadonly: "LDAP usernames and passwords are managed by LDAP and cannot be changed locally." ErrLDAPPasswordExpirationUnsupported: "LDAP users do not use the local password expiration policy." ErrLDAPSyncSourceDisabled: "Enable AD/LDAP before enabling or running synchronization." ErrLDAPSyncConfigSave: "Failed to save the LDAP synchronization settings." ErrLDAPSyncSchedule: "Failed to update the LDAP synchronization schedule." ErrLDAPSyncCronInvalid: "Enter a valid five-field Cron expression." ErrLDAPSyncWeekdayInvalid: "Select a valid weekday." ErrLDAPSyncCronRequired: "Enter a Cron expression." ErrLDAPSyncScheduleTypeInvalid: "Select a valid synchronization schedule type." ErrLDAPSyncTimeInvalid: "Enter a valid execution time." ErrLDAPSyncRunning: "An LDAP synchronization task is already running." ErrLDAPSyncDirectoryIncomplete: "LDAP returned an incomplete full query result. No user status was changed." ErrLDAPSyncFailed: "LDAP user synchronization failed." LDAPSyncSuccess: "LDAP user synchronization completed successfully." ErrSAML2NotEnabled: "SAML2 authentication is not enabled." ErrSAML2ConfigInvalid: "The SAML2 configuration is invalid." ErrSAML2ConfigChanged: "The SAML2 configuration has changed. Start authentication again." ErrSAML2PanelOriginMissing: "Enter a valid 1Panel public URL containing only scheme, host, and optional port." ErrSAML2MetadataInvalid: "The IdP Metadata is missing or invalid." ErrSAML2MetadataURLInvalid: "The IdP Metadata URL or an endpoint in the Metadata is not allowed." ErrSAML2MetadataFetch: "Failed to load the IdP Metadata." ErrSAML2MetadataCertificate: "The IdP Metadata does not contain a usable signing certificate." ErrSAML2KeyPairInvalid: "The SP private key and certificate are invalid or do not match." ErrSAML2NameAttributeMissing: "The configured SAML2 username attribute is missing or invalid." ErrSAML2DefaultRoleInvalid: "The default role configured for SAML2 is unavailable." ErrSAML2SLOUnavailable: "The IdP does not provide a supported Single Logout service." ErrSAML2TestExpired: "The SAML2 test has expired. Run it again." ErrSAML2LoginExpired: "The SAML2 login request has expired. Try again." ErrSAML2InvalidState: "The SAML2 login state is invalid or has already been used." ErrSAML2RequestBuild: "Failed to build the SAML2 request." ErrSAML2ResponseInvalid: "The SAML2 response is invalid." ErrSAML2SignatureInvalid: "The SAML2 signature is invalid." ErrSAML2Replay: "The SAML2 message has already been used." ErrSAML2NameIDMissing: "The SAML2 NameID is missing or invalid." ErrSAML2SessionIndexMissing: "The SAML2 SessionIndex is missing or invalid." ErrSAML2NameConflictLocal: "The SAML2 username conflicts with a local user." ErrSAML2NameConflictLDAP: "The SAML2 username conflicts with an LDAP user." ErrSAML2NameConflictOIDC: "The SAML2 username conflicts with an OIDC user." ErrSAML2NameConflictSAML2: "The SAML2 username conflicts with another SAML2 identity." ErrSAML2Internal: "An internal error occurred during SAML2 authentication. Try again later." ErrSAML2LogoutExpired: "The SAML2 logout request has expired." ErrSAML2LogoutInvalid: "The SAML2 logout message is invalid." ErrSAML2LocalCredentialsReadonly: "SAML2 usernames and passwords are managed by the identity provider and cannot be changed locally." ErrSAML2PasswordExpirationUnsupported: "SAML2 users do not use the local password expiration policy."