fix: 移除部分重复国际化内容 (#1495)

pull/1498/head
ssongliu 2023-06-29 22:38:12 +08:00 committed by GitHub
parent 6c4c73e825
commit 4bf76aacb1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
70 changed files with 185 additions and 340 deletions

View File

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

View File

@ -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: "名称已存在"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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 () => {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -94,15 +94,19 @@
&#32;{{ 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>

View File

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

View File

@ -47,22 +47,22 @@
{{ loadZero(dialogData.rowData?.minute) }}
</span>
<span v-if="dialogData.rowData?.specType === 'perNDay'">
{{ dialogData.rowData?.day }}{{ $t('cronjob.day1') }},&nbsp;
{{ dialogData.rowData?.day }}{{ $t('commons.units.day') }},&nbsp;
{{ loadZero(dialogData.rowData?.hour) }} :
{{ loadZero(dialogData.rowData?.minute) }}
</span>
<span v-if="dialogData.rowData?.specType === 'perNHour'">
{{ dialogData.rowData?.hour }}{{ $t('cronjob.hour') }},&nbsp;
{{ dialogData.rowData?.hour }}{{ $t('commons.units.hour') }},&nbsp;
{{ loadZero(dialogData.rowData?.minute) }}
</span>
<span v-if="dialogData.rowData?.specType === 'perHour'">
&nbsp;{{ loadZero(dialogData.rowData?.minute) }}
</span>
<span v-if="dialogData.rowData?.specType === 'perNMinute'">
&nbsp;{{ dialogData.rowData?.minute }}{{ $t('cronjob.minute') }}
&nbsp;{{ dialogData.rowData?.minute }}{{ $t('commons.units.minute') }}
</span>
<span v-if="dialogData.rowData?.specType === 'perNSecond'">
&nbsp;{{ dialogData.rowData?.second }}{{ $t('cronjob.second') }}
&nbsp;{{ dialogData.rowData?.second }}{{ $t('commons.units.second') }}
</span>
&nbsp;{{ $t('cronjob.handle') }}
</el-tag>

View File

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

View File

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

View File

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

View File

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

View File

@ -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 () => {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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 () => {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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