1
0
mirror of https://github.com/1Panel-dev/1Panel.git synced 2025-01-31 22:18:07 +08:00

feat: Improve the internationalization of the frontend. (#7778)

This commit is contained in:
ssongliu 2025-01-27 19:06:26 +08:00 committed by GitHub
parent edf24dbc49
commit 40b099a978
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
125 changed files with 5365 additions and 1245 deletions

View File

@ -3,8 +3,6 @@ package dir
import ( import (
"path" "path"
"github.com/1Panel-dev/1Panel/agent/app/model"
"github.com/1Panel-dev/1Panel/agent/constant"
"github.com/1Panel-dev/1Panel/agent/global" "github.com/1Panel-dev/1Panel/agent/global"
"github.com/1Panel-dev/1Panel/agent/utils/files" "github.com/1Panel-dev/1Panel/agent/utils/files"
) )
@ -30,15 +28,4 @@ func Init() {
global.Dir.RuntimeDir, _ = fileOp.CreateDirWithPath(true, path.Join(baseDir, "1panel/runtime")) global.Dir.RuntimeDir, _ = fileOp.CreateDirWithPath(true, path.Join(baseDir, "1panel/runtime"))
global.Dir.RecycleBinDir, _ = fileOp.CreateDirWithPath(true, "/.1panel_clash") global.Dir.RecycleBinDir, _ = fileOp.CreateDirWithPath(true, "/.1panel_clash")
global.Dir.SSLLogDir, _ = fileOp.CreateDirWithPath(true, path.Join(baseDir, "1panel/log/ssl")) global.Dir.SSLLogDir, _ = fileOp.CreateDirWithPath(true, path.Join(baseDir, "1panel/log/ssl"))
//loadLocalDir()
}
func loadLocalDir() {
var account model.BackupAccount
if err := global.DB.Where("`type` = ?", constant.Local).First(&account).Error; err != nil {
global.LOG.Errorf("load local backup account info failed, err: %v", err)
return
}
global.Dir.LocalBackupDir = account.BackupPath
} }

View File

@ -17,6 +17,8 @@ func Init() {
initGlobalData() initGlobalData()
handleCronjobStatus() handleCronjobStatus()
handleSnapStatus() handleSnapStatus()
loadLocalDir()
} }
func initGlobalData() { func initGlobalData() {
@ -92,3 +94,12 @@ func handleCronJobAlert(cronjob *model.Cronjob) {
return return
} }
} }
func loadLocalDir() {
var account model.BackupAccount
if err := global.DB.Where("`type` = ?", constant.Local).First(&account).Error; err != nil {
global.LOG.Errorf("load local backup account info failed, err: %v", err)
return
}
global.Dir.LocalBackupDir = account.BackupPath
}

View File

@ -28,7 +28,7 @@
:disabled="data.status === 'Installing'" :disabled="data.status === 'Installing'"
@click="onOperate('restart')" @click="onOperate('restart')"
> >
{{ $t('app.restart') }} {{ $t('commons.button.restart') }}
</el-button> </el-button>
<el-divider direction="vertical" /> <el-divider direction="vertical" />
<el-button <el-button

View File

@ -49,7 +49,7 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('database.source')" prop="backupType"> <el-table-column :label="$t('app.source')" prop="backupType">
<template #default="{ row }"> <template #default="{ row }">
<span v-if="row.accountType === 'LOCAL'"> <span v-if="row.accountType === 'LOCAL'">
{{ $t('setting.LOCAL') }} {{ $t('setting.LOCAL') }}

View File

@ -18,7 +18,7 @@
</el-checkbox> </el-checkbox>
</div> </div>
<el-button class="margin-button" @click="onDownload" icon="Download"> <el-button class="margin-button" @click="onDownload" icon="Download">
{{ $t('file.download') }} {{ $t('commons.button.download') }}
</el-button> </el-button>
<el-button class="margin-button" @click="onClean" icon="Delete"> <el-button class="margin-button" @click="onClean" icon="Delete">
{{ $t('commons.button.clean') }} {{ $t('commons.button.clean') }}
@ -89,7 +89,7 @@ const visibleLogs = computed(() => {
}); });
const timeOptions = ref([ const timeOptions = ref([
{ label: i18n.global.t('container.all'), value: 'all' }, { label: i18n.global.t('commons.table.all'), value: 'all' },
{ {
label: i18n.global.t('container.lastDay'), label: i18n.global.t('container.lastDay'),
value: '24h', value: '24h',
@ -148,7 +148,7 @@ const searchLogs = async () => {
const onDownload = async () => { const onDownload = async () => {
logSearch.tail = 0; logSearch.tail = 0;
let msg = i18n.global.t('container.downLogHelper1', [logSearch.container]); let msg = i18n.global.t('container.downLogHelper1', [logSearch.container]);
ElMessageBox.confirm(msg, i18n.global.t('file.download'), { ElMessageBox.confirm(msg, i18n.global.t('commons.button.download'), {
confirmButtonText: i18n.global.t('commons.button.confirm'), confirmButtonText: i18n.global.t('commons.button.confirm'),
cancelButtonText: i18n.global.t('commons.button.cancel'), cancelButtonText: i18n.global.t('commons.button.cancel'),
type: 'info', type: 'info',

View File

@ -1,5 +1,5 @@
<template> <template>
<DrawerPro v-model="open" :header="$t('website.log')" size="large" :back="handleClose"> <DrawerPro v-model="open" :header="$t('commons.button.log')" size="large" :back="handleClose">
<LogFile :config="config" :height-diff="config.heightDiff"></LogFile> <LogFile :config="config" :height-diff="config.heightDiff"></LogFile>
</DrawerPro> </DrawerPro>
</template> </template>

View File

@ -11,7 +11,7 @@
icon="Download" icon="Download"
:disabled="logs.length === 0" :disabled="logs.length === 0"
> >
{{ $t('file.download') }} {{ $t('commons.button.download') }}
</el-button> </el-button>
<span v-if="$slots.button" class="ml-2.5"> <span v-if="$slots.button" class="ml-2.5">
<slot name="button"></slot> <slot name="button"></slot>

View File

@ -22,7 +22,7 @@
<Status :status="row.status" :msg="row.errorMsg" /> <Status :status="row.status" :msg="row.errorMsg" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('website.log')" prop="log"> <el-table-column :label="$t('commons.button.log')" prop="log">
<template #default="{ row }"> <template #default="{ row }">
<el-button @click="openTaskLog(row)" link type="primary"> <el-button @click="openTaskLog(row)" link type="primary">
{{ $t('website.check') }} {{ $t('website.check') }}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -23,7 +23,7 @@
@click="$emit('closeTab', tabItem.path)" @click="$emit('closeTab', tabItem.path)"
> >
<el-icon><Close /></el-icon> <el-icon><Close /></el-icon>
{{ $t('tabs.close') }} {{ $t('commons.button.close') }}
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item <el-dropdown-item
v-if="tabsStore.hasCloseDropdown(tabItem.path, 'left')" v-if="tabsStore.hasCloseDropdown(tabItem.path, 'left')"

View File

@ -150,7 +150,7 @@
" "
@click.stop="openInstall(app)" @click.stop="openInstall(app)"
> >
{{ $t('app.install') }} {{ $t('commons.button.install') }}
</el-button> </el-button>
</div> </div>
</div> </div>

View File

@ -31,7 +31,7 @@
type="primary" type="primary"
class="brief-button" class="brief-button"
> >
{{ $t('app.install') }} {{ $t('commons.button.install') }}
</el-button> </el-button>
</div> </div>
</div> </div>

View File

@ -1,5 +1,5 @@
<template> <template>
<DrawerPro v-model="open" :header="$t('app.install')" :back="handleClose" size="large"> <DrawerPro v-model="open" :header="$t('commons.button.install')" :back="handleClose" size="large">
<el-alert <el-alert
:title="$t('app.hostModeHelper')" :title="$t('app.hostModeHelper')"
class="common-prompt" class="common-prompt"

View File

@ -89,7 +89,7 @@
> >
<span>{{ service.label }}</span> <span>{{ service.label }}</span>
<span class="float-right" v-if="service.from != ''"> <span class="float-right" v-if="service.from != ''">
<el-tag v-if="service.from === 'local'">{{ $t('database.local') }}</el-tag> <el-tag v-if="service.from === 'local'">{{ $t('commons.table.local') }}</el-tag>
<el-tag v-else type="success">{{ $t('database.remote') }}</el-tag> <el-tag v-else type="success">{{ $t('database.remote') }}</el-tag>
</span> </span>
</el-option> </el-option>

View File

@ -103,8 +103,8 @@ const toPage = (key: string) => {
const onConfirm = () => { const onConfirm = () => {
ElMessageBox.confirm( ElMessageBox.confirm(
i18n.global.t('app.operatorHelper', [i18n.global.t('app.delete')]), i18n.global.t('app.operatorHelper', [i18n.global.t('commons.button.delete')]),
i18n.global.t('app.delete'), i18n.global.t('commons.button.delete'),
{ {
confirmButtonText: i18n.global.t('commons.button.confirm'), confirmButtonText: i18n.global.t('commons.button.confirm'),
cancelButtonText: i18n.global.t('commons.button.cancel'), cancelButtonText: i18n.global.t('commons.button.cancel'),

View File

@ -243,7 +243,7 @@ const submit = async (formEl: FormInstance) => {
if (!valid) { if (!valid) {
return; return;
} }
ElMessageBox.confirm(i18n.global.t('app.updateWarn'), i18n.global.t('app.update'), { ElMessageBox.confirm(i18n.global.t('app.updateWarn'), i18n.global.t('commons.button.update'), {
confirmButtonText: i18n.global.t('commons.button.confirm'), confirmButtonText: i18n.global.t('commons.button.confirm'),
cancelButtonText: i18n.global.t('commons.button.cancel'), cancelButtonText: i18n.global.t('commons.button.cancel'),
type: 'info', type: 'info',

View File

@ -51,7 +51,7 @@
</template> </template>
<template #leftToolBar> <template #leftToolBar>
<el-button @click="sync" type="primary" plain v-if="mode === 'installed' && data != null"> <el-button @click="sync" type="primary" plain v-if="mode === 'installed' && data != null">
{{ $t('app.sync') }} {{ $t('commons.button.sync') }}
</el-button> </el-button>
<el-button @click="openIgnore" type="primary" plain v-if="mode === 'upgrade'"> <el-button @click="openIgnore" type="primary" plain v-if="mode === 'upgrade'">
{{ $t('app.showIgnore') }} {{ $t('app.showIgnore') }}
@ -448,7 +448,7 @@ const options = {
}; };
const sync = () => { const sync = () => {
ElMessageBox.confirm(i18n.global.t('app.syncAllAppHelper'), i18n.global.t('app.sync'), { ElMessageBox.confirm(i18n.global.t('app.syncAllAppHelper'), i18n.global.t('commons.button.sync'), {
confirmButtonText: i18n.global.t('commons.button.confirm'), confirmButtonText: i18n.global.t('commons.button.confirm'),
cancelButtonText: i18n.global.t('commons.button.cancel'), cancelButtonText: i18n.global.t('commons.button.cancel'),
type: 'info', type: 'info',
@ -561,7 +561,7 @@ const onOperate = async (operation: string) => {
const buttons = [ const buttons = [
{ {
label: i18n.global.t('app.sync'), label: i18n.global.t('commons.button.sync'),
click: (row: any) => { click: (row: any) => {
openOperate(row, 'sync'); openOperate(row, 'sync');
}, },
@ -589,7 +589,7 @@ const buttons = [
}, },
}, },
{ {
label: i18n.global.t('app.restart'), label: i18n.global.t('commons.button.restart'),
click: (row: any) => { click: (row: any) => {
openOperate(row, 'restart'); openOperate(row, 'restart');
}, },

View File

@ -1,7 +1,7 @@
<template> <template>
<DrawerPro v-model="drawerVisible" :header="$t('container.compose')" :back="handleClose" size="large"> <DrawerPro v-model="drawerVisible" :header="$t('container.compose')" :back="handleClose" size="large">
<el-form ref="formRef" @submit.prevent label-position="top" :model="form" :rules="rules" v-loading="loading"> <el-form ref="formRef" @submit.prevent label-position="top" :model="form" :rules="rules" v-loading="loading">
<el-form-item :label="$t('container.from')"> <el-form-item :label="$t('app.source')">
<el-radio-group v-model="form.from" @change="onEdit('form')"> <el-radio-group v-model="form.from" @change="onEdit('form')">
<el-radio value="edit">{{ $t('commons.button.edit') }}</el-radio> <el-radio value="edit">{{ $t('commons.button.edit') }}</el-radio>
<el-radio value="path">{{ $t('container.pathSelect') }}</el-radio> <el-radio value="path">{{ $t('container.pathSelect') }}</el-radio>
@ -133,7 +133,7 @@ const changeTemplate = () => {
const changeFrom = () => { const changeFrom = () => {
if ((oldFrom.value === 'edit' || oldFrom.value === 'template') && form.file) { if ((oldFrom.value === 'edit' || oldFrom.value === 'template') && form.file) {
ElMessageBox.confirm(i18n.global.t('container.fromChangeHelper'), i18n.global.t('container.from'), { ElMessageBox.confirm(i18n.global.t('container.fromChangeHelper'), i18n.global.t('app.source'), {
confirmButtonText: i18n.global.t('commons.button.confirm'), confirmButtonText: i18n.global.t('commons.button.confirm'),
cancelButtonText: i18n.global.t('commons.button.cancel'), cancelButtonText: i18n.global.t('commons.button.cancel'),
type: 'info', type: 'info',

View File

@ -8,15 +8,15 @@
</div> </div>
<div v-if="createdBy === '1Panel'" style="margin-left: 50px"> <div v-if="createdBy === '1Panel'" style="margin-left: 50px">
<el-button link type="primary" @click="onComposeOperate('up')"> <el-button link type="primary" @click="onComposeOperate('up')">
{{ $t('container.start') }} {{ $t('app.start') }}
</el-button> </el-button>
<el-divider direction="vertical" /> <el-divider direction="vertical" />
<el-button link type="primary" @click="onComposeOperate('stop')"> <el-button link type="primary" @click="onComposeOperate('stop')">
{{ $t('container.stop') }} {{ $t('app.stop') }}
</el-button> </el-button>
<el-divider direction="vertical" /> <el-divider direction="vertical" />
<el-button link type="primary" @click="onComposeOperate('down')"> <el-button link type="primary" @click="onComposeOperate('down')">
{{ $t('container.remove') }} {{ $t('commons.button.delete') }}
</el-button> </el-button>
</div> </div>
<div v-else> <div v-else>
@ -40,13 +40,13 @@
<template #main> <template #main>
<el-button-group> <el-button-group>
<el-button :disabled="checkStatus('start')" @click="onOperate('start')"> <el-button :disabled="checkStatus('start')" @click="onOperate('start')">
{{ $t('container.start') }} {{ $t('app.start') }}
</el-button> </el-button>
<el-button :disabled="checkStatus('stop')" @click="onOperate('stop')"> <el-button :disabled="checkStatus('stop')" @click="onOperate('stop')">
{{ $t('container.stop') }} {{ $t('app.stop') }}
</el-button> </el-button>
<el-button :disabled="checkStatus('restart')" @click="onOperate('restart')"> <el-button :disabled="checkStatus('restart')" @click="onOperate('restart')">
{{ $t('container.restart') }} {{ $t('commons.button.restart') }}
</el-button> </el-button>
<el-button :disabled="checkStatus('kill')" @click="onOperate('kill')"> <el-button :disabled="checkStatus('kill')" @click="onOperate('kill')">
{{ $t('container.kill') }} {{ $t('container.kill') }}
@ -58,7 +58,7 @@
{{ $t('container.unpause') }} {{ $t('container.unpause') }}
</el-button> </el-button>
<el-button :disabled="checkStatus('remove')" @click="onOperate('remove')"> <el-button :disabled="checkStatus('remove')" @click="onOperate('remove')">
{{ $t('container.remove') }} {{ $t('commons.button.delete') }}
</el-button> </el-button>
</el-button-group> </el-button-group>
<ComplexTable <ComplexTable
@ -311,7 +311,7 @@ const buttons = [
}, },
}, },
{ {
label: i18n.global.t('container.monitor'), label: i18n.global.t('menu.monitor'),
disabled: (row: Container.ContainerInfo) => { disabled: (row: Container.ContainerInfo) => {
return row.state !== 'running'; return row.state !== 'running';
}, },

View File

@ -39,10 +39,10 @@
</el-text> </el-text>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('container.from')" prop="createdBy" min-width="80" fix> <el-table-column :label="$t('app.source')" prop="createdBy" min-width="80" fix>
<template #default="{ row }"> <template #default="{ row }">
<span v-if="row.createdBy === ''">{{ $t('container.local') }}</span> <span v-if="row.createdBy === ''">{{ $t('commons.table.local') }}</span>
<span v-if="row.createdBy === 'Apps'">{{ $t('container.apps') }}</span> <span v-if="row.createdBy === 'Apps'">{{ $t('menu.apps') }}</span>
<span v-if="row.createdBy === '1Panel'">1Panel</span> <span v-if="row.createdBy === '1Panel'">1Panel</span>
</template> </template>
</el-table-column> </el-table-column>

View File

@ -65,7 +65,7 @@
</el-tag> </el-tag>
</div> </div>
<LayoutContent :title="$t('container.container')" :class="{ mask: !isActive }"> <LayoutContent :title="$t('menu.container')" :class="{ mask: !isActive }">
<template #leftToolBar> <template #leftToolBar>
<el-button type="primary" @click="onContainerOperate('')"> <el-button type="primary" @click="onContainerOperate('')">
{{ $t('container.create') }} {{ $t('container.create') }}
@ -75,13 +75,13 @@
</el-button> </el-button>
<el-button-group> <el-button-group>
<el-button :disabled="checkStatus('start', null)" @click="onOperate('start', null)"> <el-button :disabled="checkStatus('start', null)" @click="onOperate('start', null)">
{{ $t('container.start') }} {{ $t('app.start') }}
</el-button> </el-button>
<el-button :disabled="checkStatus('stop', null)" @click="onOperate('stop', null)"> <el-button :disabled="checkStatus('stop', null)" @click="onOperate('stop', null)">
{{ $t('container.stop') }} {{ $t('app.stop') }}
</el-button> </el-button>
<el-button :disabled="checkStatus('restart', null)" @click="onOperate('restart', null)"> <el-button :disabled="checkStatus('restart', null)" @click="onOperate('restart', null)">
{{ $t('container.restart') }} {{ $t('commons.button.restart') }}
</el-button> </el-button>
<el-button :disabled="checkStatus('kill', null)" @click="onOperate('kill', null)"> <el-button :disabled="checkStatus('kill', null)" @click="onOperate('kill', null)">
{{ $t('container.kill') }} {{ $t('container.kill') }}
@ -93,7 +93,7 @@
{{ $t('container.unpause') }} {{ $t('container.unpause') }}
</el-button> </el-button>
<el-button :disabled="checkStatus('remove', null)" @click="onOperate('remove', null)"> <el-button :disabled="checkStatus('remove', null)" @click="onOperate('remove', null)">
{{ $t('container.remove') }} {{ $t('commons.button.delete') }}
</el-button> </el-button>
</el-button-group> </el-button-group>
</template> </template>
@ -158,19 +158,19 @@
:disabled="checkStatus('start', row)" :disabled="checkStatus('start', row)"
@click="onOperate('start', row)" @click="onOperate('start', row)"
> >
{{ $t('container.start') }} {{ $t('app.start') }}
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item <el-dropdown-item
:disabled="checkStatus('stop', row)" :disabled="checkStatus('stop', row)"
@click="onOperate('stop', row)" @click="onOperate('stop', row)"
> >
{{ $t('container.stop') }} {{ $t('app.stop') }}
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item <el-dropdown-item
:disabled="checkStatus('restart', row)" :disabled="checkStatus('restart', row)"
@click="onOperate('restart', row)" @click="onOperate('restart', row)"
> >
{{ $t('container.restart') }} {{ $t('commons.button.restart') }}
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item <el-dropdown-item
:disabled="checkStatus('kill', row)" :disabled="checkStatus('kill', row)"
@ -318,7 +318,7 @@
size="small" size="small"
@click="router.push({ name: 'Website' })" @click="router.push({ name: 'Website' })"
> >
{{ $t('website.website') }}: {{ $t('menu.website') }}:
{{ row.websites.join(',') }} {{ row.websites.join(',') }}
</el-button> </el-button>
</el-tooltip> </el-tooltip>
@ -741,7 +741,7 @@ const buttons = [
}, },
}, },
{ {
label: i18n.global.t('container.monitor'), label: i18n.global.t('menu.monitor'),
disabled: (row: Container.ContainerInfo) => { disabled: (row: Container.ContainerInfo) => {
return row.state !== 'running'; return row.state !== 'running';
}, },
@ -768,7 +768,7 @@ const buttons = [
}, },
}, },
{ {
label: i18n.global.t('container.remove'), label: i18n.global.t('commons.button.delete'),
click: (row: Container.ContainerInfo) => { click: (row: Container.ContainerInfo) => {
onOperate('remove', row); onOperate('remove', row);
}, },

View File

@ -1,11 +1,5 @@
<template> <template>
<DrawerPro <DrawerPro v-model="monitorVisible" :header="$t('menu.monitor')" :back="handleClose" :resource="title" size="large">
v-model="monitorVisible"
:header="$t('container.monitor')"
:back="handleClose"
:resource="title"
size="large"
>
<el-form label-position="top" @submit.prevent> <el-form label-position="top" @submit.prevent>
<el-form-item :label="$t('container.refreshTime')"> <el-form-item :label="$t('container.refreshTime')">
<el-select v-model="timeInterval" @change="changeTimer"> <el-select v-model="timeInterval" @change="changeTimer">

View File

@ -95,7 +95,7 @@
/> />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('container.container')" min-width="120"> <el-table-column :label="$t('menu.container')" min-width="120">
<template #default="{ row }"> <template #default="{ row }">
<el-input <el-input
:placeholder="$t('container.containerExample')" :placeholder="$t('container.containerExample')"

View File

@ -1,7 +1,7 @@
<template> <template>
<DrawerPro <DrawerPro
v-model="terminalVisible" v-model="terminalVisible"
:header="$t('container.containerTerminal')" :header="$t('menu.terminal')"
:back="handleClose" :back="handleClose"
:resource="title" :resource="title"
size="large" size="large"
@ -41,7 +41,7 @@
<el-button v-if="!terminalOpen" @click="initTerm(formRef)"> <el-button v-if="!terminalOpen" @click="initTerm(formRef)">
{{ $t('commons.button.conn') }} {{ $t('commons.button.conn') }}
</el-button> </el-button>
<el-button v-else @click="onClose()">{{ $t('commons.button.disconn') }}</el-button> <el-button v-else @click="onClose()">{{ $t('commons.button.disConn') }}</el-button>
<Terminal <Terminal
style="height: calc(100vh - 302px); margin-top: 18px" style="height: calc(100vh - 302px); margin-top: 18px"
ref="terminalRef" ref="terminalRef"

View File

@ -1,6 +1,6 @@
<template> <template>
<div v-loading="loading"> <div v-loading="loading">
<CardWithHeader :header="$t('container.container')" class="mt-5"> <CardWithHeader :header="$t('menu.container')" class="mt-5">
<template #body> <template #body>
<span class="count" @click="goRouter('Container')">{{ countItem.containerCount }}</span> <span class="count" @click="goRouter('Container')">{{ countItem.containerCount }}</span>
<div class="float-right"> <div class="float-right">

View File

@ -1,7 +1,7 @@
<template> <template>
<DrawerPro v-model="drawerVisible" :header="$t('container.imagePull')" :back="onCloseLog" size="large"> <DrawerPro v-model="drawerVisible" :header="$t('container.imagePull')" :back="onCloseLog" size="large">
<el-form ref="formRef" label-position="top" :model="form"> <el-form ref="formRef" label-position="top" :model="form">
<el-form-item :label="$t('container.from')"> <el-form-item :label="$t('app.source')">
<el-checkbox v-model="form.fromRepo"> <el-checkbox v-model="form.fromRepo">
{{ $t('container.imageRepo') }} {{ $t('container.imageRepo') }}
</el-checkbox> </el-checkbox>

View File

@ -1,7 +1,7 @@
<template> <template>
<DrawerPro v-model="drawerVisible" :header="$t('container.imageTag')" :back="handleClose" size="large"> <DrawerPro v-model="drawerVisible" :header="$t('container.imageTag')" :back="handleClose" size="large">
<el-form v-loading="loading" label-position="top" ref="formRef" :model="form" label-width="80px"> <el-form v-loading="loading" label-position="top" ref="formRef" :model="form" label-width="80px">
<el-form-item :label="$t('container.from')"> <el-form-item :label="$t('app.source')">
<el-checkbox v-model="form.fromRepo">{{ $t('container.imageRepo') }}</el-checkbox> <el-checkbox v-model="form.fromRepo">{{ $t('container.imageRepo') }}</el-checkbox>
</el-form-item> </el-form-item>
<el-form-item <el-form-item

View File

@ -12,11 +12,11 @@ import i18n from '@/lang';
const buttons = [ const buttons = [
{ {
label: i18n.global.t('home.overview'), label: i18n.global.t('menu.home'),
path: '/containers/dashboard', path: '/containers/dashboard',
}, },
{ {
label: i18n.global.t('container.container'), label: i18n.global.t('menu.container'),
path: '/containers/container', path: '/containers/container',
}, },
{ {

View File

@ -10,14 +10,14 @@
</div> </div>
<div class="mt-0.5"> <div class="mt-0.5">
<el-button v-if="form.isActive" type="primary" @click="onOperator('stop')" link> <el-button v-if="form.isActive" type="primary" @click="onOperator('stop')" link>
{{ $t('container.stop') }} {{ $t('app.stop') }}
</el-button> </el-button>
<el-button v-if="!form.isActive" type="primary" @click="onOperator('start')" link> <el-button v-if="!form.isActive" type="primary" @click="onOperator('start')" link>
{{ $t('container.start') }} {{ $t('app.start') }}
</el-button> </el-button>
<el-divider direction="vertical" /> <el-divider direction="vertical" />
<el-button type="primary" @click="onOperator('restart')" link> <el-button type="primary" @click="onOperator('restart')" link>
{{ $t('container.restart') }} {{ $t('commons.button.restart') }}
</el-button> </el-button>
</div> </div>
</div> </div>

View File

@ -39,7 +39,7 @@
</el-text> </el-text>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('container.description')" prop="description" min-width="200" fix /> <el-table-column :label="$t('commons.table.description')" prop="description" min-width="200" fix />
<el-table-column :label="$t('commons.table.createdAt')" min-width="80" fix> <el-table-column :label="$t('commons.table.createdAt')" min-width="80" fix>
<template #default="{ row }"> <template #default="{ row }">
{{ dateFormat(0, 0, row.createdAt) }} {{ dateFormat(0, 0, row.createdAt) }}

View File

@ -17,7 +17,7 @@
<el-form-item :label="$t('commons.table.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"></el-input> <el-input :disabled="dialogData.title === 'edit'" v-model.trim="dialogData.rowData!.name"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('container.description')"> <el-form-item :label="$t('commons.table.description')">
<el-input v-model="dialogData.rowData!.description"></el-input> <el-input v-model="dialogData.rowData!.description"></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>

View File

@ -22,7 +22,7 @@
<el-form-item :label="$t('container.nfsAddress')" prop="nfsAddress"> <el-form-item :label="$t('container.nfsAddress')" prop="nfsAddress">
<el-input clearable v-model.trim="form.nfsAddress" :placeholder="$t('commons.rule.hostHelper')" /> <el-input clearable v-model.trim="form.nfsAddress" :placeholder="$t('commons.rule.hostHelper')" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('container.version')" prop="nfsVersion"> <el-form-item :label="$t('app.version')" prop="nfsVersion">
<el-radio-group v-model="form.nfsVersion"> <el-radio-group v-model="form.nfsVersion">
<el-radio value="v3">NFS</el-radio> <el-radio value="v3">NFS</el-radio>
<el-radio value="v4">NFS4</el-radio> <el-radio value="v4">NFS4</el-radio>

View File

@ -28,7 +28,7 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('database.source')" prop="accountType" show-overflow-tooltip> <el-table-column :label="$t('app.source')" prop="accountType" show-overflow-tooltip>
<template #default="{ row }"> <template #default="{ row }">
<span v-if="row.accountType === 'LOCAL'"> <span v-if="row.accountType === 'LOCAL'">
{{ $t('setting.LOCAL') }} {{ $t('setting.LOCAL') }}

View File

@ -3,15 +3,15 @@
<RouterButton <RouterButton
:buttons="[ :buttons="[
{ {
label: i18n.global.t('cronjob.cronTask'), label: i18n.global.t('menu.cronjob'),
path: '/cronjobs', path: '/cronjobs',
}, },
]" ]"
/> />
<LayoutContent v-loading="loading" v-if="!isRecordShow" :title="$t('cronjob.cronTask')"> <LayoutContent v-loading="loading" v-if="!isRecordShow" :title="$t('menu.cronjob')">
<template #leftToolBar> <template #leftToolBar>
<el-button type="primary" @click="onOpenDialog('create')"> <el-button type="primary" @click="onOpenDialog('create')">
{{ $t('commons.button.create') }}{{ $t('cronjob.cronTask') }} {{ $t('commons.button.create') }}{{ $t('menu.cronjob') }}
</el-button> </el-button>
<el-button-group class="ml-4"> <el-button-group class="ml-4">
<el-button plain :disabled="selects.length === 0" @click="onBatchChangeStatus('enable')"> <el-button plain :disabled="selects.length === 0" @click="onBatchChangeStatus('enable')">
@ -278,7 +278,7 @@ const onDelete = async (row: Cronjob.CronjobInfo | null) => {
title: i18n.global.t('commons.button.delete'), title: i18n.global.t('commons.button.delete'),
names: names, names: names,
msg: i18n.global.t('commons.msg.operatorHelper', [ msg: i18n.global.t('commons.msg.operatorHelper', [
i18n.global.t('cronjob.cronTask'), i18n.global.t('menu.cronjob'),
i18n.global.t('commons.button.delete'), i18n.global.t('commons.button.delete'),
]), ]),
api: null, api: null,

View File

@ -306,7 +306,7 @@
<el-form-item <el-form-item
v-if="dialogData.rowData!.type === 'website' || dialogData.rowData!.type === 'cutWebsiteLog'" v-if="dialogData.rowData!.type === 'website' || dialogData.rowData!.type === 'cutWebsiteLog'"
:label="dialogData.rowData!.type === 'website' ? $t('cronjob.website'):$t('website.website')" :label="dialogData.rowData!.type === 'website' ? $t('cronjob.website'):$t('menu.website')"
prop="website" prop="website"
> >
<el-select class="selectClass" v-model="dialogData.rowData!.website"> <el-select class="selectClass" v-model="dialogData.rowData!.website">
@ -358,7 +358,7 @@
<el-option v-for="item in dbInfo.dbs" :key="item.id" :value="item.id + ''" :label="item.name"> <el-option v-for="item in dbInfo.dbs" :key="item.id" :value="item.id + ''" :label="item.name">
<span>{{ item.name }}</span> <span>{{ item.name }}</span>
<el-tag class="tagClass"> <el-tag class="tagClass">
{{ item.from === 'local' ? $t('database.local') : $t('database.remote') }} {{ item.from === 'local' ? $t('commons.table.local') : $t('database.remote') }}
</el-tag> </el-tag>
<el-tag class="tagClass"> <el-tag class="tagClass">
{{ item.database }} {{ item.database }}
@ -371,7 +371,7 @@
<el-form-item v-if="dialogData.rowData!.type === 'directory'" :label="$t('cronjob.backupContent')"> <el-form-item v-if="dialogData.rowData!.type === 'directory'" :label="$t('cronjob.backupContent')">
<el-radio-group v-model="dialogData.rowData!.isDir"> <el-radio-group v-model="dialogData.rowData!.isDir">
<el-radio :value="true">{{ $t('file.dir') }}</el-radio> <el-radio :value="true">{{ $t('file.dir') }}</el-radio>
<el-radio :value="false">{{ $t('file.file') }}</el-radio> <el-radio :value="false">{{ $t('menu.file') }}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>

View File

@ -66,7 +66,7 @@
@change="search()" @change="search()"
v-model="timeRangeLoad" v-model="timeRangeLoad"
type="datetimerange" type="datetimerange"
:range-separator="$t('commons.search.timeRange')" range-separator="-"
:start-placeholder="$t('commons.search.timeStart')" :start-placeholder="$t('commons.search.timeStart')"
:end-placeholder="$t('commons.search.timeEnd')" :end-placeholder="$t('commons.search.timeEnd')"
:shortcuts="shortcuts" :shortcuts="shortcuts"
@ -143,13 +143,13 @@
<span class="status-label">{{ $t('commons.table.status') }}</span> <span class="status-label">{{ $t('commons.table.status') }}</span>
</template> </template>
<el-tag type="danger" v-if="currentRecord?.status === 'Failed'"> <el-tag type="danger" v-if="currentRecord?.status === 'Failed'">
{{ $t('commons.table.statusFailed') }} {{ $t('commons.status.failed') }}
</el-tag> </el-tag>
<el-tag type="success" v-if="currentRecord?.status === 'Success'"> <el-tag type="success" v-if="currentRecord?.status === 'Success'">
{{ $t('commons.table.statusSuccess') }} {{ $t('commons.status.success') }}
</el-tag> </el-tag>
<el-tag type="info" v-if="currentRecord?.status === 'Waiting'"> <el-tag type="info" v-if="currentRecord?.status === 'Waiting'">
{{ $t('commons.table.statusWaiting') }} {{ $t('commons.status.waiting') }}
</el-tag> </el-tag>
</el-form-item> </el-form-item>
</el-row> </el-row>
@ -400,7 +400,7 @@ const loadRecord = async (row: Cronjob.Record) => {
}; };
const onClean = async () => { const onClean = async () => {
ElMessageBox.confirm(i18n.global.t('commons.msg.clean'), i18n.global.t('commons.msg.deleteTitle'), { ElMessageBox.confirm(i18n.global.t('commons.msg.clean'), i18n.global.t('commons.button.delete'), {
confirmButtonText: i18n.global.t('commons.button.confirm'), confirmButtonText: i18n.global.t('commons.button.confirm'),
cancelButtonText: i18n.global.t('commons.button.cancel'), cancelButtonText: i18n.global.t('commons.button.cancel'),
type: 'warning', type: 'warning',

View File

@ -4,7 +4,7 @@
<el-col :span="20" :offset="2" v-if="open"> <el-col :span="20" :offset="2" v-if="open">
<el-alert <el-alert
type="error" type="error"
:title="$t('app.deleteHelper', [$t('app.database')])" :title="$t('app.deleteHelper', [$t('menu.database')])"
center center
show-icon show-icon
:closable="false" :closable="false"

View File

@ -17,7 +17,7 @@
</span> </span>
<CopyButton :content="loadMysqlInfo(true)" type="icon" /> <CopyButton :content="loadMysqlInfo(true)" type="icon" />
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('database.connPort')"> <el-descriptions-item :label="$t('commons.table.port')">
3306 3306
<CopyButton content="3306" type="icon" /> <CopyButton content="3306" type="icon" />
</el-descriptions-item> </el-descriptions-item>
@ -43,7 +43,7 @@
</span> </span>
<CopyButton :content="loadMysqlInfo(false)" type="icon" /> <CopyButton :content="loadMysqlInfo(false)" type="icon" />
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('database.connPort')"> <el-descriptions-item :label="$t('commons.table.port')">
{{ form.port }} {{ form.port }}
<CopyButton :content="form.port + ''" type="icon" /> <CopyButton :content="form.port + ''" type="icon" />
</el-descriptions-item> </el-descriptions-item>

View File

@ -66,7 +66,7 @@
<template #rightToolBar> <template #rightToolBar>
<el-select v-model="currentDBName" @change="changeDatabase()" class="p-w-200" v-if="currentDB"> <el-select v-model="currentDBName" @change="changeDatabase()" class="p-w-200" v-if="currentDB">
<template #prefix>{{ $t('commons.table.type') }}</template> <template #prefix>{{ $t('commons.table.type') }}</template>
<el-option-group :label="$t('database.local')"> <el-option-group :label="$t('commons.table.local')">
<div v-for="(item, index) in dbOptionsLocal" :key="index"> <div v-for="(item, index) in dbOptionsLocal" :key="index">
<el-option v-if="item.from === 'local'" :value="item.database" class="optionClass"> <el-option v-if="item.from === 'local'" :value="item.database" class="optionClass">
<span v-if="item.database.length < 25">{{ item.database }}</span> <span v-if="item.database.length < 25">{{ item.database }}</span>

View File

@ -30,7 +30,7 @@
:plain="activeName !== 'log'" :plain="activeName !== 'log'"
@click="changeTab('log')" @click="changeTab('log')"
> >
{{ $t('database.log') }} {{ $t('commons.button.log') }}
</el-button> </el-button>
<el-button <el-button
type="primary" type="primary"

View File

@ -22,7 +22,7 @@
</el-checkbox> </el-checkbox>
</div> </div>
<el-button :disabled="!currentStatus" class="ml-20" @click="onDownload" icon="Download"> <el-button :disabled="!currentStatus" class="ml-20" @click="onDownload" icon="Download">
{{ $t('file.download') }} {{ $t('commons.button.download') }}
</el-button> </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>

View File

@ -4,7 +4,7 @@
<el-col :span="20" :offset="2" v-if="open"> <el-col :span="20" :offset="2" v-if="open">
<el-alert <el-alert
type="error" type="error"
:description="$t('app.deleteHelper', [$t('app.database')])" :description="$t('app.deleteHelper', [$t('menu.database')])"
center center
show-icon show-icon
:closable="false" :closable="false"

View File

@ -13,7 +13,7 @@
</span> </span>
<CopyButton :content="loadPgInfo(true)" type="icon" /> <CopyButton :content="loadPgInfo(true)" type="icon" />
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('database.connPort')"> <el-descriptions-item :label="$t('commons.table.port')">
5432 5432
<CopyButton content="5432" type="icon" /> <CopyButton content="5432" type="icon" />
</el-descriptions-item> </el-descriptions-item>
@ -39,7 +39,7 @@
</span> </span>
<CopyButton :content="loadPgInfo(false)" type="icon" /> <CopyButton :content="loadPgInfo(false)" type="icon" />
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('database.connPort')"> <el-descriptions-item :label="$t('commons.table.port')">
{{ form.port }} {{ form.port }}
<CopyButton :content="form.port + ''" type="icon" /> <CopyButton :content="form.port + ''" type="icon" />
</el-descriptions-item> </el-descriptions-item>

View File

@ -49,7 +49,7 @@
<template #rightToolBar> <template #rightToolBar>
<el-select v-model="currentDBName" @change="changeDatabase()" class="p-w-200" v-if="currentDB"> <el-select v-model="currentDBName" @change="changeDatabase()" class="p-w-200" v-if="currentDB">
<template #prefix>{{ $t('commons.table.type') }}</template> <template #prefix>{{ $t('commons.table.type') }}</template>
<el-option-group :label="$t('database.local')"> <el-option-group :label="$t('commons.table.local')">
<div v-for="(item, index) in dbOptionsLocal" :key="index"> <div v-for="(item, index) in dbOptionsLocal" :key="index">
<el-option v-if="item.from === 'local'" :value="item.database" class="optionClass"> <el-option v-if="item.from === 'local'" :value="item.database" class="optionClass">
<span v-if="item.database.length < 25">{{ item.database }}</span> <span v-if="item.database.length < 25">{{ item.database }}</span>

View File

@ -14,7 +14,7 @@
:plain="activeName !== 'log'" :plain="activeName !== 'log'"
@click="activeName = 'log'" @click="activeName = 'log'"
> >
{{ $t('database.log') }} {{ $t('commons.button.log') }}
</el-button> </el-button>
</template> </template>

View File

@ -4,7 +4,7 @@
<el-col :span="20" :offset="2" v-if="open"> <el-col :span="20" :offset="2" v-if="open">
<el-alert <el-alert
type="error" type="error"
:description="$t('app.deleteHelper', [$t('app.database')])" :description="$t('app.deleteHelper', [$t('menu.database')])"
center center
show-icon show-icon
:closable="false" :closable="false"

View File

@ -17,7 +17,7 @@
</span> </span>
<CopyButton :content="loadRedisInfo(true)" type="icon" /> <CopyButton :content="loadRedisInfo(true)" type="icon" />
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('database.connPort')"> <el-descriptions-item :label="$t('commons.table.port')">
6379 6379
<CopyButton content="6379" type="icon" /> <CopyButton content="6379" type="icon" />
</el-descriptions-item> </el-descriptions-item>
@ -43,7 +43,7 @@
</span> </span>
<CopyButton :content="loadRedisInfo(false)" type="icon" /> <CopyButton :content="loadRedisInfo(false)" type="icon" />
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('database.connPort')"> <el-descriptions-item :label="$t('commons.table.port')">
{{ form.port }} {{ form.port }}
<CopyButton :content="form.port + ''" type="icon" /> <CopyButton :content="form.port + ''" type="icon" />
</el-descriptions-item> </el-descriptions-item>

View File

@ -33,7 +33,7 @@
<template #rightToolBar v-if="!isOnSetting"> <template #rightToolBar v-if="!isOnSetting">
<el-select v-model="currentDBName" @change="changeDatabase()" class="p-w-200 ml-5" v-if="currentDB"> <el-select v-model="currentDBName" @change="changeDatabase()" class="p-w-200 ml-5" v-if="currentDB">
<template #prefix>{{ $t('commons.table.type') }}</template> <template #prefix>{{ $t('commons.table.type') }}</template>
<el-option-group :label="$t('database.local')"> <el-option-group :label="$t('commons.table.local')">
<div v-for="(item, index) in dbOptionsLocal" :key="index"> <div v-for="(item, index) in dbOptionsLocal" :key="index">
<el-option v-if="item.from === 'local'" :value="item.database" class="optionClass"> <el-option v-if="item.from === 'local'" :value="item.database" class="optionClass">
<span v-if="item.database.length < 25">{{ item.database }}</span> <span v-if="item.database.length < 25">{{ item.database }}</span>

View File

@ -88,7 +88,7 @@
</template> </template>
<el-table-column type="selection" fix /> <el-table-column type="selection" fix />
<el-table-column :label="$t('commons.table.name')" show-overflow-tooltip prop="fileName" /> <el-table-column :label="$t('commons.table.name')" show-overflow-tooltip prop="fileName" />
<el-table-column :label="$t('database.source')" prop="backupType"> <el-table-column :label="$t('app.source')" prop="backupType">
<template #default="{ row }"> <template #default="{ row }">
<span v-if="row.source"> <span v-if="row.source">
{{ $t('setting.' + row.source) }} {{ $t('setting.' + row.source) }}

View File

@ -92,7 +92,7 @@
link link
@click="onOperate('stop', app.currentRow)" @click="onOperate('stop', app.currentRow)"
> >
{{ $t('commons.operate.up') }} {{ $t('commons.button.start') }}
</el-button> </el-button>
<el-button <el-button
:style="mobile ? 'margin-left: -1px' : ''" :style="mobile ? 'margin-left: -1px' : ''"
@ -101,7 +101,7 @@
link link
@click="onOperate('stop', app.currentRow)" @click="onOperate('stop', app.currentRow)"
> >
{{ $t('commons.operate.down') }} {{ $t('commons.button.stop') }}
</el-button> </el-button>
<el-button <el-button
:style="mobile ? 'margin-left: -1px' : ''" :style="mobile ? 'margin-left: -1px' : ''"
@ -167,7 +167,7 @@
:disabled="app.limit == 1 && app.detail && app.detail.length !== 0" :disabled="app.limit == 1 && app.detail && app.detail.length !== 0"
@click="goInstall(app.key, app.appType)" @click="goInstall(app.key, app.appType)"
> >
{{ $t('app.install') }} {{ $t('commons.button.install') }}
</el-button> </el-button>
</el-col> </el-col>
</el-row> </el-row>

View File

@ -42,7 +42,7 @@
<el-row :gutter="20" style="margin-top: 20px"> <el-row :gutter="20" style="margin-top: 20px">
<el-col :xs="24" :sm="24" :md="16" :lg="16" :xl="16"> <el-col :xs="24" :sm="24" :md="16" :lg="16" :xl="16">
<CardWithHeader :header="$t('home.overview')" height="166px"> <CardWithHeader :header="$t('menu.home')" height="166px">
<template #body> <template #body>
<div class="h-overview"> <div class="h-overview">
<el-row> <el-row>
@ -53,7 +53,7 @@
</div> </div>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<span>{{ $t('menu.database') }} - {{ $t('database.all') }}</span> <span>{{ $t('menu.database') }} - {{ $t('commons.table.all') }}</span>
<div class="count"> <div class="count">
<span @click="goRouter('/databases')">{{ baseInfo?.databaseNumber }}</span> <span @click="goRouter('/databases')">{{ baseInfo?.databaseNumber }}</span>
</div> </div>

View File

@ -69,12 +69,12 @@
</el-text> </el-text>
</el-tooltip> </el-tooltip>
<el-tooltip :content="$t('file.refresh')" placement="top"> <el-tooltip :content="$t('commons.button.refresh')" placement="top">
<el-text size="small" @click="getRefresh(directoryPath)" class="cursor-pointer"> <el-text size="small" @click="getRefresh(directoryPath)" class="cursor-pointer">
<el-icon> <el-icon>
<Refresh /> <Refresh />
</el-icon> </el-icon>
<span class="sm:inline hidden pl-1">{{ $t('file.refresh') }}</span> <span class="sm:inline hidden pl-1">{{ $t('commons.button.refresh') }}</span>
</el-text> </el-text>
</el-tooltip> </el-tooltip>
</div> </div>

View File

@ -1,5 +1,5 @@
<template> <template>
<DialogPro v-model="open" :title="$t('app.delete')" size="small"> <DialogPro v-model="open" :title="$t('commons.button.delete')" size="small">
<div> <div>
<el-row> <el-row>
<el-col :span="22" :offset="1"> <el-col :span="22" :offset="1">

View File

@ -1,5 +1,5 @@
<template> <template>
<DrawerPro v-model="open" :header="$t('file.download')" :back="handleClose" size="normal"> <DrawerPro v-model="open" :header="$t('commons.button.download')" :back="handleClose" size="normal">
<el-form ref="fileForm" label-position="top" :model="addForm" :rules="rules" v-loading="loading"> <el-form ref="fileForm" label-position="top" :model="addForm" :rules="rules" v-loading="loading">
<el-form-item :label="$t('file.compressType')" prop="type"> <el-form-item :label="$t('file.compressType')" prop="type">
<el-select v-model="addForm.type"> <el-select v-model="addForm.type">

View File

@ -11,7 +11,7 @@
<el-tooltip :content="$t('file.top')" placement="top"> <el-tooltip :content="$t('file.top')" placement="top">
<el-button icon="Top" @click="top" circle :disabled="paths.length == 0" /> <el-button icon="Top" @click="top" circle :disabled="paths.length == 0" />
</el-tooltip> </el-tooltip>
<el-tooltip :content="$t('file.refresh')" placement="top"> <el-tooltip :content="$t('commons.button.refresh')" placement="top">
<el-button icon="Refresh" circle @click="search" /> <el-button icon="Refresh" circle @click="search" />
</el-tooltip> </el-tooltip>
</div> </div>
@ -49,7 +49,7 @@
" "
/> />
</div> </div>
<LayoutContent :title="$t('file.file')" v-loading="loading"> <LayoutContent :title="$t('menu.file')" v-loading="loading">
<template #prompt> <template #prompt>
<el-alert type="info" :closable="false"> <el-alert type="info" :closable="false">
<template #title> <template #title>
@ -73,16 +73,16 @@
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item command="file"> <el-dropdown-item command="file">
<svg-icon iconName="p-file-normal"></svg-icon> <svg-icon iconName="p-file-normal"></svg-icon>
{{ $t('file.file') }} {{ $t('menu.file') }}
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</template> </template>
</el-dropdown> </el-dropdown>
<el-button-group> <el-button-group>
<el-button plain @click="openUpload">{{ $t('file.upload') }}</el-button> <el-button plain @click="openUpload">{{ $t('commons.button.upload') }}</el-button>
<el-button plain @click="openWget">{{ $t('file.remoteFile') }}</el-button> <el-button plain @click="openWget">{{ $t('file.remoteFile') }}</el-button>
<el-button plain @click="openMove('copy')" :disabled="selects.length === 0"> <el-button plain @click="openMove('copy')" :disabled="selects.length === 0">
{{ $t('file.copy') }} {{ $t('commons.button.copy') }}
</el-button> </el-button>
<el-button plain @click="openMove('cut')" :disabled="selects.length === 0"> <el-button plain @click="openMove('cut')" :disabled="selects.length === 0">
{{ $t('file.move') }} {{ $t('file.move') }}
@ -106,7 +106,12 @@
<el-tooltip class="box-item" effect="dark" :content="$t('file.paste')" placement="bottom"> <el-tooltip class="box-item" effect="dark" :content="$t('file.paste')" placement="bottom">
<el-button plain @click="openPaste">{{ $t('file.paste') }}({{ fileMove.count }})</el-button> <el-button plain @click="openPaste">{{ $t('file.paste') }}({{ fileMove.count }})</el-button>
</el-tooltip> </el-tooltip>
<el-tooltip class="box-item" effect="dark" :content="$t('file.cancel')" placement="bottom"> <el-tooltip
class="box-item"
effect="dark"
:content="$t('commons.button.cancel')"
placement="bottom"
>
<el-button plain class="close" icon="Close" @click="closeMove"></el-button> <el-button plain class="close" icon="Close" @click="closeMove"></el-button>
</el-tooltip> </el-tooltip>
</el-button-group> </el-button-group>
@ -872,11 +877,11 @@ const openWithVSCode = (row: File.File) => {
const buttons = [ const buttons = [
{ {
label: i18n.global.t('file.open'), label: i18n.global.t('commons.button.opem'),
click: open, click: open,
}, },
{ {
label: i18n.global.t('file.download'), label: i18n.global.t('commons.button.download'),
click: (row: File.File) => { click: (row: File.File) => {
openDownload(row); openDownload(row);
}, },

View File

@ -62,7 +62,7 @@ const title = computed(() => {
if (type.value === 'cut') { if (type.value === 'cut') {
return i18n.global.t('file.move'); return i18n.global.t('file.move');
} else { } else {
return i18n.global.t('file.copy'); return i18n.global.t('commons.button.copy');
} }
}); });

View File

@ -1,5 +1,5 @@
<template> <template>
<DialogPro v-model="open" :title="$t('app.delete')" size="small"> <DialogPro v-model="open" :title="$t('commons.button.delete')" size="small">
<el-row> <el-row>
<el-col :span="20" :offset="2"> <el-col :span="20" :offset="2">
<el-alert :title="$t('file.deleteRecycleHelper')" show-icon type="error" :closable="false"></el-alert> <el-alert :title="$t('file.deleteRecycleHelper')" show-icon type="error" :closable="false"></el-alert>

View File

@ -1,13 +1,13 @@
<template> <template>
<DrawerPro v-model="open" :header="$t('file.upload')" :back="handleClose" size="normal"> <DrawerPro v-model="open" :header="$t('commons.button.upload')" :back="handleClose" size="normal">
<template #content> <template #content>
<div class="button-container"> <div class="button-container">
<div> <div>
<el-button type="primary" @click="upload('file')"> <el-button type="primary" @click="upload('file')">
{{ $t('file.upload') }}{{ $t('file.file') }} {{ $t('commons.button.upload') }}{{ $t('menu.file') }}
</el-button> </el-button>
<el-button type="primary" @click="upload('dir')"> <el-button type="primary" @click="upload('dir')">
{{ $t('file.upload') }}{{ $t('file.dir') }} {{ $t('commons.button.upload') }}{{ $t('file.dir') }}
</el-button> </el-button>
</div> </div>
<el-button @click="clearFiles">{{ $t('file.clearList') }}</el-button> <el-button @click="clearFiles">{{ $t('file.clearList') }}</el-button>

View File

@ -1,5 +1,5 @@
<template> <template>
<DrawerPro v-model="open" :header="$t('file.download')" :back="handleClose" size="large"> <DrawerPro v-model="open" :header="$t('commons.button.download')" :back="handleClose" size="large">
<el-form <el-form
ref="fileForm" ref="fileForm"
label-position="top" label-position="top"

View File

@ -56,7 +56,7 @@
</LayoutContent> </LayoutContent>
</div> </div>
<div v-else> <div v-else>
<LayoutContent :title="$t('firewall.firewall')" :divider="true"> <LayoutContent :title="$t('menu.firewall')" :divider="true">
<template #main> <template #main>
<div class="app-warn"> <div class="app-warn">
<div class="flex flex-col gap-2 items-center justify-center w-full sm:flex-row"> <div class="flex flex-col gap-2 items-center justify-center w-full sm:flex-row">

View File

@ -90,7 +90,7 @@
</LayoutContent> </LayoutContent>
</div> </div>
<div v-else> <div v-else>
<LayoutContent :title="$t('firewall.firewall')" :divider="true"> <LayoutContent :title="$t('menu.firewall')" :divider="true">
<template #main> <template #main>
<div class="app-warn"> <div class="app-warn">
<div class="flex flex-col gap-2 items-center justify-center w-full sm:flex-row"> <div class="flex flex-col gap-2 items-center justify-center w-full sm:flex-row">

View File

@ -140,7 +140,7 @@
</LayoutContent> </LayoutContent>
</div> </div>
<div v-else> <div v-else>
<LayoutContent :title="$t('firewall.firewall')" :divider="true"> <LayoutContent :title="$t('menu.firewall')" :divider="true">
<template #main> <template #main>
<div class="app-warn"> <div class="app-warn">
<div class="flex flex-col gap-2 items-center justify-center w-full sm:flex-row"> <div class="flex flex-col gap-2 items-center justify-center w-full sm:flex-row">

View File

@ -15,7 +15,7 @@
<span class="input-help">{{ $t('firewall.portHelper2') }}</span> <span class="input-help">{{ $t('firewall.portHelper2') }}</span>
</el-form-item> </el-form-item>
<el-form-item :label="$t('firewall.source')" prop="source"> <el-form-item :label="$t('app.source')" prop="source">
<el-radio-group v-model="dialogData.rowData!.source"> <el-radio-group v-model="dialogData.rowData!.source">
<el-radio value="anyWhere">{{ $t('firewall.anyWhere') }}</el-radio> <el-radio value="anyWhere">{{ $t('firewall.anyWhere') }}</el-radio>
<el-radio value="address">{{ $t('firewall.address') }}</el-radio> <el-radio value="address">{{ $t('firewall.address') }}</el-radio>

View File

@ -17,7 +17,7 @@
</el-button> </el-button>
<el-divider direction="vertical" /> <el-divider direction="vertical" />
<el-button type="primary" @click="onOperate('restart')" link> <el-button type="primary" @click="onOperate('restart')" link>
{{ $t('container.restart') }} {{ $t('commons.button.restart') }}
</el-button> </el-button>
<span v-if="onPing !== 'None'"> <span v-if="onPing !== 'None'">
<el-divider direction="vertical" /> <el-divider direction="vertical" />

View File

@ -12,7 +12,7 @@ import i18n from '@/lang';
const buttons = [ const buttons = [
{ {
label: i18n.global.t('monitor.monitor'), label: i18n.global.t('menu.monitor'),
path: '/hosts/monitor/monitor', path: '/hosts/monitor/monitor',
}, },
{ {

View File

@ -9,7 +9,7 @@
@change="searchGlobal()" @change="searchGlobal()"
v-model="timeRangeGlobal" v-model="timeRangeGlobal"
type="datetimerange" type="datetimerange"
:range-separator="$t('commons.search.timeRange')" range-separator="-"
:start-placeholder="$t('commons.search.timeStart')" :start-placeholder="$t('commons.search.timeStart')"
:end-placeholder="$t('commons.search.timeEnd')" :end-placeholder="$t('commons.search.timeEnd')"
:shortcuts="shortcuts" :shortcuts="shortcuts"
@ -28,7 +28,7 @@
@change="search('load')" @change="search('load')"
v-model="timeRangeLoad" v-model="timeRangeLoad"
type="datetimerange" type="datetimerange"
:range-separator="$t('commons.search.timeRange')" range-separator="-"
:start-placeholder="$t('commons.search.timeStart')" :start-placeholder="$t('commons.search.timeStart')"
:end-placeholder="$t('commons.search.timeEnd')" :end-placeholder="$t('commons.search.timeEnd')"
:shortcuts="shortcuts" :shortcuts="shortcuts"
@ -60,7 +60,7 @@
@change="search('cpu')" @change="search('cpu')"
v-model="timeRangeCpu" v-model="timeRangeCpu"
type="datetimerange" type="datetimerange"
:range-separator="$t('commons.search.timeRange')" range-separator="-"
:start-placeholder="$t('commons.search.timeStart')" :start-placeholder="$t('commons.search.timeStart')"
:end-placeholder="$t('commons.search.timeEnd')" :end-placeholder="$t('commons.search.timeEnd')"
:shortcuts="shortcuts" :shortcuts="shortcuts"
@ -90,7 +90,7 @@
@change="search('memory')" @change="search('memory')"
v-model="timeRangeMemory" v-model="timeRangeMemory"
type="datetimerange" type="datetimerange"
:range-separator="$t('commons.search.timeRange')" range-separator="-"
:start-placeholder="$t('commons.search.timeStart')" :start-placeholder="$t('commons.search.timeStart')"
:end-placeholder="$t('commons.search.timeEnd')" :end-placeholder="$t('commons.search.timeEnd')"
:shortcuts="shortcuts" :shortcuts="shortcuts"
@ -122,7 +122,7 @@
@change="search('io')" @change="search('io')"
v-model="timeRangeIO" v-model="timeRangeIO"
type="datetimerange" type="datetimerange"
:range-separator="$t('commons.search.timeRange')" range-separator="-"
:start-placeholder="$t('commons.search.timeStart')" :start-placeholder="$t('commons.search.timeStart')"
:end-placeholder="$t('commons.search.timeEnd')" :end-placeholder="$t('commons.search.timeEnd')"
:shortcuts="shortcuts" :shortcuts="shortcuts"
@ -172,7 +172,7 @@
@change="search('network')" @change="search('network')"
v-model="timeRangeNetwork" v-model="timeRangeNetwork"
type="datetimerange" type="datetimerange"
:range-separator="$t('commons.search.timeRange')" range-separator="-"
:start-placeholder="$t('commons.search.timeStart')" :start-placeholder="$t('commons.search.timeStart')"
:end-placeholder="$t('commons.search.timeEnd')" :end-placeholder="$t('commons.search.timeEnd')"
:shortcuts="shortcuts" :shortcuts="shortcuts"

View File

@ -62,7 +62,7 @@
<el-table-column <el-table-column
prop="status" prop="status"
column-key="status" column-key="status"
:label="$t('app.status')" :label="$t(commons.table.status)"
:filters="[ :filters="[
{ text: 'LISTEN', value: 'LISTEN' }, { text: 'LISTEN', value: 'LISTEN' },
{ text: 'ESTABLISHED', value: 'ESTABLISHED' }, { text: 'ESTABLISHED', value: 'ESTABLISHED' },

View File

@ -7,7 +7,9 @@
<el-descriptions-item :label="$t('commons.table.name')" min-width="100px"> <el-descriptions-item :label="$t('commons.table.name')" min-width="100px">
{{ data.name }} {{ data.name }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('process.status')">{{ data.status }}</el-descriptions-item> <el-descriptions-item :label="$t('commons.table.status')">
{{ data.status }}
</el-descriptions-item>
<el-descriptions-item :label="$t('process.pid')">{{ data.PID }}</el-descriptions-item> <el-descriptions-item :label="$t('process.pid')">{{ data.PID }}</el-descriptions-item>
<el-descriptions-item :label="$t('process.ppid')">{{ data.PPID }}</el-descriptions-item> <el-descriptions-item :label="$t('process.ppid')">{{ data.PPID }}</el-descriptions-item>
<el-descriptions-item :label="$t('process.numThreads')"> <el-descriptions-item :label="$t('process.numThreads')">
@ -46,7 +48,7 @@
</el-tab-pane> </el-tab-pane>
<el-tab-pane :label="$t('process.openFiles')" name="openFiles"> <el-tab-pane :label="$t('process.openFiles')" name="openFiles">
<el-table :data="data.openFiles" border style="width: 100%"> <el-table :data="data.openFiles" border style="width: 100%">
<el-table-column prop="path" :label="$t('process.file')" /> <el-table-column prop="path" :label="$t('menu.file')" />
<el-table-column prop="fd" label="fd" width="100px" /> <el-table-column prop="fd" label="fd" width="100px" />
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
@ -72,7 +74,7 @@
<span v-if="row.remoteaddr.port > 0">:{{ row.remoteaddr.port }}</span> <span v-if="row.remoteaddr.port > 0">:{{ row.remoteaddr.port }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="status" :label="$t('app.status')" /> <el-table-column prop="status" :label="$t(commons.table.status)" />
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>

View File

@ -71,7 +71,7 @@
></el-table-column> ></el-table-column>
<el-table-column :label="$t('process.numConnections')" fix prop="numConnections"></el-table-column> <el-table-column :label="$t('process.numConnections')" fix prop="numConnections"></el-table-column>
<el-table-column <el-table-column
:label="$t('process.status')" :label="$t('commons.table.status')"
fix fix
prop="status" prop="status"
column-key="status" column-key="status"

View File

@ -37,7 +37,7 @@ const sshSearch = reactive({
const buttons = [ const buttons = [
{ {
label: i18n.global.t('ssh.disconnect'), label: i18n.global.t('commons.button.disConn'),
click: function (row: any) { click: function (row: any) {
stop(row.PID); stop(row.PID);
}, },
@ -98,7 +98,7 @@ const search = () => {
}; };
const stop = async (PID: number) => { const stop = async (PID: number) => {
ElMessageBox.confirm(i18n.global.t('ssh.stopSSHWarn'), i18n.global.t('ssh.disconnect'), { ElMessageBox.confirm(i18n.global.t('ssh.stopSSHWarn'), i18n.global.t('commons.button.disConn'), {
confirmButtonText: i18n.global.t('commons.button.confirm'), confirmButtonText: i18n.global.t('commons.button.confirm'),
cancelButtonText: i18n.global.t('commons.button.cancel'), cancelButtonText: i18n.global.t('commons.button.cancel'),
type: 'info', type: 'info',

View File

@ -18,7 +18,7 @@
</el-button> </el-button>
<el-divider direction="vertical" /> <el-divider direction="vertical" />
<el-button type="primary" @click="onOperate('restart')" link> <el-button type="primary" @click="onOperate('restart')" link>
{{ $t('container.restart') }} {{ $t('commons.button.restart') }}
</el-button> </el-button>
<el-divider direction="vertical" /> <el-divider direction="vertical" />
<el-button type="primary" link> <el-button type="primary" link>

View File

@ -27,7 +27,7 @@
<el-input v-model="form.primaryKey" :rows="5" type="textarea" /> <el-input v-model="form.primaryKey" :rows="5" type="textarea" />
<div v-if="form.primaryKey"> <div v-if="form.primaryKey">
<el-button icon="CopyDocument" class="marginTop" @click="onCopy(form.primaryKey)"> <el-button icon="CopyDocument" class="marginTop" @click="onCopy(form.primaryKey)">
{{ $t('file.copy') }} {{ $t('commons.button.copy') }}
</el-button> </el-button>
<el-button icon="Download" class="marginTop" @click="onDownload"> <el-button icon="Download" class="marginTop" @click="onDownload">
{{ $t('commons.button.download') }} {{ $t('commons.button.download') }}

View File

@ -44,7 +44,7 @@
</span> </span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('logs.operate')" min-width="150px" prop="detailZH"> <el-table-column :label="$t('commons.table.operate')" min-width="150px" prop="detailZH">
<template #default="{ row }"> <template #default="{ row }">
<span v-if="globalStore.language === 'zh' || globalStore.language === 'tw'"> <span v-if="globalStore.language === 'zh' || globalStore.language === 'tw'">
{{ row.detailZH }} {{ row.detailZH }}

View File

@ -24,7 +24,7 @@
<Status :status="row.status" :msg="row.errorMsg" /> <Status :status="row.status" :msg="row.errorMsg" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('website.log')" prop="log"> <el-table-column :label="$t('commons.button.log')" prop="log">
<template #default="{ row }"> <template #default="{ row }">
<el-button @click="openTaskLog(row)" link type="primary"> <el-button @click="openTaskLog(row)" link type="primary">
{{ $t('website.check') }} {{ $t('website.check') }}

View File

@ -21,7 +21,7 @@
</template> </template>
<template #leftToolBar> <template #leftToolBar>
<el-select v-model="logConfig.id" @change="changeWebsite()" class="p-w-200 mr-2.5"> <el-select v-model="logConfig.id" @change="changeWebsite()" class="p-w-200 mr-2.5">
<template #prefix>{{ $t('website.website') }}</template> <template #prefix>{{ $t('menu.website') }}</template>
<el-option <el-option
v-for="(website, index) in websites" v-for="(website, index) in websites"
:key="index" :key="index"
@ -35,7 +35,7 @@
</el-checkbox> </el-checkbox>
</el-button> </el-button>
<el-button @click="onDownload" icon="Download" :disabled="!hasContent"> <el-button @click="onDownload" icon="Download" :disabled="!hasContent">
{{ $t('file.download') }} {{ $t('commons.button.download') }}
</el-button> </el-button>
<el-button type="primary" plain @click="onClean()" :disabled="!hasContent"> <el-button type="primary" plain @click="onClean()" :disabled="!hasContent">
{{ $t('logs.deleteLogs') }} {{ $t('logs.deleteLogs') }}

View File

@ -135,7 +135,7 @@ const onSync = async (row: any) => {
}; };
const onUnbind = async (row: any) => { const onUnbind = async (row: any) => {
ElMessageBox.confirm(i18n.global.t('license.unbindHelper'), i18n.global.t('license.unbind'), { ElMessageBox.confirm(i18n.global.t('license.unbindHelper'), i18n.global.t('commons.button.unbind'), {
confirmButtonText: i18n.global.t('commons.button.confirm'), confirmButtonText: i18n.global.t('commons.button.confirm'),
cancelButtonText: i18n.global.t('commons.button.cancel'), cancelButtonText: i18n.global.t('commons.button.cancel'),
type: 'info', type: 'info',

View File

@ -59,7 +59,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
<el-button @click="onReSet">{{ $t('xpack.theme.setDefault') }}</el-button> <el-button @click="onReSet">{{ $t('commons.button.setDefault') }}</el-button>
<el-button @click="drawerVisible = false">{{ $t('commons.button.cancel') }}</el-button> <el-button @click="drawerVisible = false">{{ $t('commons.button.cancel') }}</el-button>
<el-button :disabled="loading" type="primary" @click="onSave(formRef)"> <el-button :disabled="loading" type="primary" @click="onSave(formRef)">
{{ $t('commons.button.confirm') }} {{ $t('commons.button.confirm') }}
@ -269,7 +269,7 @@ const onSave = async (formEl: FormInstance | undefined) => {
}); });
}; };
const onReSet = async () => { const onReSet = async () => {
ElMessageBox.confirm(i18n.global.t('xpack.theme.setDefaultHelper'), i18n.global.t('xpack.theme.setDefault'), { ElMessageBox.confirm(i18n.global.t('xpack.theme.setDefaultHelper'), i18n.global.t('commons.button.setDefault'), {
confirmButtonText: i18n.global.t('commons.button.confirm'), confirmButtonText: i18n.global.t('commons.button.confirm'),
cancelButtonText: i18n.global.t('commons.button.cancel'), cancelButtonText: i18n.global.t('commons.button.cancel'),
type: 'info', type: 'info',

View File

@ -377,7 +377,7 @@ const load18n = (node: any, label: string) => {
case 'App': case 'App':
return i18n.global.t('setting.appLabel'); return i18n.global.t('setting.appLabel');
case 'AppStore': case 'AppStore':
return i18n.global.t('setting.appStoreLabel'); return i18n.global.t('menu.apps');
case 'shell': case 'shell':
return i18n.global.t('setting.shellLabel'); return i18n.global.t('setting.shellLabel');
default: default:

View File

@ -91,7 +91,7 @@
<template #default="{ row }"> <template #default="{ row }">
<div> <div>
<el-button link v-if="row.status === 'Waiting'" type="primary"> <el-button link v-if="row.status === 'Waiting'" type="primary">
{{ $t('setting.snapshot') }}{{ $t('commons.table.statusWaiting') }} {{ $t('setting.snapshot') }}{{ $t('commons.status.waiting') }}
</el-button> </el-button>
<el-button link v-if="row.status === 'Failed'" @click="reCreate(row)" type="danger"> <el-button link v-if="row.status === 'Failed'" @click="reCreate(row)" type="danger">
{{ $t('setting.snapshot') }}{{ $t('commons.status.error') }} {{ $t('setting.snapshot') }}{{ $t('commons.status.error') }}
@ -102,7 +102,7 @@
</div> </div>
<div v-if="row.recoverStatus"> <div v-if="row.recoverStatus">
<el-button link v-if="row.recoverStatus === 'Waiting'" type="primary"> <el-button link v-if="row.recoverStatus === 'Waiting'" type="primary">
{{ $t('commons.button.recover') }}{{ $t('commons.table.statusWaiting') }} {{ $t('commons.button.recover') }}{{ $t('commons.status.waiting') }}
</el-button> </el-button>
<el-button <el-button
v-if="row.recoverStatus === 'Failed'" v-if="row.recoverStatus === 'Failed'"
@ -118,7 +118,7 @@
</div> </div>
<div v-if="row.rollbackStatus"> <div v-if="row.rollbackStatus">
<el-button link v-if="row.rollbackStatus === 'Waiting'" type="primary"> <el-button link v-if="row.rollbackStatus === 'Waiting'" type="primary">
{{ $t('setting.rollback') }}{{ $t('commons.table.statusWaiting') }} {{ $t('setting.rollback') }}{{ $t('commons.status.waiting') }}
</el-button> </el-button>
<el-button <el-button
link link

View File

@ -1,12 +1,12 @@
<template> <template>
<DrawerPro v-model="drawerVisible" :header="$t('setting.recoverDetail')" :back="handleClose" size="small"> <DrawerPro v-model="drawerVisible" :header="$t('setting.recoverDetail')" :back="handleClose" size="small">
<el-form label-position="top" v-loading="loading"> <el-form label-position="top" v-loading="loading">
<span class="card-title">{{ $t('setting.recover') }}</span> <span class="card-title">{{ $t('commons.button.recover') }}</span>
<el-divider class="divider" /> <el-divider class="divider" />
<div v-if="!snapInfo.recoverStatus && !snapInfo.lastRecoveredAt"> <div v-if="!snapInfo.recoverStatus && !snapInfo.lastRecoveredAt">
<el-alert center class="alert" style="height: 257px" :closable="false"> <el-alert center class="alert" style="height: 257px" :closable="false">
<el-button size="large" round plain type="primary" @click="recoverSnapshot(true)"> <el-button size="large" round plain type="primary" @click="recoverSnapshot(true)">
{{ $t('setting.recover') }} {{ $t('commons.button.recover') }}
</el-button> </el-button>
</el-alert> </el-alert>
</div> </div>
@ -15,10 +15,10 @@
<div v-if="snapInfo.lastRecoveredAt"> <div v-if="snapInfo.lastRecoveredAt">
<el-form-item :label="$t('commons.table.status')"> <el-form-item :label="$t('commons.table.status')">
<el-tag type="success"> <el-tag type="success">
{{ $t('commons.table.statusSuccess') }} {{ $t('commons.status.success') }}
</el-tag> </el-tag>
<el-button @click="recoverSnapshot(true)" style="margin-left: 10px" type="primary"> <el-button @click="recoverSnapshot(true)" style="margin-left: 10px" type="primary">
{{ $t('setting.recover') }} {{ $t('commons.button.recover') }}
</el-button> </el-button>
</el-form-item> </el-form-item>
<el-form-item :label="$t('setting.lastRecoverAt')"> <el-form-item :label="$t('setting.lastRecoverAt')">
@ -29,13 +29,13 @@
<div v-else> <div v-else>
<el-form-item :label="$t('commons.table.status')"> <el-form-item :label="$t('commons.table.status')">
<el-tag type="danger" v-if="snapInfo.recoverStatus === 'Failed'"> <el-tag type="danger" v-if="snapInfo.recoverStatus === 'Failed'">
{{ $t('commons.table.statusFailed') }} {{ $t('commons.status.failed') }}
</el-tag> </el-tag>
<el-tag type="success" v-if="snapInfo.recoverStatus === 'Success'"> <el-tag type="success" v-if="snapInfo.recoverStatus === 'Success'">
{{ $t('commons.table.statusSuccess') }} {{ $t('commons.status.success') }}
</el-tag> </el-tag>
<el-tag type="info" v-if="snapInfo.recoverStatus === 'Waiting'"> <el-tag type="info" v-if="snapInfo.recoverStatus === 'Waiting'">
{{ $t('commons.table.statusWaiting') }} {{ $t('commons.status.waiting') }}
</el-tag> </el-tag>
</el-form-item> </el-form-item>
<el-form-item :label="$t('setting.lastRecoverAt')" v-if="snapInfo.recoverStatus !== 'Waiting'"> <el-form-item :label="$t('setting.lastRecoverAt')" v-if="snapInfo.recoverStatus !== 'Waiting'">
@ -70,7 +70,7 @@
<div v-if="snapInfo.lastRollbackedAt"> <div v-if="snapInfo.lastRollbackedAt">
<el-form-item :label="$t('commons.table.status')"> <el-form-item :label="$t('commons.table.status')">
<el-tag type="success"> <el-tag type="success">
{{ $t('commons.table.statusSuccess') }} {{ $t('commons.status.success') }}
</el-tag> </el-tag>
<el-button @click="rollbackSnapshot" style="margin-left: 10px" type="primary"> <el-button @click="rollbackSnapshot" style="margin-left: 10px" type="primary">
{{ $t('setting.rollback') }} {{ $t('setting.rollback') }}
@ -84,13 +84,13 @@
<div v-else> <div v-else>
<el-form-item :label="$t('commons.table.status')"> <el-form-item :label="$t('commons.table.status')">
<el-tag type="success" v-if="snapInfo.rollbackStatus === 'Success'"> <el-tag type="success" v-if="snapInfo.rollbackStatus === 'Success'">
{{ $t('commons.table.statusSuccess') }} {{ $t('commons.status.success') }}
</el-tag> </el-tag>
<el-tag type="danger" v-if="snapInfo.rollbackStatus === 'Failed'"> <el-tag type="danger" v-if="snapInfo.rollbackStatus === 'Failed'">
{{ $t('commons.table.statusFailed') }} {{ $t('commons.status.failed') }}
</el-tag> </el-tag>
<el-tag type="info" v-if="snapInfo.rollbackStatus === 'Waiting'"> <el-tag type="info" v-if="snapInfo.rollbackStatus === 'Waiting'">
{{ $t('commons.table.statusWaiting') }} {{ $t('commons.status.waiting') }}
</el-tag> </el-tag>
<el-button <el-button
style="margin-left: 15px" style="margin-left: 15px"

View File

@ -9,7 +9,7 @@
{{ $t('commons.button.create') }}{{ $t('terminal.quickCommand') }} {{ $t('commons.button.create') }}{{ $t('terminal.quickCommand') }}
</el-button> </el-button>
<el-button type="primary" plain @click="onOpenGroupDialog()"> <el-button type="primary" plain @click="onOpenGroupDialog()">
{{ $t('terminal.group') }} {{ $t('commons.table.group') }}
</el-button> </el-button>
<el-button type="primary" plain :disabled="selects.length === 0" @click="batchDelete(null)"> <el-button type="primary" plain :disabled="selects.length === 0" @click="batchDelete(null)">
{{ $t('commons.button.delete') }} {{ $t('commons.button.delete') }}
@ -17,7 +17,7 @@
</template> </template>
<template #rightToolBar> <template #rightToolBar>
<el-select v-model="group" @change="search()" clearable class="p-w-200 mr-2.5"> <el-select v-model="group" @change="search()" clearable class="p-w-200 mr-2.5">
<template #prefix>{{ $t('terminal.group') }}</template> <template #prefix>{{ $t('commons.table.group') }}</template>
<el-option :label="$t('commons.table.all')" value=""></el-option> <el-option :label="$t('commons.table.all')" value=""></el-option>
<div v-for="item in groupList" :key="item.name"> <div v-for="item in groupList" :key="item.name">
<el-option :value="item.id" :label="item.name" /> <el-option :value="item.id" :label="item.name" />

View File

@ -6,7 +6,7 @@
{{ $t('terminal.addHost') }} {{ $t('terminal.addHost') }}
</el-button> </el-button>
<el-button type="primary" plain @click="onOpenGroupDialog()"> <el-button type="primary" plain @click="onOpenGroupDialog()">
{{ $t('terminal.group') }} {{ $t('commons.table.group') }}
</el-button> </el-button>
<el-button type="primary" plain :disabled="selects.length === 0" @click="onBatchDelete(null)"> <el-button type="primary" plain :disabled="selects.length === 0" @click="onBatchDelete(null)">
{{ $t('commons.button.delete') }} {{ $t('commons.button.delete') }}
@ -14,7 +14,7 @@
</template> </template>
<template #rightToolBar> <template #rightToolBar>
<el-select v-model="group" @change="search()" clearable class="p-w-200 mr-5"> <el-select v-model="group" @change="search()" clearable class="p-w-200 mr-5">
<template #prefix>{{ $t('terminal.group') }}</template> <template #prefix>{{ $t('commons.table.group') }}</template>
<el-option :label="$t('commons.table.all')" value=""></el-option> <el-option :label="$t('commons.table.all')" value=""></el-option>
<div v-for="item in groupList" :key="item.name"> <div v-for="item in groupList" :key="item.name">
<el-option :value="item.id" :label="item.name" /> <el-option :value="item.id" :label="item.name" />

View File

@ -27,9 +27,9 @@
<el-form-item :label="$t('toolbox.clam.infectedStrategy')" prop="infectedStrategy"> <el-form-item :label="$t('toolbox.clam.infectedStrategy')" prop="infectedStrategy">
<el-radio-group v-model="dialogData.rowData!.infectedStrategy"> <el-radio-group v-model="dialogData.rowData!.infectedStrategy">
<el-radio value="none">{{ $t('toolbox.clam.none') }}</el-radio> <el-radio value="none">{{ $t('toolbox.clam.none') }}</el-radio>
<el-radio value="remove">{{ $t('toolbox.clam.remove') }}</el-radio> <el-radio value="remove">{{ $t('commons.button.delete') }}</el-radio>
<el-radio value="move">{{ $t('toolbox.clam.move') }}</el-radio> <el-radio value="move">{{ $t('toolbox.clam.move') }}</el-radio>
<el-radio value="copy">{{ $t('toolbox.clam.copy') }}</el-radio> <el-radio value="copy">{{ $t('commons.button.copy') }}</el-radio>
</el-radio-group> </el-radio-group>
<span class="input-help"> <span class="input-help">
{{ $t('toolbox.clam.' + dialogData.rowData!.infectedStrategy + 'Helper') }} {{ $t('toolbox.clam.' + dialogData.rowData!.infectedStrategy + 'Helper') }}

View File

@ -50,7 +50,7 @@
@change="search()" @change="search()"
v-model="timeRangeLoad" v-model="timeRangeLoad"
type="datetimerange" type="datetimerange"
:range-separator="$t('commons.search.timeRange')" range-separator="-"
:start-placeholder="$t('commons.search.timeStart')" :start-placeholder="$t('commons.search.timeStart')"
:end-placeholder="$t('commons.search.timeEnd')" :end-placeholder="$t('commons.search.timeEnd')"
:shortcuts="shortcuts" :shortcuts="shortcuts"
@ -100,7 +100,7 @@
<el-row> <el-row>
<el-form-item class="descriptionWide"> <el-form-item class="descriptionWide">
<template #label> <template #label>
<span class="status-label">{{ $t('toolbox.clam.scanTime') }}</span> <span class="status-label">{{ $t('commons.table.interval') }}</span>
</template> </template>
<span class="status-count"> <span class="status-count">
{{ currentRecord?.status === 'Done' ? currentRecord?.scanTime : '-' }} {{ currentRecord?.status === 'Done' ? currentRecord?.scanTime : '-' }}
@ -291,7 +291,7 @@ const loadRecordLog = async () => {
}; };
const onClean = async () => { const onClean = async () => {
ElMessageBox.confirm(i18n.global.t('commons.msg.clean'), i18n.global.t('commons.msg.deleteTitle'), { ElMessageBox.confirm(i18n.global.t('commons.msg.clean'), i18n.global.t('commons.button.delete'), {
confirmButtonText: i18n.global.t('commons.button.confirm'), confirmButtonText: i18n.global.t('commons.button.confirm'),
cancelButtonText: i18n.global.t('commons.button.cancel'), cancelButtonText: i18n.global.t('commons.button.cancel'),
type: 'warning', type: 'warning',

View File

@ -17,7 +17,7 @@
</el-button> </el-button>
<el-divider direction="vertical" /> <el-divider direction="vertical" />
<el-button type="primary" link @click="onOperate('ClamAV', 'restart')"> <el-button type="primary" link @click="onOperate('ClamAV', 'restart')">
{{ $t('app.restart') }} {{ $t('commons.button.restart') }}
</el-button> </el-button>
<el-divider direction="vertical" /> <el-divider direction="vertical" />
<el-button type="primary" link @click="setting"> <el-button type="primary" link @click="setting">
@ -57,7 +57,7 @@
</el-button> </el-button>
<el-divider direction="vertical" /> <el-divider direction="vertical" />
<el-button type="primary" link @click="onOperate('FreshClam', 'restart')"> <el-button type="primary" link @click="onOperate('FreshClam', 'restart')">
{{ $t('app.restart') }} {{ $t('commons.button.restart') }}
</el-button> </el-button>
</div> </div>
</div> </div>

View File

@ -618,15 +618,15 @@ function load18n(label: string) {
case 'upload_website': case 'upload_website':
case 'rollback_website': case 'rollback_website':
case 'download_website': case 'download_website':
return i18n.global.t('clean.website'); return i18n.global.t('menu.website');
case 'upload_app': case 'upload_app':
case 'rollback_app': case 'rollback_app':
case 'download_app': case 'download_app':
return i18n.global.t('clean.app'); return i18n.global.t('app.app');
case 'upload_database': case 'upload_database':
case 'rollback_database': case 'rollback_database':
case 'download_database': case 'download_database':
return i18n.global.t('clean.database'); return i18n.global.t('menu.database');
case 'upload_directory': case 'upload_directory':
case 'download_directory': case 'download_directory':
return i18n.global.t('clean.directory'); return i18n.global.t('clean.directory');
@ -643,9 +643,9 @@ function load18n(label: string) {
case 'curl': case 'curl':
return i18n.global.t('clean.curl'); return i18n.global.t('clean.curl');
case 'container_images': case 'container_images':
return i18n.global.t('clean.images'); return i18n.global.t('container.image');
case 'container_containers': case 'container_containers':
return i18n.global.t('clean.containers'); return i18n.global.t('menu.container');
case 'container_volumes': case 'container_volumes':
return i18n.global.t('clean.volumes'); return i18n.global.t('clean.volumes');
case 'build_cache': case 'build_cache':

View File

@ -17,7 +17,7 @@
</el-button> </el-button>
<el-divider direction="vertical" /> <el-divider direction="vertical" />
<el-button type="primary" @click="onOperate('restart')" link> <el-button type="primary" @click="onOperate('restart')" link>
{{ $t('container.restart') }} {{ $t('commons.button.restart') }}
</el-button> </el-button>
<el-divider direction="vertical" /> <el-divider direction="vertical" />
<el-button type="primary" link> <el-button type="primary" link>

View File

@ -16,7 +16,7 @@
</el-button> </el-button>
<el-divider direction="vertical" /> <el-divider direction="vertical" />
<el-button type="primary" @click="onOperate('restart')" link> <el-button type="primary" @click="onOperate('restart')" link>
{{ $t('container.restart') }} {{ $t('commons.button.restart') }}
</el-button> </el-button>
</div> </div>
</div> </div>
@ -310,7 +310,7 @@ const onDelete = async (row: Toolbox.FtpInfo | null) => {
title: i18n.global.t('commons.button.delete'), title: i18n.global.t('commons.button.delete'),
names: names, names: names,
msg: i18n.global.t('commons.msg.operatorHelper', [ msg: i18n.global.t('commons.msg.operatorHelper', [
i18n.global.t('cronjob.cronTask'), i18n.global.t('menu.cronjob'),
i18n.global.t('commons.button.delete'), i18n.global.t('commons.button.delete'),
]), ]),
api: null, api: null,

View File

@ -2,8 +2,8 @@
<DrawerPro v-model="drawerVisible" header="FTP" :resource="paginationConfig.user" :back="handleClose" size="large"> <DrawerPro v-model="drawerVisible" header="FTP" :resource="paginationConfig.user" :back="handleClose" size="large">
<el-select @change="search" class="p-w-200" clearable v-model="paginationConfig.operation"> <el-select @change="search" class="p-w-200" clearable v-model="paginationConfig.operation">
<template #prefix>{{ $t('commons.table.operate') }}</template> <template #prefix>{{ $t('commons.table.operate') }}</template>
<el-option value="PUT" :label="$t('file.upload')" /> <el-option value="PUT" :label="$t('commons.button.upload')" />
<el-option value="GET" :label="$t('file.download')" /> <el-option value="GET" :label="$t('commons.button.download')" />
</el-select> </el-select>
<ComplexTable class="mt-2" :pagination-config="paginationConfig" :data="data" @search="search"> <ComplexTable class="mt-2" :pagination-config="paginationConfig" :data="data" @search="search">
<el-table-column label="ip" prop="ip" show-overflow-tooltip /> <el-table-column label="ip" prop="ip" show-overflow-tooltip />
@ -17,7 +17,7 @@
{{ loadOperation(row.operation) }} {{ loadOperation(row.operation) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('file.file')" show-overflow-tooltip> <el-table-column :label="$t('menu.file')" show-overflow-tooltip>
<template #default="{ row }"> <template #default="{ row }">
{{ loadFileName(row.operation) }} {{ loadFileName(row.operation) }}
</template> </template>
@ -94,10 +94,10 @@ const search = async () => {
const loadOperation = (operation: string) => { const loadOperation = (operation: string) => {
if (operation.startsWith('"PUT')) { if (operation.startsWith('"PUT')) {
return i18n.global.t('file.upload'); return i18n.global.t('commons.button.upload');
} }
if (operation.startsWith('"GET')) { if (operation.startsWith('"GET')) {
return i18n.global.t('file.download'); return i18n.global.t('commons.button.download');
} }
}; };
const loadFileName = (operation: string) => { const loadFileName = (operation: string) => {

View File

@ -5,7 +5,7 @@
{{ $t('nginx.configResource') }} {{ $t('nginx.configResource') }}
</el-button> </el-button>
<el-button type="primary" :plain="activeName !== '2'" @click="changeTab('2')"> <el-button type="primary" :plain="activeName !== '2'" @click="changeTab('2')">
{{ $t('website.log') }} {{ $t('commons.button.log') }}
</el-button> </el-button>
<el-button type="primary" :plain="activeName !== '3'" @click="changeTab('3')"> <el-button type="primary" :plain="activeName !== '3'" @click="changeTab('3')">
{{ $t('commons.button.init') }} {{ $t('commons.button.init') }}

View File

@ -109,7 +109,7 @@
/> />
<el-table-column <el-table-column
property="msg" property="msg"
:label="$t('tool.supervisor.msg')" :label="$t('commons.table.message')"
fix fix
show-overflow-tooltip show-overflow-tooltip
/> />
@ -321,7 +321,7 @@ const buttons = [
}, },
}, },
{ {
label: i18n.global.t('website.log'), label: i18n.global.t('commons.button.log'),
click: function (row: HostTool.SupersivorProcess) { click: function (row: HostTool.SupersivorProcess) {
getFile(row.name, 'out.log'); getFile(row.name, 'out.log');
}, },

View File

@ -17,7 +17,7 @@
</el-button> </el-button>
<el-divider direction="vertical" /> <el-divider direction="vertical" />
<el-button type="primary" link @click="onOperate('restart')"> <el-button type="primary" link @click="onOperate('restart')">
{{ $t('app.restart') }} {{ $t('commons.button.restart') }}
</el-button> </el-button>
<el-divider direction="vertical" /> <el-divider direction="vertical" />
<el-button type="primary" link @click="setting"> <el-button type="primary" link @click="setting">

View File

@ -1,5 +1,5 @@
<template> <template>
<el-form-item :label="$t('runtime.app')" prop="appID"> <el-form-item :label="$t('app.app')" prop="appID">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-select <el-select

Some files were not shown because too many files have changed in this diff Show More