mirror of https://github.com/1Panel-dev/1Panel
fix: 移除部分重复国际化内容 (#1495)
parent
6c4c73e825
commit
4bf76aacb1
|
@ -1,17 +1,13 @@
|
|||
ErrInvalidParams: "Request parameter error: {{ .detail }}"
|
||||
ErrToken: "Token information is incorrect.: {{ .detail }}"
|
||||
ErrTokenParse: "Token generation error: {{ .detail }}"
|
||||
ErrTokenTimeOut: "Login information is out of date: {{ .detail }}"
|
||||
ErrInitialPassword: "Initial password error"
|
||||
ErrInternalServer: "Service internal error: {{ .detail }}"
|
||||
ErrRecordExist: "Record already exists"
|
||||
ErrRecordNotFound: "Records not found"
|
||||
ErrStructTransform: "Type conversion failure: {{ .detail }}"
|
||||
ErrNotLogin: "User is not Login: {{ .detail }}"
|
||||
ErrNotSafety: "The login status of the current user is unsafe: {{ .detail }}"
|
||||
ErrPasswordExpired: "The current password has expired: {{ .detail }}"
|
||||
ErrNotSupportType: "The system does not support the current type: {{ .detail }}"
|
||||
ErrRepoNotValid: "Remote repository verification failed!"
|
||||
|
||||
#common
|
||||
ErrNameIsExist: "Name is already exist"
|
||||
|
|
|
@ -1,17 +1,13 @@
|
|||
ErrInvalidParams: "请求参数错误: {{ .detail }}"
|
||||
ErrToken: "Token 信息错误: {{ .detail }}"
|
||||
ErrTokenParse: "Token 生成错误: {{ .detail }}"
|
||||
ErrTokenTimeOut: "登陆信息已过期: {{ .detail }}"
|
||||
ErrInitialPassword: "原密码错误"
|
||||
ErrInternalServer: "服务内部错误: {{ .detail }}"
|
||||
ErrRecordExist: "记录已存在"
|
||||
ErrRecordNotFound: "记录未能找到"
|
||||
ErrStructTransform: "类型转换失败: {{ .detail }}"
|
||||
ErrNotLogin: "用户未登录: {{ .detail }}"
|
||||
ErrNotSafety: "当前用户登录状态不安全: {{ .detail }}"
|
||||
ErrPasswordExpired: "当前密码已过期: {{ .detail }}"
|
||||
ErrNotSupportType: "系统暂不支持当前类型: {{ .detail }}"
|
||||
ErrRepoNotValid: "远程仓库校验失败!"
|
||||
|
||||
#common
|
||||
ErrNameIsExist: "名称已存在"
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
<template #header>
|
||||
<DrawerHeader
|
||||
v-if="detailName"
|
||||
:header="$t('database.backup')"
|
||||
:header="$t('commons.button.backup')"
|
||||
:resource="name + '(' + detailName + ')'"
|
||||
:back="handleClose"
|
||||
/>
|
||||
<DrawerHeader v-else :header="$t('database.backup')" :resource="name" :back="handleClose" />
|
||||
<DrawerHeader v-else :header="$t('commons.button.backup')" :resource="name" :back="handleClose" />
|
||||
</template>
|
||||
<ComplexTable
|
||||
v-loading="loading"
|
||||
|
@ -19,7 +19,7 @@
|
|||
>
|
||||
<template #toolbar>
|
||||
<el-button type="primary" @click="onBackup()">
|
||||
{{ $t('database.backup') }}
|
||||
{{ $t('commons.button.backup') }}
|
||||
</el-button>
|
||||
<el-button type="primary" plain :disabled="selects.length === 0" @click="onBatchDelete(null)">
|
||||
{{ $t('commons.button.delete') }}
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
</div>
|
||||
<el-drawer :close-on-click-modal="false" :key="refresh" v-model="drawerVisiable" size="50%" append-to-body>
|
||||
<template #header>
|
||||
<DrawerHeader :header="$t('setting.upgrade')" :back="handleClose" />
|
||||
<DrawerHeader :header="$t('commons.button.upgrade')" :back="handleClose" />
|
||||
</template>
|
||||
<div class="panel-MdEditor">
|
||||
<el-alert :closable="false">
|
||||
|
@ -133,7 +133,7 @@ const changeOption = async () => {
|
|||
};
|
||||
|
||||
const onUpgrade = async () => {
|
||||
ElMessageBox.confirm(i18n.global.t('setting.upgradeHelper', i18n.global.t('setting.upgrade')), {
|
||||
ElMessageBox.confirm(i18n.global.t('setting.upgradeHelper', i18n.global.t('commons.button.upgrade')), {
|
||||
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
||||
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
||||
type: 'info',
|
||||
|
|
|
@ -31,6 +31,7 @@ const message = {
|
|||
expand: 'Expand',
|
||||
log: 'Log',
|
||||
back: 'Back',
|
||||
backup: 'Backup',
|
||||
recover: 'Recover',
|
||||
retry: 'Retry',
|
||||
upload: 'Upload',
|
||||
|
@ -42,6 +43,7 @@ const message = {
|
|||
search: 'Search',
|
||||
refresh: 'Refresh',
|
||||
get: 'Get',
|
||||
upgrade: 'Upgrade',
|
||||
},
|
||||
search: {
|
||||
timeStart: 'Time start',
|
||||
|
@ -58,6 +60,7 @@ const message = {
|
|||
status: 'Status',
|
||||
statusSuccess: 'Success',
|
||||
statusFailed: 'Failed',
|
||||
statusWaiting: 'Waiting...',
|
||||
records: 'Records',
|
||||
group: 'Group',
|
||||
createdAt: 'Creation Time',
|
||||
|
@ -68,7 +71,10 @@ const message = {
|
|||
message: 'Message',
|
||||
description: 'Description',
|
||||
interval: 'Interval',
|
||||
user: 'User',
|
||||
title: 'Title',
|
||||
port: 'Port',
|
||||
protocol: 'Protocol',
|
||||
tableSetting: 'Table setting',
|
||||
autoRefresh: 'Auto refresh',
|
||||
refreshRate: 'Rate',
|
||||
|
@ -99,7 +105,8 @@ const message = {
|
|||
operate: 'Operate',
|
||||
operateConfirm: 'If you are sure about the operation, please input it manually',
|
||||
inputOrSelect: 'Please select or enter',
|
||||
backupSuccess: 'Backup Success',
|
||||
copyfailed: 'Copy failed',
|
||||
notFound: 'Sorry, the page you requested does not exist.',
|
||||
unSupportType: 'Current file type is not supported!',
|
||||
unSupportSize: 'The uploaded file exceeds {0}M, please confirm!',
|
||||
fileExist: 'The file already exists in the current folder. Repeat uploading is not supported!',
|
||||
|
@ -192,23 +199,26 @@ const message = {
|
|||
},
|
||||
status: {
|
||||
running: 'Running',
|
||||
stopped: 'Stopped',
|
||||
waiting: 'Waiting',
|
||||
success: 'Success',
|
||||
waiting: 'Waiting',
|
||||
failed: 'Failed',
|
||||
stopped: 'Stopped',
|
||||
error: 'Error',
|
||||
created: 'Created',
|
||||
restarting: 'Restarting',
|
||||
uploading: 'Uploading',
|
||||
unhealthy: 'Unhealthy',
|
||||
removing: 'Removing',
|
||||
paused: 'Paused',
|
||||
exited: 'Exited',
|
||||
installing: 'Installing',
|
||||
enabled: 'Enabled',
|
||||
disabled: 'Disabled',
|
||||
normal: 'Normal',
|
||||
building: 'Building',
|
||||
downloaderr: 'Download Error',
|
||||
upgrading: 'Upgrading',
|
||||
upgradeerr: 'Upgrade Error',
|
||||
},
|
||||
units: {
|
||||
second: 'Second',
|
||||
|
@ -218,6 +228,8 @@ const message = {
|
|||
week: 'Week',
|
||||
month: 'Month',
|
||||
year: 'Year',
|
||||
time: 'Time',
|
||||
core: 'Core',
|
||||
},
|
||||
},
|
||||
menu: {
|
||||
|
@ -226,12 +238,13 @@ const message = {
|
|||
website: 'Website',
|
||||
project: 'Project',
|
||||
config: 'Config',
|
||||
ssh: 'SSH Setting',
|
||||
firewall: 'Firewall',
|
||||
ssl: 'Certificate',
|
||||
database: 'Database',
|
||||
container: 'Container',
|
||||
cronjob: 'Cronjob',
|
||||
host: 'Host',
|
||||
ssh: 'SSH Setting',
|
||||
security: 'Security',
|
||||
files: 'File',
|
||||
monitor: 'Monitor',
|
||||
|
@ -239,7 +252,6 @@ const message = {
|
|||
settings: 'Setting',
|
||||
toolbox: 'Toolbox',
|
||||
logs: 'Log',
|
||||
ssl: 'Certificate',
|
||||
runtime: 'Runtime',
|
||||
processManage: 'Process',
|
||||
process: 'Process',
|
||||
|
@ -261,13 +273,8 @@ const message = {
|
|||
totalRecv: 'Total recv',
|
||||
rwPerSecond: 'IO times',
|
||||
ioDelay: 'IO delay',
|
||||
time: 'Times',
|
||||
uptime: 'Up Time',
|
||||
runningTime: 'Running Time',
|
||||
Day: 'Days',
|
||||
Hour: 'Hours',
|
||||
Minute: 'Minutes',
|
||||
Second: 'Seconds',
|
||||
|
||||
runSmoothly: 'Run smoothly',
|
||||
runNormal: 'Run normal',
|
||||
|
@ -275,7 +282,6 @@ const message = {
|
|||
runJam: 'Run Blockaged',
|
||||
|
||||
core: 'Physical core',
|
||||
coreUnit: 'Core',
|
||||
logicCore: 'Logic core',
|
||||
loadAverage: 'Average load in the last {0} minutes',
|
||||
load: 'Load',
|
||||
|
@ -309,7 +315,6 @@ const message = {
|
|||
noMysql: 'No {0} database is detected, please go to App Store and click Install!',
|
||||
goInstall: 'Go to install',
|
||||
source: 'Source',
|
||||
backup: 'Backup',
|
||||
permission: 'Permission',
|
||||
permissionForIP: 'IP',
|
||||
permissionAll: 'All of them(%)',
|
||||
|
@ -318,9 +323,7 @@ const message = {
|
|||
serviceName: 'Service Name',
|
||||
serviceNameHelper: 'Access between containers in the same network.',
|
||||
backupList: 'Backup',
|
||||
backList: 'Return',
|
||||
loadBackup: 'Import',
|
||||
setting: 'Settings',
|
||||
remoteAccess: 'Remote access',
|
||||
remoteHelper: 'Multiple IP comma-delimited, example: 172.16.10.111, 172.16.10.112',
|
||||
remoteConnHelper:
|
||||
|
@ -331,15 +334,18 @@ const message = {
|
|||
|
||||
confChange: 'Configuration change',
|
||||
|
||||
portSetting: 'Port setting',
|
||||
portHelper:
|
||||
'This port is the exposed port of the container. You need to save the modification separately and restart the container!',
|
||||
|
||||
selectFile: 'Select file',
|
||||
dropHelper: 'You can drag and drop the uploaded file here or',
|
||||
clickHelper: 'click to upload',
|
||||
supportUpType: 'Only sql, sql.gz, and tar.gz files are supported',
|
||||
zipFormat: 'tar.gz compressed package structure: test.tar.gz compressed package must contain test.sql',
|
||||
|
||||
currentStatus: 'Current state',
|
||||
baseParam: 'Basic parameter',
|
||||
performanceParam: 'Performance parameter',
|
||||
runTime: 'Startup time',
|
||||
connections: 'Total connections',
|
||||
bytesSent: 'Send bytes',
|
||||
|
@ -395,15 +401,9 @@ const message = {
|
|||
longQueryTime: 'threshold(s)',
|
||||
thresholdRangeHelper: 'Please enter the correct threshold (1 - 600).',
|
||||
|
||||
status: 'The current state',
|
||||
baseParam: 'Basic parameter',
|
||||
performanceParam: 'Performance parameter',
|
||||
terminal: 'Terminal mode',
|
||||
second: 'Second',
|
||||
timeout: 'Timeout',
|
||||
timeoutHelper: 'Idle connection timeout period. 0 indicates that the connection is on continuously',
|
||||
maxclients: 'Max clients',
|
||||
requirepass: 'Password',
|
||||
requirepassHelper:
|
||||
'Leave this blank to indicate that no password has been set. Changes need to be saved separately and the container restarted!',
|
||||
databases: 'Number of databases',
|
||||
|
@ -492,13 +492,11 @@ const message = {
|
|||
cpuShareHelper:
|
||||
'The default CPU share for a container is 1024, which can be increased to give the container more CPU time.',
|
||||
|
||||
user: 'User',
|
||||
command: 'Command',
|
||||
custom: 'Custom',
|
||||
emptyUser: 'When empty, you will log in as default',
|
||||
containerTerminal: 'Terminal',
|
||||
|
||||
upgrade: 'Upgrade',
|
||||
upgradeHelper: 'This operation only supports upgrading container versions.',
|
||||
upgradeWarning: 'The target version is lower than the original image version. Please try again!',
|
||||
upgradeWarning2:
|
||||
|
@ -508,7 +506,6 @@ const message = {
|
|||
appHelper:
|
||||
'This container is sourced from the application store. Upgrading it may cause the service to be unavailable. Do you want to continue?',
|
||||
|
||||
port: 'Port',
|
||||
server: 'Host',
|
||||
serverExample: 'e.g. 80, 80-88, ip:80 or ip:80-88',
|
||||
containerExample: 'e.g. 80 or 80-88',
|
||||
|
@ -534,6 +531,10 @@ const message = {
|
|||
onFailure: 'on-failure(five times by default)',
|
||||
no: 'never',
|
||||
|
||||
monitor: 'Monitor',
|
||||
refreshTime: 'Refresh time',
|
||||
cache: 'Cache',
|
||||
|
||||
image: 'Image',
|
||||
imagePull: 'Image pull',
|
||||
imagePush: 'Image push',
|
||||
|
@ -544,7 +545,6 @@ const message = {
|
|||
pull: 'Pull',
|
||||
path: 'Path',
|
||||
importImage: 'Image import',
|
||||
import: 'Import',
|
||||
build: 'Build',
|
||||
imageBuild: 'Image build',
|
||||
pathSelect: 'Path',
|
||||
|
@ -571,13 +571,8 @@ const message = {
|
|||
scope: 'IP Scope',
|
||||
gateway: 'Gateway',
|
||||
|
||||
monitor: 'Monitor',
|
||||
refreshTime: 'Refresh time',
|
||||
cache: 'Cache',
|
||||
|
||||
volume: 'Volume',
|
||||
volumeDir: 'Volume dir',
|
||||
volumeName: 'Name',
|
||||
nfsEnable: 'Enable NFS storage',
|
||||
nfsAddress: 'Address',
|
||||
nfsAddressHelper: 'Support input of IP address or domain',
|
||||
|
@ -588,8 +583,6 @@ const message = {
|
|||
|
||||
repo: 'Repo',
|
||||
createRepo: 'Add repo',
|
||||
name: 'Name',
|
||||
protocol: 'Protocol',
|
||||
httpRepo: 'The http repository needs to restart the docker service to add credit',
|
||||
delInsecure: 'Deletion of credit',
|
||||
delInsecureHelper: 'docker service needs to be restarted to delete the credit. Do you want to delete it?',
|
||||
|
@ -705,11 +698,7 @@ const message = {
|
|||
perNSecond: 'Every N seconds',
|
||||
per: 'Every ',
|
||||
handle: 'Handle',
|
||||
day: 'Day',
|
||||
day1: 'Day',
|
||||
hour: ' Hour',
|
||||
minute: ' Minute',
|
||||
second: ' Second',
|
||||
monday: 'Monday',
|
||||
tuesday: 'Tuesday',
|
||||
wednesday: 'Wednesday',
|
||||
|
@ -734,15 +723,13 @@ const message = {
|
|||
enableMonitor: 'Enable',
|
||||
storeDays: 'Expiration days',
|
||||
cleanMonitor: 'Clearing monitoring records',
|
||||
setting: 'Setting',
|
||||
|
||||
avgLoad: 'Average load',
|
||||
loadDetail: 'Load detail',
|
||||
resourceUsage: 'Resource utilization rate',
|
||||
networkCard: 'Net card',
|
||||
min: 'Minutes',
|
||||
read: 'Read',
|
||||
write: 'Write',
|
||||
count: 'Times',
|
||||
readWriteCount: 'Read or write Times',
|
||||
readWriteTime: 'Read or write delay',
|
||||
today: 'Today',
|
||||
|
@ -779,14 +766,10 @@ const message = {
|
|||
addHost: 'Add Host',
|
||||
localhost: 'Localhost',
|
||||
ip: 'Address',
|
||||
name: 'Name',
|
||||
port: 'Port',
|
||||
user: 'Username',
|
||||
authMode: 'Auth Mode',
|
||||
passwordMode: 'Password',
|
||||
rememberPassword: 'Remember password',
|
||||
keyMode: 'PrivateKey',
|
||||
password: 'Password',
|
||||
key: 'Private key',
|
||||
keyPassword: 'Private key password',
|
||||
emptyTerminal: 'No terminal is currently connected',
|
||||
|
@ -795,34 +778,25 @@ const message = {
|
|||
panelLog: 'Panel logs',
|
||||
operation: 'Operation logs',
|
||||
login: 'Login logs',
|
||||
system: 'System logs',
|
||||
loginIP: 'Login IP',
|
||||
loginAddress: 'Login address',
|
||||
loginAgent: 'Login agent',
|
||||
loginStatus: 'Login status',
|
||||
system: 'System logs',
|
||||
deleteLogs: 'Clearing Logs',
|
||||
resource: 'Resource',
|
||||
operate: 'Operate',
|
||||
detail: {
|
||||
users: 'User',
|
||||
hosts: 'Host',
|
||||
apps: 'App',
|
||||
websites: 'Website',
|
||||
containers: 'Container',
|
||||
runtimes: 'Runtime',
|
||||
commands: 'Command',
|
||||
groups: 'System Group',
|
||||
files: 'File Manage',
|
||||
backups: 'Backup Account',
|
||||
logs: 'Panel Logs',
|
||||
settings: 'Panel Setting',
|
||||
cronjobs: 'Cronjob',
|
||||
databases: 'Database',
|
||||
auth: 'User',
|
||||
login: ' login',
|
||||
logout: ' logout',
|
||||
},
|
||||
status: 'status',
|
||||
websiteLog: 'Website Log',
|
||||
runLog: 'Run Log',
|
||||
errLog: 'Err Log',
|
||||
|
@ -849,7 +823,6 @@ const message = {
|
|||
terminal: 'Terminal',
|
||||
shareList: 'Share list',
|
||||
zip: 'Compressed',
|
||||
user: 'User',
|
||||
group: 'User group',
|
||||
path: 'Path',
|
||||
public: 'Public',
|
||||
|
@ -885,7 +858,6 @@ const message = {
|
|||
downloadProcess: 'Download progress',
|
||||
downloading: 'Downloading...',
|
||||
infoDetail: 'File Properties',
|
||||
type: 'Type',
|
||||
list: 'File List',
|
||||
sub: 'Include subdirectory',
|
||||
downlodSuccess: 'Download Success',
|
||||
|
@ -911,7 +883,6 @@ const message = {
|
|||
sshChangeHelper: 'This action changed {0} to [{1}]. Do you want to continue?',
|
||||
sshFileChangeHelper:
|
||||
'Modifying the configuration file may cause service availability. Exercise caution when performing this operation. Do you want to continue?',
|
||||
port: 'Port',
|
||||
portHelper: 'Specifies the port number monitored by the SSH service. The default port number is 22.',
|
||||
listenAddress: 'Listening address',
|
||||
addressHelper:
|
||||
|
@ -936,11 +907,9 @@ const message = {
|
|||
dnsHelper:
|
||||
'Controls whether the DNS resolution function is enabled on the SSH server to verify the identity of the connection.',
|
||||
loginLogs: 'SSH login log',
|
||||
loginUser: 'User',
|
||||
loginMode: 'Login mode',
|
||||
authenticating: 'Key',
|
||||
publickey: 'Key',
|
||||
password: 'Password',
|
||||
belong: 'Belong',
|
||||
local: 'Local',
|
||||
remote: 'Remote',
|
||||
|
@ -948,7 +917,6 @@ const message = {
|
|||
setting: {
|
||||
all: 'All',
|
||||
panel: 'Panel',
|
||||
user: 'UserName',
|
||||
userChange: 'Change username',
|
||||
userChangeHelper: 'Change the user name to log out. Do you want to continue?',
|
||||
passwd: 'Password',
|
||||
|
@ -990,7 +958,6 @@ const message = {
|
|||
retryPassword: 'Confirm password',
|
||||
duplicatePassword: 'The new password cannot be the same as the original password, please re-enter!',
|
||||
|
||||
backup: 'Backup',
|
||||
thirdParty: 'Third-party account',
|
||||
createBackupAccount: 'Add {0}',
|
||||
noTypeForCreate: 'No backup type is currently created',
|
||||
|
@ -1029,9 +996,6 @@ const message = {
|
|||
accountName: 'Account name',
|
||||
accountKey: 'Account key',
|
||||
address: 'Address',
|
||||
port: 'Port',
|
||||
username: 'Username',
|
||||
password: 'Password',
|
||||
path: 'Path',
|
||||
|
||||
safe: 'Security',
|
||||
|
@ -1074,6 +1038,7 @@ const message = {
|
|||
allowIPEgs:
|
||||
'If multiple ip authorizations exist, newlines need to be displayed. For example, \n172.16.10.111 \n172.16.10.112',
|
||||
mfa: 'MFA',
|
||||
secret: 'Secret',
|
||||
mfaInterval: 'Refresh interval (s)',
|
||||
mfaIntervalHelper: 'Please rescan or manually add key information after modifying the refresh time.',
|
||||
mfaAlert:
|
||||
|
@ -1093,7 +1058,6 @@ const message = {
|
|||
selfSigned: 'Self signed',
|
||||
selfSignedHelper:
|
||||
'It is normal for self-signed certificates to be not trusted by browsers and display a security warning as the certificate is not issued by a trusted third party.',
|
||||
import: 'Import',
|
||||
select: 'Select',
|
||||
domainOrIP: 'Domain or IP:',
|
||||
timeOut: 'Timeout',
|
||||
|
@ -1119,7 +1083,6 @@ const message = {
|
|||
rollbackHelper:
|
||||
'This recovery is about to be rolled back, which will replace all the files recovered this time. In the process, docker and 1panel services may need to be restarted. Do you want to continue?',
|
||||
|
||||
upgrade: 'Upgrade',
|
||||
upgrading: 'Please wait while the upgrade is underway...',
|
||||
upgradeHelper: 'The upgrade requires a service restart. Do you want to continue?',
|
||||
noUpgrade: 'It is currently the latest version',
|
||||
|
@ -1135,17 +1098,6 @@ const message = {
|
|||
source: 'Download source',
|
||||
hasNewVersion: 'New version Available',
|
||||
|
||||
message: 'Message',
|
||||
messageType: 'Message type',
|
||||
email: 'Email',
|
||||
wechat: 'WeChat',
|
||||
dingding: 'DingDing',
|
||||
closeMessage: 'Turning off Message Notification',
|
||||
emailServer: 'Service name',
|
||||
emailAddr: 'Service address',
|
||||
emailSMTP: 'SMTP code',
|
||||
secret: 'Secret',
|
||||
|
||||
about: 'About',
|
||||
project: 'Project Address',
|
||||
issue: 'Feedback',
|
||||
|
@ -1175,22 +1127,15 @@ const message = {
|
|||
start: 'Start',
|
||||
stop: 'Stop',
|
||||
rebuild: 'Rebuild',
|
||||
name: 'Name',
|
||||
description: 'Description',
|
||||
delete: 'Delete',
|
||||
deleteWarn:
|
||||
'The delete operation will delete all data and backups together. This operation cannot be rolled back. Do you want to continue? ',
|
||||
syncSuccess: 'Sync successfully',
|
||||
canUpgrade: 'Upgrade',
|
||||
backup: 'Backup',
|
||||
backupName: 'File Name',
|
||||
backupPath: 'File Path',
|
||||
backupdate: 'Backup time',
|
||||
restore: 'Restore',
|
||||
restoreWarn:
|
||||
'The recovery operation will delete the current data of this application and perform a restart. This action is irreversible. Do you wish to continue?',
|
||||
update: 'update',
|
||||
upgrade: 'upgrade',
|
||||
versionSelect: 'Please select a version',
|
||||
operatorHelper: 'Operation {0} will be performed on the selected application, Do you want to continue? ',
|
||||
checkInstalledWarn: '{0} is not detected, please enter the app store and click to install!',
|
||||
|
@ -1213,11 +1158,12 @@ const message = {
|
|||
noService: 'No {0}',
|
||||
toInstall: 'to install',
|
||||
param: 'parameter configuration',
|
||||
port: ' Port',
|
||||
alreadyRun: 'Age',
|
||||
day: ' Day ',
|
||||
hour: ' Hour',
|
||||
syncAppList: 'Sync',
|
||||
less1Minute: 'Less than 1 minute',
|
||||
appOfficeWebsite: 'Office website',
|
||||
github: 'Github',
|
||||
document: 'Cocument',
|
||||
updatePrompt: 'The current application is the latest version',
|
||||
installPrompt: 'No apps installed yet',
|
||||
updateHelper: 'Updating parameters may cause the application to fail to start, please operate with caution',
|
||||
|
@ -1249,7 +1195,6 @@ const message = {
|
|||
website: 'Website',
|
||||
primaryDomain: 'Primary Domain',
|
||||
otherDomains: 'Other Domains',
|
||||
type: 'Type',
|
||||
static: 'Static',
|
||||
deployment: 'Deployment',
|
||||
supportUpType: 'Only .tar.gz files are supported',
|
||||
|
@ -1269,7 +1214,6 @@ const message = {
|
|||
deleteBackup: 'Delete Backup',
|
||||
domain: 'Domain',
|
||||
domainHelper: 'One domain per line, support * and IP address, support domain name: port',
|
||||
port: 'Port',
|
||||
addDomain: 'Add Domain',
|
||||
domainConfig: 'Domain Settings',
|
||||
defaultDoc: 'Default Document',
|
||||
|
@ -1315,11 +1259,9 @@ const message = {
|
|||
basic: 'Basic',
|
||||
source: 'Configuration',
|
||||
security: 'Security',
|
||||
backup: 'Backup',
|
||||
log: 'Log',
|
||||
nginxPer: 'Performance Tuning',
|
||||
neverExpire: 'Never Expire',
|
||||
protocol: 'Protocol',
|
||||
setDefault: 'Set as default',
|
||||
default: 'Default',
|
||||
deleteHelper: 'Related application status is abnormal, please check',
|
||||
|
@ -1328,8 +1270,6 @@ const message = {
|
|||
frequency: 'Frequency',
|
||||
ccHelper:
|
||||
'Accumulatively request the same URL more than {1} times within {0} seconds, trigger CC defense, block this IP',
|
||||
seconds: 'seconds',
|
||||
count: 'times',
|
||||
mustSave: 'The modification needs to be saved to take effect',
|
||||
fileExt: 'file extension',
|
||||
fileExtBlock: 'file extension blacklist',
|
||||
|
@ -1430,12 +1370,10 @@ const message = {
|
|||
runUserHelper:
|
||||
'For websites deployed through the PHP runtime environment, all files, folder owners, and user groups under the index and subdirectories need to be set to 1000, command: chown -R 1000:1000 index',
|
||||
userGroup: 'User/Group',
|
||||
user: 'User',
|
||||
uGroup: 'Group',
|
||||
proxyPath: 'Proxy Path',
|
||||
proxyPass: 'Target URL',
|
||||
cache: 'Cache',
|
||||
status: 'Status',
|
||||
createProxy: 'Create reverse proxy',
|
||||
editProxy: 'Edit reverse proxy',
|
||||
cacheTime: 'Cache time',
|
||||
|
@ -1488,7 +1426,6 @@ const message = {
|
|||
display_errors: 'Whether to output detailed error information',
|
||||
cgi_fix_pathinfo: 'Whether to open pathinfo',
|
||||
date_timezone: 'Time zone',
|
||||
second: 'Second',
|
||||
disableFunction: 'Disable function',
|
||||
disableFunctionHelper: 'Enter the function to be disabled, such as exec, please use multiple, split',
|
||||
uploadMaxSize: 'Upload limit',
|
||||
|
@ -1521,7 +1458,6 @@ const message = {
|
|||
resolveDomain: 'Resolve domain name',
|
||||
err: 'Error',
|
||||
value: 'record value',
|
||||
type: 'Type',
|
||||
dnsResolveHelper: 'Please go to the DNS resolution service provider to add the following resolution records:',
|
||||
detail: 'Details',
|
||||
msg: 'Information',
|
||||
|
@ -1567,8 +1503,6 @@ const message = {
|
|||
noPingTitle: 'Disable ping',
|
||||
noPingHelper: 'If the ping function is disabled, the server cannot be pinged. Do you want to continue?',
|
||||
onPingHelper: 'If you disable ping, hackers may discover your server. Do you want to continue?',
|
||||
protocol: 'Protocol',
|
||||
port: 'Port',
|
||||
changeStrategy: 'Change the {0} strategy',
|
||||
changeStrategyIPHelper1:
|
||||
'Change the IP address strategy to [deny]. After the IP address is set, access to the server is prohibited. Do you want to continue?',
|
||||
|
@ -1606,14 +1540,12 @@ const message = {
|
|||
image: 'Image',
|
||||
workDir: 'Working directory',
|
||||
create: 'Create runtime',
|
||||
name: 'Name',
|
||||
resource: 'Source',
|
||||
appstore: 'App Store',
|
||||
local: 'Local',
|
||||
app: 'Application',
|
||||
localHelper: 'The local operating environment needs to be installed by itself',
|
||||
version: 'Version',
|
||||
status: 'Status',
|
||||
versionHelper: 'PHP version, e.g. v8.0',
|
||||
buildHelper:
|
||||
'The more extensions you select, the more CPU will be occupied during the image making process, so avoid selecting all extensions,If there is no extension you want, you can manually enter it and select it',
|
||||
|
@ -1629,7 +1561,6 @@ const message = {
|
|||
pid: 'Process ID',
|
||||
ppid: 'Parent process ID',
|
||||
numThreads: 'Threads',
|
||||
username: 'User',
|
||||
memory: 'Memory',
|
||||
diskRead: 'Disk read',
|
||||
diskWrite: 'Disk write',
|
||||
|
|
|
@ -31,6 +31,7 @@ const message = {
|
|||
expand: '展开',
|
||||
log: '日志',
|
||||
back: '返回',
|
||||
backup: '备份',
|
||||
recover: '恢复',
|
||||
retry: '重试',
|
||||
upload: '上传',
|
||||
|
@ -42,6 +43,7 @@ const message = {
|
|||
search: '搜索',
|
||||
refresh: '刷新',
|
||||
get: '获取',
|
||||
upgrade: '升级',
|
||||
},
|
||||
search: {
|
||||
timeStart: '开始时间',
|
||||
|
@ -69,7 +71,10 @@ const message = {
|
|||
message: '信息',
|
||||
description: '描述信息',
|
||||
interval: '耗时',
|
||||
user: '用户',
|
||||
title: '标题',
|
||||
port: '端口',
|
||||
protocol: '协议',
|
||||
tableSetting: '列表设置',
|
||||
autoRefresh: '定时刷新',
|
||||
refreshRate: '刷新频率',
|
||||
|
@ -166,7 +171,7 @@ const message = {
|
|||
appName: '支持英文、数字、-和_,长度2-30,并且不能以-_开头和结尾',
|
||||
containerName: '支持字母、数字、下划线、连字符和点,不能以连字符-或点.结尾,长度1-127',
|
||||
disableFunction: '仅支持字母和,',
|
||||
leechExts: '件支持字母数字和,',
|
||||
leechExts: '仅支持字母数字和,',
|
||||
paramSimple: '支持小写字母和数字,长度1-64',
|
||||
},
|
||||
res: {
|
||||
|
@ -222,6 +227,8 @@ const message = {
|
|||
week: '周',
|
||||
month: '月',
|
||||
year: '年',
|
||||
time: '次',
|
||||
core: '核',
|
||||
},
|
||||
},
|
||||
menu: {
|
||||
|
@ -263,13 +270,8 @@ const message = {
|
|||
totalRecv: '总接收',
|
||||
rwPerSecond: '读写次数',
|
||||
ioDelay: '读写延迟',
|
||||
time: '次',
|
||||
uptime: '启动时间',
|
||||
runningTime: '运行时间',
|
||||
Day: '天',
|
||||
Hour: '时',
|
||||
Minute: '分',
|
||||
Second: '秒',
|
||||
|
||||
runSmoothly: '运行流畅',
|
||||
runNormal: '运行正常',
|
||||
|
@ -277,7 +279,6 @@ const message = {
|
|||
runJam: '运行堵塞',
|
||||
|
||||
core: '物理核心',
|
||||
coreUnit: '核',
|
||||
logicCore: '逻辑核心',
|
||||
loadAverage: '最近 {0} 分钟平均负载',
|
||||
load: '负载',
|
||||
|
@ -313,7 +314,6 @@ const message = {
|
|||
adjust: '中查看原因或修改配置',
|
||||
goInstall: '去应用商店安装',
|
||||
source: '来源',
|
||||
backup: '备份',
|
||||
permission: '权限',
|
||||
permissionForIP: '指定 IP',
|
||||
permissionAll: '所有人(%)',
|
||||
|
@ -322,16 +322,13 @@ const message = {
|
|||
serviceName: '服务名称',
|
||||
serviceNameHelper: '用于同一 network 下的容器间访问',
|
||||
backupList: '备份列表',
|
||||
backList: '返回列表',
|
||||
loadBackup: '导入备份',
|
||||
setting: '设置',
|
||||
remoteAccess: '远程访问',
|
||||
remoteHelper: '多个 ip 以逗号分隔,例:172.16.10.111,172.16.10.112',
|
||||
remoteConnHelper: 'root 帐号远程连接 mysql 有安全风险,开启需谨慎!',
|
||||
changePassword: '改密',
|
||||
changePasswordHelper: '当前数据库已经关联应用,修改密码将同步修改应用中数据库密码,修改后重启生效。',
|
||||
|
||||
portSetting: '端口',
|
||||
portHelper: '该端口为容器对外暴露端口,修改需要单独保存并且重启容器!',
|
||||
|
||||
confChange: '配置修改',
|
||||
|
@ -400,21 +397,9 @@ const message = {
|
|||
longQueryTime: '阈值(秒)',
|
||||
thresholdRangeHelper: '请输入正确的阈值(1 - 600)',
|
||||
|
||||
status: '当前状态',
|
||||
terminal: '终端模式',
|
||||
key: '键',
|
||||
value: '值',
|
||||
type: '数据类型',
|
||||
length: '数据长度',
|
||||
expiration: '有效期',
|
||||
cleanAll: '清除所有',
|
||||
expirationHelper: '有效期为 0 表示永久',
|
||||
forever: '永久',
|
||||
second: '秒',
|
||||
timeout: '超时时间',
|
||||
timeoutHelper: '空闲连接超时时间,0表示不断开',
|
||||
maxclients: '最大连接数',
|
||||
requirepass: '密码',
|
||||
requirepassHelper: '留空代表没有设置密码,修改需要单独保存并且重启容器!',
|
||||
databases: '数据库数量',
|
||||
maxmemory: '最大内存使用',
|
||||
|
@ -497,13 +482,11 @@ const message = {
|
|||
cpuShare: 'CPU 权重',
|
||||
cpuShareHelper: '容器默认份额为 1024 个 CPU,增大可使当前容器获得更多的 CPU 时间',
|
||||
|
||||
user: '用户',
|
||||
command: '命令',
|
||||
custom: '自定义',
|
||||
containerTerminal: '终端',
|
||||
emptyUser: '为空时,将使用容器默认的用户登录',
|
||||
|
||||
upgrade: '升级',
|
||||
upgradeHelper: '该操作仅支持容器版本升级',
|
||||
upgradeWarning: '当前目标版本低于原镜像版本,请重新输入!',
|
||||
upgradeWarning2: '升级操作需要重建容器,任何未持久化的数据将会丢失,是否继续?',
|
||||
|
@ -511,7 +494,6 @@ const message = {
|
|||
targetImage: '目标镜像',
|
||||
appHelper: '该容器来源于应用商店,升级可能导致该服务不可用,是否继续?',
|
||||
|
||||
port: '端口',
|
||||
server: '服务器',
|
||||
serverExample: '例: 80, 80-88, ip:80 或者 ip:80-88',
|
||||
containerExample: '例: 80 或者 80-88',
|
||||
|
@ -554,7 +536,6 @@ const message = {
|
|||
pull: '拉取',
|
||||
path: '路径',
|
||||
importImage: '导入镜像',
|
||||
import: '导入',
|
||||
imageBuild: '构建镜像',
|
||||
build: '构建镜像',
|
||||
pathSelect: '路径选择',
|
||||
|
@ -586,7 +567,6 @@ const message = {
|
|||
nfsEnable: '启用 NFS 存储',
|
||||
nfsAddress: '地址',
|
||||
nfsAddressHelper: '支持输入 ip 或者域名',
|
||||
volumeName: '名称',
|
||||
mountpoint: '挂载点',
|
||||
mountpointNFSHelper: '例:/nfs, /nfs-share',
|
||||
options: '可选参数',
|
||||
|
@ -594,8 +574,6 @@ const message = {
|
|||
|
||||
repo: '仓库',
|
||||
createRepo: '添加仓库',
|
||||
name: '名称',
|
||||
protocol: '协议',
|
||||
downloadUrl: '下载地址',
|
||||
imageRepo: '镜像仓库',
|
||||
repoHelper: '是否包含镜像仓库/组织/项目?',
|
||||
|
@ -694,10 +672,6 @@ const message = {
|
|||
per: '每隔',
|
||||
handle: '执行',
|
||||
day: '日',
|
||||
day1: '天',
|
||||
hour: '小时',
|
||||
minute: '分钟',
|
||||
second: '秒',
|
||||
monday: '周一',
|
||||
tuesday: '周二',
|
||||
wednesday: '周三',
|
||||
|
@ -722,15 +696,13 @@ const message = {
|
|||
enableMonitor: '监控状态',
|
||||
storeDays: '保存天数',
|
||||
cleanMonitor: '清空监控记录',
|
||||
setting: '设置',
|
||||
|
||||
avgLoad: '平均负载',
|
||||
loadDetail: '负载详情',
|
||||
resourceUsage: '资源使用率',
|
||||
networkCard: '网卡',
|
||||
min: '分钟',
|
||||
read: '读取',
|
||||
write: '写入',
|
||||
count: '次',
|
||||
readWriteCount: '读写次数',
|
||||
readWriteTime: '读写延迟',
|
||||
today: '今天',
|
||||
|
@ -765,14 +737,10 @@ const message = {
|
|||
addHost: '添加主机',
|
||||
localhost: '本地服务器',
|
||||
ip: '主机地址',
|
||||
name: '名称',
|
||||
port: '端口',
|
||||
user: '用户名',
|
||||
authMode: '认证方式',
|
||||
passwordMode: '密码认证',
|
||||
rememberPassword: '记住密码',
|
||||
keyMode: '私钥认证',
|
||||
password: '密码',
|
||||
key: '私钥',
|
||||
keyPassword: '私钥密码',
|
||||
emptyTerminal: '暂无终端连接',
|
||||
|
@ -790,25 +758,16 @@ const message = {
|
|||
resource: '资源',
|
||||
operate: '操作',
|
||||
detail: {
|
||||
users: '用户',
|
||||
hosts: '主机',
|
||||
apps: '应用',
|
||||
websites: '网站',
|
||||
containers: '容器',
|
||||
runtimes: '运行环境',
|
||||
groups: '系统组',
|
||||
commands: '快捷命令',
|
||||
files: '文件管理',
|
||||
backups: '备份账号',
|
||||
logs: '日志审计',
|
||||
settings: '面板设置',
|
||||
cronjobs: '计划任务',
|
||||
databases: '数据库',
|
||||
auth: '用户',
|
||||
login: '登录',
|
||||
logout: '退出',
|
||||
},
|
||||
status: '状态',
|
||||
websiteLog: '网站日志',
|
||||
runLog: '运行日志',
|
||||
errLog: '错误日志',
|
||||
|
@ -835,7 +794,6 @@ const message = {
|
|||
terminal: '终端',
|
||||
shareList: '分享列表',
|
||||
zip: '压缩',
|
||||
user: '用户',
|
||||
group: '用户组',
|
||||
path: '路径',
|
||||
public: '公共',
|
||||
|
@ -844,7 +802,6 @@ const message = {
|
|||
rRole: '读取',
|
||||
wRole: '写入',
|
||||
xRole: '可执行',
|
||||
name: '名称',
|
||||
compress: '压缩',
|
||||
deCompress: '解压',
|
||||
compressType: '压缩格式',
|
||||
|
@ -871,7 +828,6 @@ const message = {
|
|||
downloadProcess: '下载进度',
|
||||
downloading: '正在下载...',
|
||||
infoDetail: '文件属性',
|
||||
type: '类型',
|
||||
root: '根目录',
|
||||
list: '文件列表',
|
||||
sub: '包含子目录',
|
||||
|
@ -918,11 +874,9 @@ const message = {
|
|||
useDNS: '反向解析',
|
||||
dnsHelper: '控制 SSH 服务器是否启用 DNS 解析功能,从而验证连接方的身份。',
|
||||
loginLogs: 'SSH 登录日志',
|
||||
loginUser: '用户',
|
||||
loginMode: '登录方式',
|
||||
authenticating: '密钥',
|
||||
publickey: '密钥',
|
||||
password: '密码',
|
||||
belong: '归属地',
|
||||
local: '内网',
|
||||
remote: '外网',
|
||||
|
@ -968,7 +922,6 @@ const message = {
|
|||
retryPassword: '确认密码',
|
||||
duplicatePassword: '新密码不能与原始密码一致,请重新输入!',
|
||||
|
||||
backup: '备份',
|
||||
thirdParty: '第三方账号',
|
||||
createBackupAccount: '添加 {0}',
|
||||
noTypeForCreate: '当前无可创建备份类型',
|
||||
|
@ -1004,9 +957,6 @@ const message = {
|
|||
accountName: '账户名称',
|
||||
accountKey: '账户密钥',
|
||||
address: '地址',
|
||||
port: '端口',
|
||||
username: '用户名',
|
||||
password: '密码',
|
||||
path: '路径',
|
||||
|
||||
snapshot: '快照',
|
||||
|
@ -1030,7 +980,6 @@ const message = {
|
|||
rollbackHelper:
|
||||
'即将回滚本次恢复,回滚将替换所有本次恢复的文件,过程中可能需要重启 docker 以及 1panel 服务,是否继续?',
|
||||
|
||||
upgrade: '升级',
|
||||
upgrading: '正在升级中,请稍候...',
|
||||
upgradeHelper: '升级操作需要重启服务,是否继续?',
|
||||
noUpgrade: '当前已经是最新版本',
|
||||
|
@ -1073,6 +1022,7 @@ const message = {
|
|||
allowIPsHelper1: '授权 IP 为空时,则取消授权 IP',
|
||||
allowIPEgs: '当存在多个授权 IP 时,需要换行显示,例: \n172.16.10.111 \n172.16.10.112',
|
||||
mfa: '两步验证',
|
||||
secret: '密钥',
|
||||
mfaAlert: '两步验证密码是基于当前时间生成,请确保服务器时间已同步',
|
||||
mfaHelper: '开启后会验证手机应用验证码',
|
||||
mfaHelper1: '下载两步验证手机应用 如:',
|
||||
|
@ -1089,7 +1039,6 @@ const message = {
|
|||
certType: '证书类型',
|
||||
selfSigned: '自签名',
|
||||
selfSignedHelper: '自签证书,不被浏览器信任,显示不安全是正常现象',
|
||||
import: '导入',
|
||||
select: '选择已有',
|
||||
domainOrIP: '域名或 IP:',
|
||||
timeOut: '过期时间:',
|
||||
|
@ -1097,17 +1046,6 @@ const message = {
|
|||
primaryKey: '密钥',
|
||||
certificate: '证书',
|
||||
|
||||
message: '通知',
|
||||
messageType: '通知方式',
|
||||
email: '邮箱',
|
||||
wechat: '企业微信',
|
||||
dingding: '钉钉',
|
||||
closeMessage: '关闭消息通知',
|
||||
emailServer: '邮箱服务名称',
|
||||
emailAddr: '邮箱地址',
|
||||
emailSMTP: '邮箱 SMTP 授权码',
|
||||
secret: '密钥',
|
||||
|
||||
about: '关于',
|
||||
project: '项目地址',
|
||||
issue: '问题反馈',
|
||||
|
@ -1137,20 +1075,14 @@ const message = {
|
|||
start: '启动',
|
||||
stop: '停止',
|
||||
rebuild: '重建',
|
||||
name: '名称',
|
||||
description: '描述',
|
||||
delete: '删除',
|
||||
deleteWarn: '删除操作会把所有数据和备份一并删除,此操作不可回滚,是否继续?',
|
||||
syncSuccess: '同步成功',
|
||||
canUpgrade: '可升级',
|
||||
backup: '备份',
|
||||
backupName: '文件名称',
|
||||
backupPath: '文件路径',
|
||||
backupdate: '备份时间',
|
||||
restore: '恢复',
|
||||
restoreWarn: '恢复操作将删除该应用当前数据并重启。此操作不可回滚,是否继续?',
|
||||
update: '更新',
|
||||
upgrade: '升级',
|
||||
versionSelect: '请选择版本',
|
||||
operatorHelper: '将对选中应用进行 {0} 操作,是否继续?',
|
||||
checkInstalledWarn: '未检测到 {0} ,请进入应用商店点击安装!',
|
||||
|
@ -1173,17 +1105,10 @@ const message = {
|
|||
toInstall: '去安装',
|
||||
param: '参数配置',
|
||||
syncAppList: '更新应用列表',
|
||||
syncAppListSuccess: '更新成功',
|
||||
port: '端口',
|
||||
alreadyRun: '已安装',
|
||||
day: '天',
|
||||
hour: '小时',
|
||||
minute: '分钟',
|
||||
less1Minute: '小于1分钟',
|
||||
appWebsite: '官网',
|
||||
appOfficeWebsite: '官方网站',
|
||||
github: '开源社区',
|
||||
doc: '文档',
|
||||
document: '文档说明',
|
||||
updatePrompt: '当前应用均为最新版本',
|
||||
installPrompt: '尚未安装任何应用',
|
||||
|
@ -1213,7 +1138,6 @@ const message = {
|
|||
website: '网站',
|
||||
primaryDomain: '主域名',
|
||||
otherDomains: '其他域名',
|
||||
type: '类型',
|
||||
static: '静态网站',
|
||||
deployment: '一键部署',
|
||||
supportUpType: '仅支持 .tar.gz 文件',
|
||||
|
@ -1233,7 +1157,6 @@ const message = {
|
|||
deleteBackup: '删除备份',
|
||||
domain: '域名',
|
||||
domainHelper: '一行一个域名,支持*和IP地址,支持域名:端口',
|
||||
port: '端口',
|
||||
addDomain: '新增域名',
|
||||
domainConfig: '域名设置',
|
||||
defaultDoc: '默认文档',
|
||||
|
@ -1279,11 +1202,9 @@ const message = {
|
|||
basic: '基本',
|
||||
source: '配置文件',
|
||||
security: '安全',
|
||||
backup: '备份',
|
||||
log: '日志',
|
||||
nginxPer: '性能调整',
|
||||
neverExpire: '永不过期',
|
||||
protocol: '协议',
|
||||
setDefault: '设为默认',
|
||||
default: '默认',
|
||||
deleteHelper: '相关应用状态不正常,请检查',
|
||||
|
@ -1291,8 +1212,6 @@ const message = {
|
|||
cycle: '周期',
|
||||
frequency: '频率',
|
||||
ccHelper: '{0} 秒内累计请求同一URL超过 {1} 次,触发CC防御,封锁此IP',
|
||||
seconds: '秒',
|
||||
count: '次',
|
||||
mustSave: '修改之后需要保存才能生效',
|
||||
fileExt: '文件扩展名',
|
||||
fileExtBlock: '文件扩展名黑名单',
|
||||
|
@ -1385,12 +1304,10 @@ const message = {
|
|||
runUserHelper:
|
||||
'通过 PHP 运行环境部署的网站,需要将 index 和子目录下的所有文件、文件夹所有者和用户组设置为 1000',
|
||||
userGroup: '运行用户/组',
|
||||
user: '用户',
|
||||
uGroup: '用户组',
|
||||
proxyPath: '前端请求路径',
|
||||
proxyPass: '后端代理地址',
|
||||
cache: '缓存',
|
||||
status: '状态',
|
||||
createProxy: '创建反向代理',
|
||||
editProxy: '编辑反向代理',
|
||||
cacheTime: '缓存时间',
|
||||
|
@ -1442,7 +1359,6 @@ const message = {
|
|||
display_errors: '是否输出详细错误信息',
|
||||
cgi_fix_pathinfo: '是否开启pathinfo',
|
||||
date_timezone: '时区',
|
||||
second: '秒',
|
||||
disableFunction: '禁用函数',
|
||||
disableFunctionHelper: '输入要禁用的函数,例如exec,多个请用,分割',
|
||||
uploadMaxSize: '上传限制',
|
||||
|
@ -1475,7 +1391,6 @@ const message = {
|
|||
resolveDomain: '解析域名',
|
||||
err: '错误',
|
||||
value: '记录值',
|
||||
type: '类型',
|
||||
dnsResolveHelper: '请到DNS解析服务商处添加以下解析记录:',
|
||||
detail: '详情',
|
||||
msg: '证书信息',
|
||||
|
@ -1516,8 +1431,6 @@ const message = {
|
|||
noPingTitle: '是否禁 ping',
|
||||
noPingHelper: '禁 ping 后将无法 ping 通服务器,是否继续?',
|
||||
onPingHelper: '解除禁 ping 后您的服务器可能会被黑客发现,是否继续?',
|
||||
protocol: '协议',
|
||||
port: '端口',
|
||||
changeStrategy: '修改{0}策略',
|
||||
changeStrategyIPHelper1: 'IP 策略修改为【屏蔽】,设置后该 IP 将禁止访问服务器,是否继续?',
|
||||
changeStrategyIPHelper2: 'IP 策略修改为【放行】,设置后该 IP 将恢复正常访问,是否继续?',
|
||||
|
@ -1548,14 +1461,12 @@ const message = {
|
|||
image: '镜像',
|
||||
workDir: '工作目录',
|
||||
create: '创建运行环境',
|
||||
name: '名称',
|
||||
resource: '来源',
|
||||
appstore: '应用商店',
|
||||
local: '本地',
|
||||
app: '应用',
|
||||
localHelper: '本地运行环境需要自行安装',
|
||||
version: '版本',
|
||||
status: '状态',
|
||||
versionHelper: 'PHP的版本,例 v8.0',
|
||||
buildHelper: '选择的扩展越多,制作镜像过程中占用 CPU 越多,请尽量避免选择全部扩展',
|
||||
openrestryWarn: 'PHP 需要升级 OpenResty 至 1.21.4.1 版本以上才能使用',
|
||||
|
@ -1568,7 +1479,6 @@ const message = {
|
|||
pid: '进程ID',
|
||||
ppid: '父进程ID',
|
||||
numThreads: '线程',
|
||||
username: '用户',
|
||||
memory: '内存',
|
||||
diskRead: '磁盘读',
|
||||
diskWrite: '磁盘写',
|
||||
|
|
|
@ -222,17 +222,17 @@ export function getAge(d1: string): string {
|
|||
|
||||
let res = '';
|
||||
if (dayDiff > 0) {
|
||||
res += String(dayDiff) + i18n.global.t('app.day');
|
||||
res += String(dayDiff) + i18n.global.t('commons.units.day');
|
||||
if (hours <= 0) {
|
||||
return res;
|
||||
}
|
||||
}
|
||||
if (hours > 0) {
|
||||
res += String(hours) + i18n.global.t('app.hour');
|
||||
res += String(hours) + i18n.global.t('commons.units.hour');
|
||||
return res;
|
||||
}
|
||||
if (minutes > 0) {
|
||||
res += String(minutes) + i18n.global.t('app.minute');
|
||||
res += String(minutes) + i18n.global.t('commons.units.minute');
|
||||
return res;
|
||||
}
|
||||
return i18n.global.t('app.less1Minute');
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
:rules="rules"
|
||||
:validate-on-rule-change="false"
|
||||
>
|
||||
<el-form-item :label="$t('app.name')" prop="name">
|
||||
<el-form-item :label="$t('commons.table.name')" prop="name">
|
||||
<el-input v-model.trim="req.name"></el-input>
|
||||
</el-form-item>
|
||||
<Params
|
||||
|
|
|
@ -156,7 +156,7 @@
|
|||
@click="openBackups(installed.app.key, installed.name)"
|
||||
v-if="mode === 'installed'"
|
||||
>
|
||||
{{ $t('app.backup') }}
|
||||
{{ $t('commons.button.backup') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
class="h-button"
|
||||
|
@ -172,7 +172,7 @@
|
|||
@click="openOperate(installed, 'upgrade')"
|
||||
v-if="mode === 'upgrade'"
|
||||
>
|
||||
{{ $t('app.upgrade') }}
|
||||
{{ $t('commons.button.upgrade') }}
|
||||
</el-button>
|
||||
</div>
|
||||
<div class="d-description">
|
||||
|
@ -420,7 +420,7 @@ const buttons = [
|
|||
},
|
||||
},
|
||||
{
|
||||
label: i18n.global.t('app.delete'),
|
||||
label: i18n.global.t('commons.button.delete'),
|
||||
click: (row: any) => {
|
||||
openOperate(row, 'delete');
|
||||
},
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<el-drawer :close-on-click-modal="false" v-model="open" size="30%">
|
||||
<template #header>
|
||||
<Header :header="$t('app.upgrade')" :resource="resourceName" :back="handleClose"></Header>
|
||||
<Header :header="$t('commons.button.upgrade')" :resource="resourceName" :back="handleClose"></Header>
|
||||
</template>
|
||||
<el-row>
|
||||
<el-col :span="22" :offset="1">
|
||||
|
@ -94,8 +94,8 @@ const operate = async () => {
|
|||
|
||||
const onOperate = async () => {
|
||||
ElMessageBox.confirm(
|
||||
i18n.global.t('app.operatorHelper', [i18n.global.t('app.upgrade')]),
|
||||
i18n.global.t('app.upgrade'),
|
||||
i18n.global.t('app.operatorHelper', [i18n.global.t('commons.button.upgrade')]),
|
||||
i18n.global.t('commons.button.upgrade'),
|
||||
{
|
||||
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
||||
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
||||
|
|
|
@ -86,7 +86,7 @@
|
|||
{{ row.memoryPercent.toFixed(2) }}%
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('container.port')" min-width="80" prop="ports" fix>
|
||||
<el-table-column :label="$t('commons.table.port')" min-width="80" prop="ports" fix>
|
||||
<template #default="{ row }">
|
||||
<div v-if="row.ports">
|
||||
<div v-for="(item, index) in row.ports" :key="index">
|
||||
|
@ -431,7 +431,7 @@ const buttons = [
|
|||
},
|
||||
},
|
||||
{
|
||||
label: i18n.global.t('container.upgrade'),
|
||||
label: i18n.global.t('commons.button.upgrade'),
|
||||
click: (row: Container.ContainerInfo) => {
|
||||
dialogUpgradeRef.value!.acceptParams({ container: row.name, image: row.imageName, fromApp: row.isFromApp });
|
||||
},
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
>
|
||||
<el-row type="flex" justify="center">
|
||||
<el-col :span="22">
|
||||
<el-form-item :label="$t('container.name')" prop="name">
|
||||
<el-form-item :label="$t('commons.table.name')" prop="name">
|
||||
<el-input clearable v-model.trim="dialogData.rowData!.name" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('container.image')" prop="image">
|
||||
|
@ -26,7 +26,7 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('container.port')">
|
||||
<el-form-item :label="$t('commons.table.port')">
|
||||
<el-radio-group v-model="dialogData.rowData!.publishAllPorts" class="ml-4">
|
||||
<el-radio :label="false">{{ $t('container.exposePort') }}</el-radio>
|
||||
<el-radio :label="true">{{ $t('container.exposeAll') }}</el-radio>
|
||||
|
@ -43,7 +43,7 @@
|
|||
<label>{{ $t('container.container') }}</label>
|
||||
</th>
|
||||
<th scope="col" width="20%" align="left">
|
||||
<label>{{ $t('container.protocol') }}</label>
|
||||
<label>{{ $t('commons.table.protocol') }}</label>
|
||||
</th>
|
||||
<th align="left"></th>
|
||||
</tr>
|
||||
|
@ -101,11 +101,11 @@
|
|||
>
|
||||
<el-input style="width: 40%" v-model.number="dialogData.rowData!.nanoCPUs">
|
||||
<template #append>
|
||||
<div style="width: 35px">{{ $t('home.coreUnit') }}</div>
|
||||
<div style="width: 35px">{{ $t('commons.units.core') }}</div>
|
||||
</template>
|
||||
</el-input>
|
||||
<span class="input-help">
|
||||
{{ $t('container.limitHelper', [limits.cpu]) }}{{ $t('home.coreUnit') }}
|
||||
{{ $t('container.limitHelper', [limits.cpu]) }}{{ $t('commons.units.core') }}
|
||||
</span>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<DrawerHeader :header="$t('container.containerTerminal')" :resource="title" :back="handleClose" />
|
||||
</template>
|
||||
<el-form ref="formRef" :model="form" label-position="top">
|
||||
<el-form-item :label="$t('container.user')" prop="user">
|
||||
<el-form-item :label="$t('commons.table.user')" prop="user">
|
||||
<el-input placeholder="root" clearable v-model="form.user" />
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<el-drawer v-model="drawerVisiable" :destroy-on-close="true" :close-on-click-modal="false" size="30%">
|
||||
<template #header>
|
||||
<DrawerHeader :header="$t('container.upgrade')" :resource="form.name" :back="handleClose" />
|
||||
<DrawerHeader :header="$t('commons.button.upgrade')" :resource="form.name" :back="handleClose" />
|
||||
</template>
|
||||
|
||||
<el-row v-loading="loading">
|
||||
|
@ -86,7 +86,7 @@ const onSubmit = async (formEl: FormInstance | undefined) => {
|
|||
MsgWarning(i18n.global.t('container.upgradeWarning'));
|
||||
return;
|
||||
}
|
||||
ElMessageBox.confirm(i18n.global.t('container.upgradeWarning2'), i18n.global.t('container.upgrade'), {
|
||||
ElMessageBox.confirm(i18n.global.t('container.upgradeWarning2'), i18n.global.t('commons.button.upgrade'), {
|
||||
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
||||
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
||||
}).then(async () => {
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<el-row type="flex" justify="center">
|
||||
<el-col :span="22">
|
||||
<el-form ref="formRef" label-position="top" :model="form" label-width="80px" :rules="rules">
|
||||
<el-form-item :label="$t('container.name')" prop="name">
|
||||
<el-form-item :label="$t('commons.table.name')" prop="name">
|
||||
<el-input :placeholder="$t('container.imageNameHelper')" v-model.trim="form.name" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="Dockerfile" prop="from">
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
{{ $t('commons.button.cancel') }}
|
||||
</el-button>
|
||||
<el-button :disabeld="loading" type="primary" @click="onSubmit(formRef)">
|
||||
{{ $t('container.import') }}
|
||||
{{ $t('commons.button.import') }}
|
||||
</el-button>
|
||||
</span>
|
||||
</template>
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
min-width="100"
|
||||
fix
|
||||
/>
|
||||
<el-table-column :label="$t('container.protocol')" prop="protocol" min-width="60" fix />
|
||||
<el-table-column :label="$t('commons.table.protocol')" prop="protocol" min-width="60" fix />
|
||||
<el-table-column :label="$t('commons.table.status')" prop="status" min-width="60" fix>
|
||||
<template #default="{ row }">
|
||||
<el-tag v-if="row.status === 'Success'" type="success">
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
>
|
||||
<el-row type="flex" justify="center">
|
||||
<el-col :span="22">
|
||||
<el-form-item :label="$t('container.name')" prop="name">
|
||||
<el-form-item :label="$t('commons.table.name')" prop="name">
|
||||
<el-input
|
||||
clearable
|
||||
:disabled="dialogData.title === 'edit'"
|
||||
|
@ -51,7 +51,7 @@
|
|||
docker pull {{ dialogData.rowData!.downloadUrl }}/nginx
|
||||
</span>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('container.protocol')" prop="protocol">
|
||||
<el-form-item :label="$t('commons.table.protocol')" prop="protocol">
|
||||
<el-radio-group v-model="dialogData.rowData!.protocol">
|
||||
<el-radio label="http">http</el-radio>
|
||||
<el-radio label="https">https</el-radio>
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
>
|
||||
<el-row type="flex" justify="center">
|
||||
<el-col :span="22">
|
||||
<el-form-item :label="$t('container.name')" prop="name">
|
||||
<el-form-item :label="$t('commons.table.name')" prop="name">
|
||||
<el-input
|
||||
:disabled="dialogData.title === 'edit'"
|
||||
v-model.trim="dialogData.rowData!.name"
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
:rules="rules"
|
||||
label-width="80px"
|
||||
>
|
||||
<el-form-item :label="$t('container.volumeName')" prop="name">
|
||||
<el-form-item :label="$t('commons.table.name')" prop="name">
|
||||
<el-input clearable v-model.trim="form.name" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('container.driver')" prop="driver">
|
||||
|
|
|
@ -94,15 +94,19 @@
|
|||
 {{ loadZero(row.hour) }} : {{ loadZero(row.minute) }}
|
||||
</span>
|
||||
<span v-if="row.specType === 'perNDay'">
|
||||
{{ row.day }} {{ $t('cronjob.day1') }}, {{ loadZero(row.hour) }} :
|
||||
{{ row.day }} {{ $t('commons.units.day') }}, {{ loadZero(row.hour) }} :
|
||||
{{ loadZero(row.minute) }}
|
||||
</span>
|
||||
<span v-if="row.specType === 'perNHour'">
|
||||
{{ row.hour }}{{ $t('cronjob.hour') }}, {{ loadZero(row.minute) }}
|
||||
{{ row.hour }}{{ $t('commons.units.hour') }}, {{ loadZero(row.minute) }}
|
||||
</span>
|
||||
<span v-if="row.specType === 'perHour'">{{ loadZero(row.minute) }}</span>
|
||||
<span v-if="row.specType === 'perNMinute'">{{ row.minute }}{{ $t('cronjob.minute') }}</span>
|
||||
<span v-if="row.specType === 'perNSecond'">{{ row.second }}{{ $t('cronjob.second') }}</span>
|
||||
<span v-if="row.specType === 'perNMinute'">
|
||||
{{ row.minute }}{{ $t('commons.units.minute') }}
|
||||
</span>
|
||||
<span v-if="row.specType === 'perNSecond'">
|
||||
{{ row.second }}{{ $t('commons.units.second') }}
|
||||
</span>
|
||||
{{ $t('cronjob.handle') }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
|
@ -57,21 +57,21 @@
|
|||
<template #append>{{ $t('cronjob.day') }}</template>
|
||||
</el-input>
|
||||
<el-input v-if="hasHour()" class="specClass" v-model.number="dialogData.rowData!.hour">
|
||||
<template #append>{{ $t('cronjob.hour') }}</template>
|
||||
<template #append>{{ $t('commons.units.hour') }}</template>
|
||||
</el-input>
|
||||
<el-input
|
||||
v-if="dialogData.rowData!.specType !== 'perNSecond'"
|
||||
class="specClass"
|
||||
v-model.number="dialogData.rowData!.minute"
|
||||
>
|
||||
<template #append>{{ $t('cronjob.minute') }}</template>
|
||||
<template #append>{{ $t('commons.units.minute') }}</template>
|
||||
</el-input>
|
||||
<el-input
|
||||
v-if="dialogData.rowData!.specType === 'perNSecond'"
|
||||
class="specClass"
|
||||
v-model.number="dialogData.rowData!.second"
|
||||
>
|
||||
<template #append>{{ $t('cronjob.second') }}</template>
|
||||
<template #append>{{ $t('commons.units.second') }}</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
||||
|
|
|
@ -47,22 +47,22 @@
|
|||
{{ loadZero(dialogData.rowData?.minute) }}
|
||||
</span>
|
||||
<span v-if="dialogData.rowData?.specType === 'perNDay'">
|
||||
{{ dialogData.rowData?.day }}{{ $t('cronjob.day1') }},
|
||||
{{ dialogData.rowData?.day }}{{ $t('commons.units.day') }},
|
||||
{{ loadZero(dialogData.rowData?.hour) }} :
|
||||
{{ loadZero(dialogData.rowData?.minute) }}
|
||||
</span>
|
||||
<span v-if="dialogData.rowData?.specType === 'perNHour'">
|
||||
{{ dialogData.rowData?.hour }}{{ $t('cronjob.hour') }},
|
||||
{{ dialogData.rowData?.hour }}{{ $t('commons.units.hour') }},
|
||||
{{ loadZero(dialogData.rowData?.minute) }}
|
||||
</span>
|
||||
<span v-if="dialogData.rowData?.specType === 'perHour'">
|
||||
{{ loadZero(dialogData.rowData?.minute) }}
|
||||
</span>
|
||||
<span v-if="dialogData.rowData?.specType === 'perNMinute'">
|
||||
{{ dialogData.rowData?.minute }}{{ $t('cronjob.minute') }}
|
||||
{{ dialogData.rowData?.minute }}{{ $t('commons.units.minute') }}
|
||||
</span>
|
||||
<span v-if="dialogData.rowData?.specType === 'perNSecond'">
|
||||
{{ dialogData.rowData?.second }}{{ $t('cronjob.second') }}
|
||||
{{ dialogData.rowData?.second }}{{ $t('commons.units.second') }}
|
||||
</span>
|
||||
{{ $t('cronjob.handle') }}
|
||||
</el-tag>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div v-show="onSetting" v-loading="loading">
|
||||
<LayoutContent :title="'MySQL ' + $t('database.setting')" :reload="true">
|
||||
<LayoutContent :title="'MySQL ' + $t('commons.button.set')" :reload="true">
|
||||
<template #buttons>
|
||||
<el-button type="primary" :plain="activeName !== 'conf'" @click="jumpToConf">
|
||||
{{ $t('database.confChange') }}
|
||||
|
@ -22,7 +22,7 @@
|
|||
{{ $t('database.performanceTuning') }}
|
||||
</el-button>
|
||||
<el-button type="primary" :plain="activeName !== 'port'" @click="activeName = 'port'">
|
||||
{{ $t('database.portSetting') }}
|
||||
{{ $t('commons.table.port') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
|
@ -81,7 +81,7 @@
|
|||
<el-row>
|
||||
<el-col :span="1"><br /></el-col>
|
||||
<el-col :span="10">
|
||||
<el-form-item :label="$t('setting.port')" prop="port" :rules="Rules.port">
|
||||
<el-form-item :label="$t('commons.table.port')" prop="port" :rules="Rules.port">
|
||||
<el-input clearable type="number" v-model.number="baseInfo.port" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<el-form @submit.prevent v-loading="loading" ref="formRef" :model="form" label-position="top">
|
||||
<el-row type="flex" justify="center">
|
||||
<el-col :span="22">
|
||||
<el-form-item :label="$t('database.requirepass')" :rules="Rules.requiredInput" prop="password">
|
||||
<el-form-item :label="$t('commons.login.password')" :rules="Rules.requiredInput" prop="password">
|
||||
<el-input type="password" show-password clearable v-model="form.password">
|
||||
<template #append>
|
||||
<el-button @click="onCopy(form.password)" icon="DocumentCopy"></el-button>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div v-show="settingShow" v-loading="loading">
|
||||
<LayoutContent :title="'Redis ' + $t('database.setting')" :reload="true">
|
||||
<LayoutContent :title="'Redis ' + $t('commons.button.set')" :reload="true">
|
||||
<template #buttons>
|
||||
<el-button type="primary" :plain="activeName !== 'conf'" @click="changeTab('conf')">
|
||||
{{ $t('database.confChange') }}
|
||||
|
@ -11,7 +11,7 @@
|
|||
:plain="activeName !== 'status'"
|
||||
@click="changeTab('status')"
|
||||
>
|
||||
{{ $t('database.status') }}
|
||||
{{ $t('database.currentStatus') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
|
@ -22,7 +22,7 @@
|
|||
{{ $t('database.performanceTuning') }}
|
||||
</el-button>
|
||||
<el-button type="primary" :plain="activeName !== 'port'" @click="changeTab('port')">
|
||||
{{ $t('database.portSetting') }}
|
||||
{{ $t('commons.table.port') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
|
@ -75,7 +75,7 @@
|
|||
<el-col :span="10">
|
||||
<el-form-item :label="$t('database.timeout')" prop="timeout">
|
||||
<el-input clearable type="number" v-model.number="form.timeout">
|
||||
<template #append>{{ $t('home.Second') }}</template>
|
||||
<template #append>{{ $t('commons.units.second') }}</template>
|
||||
</el-input>
|
||||
<span class="input-help">{{ $t('database.timeoutHelper') }}</span>
|
||||
</el-form-item>
|
||||
|
@ -103,7 +103,7 @@
|
|||
<el-row>
|
||||
<el-col :span="1"><br /></el-col>
|
||||
<el-col :span="10">
|
||||
<el-form-item :label="$t('setting.port')" prop="port" :rules="Rules.port">
|
||||
<el-form-item :label="$t('commons.table.port')" prop="port" :rules="Rules.port">
|
||||
<el-input clearable type="number" v-model.number="form.port" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
|
|
|
@ -81,7 +81,7 @@
|
|||
<el-card style="margin-top: 20px">
|
||||
<ComplexTable :pagination-config="paginationConfig" v-model:selects="selects" @search="search" :data="data">
|
||||
<template #toolbar>
|
||||
<el-button type="primary" @click="onBackup">{{ $t('setting.backup') }}</el-button>
|
||||
<el-button type="primary" @click="onBackup">{{ $t('commons.button.backup') }}</el-button>
|
||||
<el-button type="primary" plain :disabled="selects.length === 0" @click="onBatchDelete(null)">
|
||||
{{ $t('commons.button.delete') }}
|
||||
</el-button>
|
||||
|
|
|
@ -119,7 +119,7 @@
|
|||
<el-tag>{{ $t('monitor.write') }}: {{ currentChartInfo.ioWriteBytes }} MB</el-tag>
|
||||
<el-tag>
|
||||
{{ $t('home.rwPerSecond') }}: {{ currentChartInfo.ioCount }}
|
||||
{{ $t('home.time') }}
|
||||
{{ $t('commons.units.time') }}
|
||||
</el-tag>
|
||||
<el-tag>{{ $t('home.ioDelay') }}: {{ currentChartInfo.ioTime }} ms</el-tag>
|
||||
</div>
|
||||
|
@ -435,34 +435,34 @@ function loadUpTime(uptime: number) {
|
|||
if (days !== 0) {
|
||||
return (
|
||||
days +
|
||||
i18n.global.t('home.Day') +
|
||||
i18n.global.t('commons.units.day') +
|
||||
' ' +
|
||||
hours +
|
||||
i18n.global.t('home.Hour') +
|
||||
i18n.global.t('commons.units.hour') +
|
||||
' ' +
|
||||
minutes +
|
||||
i18n.global.t('home.Minute') +
|
||||
i18n.global.t('commons.units.minute') +
|
||||
' ' +
|
||||
seconds +
|
||||
i18n.global.t('home.Second')
|
||||
i18n.global.t('commons.units.second')
|
||||
);
|
||||
}
|
||||
if (hours !== 0) {
|
||||
return (
|
||||
hours +
|
||||
i18n.global.t('home.Hour') +
|
||||
i18n.global.t('commons.units.hour') +
|
||||
' ' +
|
||||
minutes +
|
||||
i18n.global.t('home.Minute') +
|
||||
i18n.global.t('commons.units.minute') +
|
||||
' ' +
|
||||
seconds +
|
||||
i18n.global.t('home.Second')
|
||||
i18n.global.t('commons.units.second')
|
||||
);
|
||||
}
|
||||
if (minutes !== 0) {
|
||||
return minutes + i18n.global.t('home.Minute') + ' ' + seconds + i18n.global.t('home.Second');
|
||||
return minutes + i18n.global.t('home.Minute') + ' ' + seconds + i18n.global.t('commons.units.second');
|
||||
}
|
||||
return seconds + i18n.global.t('home.Second');
|
||||
return seconds + i18n.global.t('commons.units.second');
|
||||
}
|
||||
|
||||
const loadData = async () => {
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
</template>
|
||||
</el-popover>
|
||||
<span class="input-help">
|
||||
( {{ formatNumber(currentInfo.cpuUsed) }} / {{ currentInfo.cpuTotal }} ) {{ $t('home.coreUnit') }}
|
||||
( {{ formatNumber(currentInfo.cpuUsed) }} / {{ currentInfo.cpuTotal }} ) {{ $t('commons.units.core') }}
|
||||
</span>
|
||||
</el-col>
|
||||
<el-col :xs="12" :sm="12" :md="6" :lg="6" :xl="6" align="center">
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
:rules="rules"
|
||||
v-loading="loading"
|
||||
>
|
||||
<el-form-item :label="$t('file.user')" prop="user">
|
||||
<el-form-item :label="$t('commons.table.user')" prop="user">
|
||||
<el-input v-model.trim="addForm.user" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('file.group')" prop="group">
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
<el-option v-for="item in options" :key="item" :label="item" :value="item" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('file.name')" prop="name">
|
||||
<el-form-item :label="$t('commons.table.name')" prop="name">
|
||||
<el-input v-model="form.name">
|
||||
<template #append>{{ extension }}</template>
|
||||
</el-input>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
v-loading="loading"
|
||||
@submit.enter.prevent
|
||||
>
|
||||
<el-form-item :label="$t('file.name')" prop="name">
|
||||
<el-form-item :label="$t('commons.table.name')" prop="name">
|
||||
<el-input v-model.trim="addForm.name" />
|
||||
</el-form-item>
|
||||
<el-form-item v-if="!addForm.isDir">
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
:rules="rules"
|
||||
v-loading="loading"
|
||||
>
|
||||
<el-form-item :label="$t('file.name')">
|
||||
<el-form-item :label="$t('commons.table.name')">
|
||||
<el-input v-model="name" disabled></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('file.deCompressDst')" prop="dst">
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
<el-col>
|
||||
<el-descriptions :column="1" border>
|
||||
<el-descriptions-item :label="$t('file.fileName')">{{ data.name }}</el-descriptions-item>
|
||||
<el-descriptions-item :label="$t('file.type')">{{ data.type }}</el-descriptions-item>
|
||||
<el-descriptions-item :label="$t('commons.table.type')">{{ data.type }}</el-descriptions-item>
|
||||
<el-descriptions-item :label="$t('file.path')">{{ data.path }}</el-descriptions-item>
|
||||
<el-descriptions-item :label="$t('file.size')">
|
||||
{{ computeSize(data.size) }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item :label="$t('file.role')">{{ data.mode }}</el-descriptions-item>
|
||||
<el-descriptions-item :label="$t('file.user')">{{ data.user }}</el-descriptions-item>
|
||||
<el-descriptions-item :label="$t('commons.table.user')">{{ data.user }}</el-descriptions-item>
|
||||
<el-descriptions-item :label="$t('file.group')">{{ data.group }}</el-descriptions-item>
|
||||
<el-descriptions-item :label="$t('commons.table.updatedAt')">
|
||||
{{ dateFormatSimple(data.modTime) }}
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<el-option v-for="item in options" :key="item" :label="item" :value="item" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('file.name')" prop="name">
|
||||
<el-form-item :label="$t('commons.table.name')" prop="name">
|
||||
<el-input v-model="addForm.name">
|
||||
<template #append>{{ extension }}</template>
|
||||
</el-input>
|
||||
|
|
|
@ -122,7 +122,7 @@
|
|||
<el-link :underline="false" @click="openMode(row)" type="primary">{{ row.mode }}</el-link>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('file.user')" prop="user" show-overflow-tooltip>
|
||||
<el-table-column :label="$t('commons.table.user')" prop="user" show-overflow-tooltip>
|
||||
<template #default="{ row }">
|
||||
<el-link :underline="false" @click="openChown(row)" type="primary">{{ row.user }}</el-link>
|
||||
</template>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<el-form-item :label="$t('file.path')" prop="path">
|
||||
<el-input v-model="addForm.path" disabled />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('file.name')" prop="newName">
|
||||
<el-form-item :label="$t('commons.table.name')" prop="newName">
|
||||
<el-input v-model.trim="addForm.newName" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<template #prepend><FileList :path="addForm.path" @choose="getPath"></FileList></template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('file.name')" prop="name">
|
||||
<el-form-item :label="$t('commons.table.name')" prop="name">
|
||||
<el-input v-model="addForm.name"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
|
|
@ -68,8 +68,8 @@
|
|||
:data="data"
|
||||
>
|
||||
<el-table-column type="selection" :selectable="selectable" fix />
|
||||
<el-table-column :label="$t('firewall.protocol')" :min-width="90" prop="protocol" />
|
||||
<el-table-column :label="$t('firewall.port')" :min-width="120" prop="port" />
|
||||
<el-table-column :label="$t('commons.table.protocol')" :min-width="90" prop="protocol" />
|
||||
<el-table-column :label="$t('commons.table.port')" :min-width="120" prop="port" />
|
||||
<el-table-column :label="$t('commons.table.status')" :min-width="120">
|
||||
<template #default="{ row }">
|
||||
<el-tag type="info" v-if="row.isUsed">
|
||||
|
@ -225,7 +225,7 @@ const onChangeStatus = async (row: Host.RuleInfo, status: string) => {
|
|||
status === 'accept'
|
||||
? i18n.global.t('firewall.changeStrategyPortHelper2')
|
||||
: i18n.global.t('firewall.changeStrategyPortHelper1');
|
||||
ElMessageBox.confirm(operation, i18n.global.t('firewall.changeStrategy', [i18n.global.t('firewall.port')]), {
|
||||
ElMessageBox.confirm(operation, i18n.global.t('firewall.changeStrategy', [i18n.global.t('commons.table.port')]), {
|
||||
confirmButtonText: i18n.global.t('commons.button.confirm'),
|
||||
cancelButtonText: i18n.global.t('commons.button.cancel'),
|
||||
}).then(async () => {
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<el-form ref="formRef" label-position="top" :model="dialogData.rowData" :rules="rules">
|
||||
<el-row type="flex" justify="center">
|
||||
<el-col :span="22">
|
||||
<el-form-item :label="$t('firewall.protocol')" prop="protocol">
|
||||
<el-form-item :label="$t('commons.table.protocol')" prop="protocol">
|
||||
<el-select style="width: 100%" v-model="dialogData.rowData!.protocol">
|
||||
<el-option value="tcp" label="tcp" />
|
||||
<el-option value="udp" label="udp" />
|
||||
|
@ -15,7 +15,7 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item :label="$t('firewall.port')" prop="port">
|
||||
<el-form-item :label="$t('commons.table.port')" prop="port">
|
||||
<el-input
|
||||
:disabled="dialogData.title === 'edit'"
|
||||
clearable
|
||||
|
|
|
@ -16,7 +16,7 @@ const buttons = [
|
|||
path: '/hosts/monitor/monitor',
|
||||
},
|
||||
{
|
||||
label: i18n.global.t('monitor.setting'),
|
||||
label: i18n.global.t('commons.button.set'),
|
||||
path: '/hosts/monitor/setting',
|
||||
},
|
||||
];
|
||||
|
|
|
@ -476,9 +476,9 @@ function initLoadCharts(item: Monitor.MonitorData) {
|
|||
},
|
||||
legend: {
|
||||
data: [
|
||||
'1 ' + i18n.global.t('monitor.min'),
|
||||
'5 ' + i18n.global.t('monitor.min'),
|
||||
'15 ' + i18n.global.t('monitor.min'),
|
||||
'1 ' + i18n.global.t('commons.units.minute'),
|
||||
'5 ' + i18n.global.t('commons.units.minute'),
|
||||
'15 ' + i18n.global.t('commons.units.minute'),
|
||||
i18n.global.t('monitor.resourceUsage'),
|
||||
],
|
||||
},
|
||||
|
@ -498,7 +498,7 @@ function initLoadCharts(item: Monitor.MonitorData) {
|
|||
dataZoom: [{ startValue: zoomStart.value }],
|
||||
series: [
|
||||
{
|
||||
name: '1 ' + i18n.global.t('monitor.min'),
|
||||
name: '1 ' + i18n.global.t('commons.units.minute'),
|
||||
type: 'line',
|
||||
areaStyle: {
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
|
@ -516,7 +516,7 @@ function initLoadCharts(item: Monitor.MonitorData) {
|
|||
data: load1Data,
|
||||
},
|
||||
{
|
||||
name: '5 ' + i18n.global.t('monitor.min'),
|
||||
name: '5 ' + i18n.global.t('commons.units.minute'),
|
||||
type: 'line',
|
||||
areaStyle: {
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
|
@ -534,7 +534,7 @@ function initLoadCharts(item: Monitor.MonitorData) {
|
|||
data: load5Data,
|
||||
},
|
||||
{
|
||||
name: '15 ' + i18n.global.t('monitor.min'),
|
||||
name: '15 ' + i18n.global.t('commons.units.minute'),
|
||||
type: 'line',
|
||||
areaStyle: {
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
|
@ -620,7 +620,7 @@ function initIOCharts(item: Monitor.MonitorData) {
|
|||
':' +
|
||||
item.data +
|
||||
' ' +
|
||||
i18n.global.t('monitor.count') +
|
||||
i18n.global.t('commons.units.time') +
|
||||
'/s' +
|
||||
'<br/>';
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<div>
|
||||
<MonitorRouter />
|
||||
|
||||
<LayoutContent v-loading="loading" :title="$t('monitor.setting')" :divider="true">
|
||||
<LayoutContent v-loading="loading" :title="$t('commons.button.set')" :divider="true">
|
||||
<template #main>
|
||||
<el-form :model="form" @submit.prevent ref="panelFormRef" label-position="left" label-width="160px">
|
||||
<el-row>
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<el-descriptions-item :label="$t('process.diskWrite')">
|
||||
{{ data.diskWrite }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item :label="$t('process.username')">
|
||||
<el-descriptions-item :label="$t('commons.table.user')">
|
||||
{{ data.username }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item :label="$t('process.startTime')">
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
suffix-icon="Search"
|
||||
@keyup.enter="search()"
|
||||
@change="search()"
|
||||
:placeholder="$t('process.username')"
|
||||
:placeholder="$t('commons.table.user')"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
@ -75,7 +75,7 @@
|
|||
></el-table-column>
|
||||
<el-table-column :label="$t('process.ppid')" fix prop="PPID" sortable></el-table-column>
|
||||
<el-table-column :label="$t('process.numThreads')" fix prop="numThreads"></el-table-column>
|
||||
<el-table-column :label="$t('process.username')" fix prop="username"></el-table-column>
|
||||
<el-table-column :label="$t('commons.table.user')" fix prop="username"></el-table-column>
|
||||
<el-table-column
|
||||
:label="'CPU'"
|
||||
fix
|
||||
|
|
|
@ -50,13 +50,13 @@
|
|||
<el-table-column type="selection" :selectable="selectable" fix />
|
||||
<el-table-column min-width="80" :label="$t('logs.loginIP')" prop="address" />
|
||||
<el-table-column min-width="60" :label="$t('ssh.belong')" prop="area" />
|
||||
<el-table-column min-width="60" :label="$t('firewall.port')" prop="port" />
|
||||
<el-table-column min-width="60" :label="$t('commons.table.port')" prop="port" />
|
||||
<el-table-column min-width="60" :label="$t('ssh.loginMode')" prop="authMode">
|
||||
<template #default="{ row }">
|
||||
<span v-if="row.authMode">{{ $t('ssh.' + row.authMode) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column min-width="60" :label="$t('ssh.loginUser')" prop="user" />
|
||||
<el-table-column min-width="60" :label="$t('commons.table.user')" prop="user" />
|
||||
<el-table-column min-width="60" :label="$t('logs.loginStatus')" prop="status">
|
||||
<template #default="{ row }">
|
||||
<div v-if="row.status === 'Success'">
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<el-option label="DSA" value="dsa" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('terminal.password')" prop="password">
|
||||
<el-form-item :label="$t('commons.login.password')" prop="password">
|
||||
<el-input v-model="form.password" type="password" show-password>
|
||||
<template #append>
|
||||
<el-button @click="onCopy(form.password)" icon="DocumentCopy"></el-button>
|
||||
|
|
|
@ -47,8 +47,8 @@
|
|||
>
|
||||
<el-table-column type="selection" :selectable="selectable" fix />
|
||||
<el-table-column :label="$t('terminal.ip')" prop="addr" fix />
|
||||
<el-table-column :label="$t('terminal.user')" show-overflow-tooltip prop="user" />
|
||||
<el-table-column :label="$t('terminal.port')" prop="port" />
|
||||
<el-table-column :label="$t('commons.login.username')" show-overflow-tooltip prop="user" />
|
||||
<el-table-column :label="$t('commons.table.port')" prop="port" />
|
||||
<el-table-column :label="$t('commons.table.group')" show-overflow-tooltip prop="groupBelong">
|
||||
<template #default="{ row }">
|
||||
<span v-if="row.groupBelong === 'default'">{{ $t('website.default') }}</span>
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
</span>
|
||||
<el-input v-else clearable v-model.trim="dialogData.rowData!.addr" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('terminal.user')" prop="user">
|
||||
<el-form-item :label="$t('commons.login.username')" prop="user">
|
||||
<el-input clearable v-model="dialogData.rowData!.user" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('terminal.authMode')" prop="authMode">
|
||||
|
@ -23,7 +23,7 @@
|
|||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('terminal.password')"
|
||||
:label="$t('commons.login.password')"
|
||||
v-if="dialogData.rowData!.authMode === 'password'"
|
||||
prop="password"
|
||||
>
|
||||
|
@ -51,7 +51,7 @@
|
|||
<el-checkbox clearable v-model.number="dialogData.rowData!.rememberPassword">
|
||||
{{ $t('terminal.rememberPassword') }}
|
||||
</el-checkbox>
|
||||
<el-form-item style="margin-top: 10px" :label="$t('terminal.port')" prop="port">
|
||||
<el-form-item style="margin-top: 10px" :label="$t('commons.table.port')" prop="port">
|
||||
<el-input clearable v-model.number="dialogData.rowData!.port" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('commons.table.group')" prop="groupID">
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<span v-if="isLocal">{{ hostInfo.addr }}</span>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('terminal.user')" prop="user">
|
||||
<el-form-item :label="$t('commons.login.username')" prop="user">
|
||||
<el-input clearable v-model="hostInfo.user" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('terminal.authMode')" prop="authMode">
|
||||
|
@ -31,7 +31,7 @@
|
|||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('terminal.password')"
|
||||
:label="$t('commons.login.password')"
|
||||
v-if="hostInfo.authMode === 'password'"
|
||||
prop="password"
|
||||
>
|
||||
|
@ -50,7 +50,7 @@
|
|||
<el-checkbox clearable v-model.number="hostInfo.rememberPassword">
|
||||
{{ $t('terminal.rememberPassword') }}
|
||||
</el-checkbox>
|
||||
<el-form-item style="margin-top: 10px" :label="$t('terminal.port')" prop="port">
|
||||
<el-form-item style="margin-top: 10px" :label="$t('commons.table.port')" prop="port">
|
||||
<el-input clearable v-model.number="hostInfo.port" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('commons.table.title')" prop="name">
|
||||
|
|
|
@ -188,7 +188,7 @@ const loadDetail = (log: string) => {
|
|||
log = log.replace('[get]', '[' + i18n.global.t('commons.button.get') + ']');
|
||||
}
|
||||
if (log.indexOf('[UserName]') !== -1) {
|
||||
return log.replace('[UserName]', '[' + i18n.global.t('setting.user') + ']');
|
||||
return log.replace('[UserName]', '[' + i18n.global.t('commons.login.username') + ']');
|
||||
}
|
||||
if (log.indexOf('[PanelName]') !== -1) {
|
||||
return log.replace('[PanelName]', '[' + i18n.global.t('setting.title') + ']');
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div>
|
||||
<LayoutContent :title="$t('setting.backup')">
|
||||
<LayoutContent :title="$t('commons.button.backup')">
|
||||
<template #main>
|
||||
<el-form label-position="left" label-width="130px" :v-key="reflash">
|
||||
<el-row :gutter="20">
|
||||
|
@ -343,7 +343,7 @@
|
|||
<el-form-item :label="$t('setting.address')">
|
||||
{{ sftpData.varsJson['address'] }}
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('setting.port')">
|
||||
<el-form-item :label="$t('commons.table.port')">
|
||||
{{ sftpData.varsJson['port'] }}
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('setting.path')">
|
||||
|
|
|
@ -181,7 +181,7 @@
|
|||
<el-form-item :label="$t('setting.address')" prop="varsJson.address" :rules="Rules.host">
|
||||
<el-input v-model.trim="dialogData.rowData!.varsJson['address']" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('setting.port')" prop="varsJson.port" :rules="[Rules.port]">
|
||||
<el-form-item :label="$t('commons.table.port')" prop="varsJson.port" :rules="[Rules.port]">
|
||||
<el-input-number
|
||||
:min="0"
|
||||
:max="65535"
|
||||
|
@ -196,7 +196,7 @@
|
|||
<el-input v-model="dialogData.rowData!.accessKey" />
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('setting.password')"
|
||||
:label="$t('commons.login.password')"
|
||||
prop="credential"
|
||||
:rules="[Rules.requiredInput]"
|
||||
>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<el-row>
|
||||
<el-col :span="1"><br /></el-col>
|
||||
<el-col :xs="24" :sm="20" :md="15" :lg="12" :xl="12">
|
||||
<el-form-item :label="$t('setting.user')" prop="userName">
|
||||
<el-form-item :label="$t('commons.login.username')" prop="userName">
|
||||
<el-input disabled v-model="form.userName">
|
||||
<template #append>
|
||||
<el-button @click="onChangeUserName()" icon="Setting">
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
<div>
|
||||
<el-drawer v-model="drawerVisiable" :destroy-on-close="true" :close-on-click-modal="false" size="30%">
|
||||
<template #header>
|
||||
<DrawerHeader :header="$t('setting.user')" :back="handleClose" />
|
||||
<DrawerHeader :header="$t('commons.login.username')" :back="handleClose" />
|
||||
</template>
|
||||
<el-form ref="formRef" label-position="top" :model="form" @submit.prevent v-loading="loading">
|
||||
<el-row type="flex" justify="center">
|
||||
<el-col :span="22">
|
||||
<el-form-item :label="$t('setting.user')" prop="userName" :rules="Rules.userName">
|
||||
<el-form-item :label="$t('commons.login.username')" prop="userName" :rules="Rules.userName">
|
||||
<el-input clearable v-model="form.userName" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<el-radio-group v-model="form.sslType">
|
||||
<el-radio label="self">{{ $t('setting.selfSigned') }}</el-radio>
|
||||
<el-radio label="select">{{ $t('setting.select') }}</el-radio>
|
||||
<el-radio label="import">{{ $t('setting.import') }}</el-radio>
|
||||
<el-radio label="import">{{ $t('commons.button.import') }}</el-radio>
|
||||
</el-radio-group>
|
||||
<span class="input-help" v-if="form.sslType === 'self'">
|
||||
{{ $t('setting.selfSignedHelper') }}
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
:rules="rules"
|
||||
:validate-on-rule-change="false"
|
||||
>
|
||||
<el-form-item :label="$t('runtime.name')" prop="name">
|
||||
<el-form-item :label="$t('commons.table.name')" prop="name">
|
||||
<el-input :disabled="mode === 'edit'" v-model="runtime.name"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('runtime.resource')" prop="resource">
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
</el-table-column>
|
||||
<el-table-column :label="$t('runtime.version')" prop="version"></el-table-column>
|
||||
<el-table-column :label="$t('runtime.image')" prop="image" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column :label="$t('runtime.status')" prop="status">
|
||||
<el-table-column :label="$t('commons.table.status')" prop="status">
|
||||
<template #default="{ row }">
|
||||
<el-popover
|
||||
v-if="row.status === 'error'"
|
||||
|
|
|
@ -42,7 +42,7 @@ const paginationConfig = reactive({
|
|||
|
||||
const buttons = [
|
||||
{
|
||||
label: i18n.global.t('app.delete'),
|
||||
label: i18n.global.t('commons.button.delete'),
|
||||
click: function (row: Website.AcmeAccount) {
|
||||
deleteAccount(row.id);
|
||||
},
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
<el-table-column prop="domain" :label="$t('website.domain')" />
|
||||
<el-table-column prop="resolve" :label="$t('ssl.resolveDomain')" />
|
||||
<el-table-column prop="value" :label="$t('ssl.value')" />
|
||||
<el-table-column :label="$t('ssl.type')">TXT</el-table-column>
|
||||
<el-table-column :label="$t('commons.table.type')">TXT</el-table-column>
|
||||
</el-table>
|
||||
</el-form-item>
|
||||
<el-form-item :label="''" prop="autoRenew" v-if="ssl.provider !== 'dnsManual'">
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<el-form-item :label="$t('commons.table.name')" prop="name">
|
||||
<el-input v-model.trim="account.name"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('website.type')" prop="type">
|
||||
<el-form-item :label="$t('commons.table.type')" prop="type">
|
||||
<el-select v-model="account.type" :disabled="accountData.mode === 'edit'">
|
||||
<el-option
|
||||
v-for="(type, index) in types"
|
||||
|
|
|
@ -55,7 +55,7 @@ const buttons = [
|
|||
},
|
||||
},
|
||||
{
|
||||
label: i18n.global.t('app.delete'),
|
||||
label: i18n.global.t('commons.button.delete'),
|
||||
click: function (row: Website.DnsAccount) {
|
||||
deleteAccount(row.id);
|
||||
},
|
||||
|
|
|
@ -136,7 +136,7 @@ const buttons = [
|
|||
},
|
||||
},
|
||||
{
|
||||
label: i18n.global.t('app.delete'),
|
||||
label: i18n.global.t('commons.button.delete'),
|
||||
click: function (row: Website.SSL) {
|
||||
deleteSSL(row.id);
|
||||
},
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<el-form-item :label="$t('website.domain')" prop="domain">
|
||||
<el-input v-model="domain.domain"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('website.port')" prop="port">
|
||||
<el-form-item :label="$t('commons.table.port')" prop="port">
|
||||
<el-input v-model.number="domain.port"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('website.domain')" prop="domain"></el-table-column>
|
||||
<el-table-column :label="$t('website.port')" prop="port"></el-table-column>
|
||||
<el-table-column :label="$t('commons.table.port')" prop="port"></el-table-column>
|
||||
<fu-table-operations
|
||||
:ellipsis="1"
|
||||
:buttons="buttons"
|
||||
|
@ -51,7 +51,7 @@ const website = ref<Website.WebsiteDTO>();
|
|||
|
||||
const buttons = [
|
||||
{
|
||||
label: i18n.global.t('app.delete'),
|
||||
label: i18n.global.t('commons.button.delete'),
|
||||
click: function (row: Website.Domain) {
|
||||
deleteDoamin(row.id);
|
||||
},
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
<el-form-item v-if="configDir" :label="$t('website.userGroup')">
|
||||
<el-space wrap>
|
||||
<el-input v-model="updatePermission.user" class="user-num-input">
|
||||
<template #prepend>{{ $t('website.user') }}</template>
|
||||
<template #prepend>{{ $t('commons.table.user') }}</template>
|
||||
</el-input>
|
||||
<el-input v-model="updatePermission.group" class="user-num-input">
|
||||
<template #prepend>{{ $t('website.uGroup') }}</template>
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
</el-form-item>
|
||||
<el-form-item label="max_execution_time" prop="max_execution_time">
|
||||
<el-input clearable v-model.number="form.max_execution_time" maxlength="15">
|
||||
<template #append>{{ $t('php.second') }}</template>
|
||||
<template #append>{{ $t('commons.units.second') }}</template>
|
||||
</el-input>
|
||||
<span class="input-help">{{ $t('php.max_execution_time') }}</span>
|
||||
</el-form-item>
|
||||
|
@ -51,7 +51,7 @@
|
|||
<el-col :span="9">
|
||||
<el-form-item label="default_socket_timeout" prop="default_socket_timeout">
|
||||
<el-input clearable v-model.number="form.default_socket_timeout" maxlength="15">
|
||||
<template #append>{{ $t('php.second') }}</template>
|
||||
<template #append>{{ $t('commons.units.second') }}</template>
|
||||
</el-input>
|
||||
<span class="input-help">{{ $t('php.default_socket_timeout') }}</span>
|
||||
</el-form-item>
|
||||
|
@ -68,7 +68,7 @@
|
|||
</el-form-item>
|
||||
<el-form-item label="max_input_time" prop="max_input_time">
|
||||
<el-input clearable v-model.number="form.max_input_time" maxlength="15">
|
||||
<template #append>{{ $t('php.second') }}</template>
|
||||
<template #append>{{ $t('commons.units.second') }}</template>
|
||||
</el-input>
|
||||
<span class="input-help">{{ $t('php.max_input_time') }}</span>
|
||||
</el-form-item>
|
||||
|
|
|
@ -7,12 +7,12 @@
|
|||
</el-form-item>
|
||||
<el-form-item prop="cycle" :label="$t('website.cycle')">
|
||||
<el-input v-model.number="form.cycle" maxlength="15">
|
||||
<template #append>{{ $t('website.seconds') }}</template>
|
||||
<template #append>{{ $t('commons.units.second') }}</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="frequency" :label="$t('website.frequency')">
|
||||
<el-input v-model.number="form.frequency" maxlength="15">
|
||||
<template #append>{{ $t('website.count') }}</template>
|
||||
<template #append>{{ $t('commons.units.time') }}</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-alert
|
||||
|
|
|
@ -139,7 +139,7 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('app.name')" prop="appinstall.name">
|
||||
<el-form-item :label="$t('commons.table.name')" prop="appinstall.name">
|
||||
<el-input v-model.trim="website.appinstall.name"></el-input>
|
||||
</el-form-item>
|
||||
<Params
|
||||
|
@ -181,7 +181,11 @@
|
|||
<el-option :label="$t('website.unix')" :value="'unix'"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="website.proxyType === 'tcp'" :label="$t('website.port')" prop="port">
|
||||
<el-form-item
|
||||
v-if="website.proxyType === 'tcp'"
|
||||
:label="$t('commons.table.port')"
|
||||
prop="port"
|
||||
>
|
||||
<el-input v-model.number="website.port"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
|
|
@ -118,7 +118,11 @@
|
|||
<MsgInfo :info="row.remark" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('website.protocol')" prop="protocol" width="90px"></el-table-column>
|
||||
<el-table-column
|
||||
:label="$t('commons.table.protocol')"
|
||||
prop="protocol"
|
||||
width="90px"
|
||||
></el-table-column>
|
||||
<el-table-column :label="$t('website.expireDate')">
|
||||
<template #default="{ row, $index }">
|
||||
<div v-show="row.showdate">
|
||||
|
@ -383,7 +387,7 @@ const buttons = [
|
|||
},
|
||||
},
|
||||
{
|
||||
label: i18n.global.t('app.delete'),
|
||||
label: i18n.global.t('commons.button.delete'),
|
||||
click: function (row: Website.Website) {
|
||||
openDelete(row);
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue