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