mirror of
https://hubproxy.babadafafafafa.cn/https://github.com/1Panel-dev/1Panel.git
synced 2026-09-20 16:13:59 +08:00
530 lines
32 KiB
YAML
530 lines
32 KiB
YAML
# 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."
|