Refine English translation (#7232)
Some checks failed
Build / SonarCloud (push) Failing after 5s

This commit is contained in:
John Niang 2024-12-01 22:14:44 +08:00 committed by GitHub
parent 0ef1a26e95
commit e41e74d730
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 102 additions and 97 deletions

View file

@ -16,7 +16,7 @@ ErrApiConfigDisable: "This interface prohibits the use of API Interface calls: {
#common #common
ErrNameIsExist: "Name is already exist" ErrNameIsExist: "Name is already exist"
ErrDemoEnvironment: "Demo server, prohibit this operation!" ErrDemoEnvironment: "Demo server, prohibit this operation!"
ErrCmdTimeout: "Command execution timed out" ErrCmdTimeout: "Command execution timed out!"
ErrCmdIllegal: "The command contains illegal characters. Please modify and try again!" ErrCmdIllegal: "The command contains illegal characters. Please modify and try again!"
ErrPortExist: '{{ .port }} port is already occupied by {{ .type }} [{{ .name }}]' ErrPortExist: '{{ .port }} port is already occupied by {{ .type }} [{{ .name }}]'
TYPE_APP: "Application" TYPE_APP: "Application"
@ -34,13 +34,13 @@ ErrAppLimit: "App exceeds install limit"
ErrAppRequired: "{{ .detail }} app is required" ErrAppRequired: "{{ .detail }} app is required"
ErrNotInstall: "App not installed" ErrNotInstall: "App not installed"
ErrPortInOtherApp: "{{ .port }} port already in use by app {{ .apps }}" ErrPortInOtherApp: "{{ .port }} port already in use by app {{ .apps }}"
ErrDbUserNotValid: "Stock database, username and password do not match" ErrDbUserNotValid: "Stock database, username and password do not match!"
ErrDockerComposeNotValid: "docker-compose file format error!" ErrDockerComposeNotValid: "docker-compose file format error!"
ErrUpdateBuWebsite: 'The application was updated successfully, but the modification of the website configuration file failed, please check the configuration!' ErrUpdateBuWebsite: 'The application was updated successfully, but the modification of the website configuration file failed, please check the configuration!'
Err1PanelNetworkFailed: 'Default container network creation failed! {{ .detail }}' Err1PanelNetworkFailed: 'Default container network creation failed! {{ .detail }}'
ErrFileParse: 'Application docker-compose file parsing failed!' ErrFileParse: 'Application docker-compose file parsing failed!'
ErrInstallDirNotFound: 'installation directory does not exist' ErrInstallDirNotFound: 'installation directory does not exist'
AppStoreIsUpToDate: 'The app store is already up to date' AppStoreIsUpToDate: 'Up to date'
LocalAppVersionNull: 'The {{.name}} app is not synced to version! Could not add to application list' LocalAppVersionNull: 'The {{.name}} app is not synced to version! Could not add to application list'
LocalAppVersionErr: '{{.name}} failed to sync version {{.version}}! {{.err}}' LocalAppVersionErr: '{{.name}} failed to sync version {{.version}}! {{.err}}'
ErrFileNotFound: '{{.name}} file does not exist' ErrFileNotFound: '{{.name}} file does not exist'
@ -95,7 +95,7 @@ ErrAppDelete: 'Other Website use this App'
ErrGroupIsUsed: 'The group is in use and cannot be deleted' ErrGroupIsUsed: 'The group is in use and cannot be deleted'
ErrBackupMatch: 'the backup file does not match the current partial data of the website: {{ .detail}}' ErrBackupMatch: 'the backup file does not match the current partial data of the website: {{ .detail}}'
ErrBackupExist: 'the backup file corresponds to a portion of the original data that does not exist: {{ .detail}}' ErrBackupExist: 'the backup file corresponds to a portion of the original data that does not exist: {{ .detail}}'
ErrPHPResource: 'The local runtime does not support switching' ErrPHPResource: 'The local runtime does not support switching!'
ErrPathPermission: 'A folder with non-1000:1000 permissions was detected in the index directory, which may cause an Access denied error when accessing the website. Please click the save button above' ErrPathPermission: 'A folder with non-1000:1000 permissions was detected in the index directory, which may cause an Access denied error when accessing the website. Please click the save button above'
ErrDomainIsUsed: "Domain is already used by website {{ .name }}" ErrDomainIsUsed: "Domain is already used by website {{ .name }}"
ErrDomainFormat: "{{ .name }} domain format error" ErrDomainFormat: "{{ .name }} domain format error"
@ -105,7 +105,7 @@ ErrImageNotExist: "Running environment {{.name}} image does not exist, please re
#ssl #ssl
ErrSSLCannotDelete: "The certificate {{ .name }} is being used by the website and cannot be removed" ErrSSLCannotDelete: "The certificate {{ .name }} is being used by the website and cannot be removed"
ErrAccountCannotDelete: "The certificate associated with the account cannot be deleted" ErrAccountCannotDelete: "The certificate associated with the account cannot be deleted"
ErrSSLApply: "The certificate continues to be signed successfully, but openresty reload fails, please check the configuration" ErrSSLApply: "The certificate continues to be signed successfully, but openresty reload fails, please check the configuration!"
ErrEmailIsExist: 'Email is already exist' ErrEmailIsExist: 'Email is already exist'
ErrSSLKeyNotFound: 'The private key file does not exist' ErrSSLKeyNotFound: 'The private key file does not exist'
ErrSSLCertificateNotFound: 'The certificate file does not exist' ErrSSLCertificateNotFound: 'The certificate file does not exist'
@ -147,10 +147,10 @@ ErrPortRules: "The number of ports does not match, please re-enter!"
ErrPgImagePull: "Image pull timeout. Please configure image acceleration or manually pull the postgres:16.0-alpine image and try again" ErrPgImagePull: "Image pull timeout. Please configure image acceleration or manually pull the postgres:16.0-alpine image and try again"
#runtime #runtime
ErrDirNotFound: "The build folder does not exist! Please check file integrity" ErrDirNotFound: "The build folder does not exist! Please check file integrity!"
ErrFileNotExist: "{{ .detail }} file does not exist! Please check source file integrity" ErrFileNotExist: "{{ .detail }} file does not exist! Please check source file integrity!"
ErrImageBuildErr: "Image build failed" ErrImageBuildErr: "Image build failed"
ErrImageExist: "Image is already exist" ErrImageExist: "Image is already exist!"
ErrDelWithWebsite: "The operating environment has been associated with a website and cannot be deleted" ErrDelWithWebsite: "The operating environment has been associated with a website and cannot be deleted"
ErrRuntimeStart: "Failed to start" ErrRuntimeStart: "Failed to start"
ErrPackageJsonNotFound: "package.json file does not exist" ErrPackageJsonNotFound: "package.json file does not exist"

View file

@ -189,15 +189,11 @@ const clear = () => {
const onOperate = async (operation: string) => { const onOperate = async (operation: string) => {
em('update:maskShow', false); em('update:maskShow', false);
operateReq.operate = operation; operateReq.operate = operation;
ElMessageBox.confirm( ElMessageBox.confirm(i18n.global.t(`app.${operation}OperatorHelper`), i18n.global.t('app.' + operation), {
i18n.global.t('app.operatorHelper', [i18n.global.t('app.' + operation)]), confirmButtonText: i18n.global.t('commons.button.confirm'),
i18n.global.t('app.' + operation), cancelButtonText: i18n.global.t('commons.button.cancel'),
{ type: 'info',
confirmButtonText: i18n.global.t('commons.button.confirm'), })
cancelButtonText: i18n.global.t('commons.button.cancel'),
type: 'info',
},
)
.then(() => { .then(() => {
em('update:maskShow', true); em('update:maskShow', true);
em('update:loading', true); em('update:loading', true);

View file

@ -10,7 +10,7 @@ const message = {
commons: { commons: {
true: 'true', true: 'true',
false: 'false', false: 'false',
example: 'e.g.:', example: 'For example, ',
fit2cloud: 'FIT2CLOUD', fit2cloud: 'FIT2CLOUD',
button: { button: {
create: 'Create ', create: 'Create ',
@ -70,7 +70,7 @@ const message = {
createNewFolder: 'Create new folder', createNewFolder: 'Create new folder',
createNewFile: 'Create new file', createNewFile: 'Create new file',
helpDoc: 'Help Document', helpDoc: 'Help Document',
unbind: 'UnBind', unbind: 'Unbind',
}, },
search: { search: {
timeStart: 'Time start', timeStart: 'Time start',
@ -120,22 +120,22 @@ const message = {
delete: 'This operation delete cannot be rolled back. Do you want to continue?', delete: 'This operation delete cannot be rolled back. Do you want to continue?',
clean: 'This operation clean cannot be rolled back. Do you want to continue?', clean: 'This operation clean cannot be rolled back. Do you want to continue?',
deleteTitle: 'Delete', deleteTitle: 'Delete',
deleteSuccess: 'Delete Success', deleteSuccess: 'Deleted successfully',
loginSuccess: 'Login Success', loginSuccess: 'Logged in successfully',
operationSuccess: 'Successful operation', operationSuccess: 'Done successfully',
copySuccess: 'Copy Successful', copySuccess: 'Copied successfully',
notSupportOperation: 'This operation is not supported', notSupportOperation: `This operation isn't supported`,
requestTimeout: 'The request timed out, please try again later', requestTimeout: 'The request timed out, please try again later',
infoTitle: 'Hint', infoTitle: 'Hint',
notRecords: 'No execution record is generated for the current task', notRecords: 'No execution record is generated for the current task',
sureLogOut: 'Are you sure you want to log out?', sureLogOut: 'Are you sure you want to log out?',
createSuccess: 'Create Success', createSuccess: 'Created successfully',
updateSuccess: 'Update Success', updateSuccess: 'Updated successfully',
uploadSuccess: 'Update Success', uploadSuccess: 'Uploaded successfully',
operate: 'Operate', operate: 'Operate',
operateConfirm: 'If you are sure about the operation, please input it manually', operateConfirm: 'If you are sure about the operation, please input it manually',
inputOrSelect: 'Please select or enter', inputOrSelect: 'Please select or enter',
copyFailed: 'Copy failed', copyFailed: 'Failed to copy',
operatorHelper: 'Would you like to continue performing {1} operation on {0}?', operatorHelper: 'Would you like to continue performing {1} operation on {0}?',
notFound: 'Sorry, the page you requested does not exist.', notFound: 'Sorry, the page you requested does not exist.',
unSupportType: 'Current file type is not supported!', unSupportType: 'Current file type is not supported!',
@ -183,7 +183,7 @@ const message = {
username: 'Please enter a username', username: 'Please enter a username',
password: 'Please enter a password', password: 'Please enter a password',
rePassword: 'The passwords are inconsistent. Please check and re-enter the password', rePassword: 'The passwords are inconsistent. Please check and re-enter the password',
requiredInput: 'Please enter the required fields', requiredInput: 'This field is required.',
requiredSelect: 'Please select the required fields', requiredSelect: 'Please select the required fields',
illegalInput: 'There are illegal characters in the input box.', illegalInput: 'There are illegal characters in the input box.',
commonName: commonName:
@ -198,7 +198,7 @@ const message = {
complexityPassword: complexityPassword:
'Please enter a password combination with a length of 8-30 characters, including letters, numbers, and at least two special characters.', 'Please enter a password combination with a length of 8-30 characters, including letters, numbers, and at least two special characters.',
commonPassword: 'Please enter a password with more than 6 characters', commonPassword: 'Please enter a password with more than 6 characters',
linuxName: 'Length 1-128, the name cannot contain symbols such as {0}', linuxName: `The field length must be between 1 and 128. The field mustn't contain these special characters: "{0}".`,
email: 'Email format error', email: 'Email format error',
number: 'Please enter the correct number', number: 'Please enter the correct number',
integer: 'Please enter the correct positive integer', integer: 'Please enter the correct positive integer',
@ -207,7 +207,7 @@ const message = {
hostHelper: 'Support input of IP address or domain', hostHelper: 'Support input of IP address or domain',
port: 'Please enter the correct port', port: 'Please enter the correct port',
selectHelper: 'Please select the correct {0} file', selectHelper: 'Please select the correct {0} file',
domain: 'domain name format error', domain: 'Primary domain should be like: example.com or example.com:8080.',
databaseName: 'Support English, numbers, _, length 1-30', databaseName: 'Support English, numbers, _, length 1-30',
ipErr: 'IP [{0}] format error, please check', ipErr: 'IP [{0}] format error, please check',
numberRange: 'Number range: {0} - {1}', numberRange: 'Number range: {0} - {1}',
@ -236,7 +236,7 @@ const message = {
commonError: 'The request failed', commonError: 'The request failed',
}, },
service: { service: {
serviceNotStarted: 'The {0} service is not currently started', serviceNotStarted: `The {0} service isn't started`,
}, },
status: { status: {
running: 'Running', running: 'Running',
@ -683,9 +683,9 @@ const message = {
cmdHelper: 'e.g. nginx -g "daemon off;"', cmdHelper: 'e.g. nginx -g "daemon off;"',
entrypointHelper: 'e.g. docker-entrypoint.sh', entrypointHelper: 'e.g. docker-entrypoint.sh',
autoRemove: 'Auto remove', autoRemove: 'Auto remove',
cpuQuota: 'NacosCPU', cpuQuota: 'Number of CPU cores',
memoryLimit: 'Memory', memoryLimit: 'Memory',
limitHelper: 'If you limit it to 0, then the limitation is turned off, and the maximum available is {0}.', limitHelper: `If set to 0, it means that there is no limitation. The maximum value is {0}.`,
mount: 'Mount', mount: 'Mount',
volumeOption: 'Volume', volumeOption: 'Volume',
hostOption: 'Host', hostOption: 'Host',
@ -732,7 +732,7 @@ const message = {
tag: 'Tag', tag: 'Tag',
tagHelper: 'one in a row, for example, \nkey1=value1\nkey2=value2', tagHelper: 'one in a row, for example, \nkey1=value1\nkey2=value2',
imageNameHelper: 'Image name and Tag, for example: nginx:latest', imageNameHelper: 'Image name and Tag, for example: nginx:latest',
cleanBuildCache: 'Clean Build Cache', cleanBuildCache: 'Clean build cache',
delBuildCacheHelper: delBuildCacheHelper:
'Cleaning the build cache will delete all cached artifacts generated during builds. This action cannot be undone. Continue?', 'Cleaning the build cache will delete all cached artifacts generated during builds. This action cannot be undone. Continue?',
urlWarning: 'The URL prefix does not need to include http:// or https://. Please modify.', urlWarning: 'The URL prefix does not need to include http:// or https://. Please modify.',
@ -1537,7 +1537,7 @@ const message = {
'Please enter a secure login entry point of 5-116 characters, only numbers or letters are supported.', 'Please enter a secure login entry point of 5-116 characters, only numbers or letters are supported.',
entranceInputHelper: 'When the security entry is set to blank, the security entry is cancelled.', entranceInputHelper: 'When the security entry is set to blank, the security entry is cancelled.',
randomGenerate: 'Random', randomGenerate: 'Random',
expirationTime: 'Expiry Date', expirationTime: 'Expiration Date',
unSetting: 'Unset', unSetting: 'Unset',
noneSetting: noneSetting:
'Set the expiration time for the panel password. After the expiration, you need to reset the password', 'Set the expiration time for the panel password. After the expiration, you need to reset the password',
@ -1698,7 +1698,7 @@ const message = {
trialInfo: 'Version', trialInfo: 'Version',
authorizationId: 'Subscription Authorization ID', authorizationId: 'Subscription Authorization ID',
authorizedUser: 'Authorized User', authorizedUser: 'Authorized User',
expiresAt: 'Expiry Date', expiresAt: 'Expiration Date',
productName: 'Product Name', productName: 'Product Name',
productStatus: 'Product Status', productStatus: 'Product Status',
Lost: 'Lost', Lost: 'Lost',
@ -1793,7 +1793,7 @@ const message = {
buildCache: 'Container Build Cache', buildCache: 'Container Build Cache',
}, },
app: { app: {
app: 'Application', app: 'Applications',
installName: 'Name', installName: 'Name',
installed: 'Installed', installed: 'Installed',
all: 'All', all: 'All',
@ -1814,14 +1814,18 @@ const message = {
description: 'Description', description: 'Description',
deleteWarn: deleteWarn:
'The delete operation will delete all data and backups together. This operation cannot be rolled back. Do you want to continue? ', 'The delete operation will delete all data and backups together. This operation cannot be rolled back. Do you want to continue? ',
syncSuccess: 'Sync successfully', syncSuccess: 'Synchronized successfully',
canUpgrade: 'Upgrade', canUpgrade: 'Updates',
backupName: 'File Name', backupName: 'File Name',
backupPath: 'File Path', backupPath: 'File Path',
backupdate: 'Backup time', backupdate: 'Backup time',
update: 'update', update: 'update',
versionSelect: 'Please select a version', versionSelect: 'Please select a version',
operatorHelper: 'Operation {0} will be performed on the selected application, Do you want to continue? ', operatorHelper: 'Operation {0} will be performed on the selected application. Do you want to continue?',
startOperatorHelper: 'The application will be started. Do you want to continue?',
stopOperatorHelper: 'The application will be stopped. Do you want to continue?',
restartOperatorHelper: 'The application will be restarted. Do you want to continue?',
reloadOperatorHelper: 'The application will be reloaded. Do you want to continue?',
checkInstalledWarn: '{0} is not detected, please enter the app store and click to install!', checkInstalledWarn: '{0} is not detected, please enter the app store and click to install!',
gotoInstalled: 'Go to install', gotoInstalled: 'Go to install',
search: 'Search', search: 'Search',
@ -1848,20 +1852,19 @@ const message = {
appOfficeWebsite: 'Office website', appOfficeWebsite: 'Office website',
github: 'Github', github: 'Github',
document: 'Document', document: 'Document',
updatePrompt: 'The current application is the latest version', updatePrompt: 'No updates available',
installPrompt: 'No apps installed yet', installPrompt: 'No apps installed yet',
updateHelper: 'Updating parameters may cause the application to fail to start, please operate with caution', updateHelper: 'Updating parameters may cause the application to fail to start, please operate with caution',
updateWarn: 'Update parameters need to rebuild the application, Do you want to continue? ', updateWarn: 'Update parameters need to rebuild the application, Do you want to continue? ',
busPort: 'Service Port', busPort: 'Service Port',
syncStart: 'Start syncing! Please refresh the app store later', syncStart: 'Start syncing! Please refresh the app store later',
advanced: 'Advanced Settings', advanced: 'Advanced Settings',
cpuCore: 'Number of cores', cpuCore: 'core(s)',
containerName: 'Container Name', containerName: 'Container Name',
containerNameHelper: 'can be empty, it will be automatically generated', containerNameHelper: 'The container name will be automatically generated when not set',
allowPort: 'Port external access', allowPort: 'Port external access',
allowPortHelper: 'Allowing external port access will release the firewall port', allowPortHelper: 'Allowing external port access will release the firewall port',
appInstallWarn: appInstallWarn: `The application dosn't expose the external access port by default. Click "Advanced Settings" to expose it.`,
'The application does not release the external access port by default, you can choose to release it in the advanced settings',
upgradeStart: 'Start upgrading! Please refresh the page later', upgradeStart: 'Start upgrading! Please refresh the page later',
toFolder: 'Open the installation directory', toFolder: 'Open the installation directory',
editCompose: 'Edit compose file', editCompose: 'Edit compose file',
@ -1869,15 +1872,19 @@ const message = {
composeNullErr: 'compose cannot be empty', composeNullErr: 'compose cannot be empty',
takeDown: 'TakeDown', takeDown: 'TakeDown',
allReadyInstalled: 'Installed', allReadyInstalled: 'Installed',
installHelper: 'Configuring image acceleration can solve the problem of image pull failure', // installHelper: 'Configuring image acceleration can solve the problem of image pull failure',
installHelper: 'Configure image acceleration if you have image pull issues.',
// upgradeHelper:
// 'Abnormal applications need to be synchronized to normal status first. If the upgrade fails, please check the failure reason in the log audit-system log',
upgradeHelper: upgradeHelper:
'Abnormal applications need to be synchronized to normal status first. If the upgrade fails, please check the failure reason in the log audit-system log', 'Bring abnormal applications back to normal status before upgrading. If the upgrade fails, go to "Log" > "System Logs" to check the failure reason.',
installWarn: installWarn:
'Currently, if the port external access is not checked, it will not be able to access through the external network IP: port. Do you want to continue?', 'Currently, if the port external access is not checked, it will not be able to access through the external network IP: port. Do you want to continue?',
showIgnore: 'View ignore application', showIgnore: 'View ignored applications',
cancelIgnore: 'Cancel ignore', cancelIgnore: 'Cancel ignore',
ignoreList: 'ignore list', ignoreList: 'Ignored applications',
appHelper: 'Please view the installation instructions of some applications on the application details page', // appHelper: 'Please view the installation instructions of some applications on the application details page',
appHelper: 'Go to application details page to learn installation instruction for some special applications.',
backupApp: 'Backup application before upgrade', backupApp: 'Backup application before upgrade',
backupAppHelper: backupAppHelper:
'If the upgrade fails, the backup will be automatically rolled back. Please check the failure reason in the log audit-system log. The backup will retain the latest 3 copies by default', 'If the upgrade fails, the backup will be automatically rolled back. Please check the failure reason in the log audit-system log. The backup will retain the latest 3 copies by default',
@ -1887,7 +1894,7 @@ const message = {
downloadLogHelper1: 'All logs of {0} application are about to be downloaded. Do you want to continue? ', downloadLogHelper1: 'All logs of {0} application are about to be downloaded. Do you want to continue? ',
downloadLogHelper2: downloadLogHelper2:
'The latest {1} logs of {0} application are about to be downloaded. Do you want to continue? ', 'The latest {1} logs of {0} application are about to be downloaded. Do you want to continue? ',
syncAllAppHelper: 'All applications are about to be synchronized. Do you want to continue? ', syncAllAppHelper: 'All applications will be synchronized. Do you want to continue? ',
hostModeHelper: hostModeHelper:
'The current application network mode is host mode. If you need to open the port, please open it manually on the firewall page.', 'The current application network mode is host mode. If you need to open the port, please open it manually on the firewall page.',
showLocal: 'Show Local Application', showLocal: 'Show Local Application',
@ -1910,8 +1917,8 @@ const message = {
}, },
website: { website: {
website: 'Website', website: 'Website',
primaryDomain: 'Primary Domain', primaryDomain: 'Primary domain',
otherDomains: 'Other Domains', otherDomains: 'Other domains',
static: 'Static', static: 'Static',
deployment: 'Deployment', deployment: 'Deployment',
supportUpType: 'Only .tar.gz files are supported', supportUpType: 'Only .tar.gz files are supported',
@ -1921,21 +1928,24 @@ const message = {
enableFtp: 'FTP', enableFtp: 'FTP',
ftpUser: 'FTP Account', ftpUser: 'FTP Account',
ftpPassword: 'FTP Password', ftpPassword: 'FTP Password',
// ftpHelper:
// "When creating a site, simultaneously create a corresponding FTP account for the site, with the FTP directory pointing to the site's directory.",
ftpHelper: ftpHelper:
"When creating a site, simultaneously create a corresponding FTP account for the site, with the FTP directory pointing to the site's directory.", 'After creating a website, a corresponding FTP account will be created and the FTP directory will link to the website directory.',
remark: 'Remark', remark: 'Remark',
group: 'Group', group: 'Group',
groupSetting: 'Group Management', groupSetting: 'Group Management',
createGroup: 'Create Group', createGroup: 'Create group',
app: 'Application', app: 'Application',
appNew: 'New Application', appNew: 'New Application',
appInstalled: 'Installed Application', appInstalled: 'Installed application',
create: 'Create', create: 'Create',
delete: 'Delete Website', delete: 'Delete Website',
deleteApp: 'Delete Application', deleteApp: 'Delete Application',
deleteBackup: 'Delete Backup', deleteBackup: 'Delete Backup',
domain: 'Domain', domain: 'Domain',
domainHelper: 'One domain per line, support * and IP address, support domain name: port', // domainHelper: 'One domain per line, support * and IP address, support domain name:port',
domainHelper: 'One domain per line.\nSupport wildcard "*" and IP address.\nSupport adding port.',
addDomain: 'Add', addDomain: 'Add',
domainConfig: 'Domains', domainConfig: 'Domains',
defaultDoc: 'Document', defaultDoc: 'Document',
@ -1948,32 +1958,32 @@ const message = {
limitHelper: 'Enable flow control', limitHelper: 'Enable flow control',
other: 'Other', other: 'Other',
currentSSL: 'Current Certificate', currentSSL: 'Current Certificate',
dnsAccount: 'DNS Account', dnsAccount: 'DNS account',
applySSL: 'Certificate Application', applySSL: 'Certificate Application',
SSLList: 'Certificate List', SSLList: 'Certificate List',
createDnsAccount: 'DNS Account', createDnsAccount: 'DNS account',
aliyun: 'Aliyun', aliyun: 'Aliyun',
volcengine: 'Volcengine', volcengine: 'Volcengine',
manual: 'Manual parsing', manual: 'Manual parsing',
key: 'Key', key: 'Key',
check: 'View', check: 'View',
acmeAccountManage: 'Acme Account', acmeAccountManage: 'View ACME accounts',
email: 'Email', email: 'Email',
acmeAccount: 'Acme Account', acmeAccount: 'ACME account',
provider: 'Verification Method', provider: 'Verification method',
dnsManual: 'Manual Resolution', dnsManual: 'Manual Resolution',
expireDate: 'Expiry Date', expireDate: 'Expiry Date',
brand: 'Organization', brand: 'Organization',
deploySSL: 'Deployment', deploySSL: 'Deployment',
deploySSLHelper: 'Are you sure to deploy the certificate? ', deploySSLHelper: 'Are you sure to deploy the certificate? ',
ssl: 'Certificate', ssl: 'Certificate',
dnsAccountManage: 'DNS Account', dnsAccountManage: 'View DNS provider accounts',
renewSSL: 'Renew', renewSSL: 'Renew',
renewHelper: 'Are you sure to renew the certificate? ', renewHelper: 'Are you sure to renew the certificate? ',
renewSuccess: 'Renew Certificate', renewSuccess: 'Renew Certificate',
config: 'Configuration', config: 'Configuration',
enableHTTPS: 'Enable', enableHTTPS: 'Enable',
aliasHelper: 'Alias is the folder name of the website directory', aliasHelper: 'Alias is the directory name of the website',
lastBackupAt: 'last backup time', lastBackupAt: 'last backup time',
null: 'none', null: 'none',
nginxConfig: 'Nginx configuration', nginxConfig: 'Nginx configuration',
@ -2004,9 +2014,8 @@ const message = {
'Forced deletion will ignore errors generated during the deletion process and eventually delete metadata', 'Forced deletion will ignore errors generated during the deletion process and eventually delete metadata',
deleteAppHelper: 'Delete associated applications and application backups at the same time', deleteAppHelper: 'Delete associated applications and application backups at the same time',
deleteBackupHelper: 'Also delete website backup', deleteBackupHelper: 'Also delete website backup',
deleteConfirmHelper: deleteConfirmHelper: `The delete operation can't be undone, please enter <span style="color:red"> "{0}" </span> to delete`,
'The delete operation cannot be rolled back, please enter <span style="color:red"> "{0}" </span> to delete', staticPath: 'The corresponding main directory is ',
staticPath: 'Corresponding main directory:',
limit: 'Scheme', limit: 'Scheme',
blog: 'Forum/Blog', blog: 'Forum/Blog',
imageSite: 'Picture Site', imageSite: 'Picture Site',
@ -2060,16 +2069,16 @@ const message = {
ever: 'permanent', ever: 'permanent',
nextYear: 'One year later', nextYear: 'One year later',
noLog: 'There are currently no logs...', noLog: 'There are currently no logs...',
defaultServer: 'Default Site', defaultServer: 'Default site',
noDefaultServer: 'Not set', noDefaultServer: 'Not set',
defaultServerHelper: defaultServerHelper:
'After setting the default site, all unbound domain names and IPs are directed to the default site\n which can effectively prevent malicious analysis', 'After setting the default site, all unbound domain names and IPs are directed to the default site\n which can effectively prevent malicious analysis',
restoreHelper: 'Are you sure to restore using this backup?', restoreHelper: 'Are you sure to restore using this backup?',
websiteDeploymentHelper: 'Create a website using an application deployed from 1Panel', websiteDeploymentHelper: 'Use an installed application or create a new application to create a website.',
websiteStatictHelper: 'Create a website directory on the host', websiteStatictHelper: 'Create a website directory on the host.',
websiteProxyHelper: websiteProxyHelper:
'Proxying Existing Service: For example, if there is a Halo service installed and running on the local machine using port 8080, then the proxy address would be http://127.0.0.1:8080', 'Use reverse proxy to proxy existing service. For example, if a service is installed and running on port 8080, the proxy address will be "http://127.0.0.1:8080".',
runtimeProxyHelper: 'Use runtime created from 1Panel', runtimeProxyHelper: 'Use a website runtime to create a website.',
runtime: 'Runtime', runtime: 'Runtime',
deleteRuntimeHelper: deleteRuntimeHelper:
'The Runtime application needs to be deleted together with the website, please handle it with caution', 'The Runtime application needs to be deleted together with the website, please handle it with caution',
@ -2126,7 +2135,7 @@ const message = {
disable: 'not enabled', disable: 'not enabled',
disableLeechHelper: 'Whether to disable the anti-leech', disableLeechHelper: 'Whether to disable the anti-leech',
disableLeech: 'Disable anti-leech', disableLeech: 'Disable anti-leech',
ipv6: 'Listen IPV6', ipv6: 'Listen IPv6',
leechReturnError: 'Please fill in the HTTP status code', leechReturnError: 'Please fill in the HTTP status code',
selectAcme: 'Select Acme account', selectAcme: 'Select Acme account',
imported: 'Manually Created', imported: 'Manually Created',
@ -2154,9 +2163,9 @@ const message = {
runDirHelper2: 'Please ensure that the secondary running directory is under the index directory', runDirHelper2: 'Please ensure that the secondary running directory is under the index directory',
openrestyHelper: openrestyHelper:
'OpenResty default HTTP port: {0} HTTPS port: {1}, which may affect website domain name access and HTTPS forced redirect', 'OpenResty default HTTP port: {0} HTTPS port: {1}, which may affect website domain name access and HTTPS forced redirect',
primaryDomainHelper: 'Support domain name: port', primaryDomainHelper: 'Exmaple: example.com or example.com:8080',
acmeAccountType: 'Account Type', acmeAccountType: 'Account Type',
keyType: 'Key Algorithm', keyType: 'Key algorithm',
tencentCloud: 'Tencent Cloud', tencentCloud: 'Tencent Cloud',
containWarn: 'The domain name contains the main domain, please re-enter', containWarn: 'The domain name contains the main domain, please re-enter',
rewriteHelper2: rewriteHelper2:
@ -2171,7 +2180,7 @@ const message = {
indexHtml: 'Static website default page', indexHtml: 'Static website default page',
stopHtml: 'Website stop page', stopHtml: 'Website stop page',
indexPHP: 'PHP website default page', indexPHP: 'PHP website default page',
sslExpireDate: 'Certificate Expiry Date', sslExpireDate: 'Certificate Expiration Date',
website404Helper: 'Website 404 error page only supports PHP runtime environment websites and static websites', website404Helper: 'Website 404 error page only supports PHP runtime environment websites and static websites',
sni: 'Origin SNI', sni: 'Origin SNI',
sniHelper: sniHelper:
@ -2223,10 +2232,10 @@ const message = {
saveAndReload: 'Save and Reload', saveAndReload: 'Save and Reload',
clearProxyCache: 'Clear reverse proxy cache', clearProxyCache: 'Clear reverse proxy cache',
clearProxyCacheWarn: clearProxyCacheWarn:
'Clearing the reverse proxy cache will affect all websites configured with cache and requires restarting OpenResty. Do you want to continue? ', 'All websites that have configured with cache will be affected and "OpenResty" will be restarted. Do you want to continue?',
}, },
ssl: { ssl: {
create: 'Apply', create: 'Request',
provider: 'Type', provider: 'Type',
manualCreate: 'Manually Created', manualCreate: 'Manually Created',
acmeAccount: 'Acme Account', acmeAccount: 'Acme Account',
@ -2241,7 +2250,7 @@ const message = {
startDate: 'Effective Time', startDate: 'Effective Time',
organization: 'issuing organization', organization: 'issuing organization',
renewConfirm: 'Are you sure you want to apply for a certificate for domain name {0}? ', renewConfirm: 'Are you sure you want to apply for a certificate for domain name {0}? ',
autoRenew: 'Automatic Renewal', autoRenew: 'Automatic renewal',
autoRenewHelper: 'Automatically renew 30 days before expiration', autoRenewHelper: 'Automatically renew 30 days before expiration',
renewSuccess: 'Renewal successful', renewSuccess: 'Renewal successful',
renewWebsite: renewWebsite:
@ -2253,7 +2262,7 @@ const message = {
apply: 'Apply', apply: 'Apply',
applyStart: 'Certificate application starts', applyStart: 'Certificate application starts',
getDnsResolve: 'Getting DNS resolution value, please wait...', getDnsResolve: 'Getting DNS resolution value, please wait...',
selfSigned: 'Self-signed certificate', selfSigned: 'View Self-signed certificates',
ca: 'Certification Authority', ca: 'Certification Authority',
commonName: 'Certificate subject name (CN)', commonName: 'Certificate subject name (CN)',
caName: 'Institution name', caName: 'Institution name',
@ -2267,11 +2276,11 @@ const message = {
days: 'validity period', days: 'validity period',
domainHelper: 'One domain name per line, supports * and IP address', domainHelper: 'One domain name per line, supports * and IP address',
pushDir: 'Push the certificate to the local directory', pushDir: 'Push the certificate to the local directory',
dir: 'directory', dir: 'Directory',
pushDirHelper: pushDirHelper:
'Two files will be generated in this directory, the certificate file: fullchain.pem and the key file: privkey.pem', 'Certificate file "fullchain.pem" and key file "privkey.pem" will be generated in this directory.',
organizationDetail: 'Organization Details', organizationDetail: 'Organization Details',
fromWebsite: 'From Websites', fromWebsite: 'From websites',
dnsMauanlHelper: dnsMauanlHelper:
'In manual resolution mode, you need to click the apply button after creation to obtain the DNS resolution value', 'In manual resolution mode, you need to click the apply button after creation to obtain the DNS resolution value',
httpHelper: 'HTTP mode requires OpenResty to be installed', httpHelper: 'HTTP mode requires OpenResty to be installed',
@ -2280,20 +2289,20 @@ const message = {
googleCloudHelper: 'Google Cloud API is not accessible in most parts of mainland China', googleCloudHelper: 'Google Cloud API is not accessible in most parts of mainland China',
httpHelper2: 'Unable to apply for a generic domain name certificate in HTTP mode', httpHelper2: 'Unable to apply for a generic domain name certificate in HTTP mode',
skipDNSCheck: 'Skip DNS check', skipDNSCheck: 'Skip DNS check',
skipDNSCheckHelper: 'If there is an application timeout problem, please check here, otherwise do not check it', skipDNSCheckHelper: 'Check here only if you encounter a timeout issue during certification request.',
cfHelper: 'Do not use Global API Key', cfHelper: 'Do not use Global API Key',
deprecated: 'will be deprecated', deprecated: 'will be deprecated',
deprecatedHelper: deprecatedHelper:
'Maintenance has been stopped and may be abandoned in a future version. Please use Tencent Cloud method for analysis', 'Maintenance has been stopped and may be abandoned in a future version. Please use Tencent Cloud method for analysis',
disableCNAME: 'Disable CNAME', disableCNAME: 'Disable CNAME',
disableCNAMEHelper: 'Domain name with CNAME configuration, if the application fails, you can check here', disableCNAMEHelper: 'Check here if the domain name has a CNAME record and the request fails.',
nameserver: 'DNS server', nameserver: 'DNS server',
nameserverHelper: 'Use a custom DNS server to verify domain names', nameserverHelper: 'Use a custom DNS server to verify domain names.',
edit: 'Edit certificate', edit: 'Edit certificate',
execShell: 'Execute the script after applying for the certificate', execShell: 'Execute the script after certification request.',
shell: 'Script content', shell: 'Script content',
shellHelper: shellHelper:
'The default execution directory of the script is the 1Panel installation directory. If a certificate is pushed, the execution directory is the certificate push directory. The default timeout is 30 minutes', 'The default execution directory of the script is the 1Panel installation directory. If a certificate is pushed into local directory, the execution directory will be the certificate push directory. The default execution timeout is 30 minutes.',
}, },
firewall: { firewall: {
create: 'Create Rule', create: 'Create Rule',
@ -2313,7 +2322,7 @@ const message = {
firewall: 'Firewall', firewall: 'Firewall',
dockerHelper: dockerHelper:
'Linux firewall {0} cannot disable Docker port mapping, the application can edit the parameters on the [Installed] page to control whether the port is released', 'Linux firewall {0} cannot disable Docker port mapping, the application can edit the parameters on the [Installed] page to control whether the port is released',
quickJump: 'Quick jump', quickJump: 'Go to now',
used: 'Used', used: 'Used',
unUsed: 'Unused', unUsed: 'Unused',
firewallHelper: '{0} System firewall', firewallHelper: '{0} System firewall',

View file

@ -9,8 +9,8 @@ const message = {
commons: { commons: {
true: '是', true: '是',
false: '否', false: '否',
example: '', example: '',
fit2cloud: '飛致雲', fit2cloud: '飞致云',
button: { button: {
create: '創建', create: '創建',
add: '添加', add: '添加',

View file

@ -1792,7 +1792,7 @@ const message = {
deleteApp: '删除应用', deleteApp: '删除应用',
deleteBackup: '删除备份', deleteBackup: '删除备份',
domain: '域名', domain: '域名',
domainHelper: '一行一个域名,支持*和IP地址,支持域名:端口', domainHelper: '一行一个域名支持*和IP地址支持"域名:端口"',
addDomain: '新增域名', addDomain: '新增域名',
domainConfig: '域名设置', domainConfig: '域名设置',
defaultDoc: '默认文档', defaultDoc: '默认文档',
@ -1916,7 +1916,7 @@ const message = {
websiteDeploymentHelper: '使用从 1Panel 部署的应用创建网站', websiteDeploymentHelper: '使用从 1Panel 部署的应用创建网站',
websiteStatictHelper: '在主机上创建网站目录', websiteStatictHelper: '在主机上创建网站目录',
websiteProxyHelper: websiteProxyHelper:
'代理已有服务,例如本机已安装使用 8080 端口的 halo 服务那么代理地址为 http://127.0.0.1:8080', '代理已有服务例如本机已安装使用 8080 端口的 halo 服务那么代理地址为 http://127.0.0.1:8080',
restoreHelper: '确认使用此备份恢复', restoreHelper: '确认使用此备份恢复',
wafValueHelper: '值', wafValueHelper: '值',
wafRemarkHelper: '描述', wafRemarkHelper: '描述',

View file

@ -16,7 +16,7 @@
:title="$t('app.appInstallWarn')" :title="$t('app.appInstallWarn')"
class="common-prompt" class="common-prompt"
:closable="false" :closable="false"
type="error" type="warning"
v-if="!isHostMode" v-if="!isHostMode"
/> />
<el-alert <el-alert

View file

@ -249,7 +249,7 @@
> >
<template #append>{{ $t('app.cpuCore') }}</template> <template #append>{{ $t('app.cpuCore') }}</template>
</el-input> </el-input>
<span class="input-help">{{ $t('container.limitHelper') }}</span> <span class="input-help">{{ $t('container.limitHelper', [99999]) }}</span>
</el-form-item> </el-form-item>
<el-form-item :label="$t('container.memoryLimit')" prop="appinstall.memoryLimit"> <el-form-item :label="$t('container.memoryLimit')" prop="appinstall.memoryLimit">
<el-input style="width: 40%" v-model.number="website.appinstall.memoryLimit" maxlength="10"> <el-input style="width: 40%" v-model.number="website.appinstall.memoryLimit" maxlength="10">
@ -265,7 +265,7 @@
</el-select> </el-select>
</template> </template>
</el-input> </el-input>
<span class="input-help">{{ $t('container.limitHelper') }}</span> <span class="input-help">{{ $t('container.limitHelper', ['9999999999']) }}</span>
</el-form-item> </el-form-item>
<el-form-item prop="allowPort" v-if="website.type === 'deployment'"> <el-form-item prop="allowPort" v-if="website.type === 'deployment'">
<el-checkbox <el-checkbox