mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2025-02-07 17:10:07 +08:00
Refine English translation again and again (#7353)
This commit is contained in:
parent
590238dc13
commit
c95d61397d
@ -6,7 +6,7 @@
|
|||||||
<div class="flex flex-wrap gap-4">
|
<div class="flex flex-wrap gap-4">
|
||||||
<el-tag effect="dark" type="success">{{ data.app }}</el-tag>
|
<el-tag effect="dark" type="success">{{ data.app }}</el-tag>
|
||||||
<Status :key="refresh" :status="data.status"></Status>
|
<Status :key="refresh" :status="data.status"></Status>
|
||||||
<el-tag>{{ $t('app.version') }}:{{ data.version }}</el-tag>
|
<el-tag>{{ $t('app.version') }}{{ $t('commons.colon') }}{{ data.version }}</el-tag>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mt-0.5">
|
<div class="mt-0.5">
|
||||||
@ -217,13 +217,13 @@ const onOperate = async (operation: string) => {
|
|||||||
const getTitle = (key: string) => {
|
const getTitle = (key: string) => {
|
||||||
switch (key) {
|
switch (key) {
|
||||||
case 'openresty':
|
case 'openresty':
|
||||||
return i18n.global.t('website.website');
|
return i18n.global.t('website.website', 2);
|
||||||
case 'mysql':
|
case 'mysql':
|
||||||
return 'MySQL ' + i18n.global.t('menu.database');
|
return 'MySQL ' + i18n.global.t('menu.database').toLowerCase();
|
||||||
case 'postgresql':
|
case 'postgresql':
|
||||||
return 'PostgreSQL ' + i18n.global.t('menu.database');
|
return 'PostgreSQL ' + i18n.global.t('menu.database').toLowerCase();
|
||||||
case 'redis':
|
case 'redis':
|
||||||
return 'Redis ' + i18n.global.t('menu.database');
|
return 'Redis ' + i18n.global.t('menu.database').toLowerCase();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<el-popover placement="bottom-start" :width="240" trigger="click">
|
<el-popover placement="bottom-start" :width="260" trigger="click">
|
||||||
<template #reference>
|
<template #reference>
|
||||||
<el-button round class="timer-button">{{ $t('commons.table.tableSetting') }}</el-button>
|
<el-button round class="timer-button">{{ $t('commons.table.tableSetting') }}</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
@ -17,7 +17,7 @@ const message = {
|
|||||||
create: 'Create ',
|
create: 'Create ',
|
||||||
add: 'Add ',
|
add: 'Add ',
|
||||||
save: 'Save ',
|
save: 'Save ',
|
||||||
set: 'Configure',
|
set: 'Edit config',
|
||||||
sync: 'Sync ',
|
sync: 'Sync ',
|
||||||
delete: 'Delete',
|
delete: 'Delete',
|
||||||
edit: 'Edit ',
|
edit: 'Edit ',
|
||||||
@ -46,7 +46,7 @@ const message = {
|
|||||||
retry: 'Retry',
|
retry: 'Retry',
|
||||||
upload: 'Upload',
|
upload: 'Upload',
|
||||||
download: 'Download',
|
download: 'Download',
|
||||||
init: 'Init',
|
init: 'Initialize',
|
||||||
verify: 'Verify',
|
verify: 'Verify',
|
||||||
saveAndEnable: 'Save and enable',
|
saveAndEnable: 'Save and enable',
|
||||||
import: 'Import',
|
import: 'Import',
|
||||||
@ -105,7 +105,7 @@ const message = {
|
|||||||
forward: 'Forward',
|
forward: 'Forward',
|
||||||
protocol: 'Protocol',
|
protocol: 'Protocol',
|
||||||
tableSetting: 'Table setting',
|
tableSetting: 'Table setting',
|
||||||
refreshRate: 'Rate',
|
refreshRate: 'Refresh rate',
|
||||||
refreshRateUnit: 'No refresh | {n} second/time | {n} seconds/time',
|
refreshRateUnit: 'No refresh | {n} second/time | {n} seconds/time',
|
||||||
selectColumn: 'Select column',
|
selectColumn: 'Select column',
|
||||||
},
|
},
|
||||||
@ -285,15 +285,15 @@ const message = {
|
|||||||
uperr: 'Error',
|
uperr: 'Error',
|
||||||
},
|
},
|
||||||
units: {
|
units: {
|
||||||
second: 'second | seconds',
|
second: ' second | second | seconds',
|
||||||
minute: 'minute | minutes',
|
minute: 'minute | minute | minutes',
|
||||||
hour: 'hour | hours',
|
hour: 'hour | hour | hours',
|
||||||
day: 'day | days',
|
day: 'day | day | days',
|
||||||
week: 'week | weeks',
|
week: 'week | week | weeks',
|
||||||
month: 'month | months',
|
month: 'month | month | months',
|
||||||
year: 'year | years',
|
year: 'year | year | years',
|
||||||
time: 'rqm',
|
time: 'rqm',
|
||||||
core: 'core | cores',
|
core: 'core | core | cores',
|
||||||
millisecond: 'millisecond | milliseconds',
|
millisecond: 'millisecond | milliseconds',
|
||||||
secondUnit: 's',
|
secondUnit: 's',
|
||||||
minuteUnit: 'min',
|
minuteUnit: 'min',
|
||||||
@ -326,6 +326,7 @@ const message = {
|
|||||||
container: 'Container | Containers',
|
container: 'Container | Containers',
|
||||||
cronjob: 'Cron Job | Cron Jobs',
|
cronjob: 'Cron Job | Cron Jobs',
|
||||||
host: 'Host | Hosts',
|
host: 'Host | Hosts',
|
||||||
|
system: 'System',
|
||||||
security: 'Security',
|
security: 'Security',
|
||||||
files: 'File Browser',
|
files: 'File Browser',
|
||||||
monitor: 'Monitoring',
|
monitor: 'Monitoring',
|
||||||
@ -366,13 +367,13 @@ const message = {
|
|||||||
mem: 'System',
|
mem: 'System',
|
||||||
swapMem: 'Swap partition',
|
swapMem: 'Swap partition',
|
||||||
|
|
||||||
runSmoothly: 'Run smoothly',
|
runSmoothly: 'Low load',
|
||||||
runNormal: 'Run normally',
|
runNormal: 'Moderate load',
|
||||||
runSlowly: 'Run slowly',
|
runSlowly: 'High load',
|
||||||
runJam: 'Run blockaged',
|
runJam: 'Heavy load',
|
||||||
|
|
||||||
core: 'Physical core',
|
core: 'Physical core',
|
||||||
logicCore: 'Logic core',
|
logicCore: 'Logical core',
|
||||||
loadAverage: 'Load average in the last 1 minute | Load average in the last {n} minutes',
|
loadAverage: 'Load average in the last 1 minute | Load average in the last {n} minutes',
|
||||||
load: 'Load',
|
load: 'Load',
|
||||||
mount: 'Mount point',
|
mount: 'Mount point',
|
||||||
@ -447,10 +448,10 @@ const message = {
|
|||||||
passwordHelper: 'Unable to retrieve, please modify',
|
passwordHelper: 'Unable to retrieve, please modify',
|
||||||
local: 'Local',
|
local: 'Local',
|
||||||
remote: 'Remote',
|
remote: 'Remote',
|
||||||
remoteDB: 'Remote server',
|
remoteDB: 'Remote server | Remote servers',
|
||||||
manageRemoteDB: 'Manage remote servers',
|
manageRemoteDB: 'Manage remote servers',
|
||||||
createRemoteDB: 'Bind remote server',
|
createRemoteDB: 'Bind @.lower:database.remoteDB',
|
||||||
unBindRemoteDB: 'Unbind remote server',
|
unBindRemoteDB: 'Unbind @.lower:database.remoteDB',
|
||||||
unBindForce: 'Force unbind',
|
unBindForce: 'Force unbind',
|
||||||
unBindForceHelper: 'Ignore all errors during the unbinding process to ensure the final operation is successful',
|
unBindForceHelper: 'Ignore all errors during the unbinding process to ensure the final operation is successful',
|
||||||
unBindRemoteHelper:
|
unBindRemoteHelper:
|
||||||
@ -642,7 +643,7 @@ const message = {
|
|||||||
downLogHelper2: 'This will download the recent {0} logs from container {0}. Do you want to continue?',
|
downLogHelper2: 'This will download the recent {0} logs from container {0}. Do you want to continue?',
|
||||||
cleanLogHelper: `This will require restarting the container and can't be undone. Do you want to continue?`,
|
cleanLogHelper: `This will require restarting the container and can't be undone. Do you want to continue?`,
|
||||||
newName: 'New name',
|
newName: 'New name',
|
||||||
source: 'Resource rate',
|
source: 'Resource usage',
|
||||||
cpuUsage: 'CPU usage',
|
cpuUsage: 'CPU usage',
|
||||||
cpuTotal: 'CPU total',
|
cpuTotal: 'CPU total',
|
||||||
core: 'Core',
|
core: 'Core',
|
||||||
@ -904,9 +905,9 @@ const message = {
|
|||||||
cronSpecHelper: 'Enter the correct execution period',
|
cronSpecHelper: 'Enter the correct execution period',
|
||||||
cleanHelper:
|
cleanHelper:
|
||||||
'This operation records all job execution records, backup files, and log files. Do you want to continue?',
|
'This operation records all job execution records, backup files, and log files. Do you want to continue?',
|
||||||
directory: 'Backup Directory',
|
directory: 'Backup directory',
|
||||||
sourceDir: 'Backup Directory',
|
sourceDir: 'Backup directory',
|
||||||
snapshot: 'System Snapshot',
|
snapshot: 'System snapshot',
|
||||||
allOptionHelper: `The current task plan is to back up all [{0}]. Direct download isn't supported at the moment. You can check the backup list of [{0}] menu.`,
|
allOptionHelper: `The current task plan is to back up all [{0}]. Direct download isn't supported at the moment. You can check the backup list of [{0}] menu.`,
|
||||||
exclusionRules: 'Exclusive rule',
|
exclusionRules: 'Exclusive rule',
|
||||||
exclusionRulesHelper: 'The exclusion rules will apply to all compression operations of this backup.',
|
exclusionRulesHelper: 'The exclusion rules will apply to all compression operations of this backup.',
|
||||||
@ -941,14 +942,13 @@ const message = {
|
|||||||
shellContent: 'Script',
|
shellContent: 'Script',
|
||||||
errRecord: 'Incorrect logging',
|
errRecord: 'Incorrect logging',
|
||||||
errHandle: 'Cronjob execution failure',
|
errHandle: 'Cronjob execution failure',
|
||||||
// noRecord: 'The execution did not generate any logs',
|
|
||||||
noRecord: 'Trigger the Cron Job, and you will see the records here.',
|
noRecord: 'Trigger the Cron Job, and you will see the records here.',
|
||||||
cleanData: 'Clean data',
|
cleanData: 'Clean data',
|
||||||
cleanDataHelper: 'Delete the backup file generated during this task.',
|
cleanDataHelper: 'Delete the backup file generated during this task.',
|
||||||
noLogs: 'No task output yet...',
|
noLogs: 'No task output yet...',
|
||||||
errPath: 'Backup path [{0}] error, cannot download!',
|
errPath: 'Backup path [{0}] error, cannot download!',
|
||||||
cutWebsiteLog: 'Cut Website Log',
|
cutWebsiteLog: 'Website log rotation',
|
||||||
cutWebsiteLogHelper: 'The cut log files will be backed up to the backup directory of 1Panel',
|
cutWebsiteLogHelper: 'The rotated log files will be backed up to the backup directory of 1Panel.',
|
||||||
|
|
||||||
requestExpirationTime: 'Upload request expiration time(Hours)',
|
requestExpirationTime: 'Upload request expiration time(Hours)',
|
||||||
unitHours: 'Unit: Hours',
|
unitHours: 'Unit: Hours',
|
||||||
@ -1073,7 +1073,7 @@ const message = {
|
|||||||
dnsTestFailed: `DNS configuration information isn't available.`,
|
dnsTestFailed: `DNS configuration information isn't available.`,
|
||||||
},
|
},
|
||||||
fail2ban: {
|
fail2ban: {
|
||||||
sshPort: 'Listen to SSH Port',
|
sshPort: 'Listen to SSH port',
|
||||||
sshPortHelper: 'Current Fail2ban listens to the SSH connection port of the host',
|
sshPortHelper: 'Current Fail2ban listens to the SSH connection port of the host',
|
||||||
noFail2ban: `Fail2ban service isn't detected. Refer to the official documentation to install.`,
|
noFail2ban: `Fail2ban service isn't detected. Refer to the official documentation to install.`,
|
||||||
unActive: `The Fail2ban service isn't enabled at present.`,
|
unActive: `The Fail2ban service isn't enabled at present.`,
|
||||||
@ -1081,24 +1081,24 @@ const message = {
|
|||||||
fail2banChange: 'Fail2ban Configuration Modification',
|
fail2banChange: 'Fail2ban Configuration Modification',
|
||||||
ignoreHelper: 'The IP list in the whitelist will be ignored for blocking. Do you want to continue?',
|
ignoreHelper: 'The IP list in the whitelist will be ignored for blocking. Do you want to continue?',
|
||||||
bannedHelper: 'The IP list in the blacklist will be blocked by the server. Do you want to continue?',
|
bannedHelper: 'The IP list in the blacklist will be blocked by the server. Do you want to continue?',
|
||||||
maxRetry: 'Maximum Retry Attempts',
|
maxRetry: 'Maximum retry attempts',
|
||||||
banTime: 'Ban Time',
|
banTime: 'Ban time',
|
||||||
banTimeHelper: 'Default ban time is 10 minutes, -1 indicates permanent ban',
|
banTimeHelper: 'Default ban time is 10 minutes, -1 indicates permanent ban',
|
||||||
banTimeRule: 'Please enter a valid ban time or -1',
|
banTimeRule: 'Please enter a valid ban time or -1',
|
||||||
banAllTime: 'Permanent Ban',
|
banAllTime: 'Permanent ban',
|
||||||
findTime: 'Discovery Period',
|
findTime: 'Discovery period',
|
||||||
banAction: 'Ban Action',
|
banAction: 'Ban action',
|
||||||
banActionOption: 'Ban specified IP addresses using {0}',
|
banActionOption: 'Ban specified IP addresses using {0}',
|
||||||
allPorts: ' (All Ports)',
|
allPorts: ' (All Ports)',
|
||||||
ignoreIP: 'IP Whitelist',
|
ignoreIP: 'IP whitelist',
|
||||||
bannedIP: 'IP Blacklist',
|
bannedIP: 'IP blacklist',
|
||||||
logPath: 'Log Path',
|
logPath: 'Log path',
|
||||||
logPathHelper: 'Default is /var/log/secure or /var/log/auth.log',
|
logPathHelper: 'Default is /var/log/secure or /var/log/auth.log',
|
||||||
},
|
},
|
||||||
ftp: {
|
ftp: {
|
||||||
ftp: 'FTP Account',
|
ftp: 'FTP account | FTP accounts',
|
||||||
noFtp: `FTP (pure-ftpd) service isn't detected. Refer to the official documentation to install.`,
|
noFtp: `FTP (pure-ftpd) service isn't detected. Refer to the official documentation to install.`,
|
||||||
operation: 'Perform [{0}] operation on FTP service, continue?',
|
operation: 'This will perform "{0}" operation on FTP service. Do you want to continue?',
|
||||||
noPasswdMsg: 'Can not get the current FTP account password, please set the password and try again! ',
|
noPasswdMsg: 'Can not get the current FTP account password, please set the password and try again! ',
|
||||||
enableHelper:
|
enableHelper:
|
||||||
'Enabling the selected FTP account will restore its access permissions. Do you want to continue?',
|
'Enabling the selected FTP account will restore its access permissions. Do you want to continue?',
|
||||||
@ -1115,39 +1115,40 @@ const message = {
|
|||||||
'Stopping scheduled execution will prevent this scan task from running automatically. Do you want to continue?',
|
'Stopping scheduled execution will prevent this scan task from running automatically. Do you want to continue?',
|
||||||
enableMsg:
|
enableMsg:
|
||||||
'Enabling scheduled execution will allow this scan task to run automatically at regular intervals. Do you want to continue?',
|
'Enabling scheduled execution will allow this scan task to run automatically at regular intervals. Do you want to continue?',
|
||||||
showFresh: 'Show Virus Database Service',
|
showFresh: 'Show signature updater service',
|
||||||
hideFresh: 'Hide Virus Database Service',
|
hideFresh: 'Hide signature updater service',
|
||||||
clamHelper:
|
clamHelper:
|
||||||
'The minimum recommended configuration for ClamAV is: 3 GiB of RAM or more, single-core CPU with 2.0 GHz or higher, and at least 5 GiB of available hard disk space.',
|
'The minimum recommended configuration for ClamAV is: 3 GiB of RAM or more, single-core CPU with 2.0 GHz or higher, and at least 5 GiB of available hard disk space.',
|
||||||
noClam: 'ClamAV service not detected, please refer to the official documentation for installation!',
|
noClam: 'ClamAV service not detected, please refer to the official documentation for installation!',
|
||||||
notStart: 'ClamAV service is currently not running, please start it first!',
|
notStart: 'ClamAV service is currently not running, please start it first!',
|
||||||
removeRecord: 'Delete Report Files',
|
removeRecord: 'Delete peport files',
|
||||||
|
noRecords: 'Click the "Trigger" button to start the scan and you will see records here.',
|
||||||
removeResultHelper: 'Delete report files generated during task execution to free up storage space.',
|
removeResultHelper: 'Delete report files generated during task execution to free up storage space.',
|
||||||
removeInfected: 'Delete Virus Files',
|
removeInfected: 'Delete virus files',
|
||||||
removeInfectedHelper:
|
removeInfectedHelper:
|
||||||
'Delete virus files detected during the task to ensure server security and normal operation.',
|
'Delete virus files detected during the task to ensure server security and normal operation.',
|
||||||
clamCreate: 'Create Scan Rules',
|
clamCreate: 'Create scan rule',
|
||||||
infectedStrategy: 'Infected Strategy',
|
infectedStrategy: 'Infected strategy',
|
||||||
remove: 'Delete',
|
remove: 'Delete',
|
||||||
removeHelper: 'Delete virus files, choose carefully!',
|
removeHelper: 'Delete virus files, choose carefully!',
|
||||||
move: 'Move',
|
move: 'Move',
|
||||||
moveHelper: 'Move virus files to specified directory',
|
moveHelper: 'Move virus files to specified directory',
|
||||||
copy: 'Copy',
|
copy: 'Copy',
|
||||||
copyHelper: 'Copy virus files to specified directory',
|
copyHelper: 'Copy virus files to specified directory',
|
||||||
none: 'Do Nothing',
|
none: 'Do nothing',
|
||||||
noneHelper: 'Take no action on virus files',
|
noneHelper: 'Take no action on virus files',
|
||||||
scanDir: 'Scan Directory',
|
scanDir: 'Scan directory',
|
||||||
infectedDir: 'Infected Directory',
|
infectedDir: 'Infected directory',
|
||||||
scanDate: 'Scan Date',
|
scanDate: 'Scan Date',
|
||||||
scanResult: 'Scan log tail',
|
scanResult: 'Scan logs tail',
|
||||||
tail: 'Lines',
|
tail: 'Lines',
|
||||||
scanTime: 'Time Taken',
|
scanTime: 'Time taken',
|
||||||
infectedFiles: 'Infected Files',
|
infectedFiles: 'Infected files',
|
||||||
log: 'Details',
|
log: 'Details',
|
||||||
clamConf: 'Scan Configuration',
|
clamConf: 'Clam AV daemon',
|
||||||
clamLog: 'Scan Logs',
|
clamLog: '@:toolbox.clam.clamConf logs',
|
||||||
freshClam: 'Update Virus Definitions',
|
freshClam: 'FreshClam',
|
||||||
freshClamLog: 'Update Virus Definitions Logs',
|
freshClamLog: '@:toolbox.clam.freshClam logs',
|
||||||
alertHelper: 'Professional version supports scheduled scan and SMS alert',
|
alertHelper: 'Professional version supports scheduled scan and SMS alert',
|
||||||
alertTitle: 'Virus scan task 「{0}」 detected infected file alert',
|
alertTitle: 'Virus scan task 「{0}」 detected infected file alert',
|
||||||
},
|
},
|
||||||
@ -1243,6 +1244,7 @@ const message = {
|
|||||||
downloadProcess: 'Download progress',
|
downloadProcess: 'Download progress',
|
||||||
downloading: 'Downloading...',
|
downloading: 'Downloading...',
|
||||||
infoDetail: 'File properties',
|
infoDetail: 'File properties',
|
||||||
|
root: 'Root directory',
|
||||||
list: 'File list',
|
list: 'File list',
|
||||||
sub: 'Include subdirectories',
|
sub: 'Include subdirectories',
|
||||||
downloadSuccess: 'Successfully downloaded',
|
downloadSuccess: 'Successfully downloaded',
|
||||||
@ -1311,7 +1313,7 @@ const message = {
|
|||||||
panelInstallDir: `1Panel installation directory can't be deleted`,
|
panelInstallDir: `1Panel installation directory can't be deleted`,
|
||||||
},
|
},
|
||||||
ssh: {
|
ssh: {
|
||||||
autoStart: 'Auto Start',
|
autoStart: 'Auto start',
|
||||||
enable: 'Enable Autostart',
|
enable: 'Enable Autostart',
|
||||||
disable: 'Disable Autostart',
|
disable: 'Disable Autostart',
|
||||||
sshAlert:
|
sshAlert:
|
||||||
@ -1666,7 +1668,7 @@ const message = {
|
|||||||
upgradeNotes: 'Release note',
|
upgradeNotes: 'Release note',
|
||||||
upgradeNow: 'Upgrade now',
|
upgradeNow: 'Upgrade now',
|
||||||
source: 'Download source',
|
source: 'Download source',
|
||||||
hasNewVersion: 'New version available',
|
hasNewVersion: 'Update available',
|
||||||
|
|
||||||
about: 'About',
|
about: 'About',
|
||||||
project: 'GitHub',
|
project: 'GitHub',
|
||||||
@ -1980,7 +1982,7 @@ const message = {
|
|||||||
nginxConfig: 'Nginx configuration',
|
nginxConfig: 'Nginx configuration',
|
||||||
websiteConfig: 'Website settings',
|
websiteConfig: 'Website settings',
|
||||||
basic: 'Basic',
|
basic: 'Basic',
|
||||||
source: 'Configuration source',
|
source: 'Configuration',
|
||||||
security: 'Security',
|
security: 'Security',
|
||||||
log: 'Logs',
|
log: 'Logs',
|
||||||
nginxPer: 'Performance tuning',
|
nginxPer: 'Performance tuning',
|
||||||
@ -2059,7 +2061,7 @@ const message = {
|
|||||||
data: 'data',
|
data: 'data',
|
||||||
ever: 'permanent',
|
ever: 'permanent',
|
||||||
nextYear: 'One year later',
|
nextYear: 'One year later',
|
||||||
noLog: 'There are currently no logs...',
|
noLog: 'No logs found',
|
||||||
defaultServer: 'Set default site',
|
defaultServer: 'Set default site',
|
||||||
noDefaultServer: 'Not set',
|
noDefaultServer: 'Not set',
|
||||||
defaultServerHelper:
|
defaultServerHelper:
|
||||||
@ -2100,7 +2102,7 @@ const message = {
|
|||||||
disabled: 'Stopped',
|
disabled: 'Stopped',
|
||||||
startProxy: 'This will start reverse proxy. Do you want to continue?',
|
startProxy: 'This will start reverse proxy. Do you want to continue?',
|
||||||
stopProxy: 'This will stop the reverse proxy. Do you want to continue?',
|
stopProxy: 'This will stop the reverse proxy. Do you want to continue?',
|
||||||
proxyFile: 'Source',
|
sourceFile: 'View source',
|
||||||
proxyHelper1: 'When accessing this directory, the content of the target URL will be returned and displayed.',
|
proxyHelper1: 'When accessing this directory, the content of the target URL will be returned and displayed.',
|
||||||
proxyPassHelper: 'The target URL must be valid and accessible.',
|
proxyPassHelper: 'The target URL must be valid and accessible.',
|
||||||
proxyHostHelper: 'Pass the domain name in the request header to the proxy server.',
|
proxyHostHelper: 'Pass the domain name in the request header to the proxy server.',
|
||||||
@ -2302,18 +2304,18 @@ const message = {
|
|||||||
notSupport:
|
notSupport:
|
||||||
'No system firewall detected (firewalld or ufw). Please refer to the official documentation for installation.',
|
'No system firewall detected (firewalld or ufw). Please refer to the official documentation for installation.',
|
||||||
ccDeny: 'CC Protection',
|
ccDeny: 'CC Protection',
|
||||||
ipWhiteList: 'IP Whitelist',
|
ipWhiteList: 'IP whitelist',
|
||||||
ipBlockList: 'IP Blacklist',
|
ipBlockList: 'IP blacklist',
|
||||||
fileExtBlockList: 'File extension blacklist',
|
fileExtBlockList: 'File extension blacklist',
|
||||||
urlWhiteList: 'URL Whitelist',
|
urlWhiteList: 'URL whitelist',
|
||||||
urlBlockList: 'URL Blacklist',
|
urlBlockList: 'URL blacklist',
|
||||||
argsCheck: 'GET parameter check',
|
argsCheck: 'GET parameter check',
|
||||||
postCheck: 'POST parameter verification',
|
postCheck: 'POST parameter verification',
|
||||||
cookieBlockList: 'Cookie Blacklist',
|
cookieBlockList: 'Cookie Blacklist',
|
||||||
|
|
||||||
firewall: 'Firewall',
|
firewall: 'Firewall',
|
||||||
dockerHelper: `Linux firewall "{0}" can't disable Docker port mapping. The application can edit the parameters on the "App Store -> Installed" page to control whether the port is released.`,
|
dockerHelper: `Linux firewall "{0}" can't disable Docker port mapping. The application can edit the parameters on the "App Store -> Installed" page to control whether the port is released.`,
|
||||||
quickJump: 'Go there now',
|
quickJump: 'Quick access',
|
||||||
used: 'Used',
|
used: 'Used',
|
||||||
unUsed: 'Unused',
|
unUsed: 'Unused',
|
||||||
firewallHelper: '{0} system firewall',
|
firewallHelper: '{0} system firewall',
|
||||||
@ -2471,25 +2473,27 @@ const message = {
|
|||||||
supervisor: {
|
supervisor: {
|
||||||
loadStatusErr: 'Failed to retrieve process status, please check the status of the supervisor service.',
|
loadStatusErr: 'Failed to retrieve process status, please check the status of the supervisor service.',
|
||||||
notSupport: `Supervisor isn't detected. Refer to the official document to install.`,
|
notSupport: `Supervisor isn't detected. Refer to the official document to install.`,
|
||||||
list: 'Daemon process',
|
list: 'Daemon process | Daemon processes',
|
||||||
config: 'Supervisor configuration',
|
config: 'Supervisor configuration',
|
||||||
primaryConfig: 'Main configuration file location',
|
primaryConfig: 'Main configuration file location',
|
||||||
notSupportCrl: `The supervisorctl isn't detected. Refer to the official document to install.`,
|
notSupportCrl: `The supervisorctl isn't detected. Refer to the official document to install.`,
|
||||||
user: 'User',
|
user: 'User',
|
||||||
command: 'Command',
|
command: 'Command',
|
||||||
dir: 'Directory',
|
dir: 'Directory',
|
||||||
numprocs: 'Numprocs',
|
numprocs: 'Number of process',
|
||||||
initWarn:
|
initWarn:
|
||||||
'The initialization operation needs to modify the [include] files parameter of the configuration file, the directory where the modified service configuration file is located: 1panel installation directory/1panel/tools/supervisord/supervisor.d/',
|
'This will modify "files" value in "[include"] section in the main configuration file. The directory of other configuration file will be: "{1Panel installation directory}/1panel/tools/supervisord/supervisor.d/".',
|
||||||
operatorHelper: 'Operation {1} will be performed on {0}, continue? ',
|
operatorHelper: 'Operation {1} will be performed on {0}, continue? ',
|
||||||
uptime: 'running time',
|
uptime: 'Running time',
|
||||||
notStartWarn: `Supervisor isn't started. Start it first.`,
|
notStartWarn: `Supervisor isn't started. Start it first.`,
|
||||||
serviceName: 'Service name',
|
serviceName: 'Service name',
|
||||||
initHelper:
|
// initHelper:
|
||||||
'The initialization process will modify the configuration file, causing all existing processes to stop, please confirm the risk in advance',
|
// 'The initialization process will modify the configuration file, causing all existing daemon processes to stop, please confirm the risk in advance',
|
||||||
|
// initHelper: '尚未初始化 Supervisor ,请先初始化',
|
||||||
|
initHelper: `Supervisor service isn't initialized. Click "Initialize" to initialize.`,
|
||||||
serviceNameHelper: 'Supervisor service name managed by systemctl, usually supervisor or supervisord',
|
serviceNameHelper: 'Supervisor service name managed by systemctl, usually supervisor or supervisord',
|
||||||
restartHelper:
|
restartHelper:
|
||||||
'Initialization will restart the service, causing all the original daemon processes to close',
|
'This will restart the service after initialization, which causes all the existing daemon processes to stop.',
|
||||||
msg: 'Message',
|
msg: 'Message',
|
||||||
RUNNING: 'Running',
|
RUNNING: 'Running',
|
||||||
STOPPED: 'Stopped',
|
STOPPED: 'Stopped',
|
||||||
|
@ -321,6 +321,7 @@ const message = {
|
|||||||
container: '容器',
|
container: '容器',
|
||||||
cronjob: '計劃任務',
|
cronjob: '計劃任務',
|
||||||
host: '主機',
|
host: '主機',
|
||||||
|
system: '系統',
|
||||||
files: '文件',
|
files: '文件',
|
||||||
monitor: '監控',
|
monitor: '監控',
|
||||||
terminal: '終端',
|
terminal: '終端',
|
||||||
@ -1064,6 +1065,7 @@ const message = {
|
|||||||
noClam: '未檢測到 ClamAV 服務,請參考官方文檔進行安裝!',
|
noClam: '未檢測到 ClamAV 服務,請參考官方文檔進行安裝!',
|
||||||
notStart: '當前未 ClamAV 服務,請先開啟!',
|
notStart: '當前未 ClamAV 服務,請先開啟!',
|
||||||
removeRecord: '刪除報告文件',
|
removeRecord: '刪除報告文件',
|
||||||
|
noRecords: '點擊“執行”按鈕開始掃描,掃描結果將會記錄在這裏。',
|
||||||
removeResultHelper: '刪除任務執行過程中生成的報告文件,以清理存儲空間。',
|
removeResultHelper: '刪除任務執行過程中生成的報告文件,以清理存儲空間。',
|
||||||
removeInfected: '刪除病毒文件',
|
removeInfected: '刪除病毒文件',
|
||||||
removeInfectedHelper: '刪除任務檢測到的病毒文件,以確保伺服器的安全和正常運行。',
|
removeInfectedHelper: '刪除任務檢測到的病毒文件,以確保伺服器的安全和正常運行。',
|
||||||
@ -1967,7 +1969,7 @@ const message = {
|
|||||||
disabled: '已停止',
|
disabled: '已停止',
|
||||||
startProxy: '開啟反向代理',
|
startProxy: '開啟反向代理',
|
||||||
stopProxy: '關閉反向代理',
|
stopProxy: '關閉反向代理',
|
||||||
proxyFile: '源文',
|
sourceFile: '源文',
|
||||||
proxyHelper1: '訪問這個目錄時將會把目標URL的內容返回並顯示',
|
proxyHelper1: '訪問這個目錄時將會把目標URL的內容返回並顯示',
|
||||||
proxyPassHelper: '代理的站點,必須為可正常訪問的URL',
|
proxyPassHelper: '代理的站點,必須為可正常訪問的URL',
|
||||||
proxyHostHelper: '將域名添加到請求頭傳遞到代理服務器',
|
proxyHostHelper: '將域名添加到請求頭傳遞到代理服務器',
|
||||||
|
@ -320,6 +320,7 @@ const message = {
|
|||||||
container: '容器',
|
container: '容器',
|
||||||
cronjob: '计划任务',
|
cronjob: '计划任务',
|
||||||
host: '主机',
|
host: '主机',
|
||||||
|
system: '系统',
|
||||||
files: '文件',
|
files: '文件',
|
||||||
monitor: '监控',
|
monitor: '监控',
|
||||||
terminal: '终端',
|
terminal: '终端',
|
||||||
@ -1065,6 +1066,7 @@ const message = {
|
|||||||
noClam: '未检测到 ClamAV 服务,请参考官方文档进行安装!',
|
noClam: '未检测到 ClamAV 服务,请参考官方文档进行安装!',
|
||||||
notStart: '当前未开启 ClamAV 服务,请先开启!',
|
notStart: '当前未开启 ClamAV 服务,请先开启!',
|
||||||
removeRecord: '删除报告文件',
|
removeRecord: '删除报告文件',
|
||||||
|
noRecords: '点击“执行”按钮开始扫描,扫描结果将会记录在这里。',
|
||||||
removeResultHelper: '删除任务执行过程中生成的报告文件,以清理存储空间。',
|
removeResultHelper: '删除任务执行过程中生成的报告文件,以清理存储空间。',
|
||||||
removeInfected: '删除病毒文件',
|
removeInfected: '删除病毒文件',
|
||||||
removeInfectedHelper: '删除任务检测到的病毒文件,以确保服务器的安全和正常运行。',
|
removeInfectedHelper: '删除任务检测到的病毒文件,以确保服务器的安全和正常运行。',
|
||||||
@ -1967,7 +1969,7 @@ const message = {
|
|||||||
disabled: '已停止',
|
disabled: '已停止',
|
||||||
startProxy: '开启反向代理',
|
startProxy: '开启反向代理',
|
||||||
stopProxy: '关闭反向代理',
|
stopProxy: '关闭反向代理',
|
||||||
proxyFile: '源文',
|
sourceFile: '源文',
|
||||||
proxyHelper1: '访问这个目录时将会把目标URL的内容返回并显示',
|
proxyHelper1: '访问这个目录时将会把目标URL的内容返回并显示',
|
||||||
proxyPassHelper: '代理的站点,必须为可正常访问的URL',
|
proxyPassHelper: '代理的站点,必须为可正常访问的URL',
|
||||||
proxyHostHelper: '将域名添加到请求头传递到代理服务器',
|
proxyHostHelper: '将域名添加到请求头传递到代理服务器',
|
||||||
|
@ -7,7 +7,7 @@ const hostRouter = {
|
|||||||
redirect: '/hosts/security',
|
redirect: '/hosts/security',
|
||||||
meta: {
|
meta: {
|
||||||
icon: 'p-host',
|
icon: 'p-host',
|
||||||
title: 'menu.host',
|
title: 'menu.system',
|
||||||
},
|
},
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
|
@ -227,7 +227,7 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<div v-if="dbOptionsLocal.length === 0 && dbOptionsRemote.length === 0">
|
<div v-if="dbOptionsLocal.length === 0 && dbOptionsRemote.length === 0">
|
||||||
<LayoutContent :title="'MySQL ' + $t('menu.database')" :divider="true">
|
<LayoutContent :title="'MySQL ' + $t('menu.database').toLowerCase()" :divider="true">
|
||||||
<template #main>
|
<template #main>
|
||||||
<div class="app-warn">
|
<div class="app-warn">
|
||||||
<div class="flex flex-col gap-2 items-center justify-center w-full sm:flex-row">
|
<div class="flex flex-col gap-2 items-center justify-center w-full sm:flex-row">
|
||||||
|
@ -187,7 +187,7 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<div v-if="dbOptionsLocal.length === 0 && dbOptionsRemote.length === 0">
|
<div v-if="dbOptionsLocal.length === 0 && dbOptionsRemote.length === 0">
|
||||||
<LayoutContent :title="'PostgreSQL ' + $t('menu.database')" :divider="true">
|
<LayoutContent :title="'PostgreSQL ' + $t('menu.database').toLowerCase()" :divider="true">
|
||||||
<template #main>
|
<template #main>
|
||||||
<div class="app-warn">
|
<div class="app-warn">
|
||||||
<div class="flex flex-col gap-2 items-center justify-center w-full sm:flex-row">
|
<div class="flex flex-col gap-2 items-center justify-center w-full sm:flex-row">
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<div v-loading="loading">
|
<div v-loading="loading">
|
||||||
<LayoutContent>
|
<LayoutContent>
|
||||||
<template #title>
|
<template #title>
|
||||||
<back-button name="PostgreSQL" :header="$t('database.remoteDB')" />
|
<back-button name="PostgreSQL" :header="$t('database.remoteDB', 2)" />
|
||||||
</template>
|
</template>
|
||||||
<template #toolbar>
|
<template #toolbar>
|
||||||
<div class="flex justify-between gap-2 flex-wrap sm:flex-row">
|
<div class="flex justify-between gap-2 flex-wrap sm:flex-row">
|
||||||
|
@ -96,7 +96,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="dbOptionsLocal.length === 0 && dbOptionsRemote.length === 0">
|
<div v-if="dbOptionsLocal.length === 0 && dbOptionsRemote.length === 0">
|
||||||
<LayoutContent :title="'Redis ' + $t('menu.database')" :divider="true">
|
<LayoutContent :title="'Redis ' + $t('menu.database').toLowerCase()" :divider="true">
|
||||||
<template #main>
|
<template #main>
|
||||||
<div class="app-warn">
|
<div class="app-warn">
|
||||||
<div class="flex flex-col gap-2 items-center justify-center w-full sm:flex-row">
|
<div class="flex flex-col gap-2 items-center justify-center w-full sm:flex-row">
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<div v-loading="loading">
|
<div v-loading="loading">
|
||||||
<LayoutContent>
|
<LayoutContent>
|
||||||
<template #title>
|
<template #title>
|
||||||
<back-button name="Redis" :header="$t('database.remoteDB')" />
|
<back-button name="Redis" :header="$t('database.remoteDB', 2)" />
|
||||||
</template>
|
</template>
|
||||||
<template #toolbar>
|
<template #toolbar>
|
||||||
<div class="flex justify-between gap-2 flex-wrap sm:flex-row">
|
<div class="flex justify-between gap-2 flex-wrap sm:flex-row">
|
||||||
|
@ -581,17 +581,23 @@ function loadUpTime(uptime: number) {
|
|||||||
if (hours !== 0) {
|
if (hours !== 0) {
|
||||||
return (
|
return (
|
||||||
hours +
|
hours +
|
||||||
i18n.global.t('commons.units.hour') +
|
i18n.global.t('commons.units.hour', hours) +
|
||||||
' ' +
|
' ' +
|
||||||
minutes +
|
minutes +
|
||||||
i18n.global.t('commons.units.minute') +
|
i18n.global.t('commons.units.minute', minutes) +
|
||||||
' ' +
|
' ' +
|
||||||
seconds +
|
seconds +
|
||||||
i18n.global.t('commons.units.second')
|
i18n.global.t('commons.units.second', seconds)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (minutes !== 0) {
|
if (minutes !== 0) {
|
||||||
return minutes + i18n.global.t('commons.units.minute') + ' ' + seconds + i18n.global.t('commons.units.second');
|
return (
|
||||||
|
minutes +
|
||||||
|
i18n.global.t('commons.units.minute', minutes) +
|
||||||
|
' ' +
|
||||||
|
seconds +
|
||||||
|
i18n.global.t('commons.units.second', seconds)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return seconds + i18n.global.t('commons.units.second');
|
return seconds + i18n.global.t('commons.units.second');
|
||||||
}
|
}
|
||||||
|
@ -47,7 +47,8 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
<span class="input-help">
|
<span class="input-help">
|
||||||
( {{ formatNumber(currentInfo.cpuUsed) }} / {{ currentInfo.cpuTotal }} ) {{ $t('commons.units.core') }}
|
( {{ formatNumber(currentInfo.cpuUsed) }} / {{ currentInfo.cpuTotal }} )
|
||||||
|
{{ $t('commons.units.core', currentInfo.cpuTotal) }}
|
||||||
</span>
|
</span>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="12" :sm="12" :md="6" :lg="6" :xl="6" align="center">
|
<el-col :xs="12" :sm="12" :md="6" :lg="6" :xl="6" align="center">
|
||||||
|
@ -79,7 +79,7 @@
|
|||||||
>
|
>
|
||||||
<template #header>
|
<template #header>
|
||||||
<DrawerHeader
|
<DrawerHeader
|
||||||
:header="$t('commons.button.' + operate) + $t('terminal.quickCommand')"
|
:header="$t('commons.button.' + operate) + $t('terminal.quickCommand').toLowerCase()"
|
||||||
:back="handleClose"
|
:back="handleClose"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
<template #toolbar v-if="clamStatus.isExist">
|
<template #toolbar v-if="clamStatus.isExist">
|
||||||
<div class="flex w-full flex-col gap-4 md:justify-between md:flex-row">
|
<div class="flex w-full flex-col gap-4 md:justify-between md:flex-row">
|
||||||
<div class="flex flex-wrap gap-4">
|
<div class="flex flex-wrap gap-4">
|
||||||
<el-button type="primary" :disabled="!clamStatus.isRunning" @click="onOpenDialog('add')">
|
<el-button type="primary" :disabled="!clamStatus.isRunning" @click="onOpenDialog('create')">
|
||||||
{{ $t('toolbox.clam.clamCreate') }}
|
{{ $t('toolbox.clam.clamCreate') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
@ -366,7 +366,7 @@ const buttons = [
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: i18n.global.t('cronjob.record'),
|
label: i18n.global.t('cronjob.viewRecords'),
|
||||||
click: (row: Toolbox.ClamInfo) => {
|
click: (row: Toolbox.ClamInfo) => {
|
||||||
onOpenRecord(row);
|
onOpenRecord(row);
|
||||||
},
|
},
|
||||||
|
@ -166,7 +166,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="app-warn" v-show="!hasRecords">
|
<div class="app-warn" v-show="!hasRecords">
|
||||||
<div>
|
<div>
|
||||||
<span>{{ $t('cronjob.noRecord') }}</span>
|
<span>{{ $t('toolbox.clam.noRecords') }}</span>
|
||||||
<div>
|
<div>
|
||||||
<img src="@/assets/images/no_app.svg" />
|
<img src="@/assets/images/no_app.svg" />
|
||||||
</div>
|
</div>
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
<el-tag round v-if="!data.isActive" type="info">
|
<el-tag round v-if="!data.isActive" type="info">
|
||||||
{{ $t('commons.status.stopped') }}
|
{{ $t('commons.status.stopped') }}
|
||||||
</el-tag>
|
</el-tag>
|
||||||
<el-tag class="w-24">{{ $t('app.version') }}:{{ data.version }}</el-tag>
|
<el-tag class="w-24">{{ $t('app.version') }}{{ $t('commons.colon') }}{{ data.version }}</el-tag>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-0.5">
|
<div class="mt-0.5">
|
||||||
<el-button type="primary" v-if="!data.isActive" link @click="onOperate('ClamAV', 'start')">
|
<el-button type="primary" v-if="!data.isActive" link @click="onOperate('ClamAV', 'start')">
|
||||||
|
@ -28,12 +28,12 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="form.isExist">
|
<div v-if="form.isExist">
|
||||||
<LayoutContent v-loading="loading" title="FTP">
|
<LayoutContent v-loading="loading" :title="$t('toolbox.ftp.ftp', 2)">
|
||||||
<template #toolbar>
|
<template #toolbar>
|
||||||
<div class="flex justify-between gap-2 flex-wrap sm:flex-row">
|
<div class="flex justify-between gap-2 flex-wrap sm:flex-row">
|
||||||
<div class="flex flex-wrap gap-3">
|
<div class="flex flex-wrap gap-3">
|
||||||
<el-button type="primary" :disabled="!form.isActive" @click="onOpenDialog('add')">
|
<el-button type="primary" :disabled="!form.isActive" @click="onOpenDialog('add')">
|
||||||
{{ $t('commons.button.add') }} FTP
|
{{ $t('commons.button.add') }} {{ $t('toolbox.ftp.ftp') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button @click="onSync()" :disabled="!form.isActive">
|
<el-button @click="onSync()" :disabled="!form.isActive">
|
||||||
{{ $t('commons.button.sync') }}
|
{{ $t('commons.button.sync') }}
|
||||||
@ -327,7 +327,7 @@ const onDelete = async (row: Toolbox.FtpInfo | null) => {
|
|||||||
title: i18n.global.t('commons.button.delete'),
|
title: i18n.global.t('commons.button.delete'),
|
||||||
names: names,
|
names: names,
|
||||||
msg: i18n.global.t('commons.msg.operatorHelper', [
|
msg: i18n.global.t('commons.msg.operatorHelper', [
|
||||||
i18n.global.t('cronjob.cronTask'),
|
i18n.global.t('toolbox.ftp.ftp'),
|
||||||
i18n.global.t('commons.button.delete'),
|
i18n.global.t('commons.button.delete'),
|
||||||
]),
|
]),
|
||||||
api: null,
|
api: null,
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<el-card v-if="showStopped" class="mask-prompt">
|
<el-card v-if="showStopped" class="mask-prompt">
|
||||||
<span>{{ $t('tool.supervisor.notStartWarn') }}</span>
|
<span>{{ $t('tool.supervisor.notStartWarn') }}</span>
|
||||||
</el-card>
|
</el-card>
|
||||||
<LayoutContent :title="$t('tool.supervisor.list')" v-loading="loading">
|
<LayoutContent :title="$t('tool.supervisor.list', 2)" v-loading="loading">
|
||||||
<template #app>
|
<template #app>
|
||||||
<SuperVisorStatus
|
<SuperVisorStatus
|
||||||
@setting="setting"
|
@setting="setting"
|
||||||
@ -14,7 +14,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-if="showTable" #toolbar>
|
<template v-if="showTable" #toolbar>
|
||||||
<el-button type="primary" @click="openCreate">
|
<el-button type="primary" @click="openCreate">
|
||||||
{{ $t('commons.button.create') + $t('tool.supervisor.list') }}
|
{{ $t('commons.button.create') + $t('tool.supervisor.list').toLowerCase() }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
<template #main v-if="showTable">
|
<template #main v-if="showTable">
|
||||||
@ -332,13 +332,13 @@ const buttons = [
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: i18n.global.t('website.proxyFile'),
|
label: i18n.global.t('website.sourceFile'),
|
||||||
click: function (row: HostTool.SupersivorProcess) {
|
click: function (row: HostTool.SupersivorProcess) {
|
||||||
getFile(row.name, 'config');
|
getFile(row.name, 'config');
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: i18n.global.t('website.log'),
|
label: i18n.global.t('commons.button.log'),
|
||||||
click: function (row: HostTool.SupersivorProcess) {
|
click: function (row: HostTool.SupersivorProcess) {
|
||||||
getFile(row.name, 'out.log');
|
getFile(row.name, 'out.log');
|
||||||
},
|
},
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<div class="flex flex-wrap gap-4">
|
<div class="flex flex-wrap gap-4">
|
||||||
<el-tag effect="dark" type="success">{{ 'Supervisor' }}</el-tag>
|
<el-tag effect="dark" type="success">{{ 'Supervisor' }}</el-tag>
|
||||||
<Status :key="data.status" :status="data.status"></Status>
|
<Status :key="data.status" :status="data.status"></Status>
|
||||||
<el-tag>{{ $t('app.version') }}:{{ data.version }}</el-tag>
|
<el-tag>{{ $t('app.version') }}{{ $t('commons.colon') }}{{ data.version }}</el-tag>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-0.5" v-if="!data.init">
|
<div class="mt-0.5" v-if="!data.init">
|
||||||
<el-button type="primary" v-if="data.status != 'running'" link @click="onOperate('start')">
|
<el-button type="primary" v-if="data.status != 'running'" link @click="onOperate('start')">
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
:before-close="handleClose"
|
:before-close="handleClose"
|
||||||
>
|
>
|
||||||
<template #header>
|
<template #header>
|
||||||
<DrawerHeader :header="$t('website.proxyFile')" :back="handleClose" />
|
<DrawerHeader :header="$t('website.sourceFile')" :back="handleClose" />
|
||||||
</template>
|
</template>
|
||||||
<el-row v-loading="loading">
|
<el-row v-loading="loading">
|
||||||
<el-col :span="22" :offset="1">
|
<el-col :span="22" :offset="1">
|
||||||
|
@ -70,7 +70,7 @@ const opRef = ref();
|
|||||||
|
|
||||||
const buttons = [
|
const buttons = [
|
||||||
{
|
{
|
||||||
label: i18n.global.t('website.proxyFile'),
|
label: i18n.global.t('website.sourceFile'),
|
||||||
click: function (row: Website.ProxyConfig) {
|
click: function (row: Website.ProxyConfig) {
|
||||||
openEditFile(row);
|
openEditFile(row);
|
||||||
},
|
},
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
:before-close="handleClose"
|
:before-close="handleClose"
|
||||||
>
|
>
|
||||||
<template #header>
|
<template #header>
|
||||||
<DrawerHeader :header="$t('website.proxyFile')" :back="handleClose" />
|
<DrawerHeader :header="$t('website.sourceFile')" :back="handleClose" />
|
||||||
</template>
|
</template>
|
||||||
<el-row v-loading="loading">
|
<el-row v-loading="loading">
|
||||||
<el-col :span="22" :offset="1">
|
<el-col :span="22" :offset="1">
|
||||||
|
@ -87,7 +87,7 @@ const opRef = ref();
|
|||||||
|
|
||||||
const buttons = [
|
const buttons = [
|
||||||
{
|
{
|
||||||
label: i18n.global.t('website.proxyFile'),
|
label: i18n.global.t('website.sourceFile'),
|
||||||
click: function (row: Website.RedirectConfig) {
|
click: function (row: Website.RedirectConfig) {
|
||||||
openEditFile(row);
|
openEditFile(row);
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user