1
0
mirror of https://github.com/1Panel-dev/1Panel.git synced 2025-01-19 00:09:16 +08:00

Refine English translation (#7247)

This commit is contained in:
John Niang 2024-12-04 21:32:59 +08:00 committed by GitHub
parent d8fd430856
commit f320492164
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
34 changed files with 624 additions and 635 deletions

View File

@ -91,8 +91,8 @@ ErrPathNotDelete: "The selected directory cannot be deleted"
ErrDomainIsExist: "Domain is already exist"
ErrAliasIsExist: "Alias is already exist"
ErrAppDelete: 'Other Website use this App'
ErrGroupIsUsed: 'The group is in use and cannot be deleted'
ErrBackupMatch: 'the backup file does not match the current partial data of the website: {{ .detail}}'
ErrGroupIsUsed: "The group is in use and can't be deleted"
ErrBackupMatch: "the backup file doesn't match the current partial data of the website: {{ .detail}}"
ErrBackupExist: 'the backup file corresponds to a portion of the original data that does not exist: {{ .detail}}'
ErrPHPResource: 'The local runtime does not support switching!'
ErrPathPermission: 'A folder with non-1000:1000 permissions was detected in the index directory, which may cause an Access denied error when accessing the website. Please click the save button above'
@ -122,7 +122,7 @@ DNSAccountName: 'DNS account [{{ .name }}] manufacturer [{{.type}}]'
PushDirLog: 'Certificate pushed to directory [{{ .path }}] {{ .status }}'
ErrDeleteCAWithSSL: "There is an issued certificate under the current organization and cannot be deleted"
ErrDeleteWithPanelSSL: "Panel SSL configuration uses this certificate and cannot be deleted"
ErrDefaultCA: "The default organization cannot be deleted"
ErrDefaultCA: "The default Certificate Authority can't be deleted"
ApplyWebSiteSSLLog: "Start updating {{ .name }} website certificate"
ErrUpdateWebsiteSSL: "{{ .name }} website failed to update certificate: {{ .err }}"
ApplyWebSiteSSLSuccess: "Update website certificate successfully"
@ -143,8 +143,8 @@ ErrLocalExist: "The local database already exists with that name, please modify
ErrTypeOfRedis: "The recovery file type does not match the current persistence mode. Modify the file type and try again"
#container
ErrInUsed: "{{ .detail }} is in use and cannot be deleted"
ErrObjectInUsed: "This object is in use and cannot be deleted"
ErrInUsed: "{{ .detail }} is in use and can't be deleted"
ErrObjectInUsed: "This object is in use and can't be deleted"
ErrPortRules: "The number of ports does not match, please re-enter!"
ErrPgImagePull: "Image pull timeout. Please configure image acceleration or manually pull the postgres:16.0-alpine image and try again"

File diff suppressed because it is too large Load Diff

View File

@ -408,7 +408,7 @@ const message = {
loadBackup: '導入備份',
remoteAccess: '遠程訪問',
remoteHelper: '多個 ip 以逗號分隔172.16.10.111,172.16.10.112',
remoteConnHelper: 'root 帳號遠程連接 mysql 有安全風險開啟需謹慎',
remoteConnHelper: 'root 帳號遠程連接 MySQL 有安全風險開啟需謹慎',
changePassword: '改密',
changePasswordHelper: '當前數據庫已經關聯應用修改密碼將同步修改應用中數據庫密碼修改後重啟生效',
@ -826,6 +826,7 @@ const message = {
enableMsg: '啟用計劃任務會讓該任務定期自動執行是否繼續',
taskType: '任務類型',
record: '報告',
viewRecords: '查看報告',
shell: 'Shell 腳本',
log: '備份日誌',
logHelper: '備份系統日誌',
@ -2262,6 +2263,7 @@ const message = {
numConnections: '連接',
startTime: '啟動時間',
status: '狀態',
state: '狀態',
running: '運行中',
sleep: '睡眠',
stop: '停止',
@ -2281,6 +2283,7 @@ const message = {
laddr: '源地址/端口',
raddr: '目標地址/端口',
stopProcess: '結束',
viewDetails: '查看詳情',
stopProcessWarn: '是否確定結束此進程 (PID:{0})',
processName: '進程名稱',
},

View File

@ -410,7 +410,7 @@ const message = {
loadBackup: '导入备份',
remoteAccess: '远程访问',
remoteHelper: '多个 ip 以逗号分隔172.16.10.111,172.16.10.112',
remoteConnHelper: 'root 帐号远程连接 mysql 有安全风险开启需谨慎',
remoteConnHelper: 'root 帐号远程连接 MySQL 有安全风险开启需谨慎',
changePassword: '改密',
changePasswordHelper: '当前数据库已经关联应用修改密码将同步修改应用中数据库密码修改后重启生效',
@ -623,8 +623,8 @@ const message = {
ip: 'IP 地址',
cpuShare: 'CPU 权重',
cpuShareHelper: '容器默认份额为 1024 CPU增大可使当前容器获得更多的 CPU 时间',
inputIpv4: '请输入 ipv4 地址',
inputIpv6: '请输入 ipv6 地址',
inputIpv4: '请输入 IPv4 地址',
inputIpv6: '请输入 IPv6 地址',
containerFromAppHelper: '检测到该容器来源于应用商店应用操作可能会导致当前编辑失效',
containerFromAppHelper1: '在应用商店的已安装页面点击 [参数] 按钮进入编辑页面修改容器名称',
@ -827,6 +827,7 @@ const message = {
enableMsg: '启用计划任务会让该任务定期自动执行是否继续',
taskType: '任务类型',
record: '报告',
viewRecords: '查看报告',
shell: 'Shell 脚本',
log: '备份日志',
logHelper: '备份系统日志',
@ -2192,7 +2193,7 @@ const message = {
targetPort: '目标端口',
forwardHelper1: '如果是本机端口转发目标IP为127.0.0.1',
forwardHelper2: '如果目标IP不填写则默认为本机端口转发',
forwardHelper3: '当前仅支持 ipv4 的端口转发',
forwardHelper3: '当前仅支持 IPv4 的端口转发',
},
runtime: {
runtime: '运行环境',
@ -2264,6 +2265,7 @@ const message = {
numConnections: '连接',
startTime: '启动时间',
status: '状态',
state: '状态',
running: '运行中',
sleep: '睡眠',
stop: '停止',
@ -2283,6 +2285,7 @@ const message = {
laddr: '源地址/端口',
raddr: '目标地址/端口',
stopProcess: '结束',
viewDetails: '查看详情',
stopProcessWarn: '是否确定结束此进程 (PID:{0})',
processName: '进程名称',
},

View File

@ -131,10 +131,10 @@
</el-select>
</el-form-item>
<el-form-item label="ipv4" prop="ipv4">
<el-form-item label="IPv4" prop="ipv4">
<el-input v-model="dialogData.rowData!.ipv4" :placeholder="$t('container.inputIpv4')" />
</el-form-item>
<el-form-item label="ipv6" prop="ipv6">
<el-form-item label="IPv6" prop="ipv6">
<el-input v-model="dialogData.rowData!.ipv6" :placeholder="$t('container.inputIpv6')" />
</el-form-item>

View File

@ -17,7 +17,7 @@
v-if="form.fromApp"
class="common-prompt"
:closable="false"
type="error"
type="warning"
/>
<el-form @submit.prevent ref="formRef" :model="form" label-position="top">
<el-form-item :label="$t('container.oldImage')" prop="oldImage">

View File

@ -54,7 +54,7 @@
:placeholder="'172.16.10.10:8081'"
></el-input>
<span v-if="dialogData.rowData!.downloadUrl" class="input-help">
docker pull {{ dialogData.rowData!.downloadUrl }}/nginx
Pull example: docker pull {{ dialogData.rowData!.downloadUrl }}/nginx
</span>
</el-form-item>
<el-form-item :label="$t('commons.table.protocol')" prop="protocol">

View File

@ -98,7 +98,7 @@
</el-input>
</el-form-item>
<el-form-item label="ipv6" prop="ipv6">
<el-form-item label="IPv6" prop="ipv6">
<el-switch v-model="form.ipv6" @change="handleIPv6"></el-switch>
<span class="input-help"></span>
<div v-if="ipv6OptionShow">
@ -131,7 +131,7 @@
<el-switch v-model="form.iptables" @change="handleIptables"></el-switch>
<span class="input-help">{{ $t('container.iptablesHelper1') }}</span>
</el-form-item>
<el-form-item label="live-restore" prop="liveRestore">
<el-form-item label="Live restore" prop="liveRestore">
<el-switch
:disabled="form.isSwarm"
v-model="form.liveRestore"
@ -142,7 +142,7 @@
{{ $t('container.liveWithSwarmHelper') }}
</span>
</el-form-item>
<el-form-item label="cgroup-driver" prop="cgroupDriver">
<el-form-item label="cgroup driver" prop="cgroupDriver">
<el-radio-group v-model="form.cgroupDriver" @change="handleCgroup">
<el-radio value="cgroupfs">cgroupfs</el-radio>
<el-radio value="systemd">systemd</el-radio>

View File

@ -64,7 +64,7 @@
icon="VideoPlay"
type="success"
>
{{ $t('commons.button.enable') }}
{{ $t('commons.status.enabled') }}
</el-button>
<el-button
v-else
@ -73,7 +73,7 @@
type="danger"
@click="onChangeStatus(row.id, 'enable')"
>
{{ $t('commons.button.disable') }}
{{ $t('commons.status.disabled') }}
</el-button>
</template>
</el-table-column>
@ -390,7 +390,7 @@ const buttons = [
},
},
{
label: i18n.global.t('cronjob.record'),
label: i18n.global.t('cronjob.viewRecords'),
click: (row: Cronjob.CronjobInfo) => {
loadDetail(row);
},

View File

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

View File

@ -83,7 +83,7 @@
<span v-if="row.remoteaddr.port > 0">:{{ row.remoteaddr.port }}</span>
</template>
</el-table-column>
<el-table-column prop="status" :label="$t('app.status')" />
<el-table-column prop="status" :label="$t('process.state')" />
</el-table>
</el-tab-pane>
</el-tabs>

View File

@ -124,7 +124,7 @@ const opRef = ref();
const buttons = [
{
label: i18n.global.t('app.detail'),
label: i18n.global.t('process.viewDetails'),
click: function (row: any) {
openDetail(row);
},

View File

@ -21,7 +21,7 @@
>
<el-row type="flex" justify="center">
<el-col :span="22">
<el-alert class="common-prompt" :closable="false" type="error">
<el-alert class="common-prompt" :closable="false" type="warning">
<template #default>
<span>
{{ $t('ssh.listenHelper', [form.port]) }}

View File

@ -62,7 +62,7 @@
<el-col :span="1"><br /></el-col>
<el-col :xs="24" :sm="20" :md="20" :lg="10" :xl="10">
<el-form :model="form" label-position="left" ref="formRef" label-width="120px">
<el-form-item :label="$t('commons.table.port')" prop="port">
<el-form-item :label="$t('ssh.port')" prop="port">
<el-input disabled v-model.number="form.port">
<template #append>
<el-button @click="onChangePort" icon="Setting">

View File

@ -9,12 +9,12 @@
size="30%"
>
<template #header>
<DrawerHeader :header="$t('commons.table.port')" :back="handleClose" />
<DrawerHeader :header="$t('ssh.port')" :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('commons.table.port')" prop="port" :rules="Rules.port">
<el-form-item :label="$t('ssh.port')" prop="port" :rules="Rules.port">
<el-input clearable v-model.number="form.port" />
</el-form-item>
</el-col>

View File

@ -386,7 +386,7 @@ const onConnTerminal = async (title: string, wsID: number, isLocal?: boolean) =>
endpoint: '/api/v1/terminals',
args: `id=${wsID}`,
initCmd: initCmd.value,
error: res.data ? '' : 'Authentication failed. Please check the host information !',
error: res.data ? '' : 'Authentication failed. Please check the host information!',
});
initCmd.value = '';
});

View File

@ -16,10 +16,10 @@
<el-form-item :label="$t('commons.table.type')" prop="type" :rules="Rules.requiredSelect">
<el-tag>{{ $t('setting.' + cosData.rowData!.type) }}</el-tag>
</el-form-item>
<el-form-item label="Access Key ID" prop="accessKey" :rules="Rules.requiredInput">
<el-form-item label="Access key ID" prop="accessKey" :rules="Rules.requiredInput">
<el-input v-model.trim="cosData.rowData!.accessKey" />
</el-form-item>
<el-form-item label="Secret Key" prop="credential" :rules="Rules.requiredInput">
<el-form-item label="Secret key" prop="credential" :rules="Rules.requiredInput">
<el-input show-password clearable v-model.trim="cosData.rowData!.credential" />
</el-form-item>
<el-form-item label="Region" prop="varsJson.region" :rules="Rules.requiredInput">

View File

@ -16,10 +16,10 @@
<el-form-item :label="$t('commons.table.type')" prop="type" :rules="Rules.requiredSelect">
<el-tag>{{ $t('setting.' + kodoData.rowData!.type) }}</el-tag>
</el-form-item>
<el-form-item label="Access Key ID" prop="accessKey" :rules="Rules.requiredInput">
<el-form-item label="Access key ID" prop="accessKey" :rules="Rules.requiredInput">
<el-input v-model.trim="kodoData.rowData!.accessKey" />
</el-form-item>
<el-form-item label="Secret Key" prop="credential" :rules="Rules.requiredInput">
<el-form-item label="Secret key" prop="credential" :rules="Rules.requiredInput">
<el-input show-password clearable v-model.trim="kodoData.rowData!.credential" />
</el-form-item>
<el-form-item

View File

@ -16,10 +16,10 @@
<el-form-item :label="$t('commons.table.type')" prop="type" :rules="Rules.requiredSelect">
<el-tag>{{ $t('setting.' + minioData.rowData!.type) }}</el-tag>
</el-form-item>
<el-form-item label="Access Key ID" prop="accessKey" :rules="Rules.requiredInput">
<el-form-item label="Access key ID" prop="accessKey" :rules="Rules.requiredInput">
<el-input v-model.trim="minioData.rowData!.accessKey" />
</el-form-item>
<el-form-item label="Secret Key" prop="credential" :rules="Rules.requiredInput">
<el-form-item label="Secret key" prop="credential" :rules="Rules.requiredInput">
<el-input show-password clearable v-model.trim="minioData.rowData!.credential" />
</el-form-item>
<el-form-item label="Endpoint" prop="varsJson.endpointItem" :rules="Rules.requiredInput">

View File

@ -16,10 +16,10 @@
<el-form-item :label="$t('commons.table.type')" prop="type" :rules="Rules.requiredSelect">
<el-tag>{{ $t('setting.' + ossData.rowData!.type) }}</el-tag>
</el-form-item>
<el-form-item label="Access Key ID" prop="accessKey" :rules="Rules.requiredInput">
<el-form-item label="Access key ID" prop="accessKey" :rules="Rules.requiredInput">
<el-input v-model.trim="ossData.rowData!.accessKey" />
</el-form-item>
<el-form-item label="Secret Key" prop="credential" :rules="Rules.requiredInput">
<el-form-item label="Secret key" prop="credential" :rules="Rules.requiredInput">
<el-input show-password clearable v-model.trim="ossData.rowData!.credential" />
</el-form-item>
<el-form-item label="Endpoint" prop="varsJson.endpointItem" :rules="Rules.requiredInput">

View File

@ -22,7 +22,7 @@
<el-radio value="path">Path</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="Access Key ID" prop="accessKey" :rules="Rules.requiredInput">
<el-form-item label="Access key ID" prop="accessKey" :rules="Rules.requiredInput">
<el-input v-model.trim="s3Data.rowData!.accessKey" />
</el-form-item>
<el-form-item label="Secret Key" prop="credential" :rules="Rules.requiredInput">

View File

@ -80,7 +80,7 @@
<div class="h-app-card">
<el-row>
<el-col :span="15">
<div class="h-app-content">{{ $t('license.importLicense') }}</div>
<div class="h-app-content">{{ $t('license.importLicense') }}</div>
</el-col>
<el-col :span="5">
<el-button type="primary" plain round size="small" @click="toUpload">
@ -92,7 +92,7 @@
<div class="h-app-card">
<el-row>
<el-col :span="15">
<div class="h-app-content">{{ $t('license.technicalAdvice') }}</div>
<div class="h-app-content">{{ $t('license.technicalAdvice') }}</div>
</el-col>
<el-col :span="5">
<el-button type="primary" plain round size="small" @click="toHalo()">

View File

@ -176,9 +176,9 @@ const acceptParams = (name: string, file: string, operate: string) => {
const cleanLog = async () => {
let log = req.file === 'out.log' ? i18n.global.t('logs.runLog') : i18n.global.t('logs.errLog');
opRef.value.acceptParams({
title: i18n.global.t('commons.msg.clean'),
title: i18n.global.t('commons.button.clean'),
names: [req.name],
msg: i18n.global.t('commons.msg.operatorHelper', [log, i18n.global.t('commons.msg.clean')]),
msg: i18n.global.t('commons.msg.operatorHelper', [log, i18n.global.t('commons.button.clean')]),
api: OperateSupervisorProcessFile,
params: { name: req.name, operate: 'clear', file: req.file },
});

View File

@ -93,7 +93,7 @@
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('commons.button.add') + $t('commons.table.port')">
<el-form-item :label="$t('commons.button.add')">
<el-button @click="addPort">
<el-icon><Plus /></el-icon>
</el-button>

View File

@ -96,7 +96,7 @@
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('commons.button.add') + $t('commons.table.port')">
<el-form-item :label="$t('commons.button.add')">
<el-button @click="addPort">
<el-icon><Plus /></el-icon>
</el-button>

View File

@ -96,7 +96,7 @@
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('commons.button.add') + $t('commons.table.port')">
<el-form-item :label="$t('commons.button.add')">
<el-button @click="addPort">
<el-icon><Plus /></el-icon>
</el-button>

View File

@ -126,7 +126,7 @@
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('commons.button.add') + $t('commons.table.port')">
<el-form-item :label="$t('commons.button.add')">
<el-button @click="addPort">
<el-icon><Plus /></el-icon>
</el-button>

View File

@ -93,7 +93,7 @@
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('commons.button.add') + $t('commons.table.port')">
<el-form-item :label="$t('commons.button.add')">
<el-button @click="addPort">
<el-icon><Plus /></el-icon>
</el-button>

View File

@ -127,7 +127,7 @@ const deleteCA = async (row: any) => {
title: i18n.global.t('commons.button.delete'),
names: [row.name],
msg: i18n.global.t('commons.msg.operatorHelper', [
i18n.global.t('website.ca'),
i18n.global.t('ssl.ca'),
i18n.global.t('commons.button.delete'),
]),
api: DeleteCA,

View File

@ -34,10 +34,10 @@
</span>
</el-form-item>
<div v-if="account.type === 'AliYun' || account.type === 'HuaweiCloud'">
<el-form-item label="Access Key" prop="authorization.accessKey">
<el-form-item label="Access key" prop="authorization.accessKey">
<el-input v-model.trim="account.authorization['accessKey']"></el-input>
</el-form-item>
<el-form-item label="Secret Key" prop="authorization.secretKey">
<el-form-item label="Secret key" prop="authorization.secretKey">
<el-input v-model.trim="account.authorization['secretKey']"></el-input>
</el-form-item>
</div>
@ -45,10 +45,10 @@
<el-input v-model.trim="account.authorization['region']" :placeholder="'cn-north-1'"></el-input>
</el-form-item>
<div v-if="account.type === 'Volcengine'">
<el-form-item label="Access Key" prop="authorization.accessKey">
<el-form-item label="Access key" prop="authorization.accessKey">
<el-input v-model.trim="account.authorization['accessKey']"></el-input>
</el-form-item>
<el-form-item label="Secret Key" prop="authorization.secretKey">
<el-form-item label="Secret key" prop="authorization.secretKey">
<el-input v-model.trim="account.authorization['secretKey']"></el-input>
</el-form-item>
</div>

View File

@ -92,7 +92,7 @@ const deleteDomain = async (row: Website.Domain) => {
names: [row.domain],
msg: i18n.global.t('commons.msg.operatorHelper', [
i18n.global.t('website.domain'),
i18n.global.t('commons.msg.delete'),
i18n.global.t('commons.button.delete'),
]),
api: DeleteDomain,
params: { id: row.id },

View File

@ -134,7 +134,7 @@ const deleteProxy = async (proxyConfig: Website.ProxyConfig) => {
names: [proxyConfig.name],
msg: i18n.global.t('commons.msg.operatorHelper', [
i18n.global.t('website.proxy'),
i18n.global.t('commons.msg.delete'),
i18n.global.t('commons.button.delete'),
]),
api: OperateProxyConfig,
params: proxyConfig,

View File

@ -149,7 +149,7 @@ const deleteProxy = async (redirectConfig: Website.RedirectConfig) => {
names: [redirectConfig.name],
msg: i18n.global.t('commons.msg.operatorHelper', [
i18n.global.t('website.redirect'),
i18n.global.t('commons.msg.delete'),
i18n.global.t('commons.button.delete'),
]),
api: OperateRedirectConfig,
params: redirectConfig,

View File

@ -72,9 +72,9 @@ const clearLog = () => {
const cleanLog = async () => {
let log = logType.value === 'access.log' ? i18n.global.t('website.accessLog') : i18n.global.t('website.errLog');
opRef.value.acceptParams({
title: i18n.global.t('commons.msg.clean'),
title: i18n.global.t('commons.button.clean'),
names: [],
msg: i18n.global.t('commons.msg.operatorHelper', [log, i18n.global.t('commons.msg.clean')]),
msg: i18n.global.t('commons.msg.operatorHelper', [log, i18n.global.t('commons.button.clean')]),
api: OpWebsiteLog,
params: { id: id.value, operate: 'delete', logType: logType.value },
});