1
0
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:
John Niang 2024-12-12 18:46:01 +08:00 committed by GitHub
parent 590238dc13
commit c95d61397d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
24 changed files with 121 additions and 106 deletions

View File

@ -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();
}
};

View File

@ -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>

View File

@ -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',

View File

@ -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: '將域名添加到請求頭傳遞到代理服務器',

View File

@ -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: '将域名添加到请求头传递到代理服务器',

View File

@ -7,7 +7,7 @@ const hostRouter = {
redirect: '/hosts/security',
meta: {
icon: 'p-host',
title: 'menu.host',
title: 'menu.system',
},
children: [
{

View File

@ -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">

View File

@ -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">

View File

@ -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">

View File

@ -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">

View File

@ -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">

View File

@ -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');
}

View File

@ -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">

View File

@ -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>

View File

@ -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);
},

View File

@ -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>

View File

@ -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')">

View File

@ -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,

View File

@ -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');
},

View File

@ -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')">

View File

@ -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">

View File

@ -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);
},

View File

@ -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">

View File

@ -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);
},