feat: 国际化修改

This commit is contained in:
@changcode
2021-05-14 17:51:02 +08:00
parent 4d4fa531bc
commit b68ac91ea9
12 changed files with 129 additions and 72 deletions

View File

@@ -1,6 +1,22 @@
import zhLocale from 'element-ui/lib/locale/lang/zh-CN' // 引入element语言包
const cn = {
overall: {
uploadCustomPicture: '上传图片',
customPicture: '上传图片',
endpointTemplate: 'endpoint模板',
AddByTemplate: '使用模板创建',
oneHour: '1 小时',
twoHour: '2 小时',
sixHour: '6 小时',
twelveHour: '12 小时',
oneDay: '1 天',
twoDay: '2 天',
week: '1 周',
startTime: '开始时间',
endTime: '结束时间',
metric: '指标',
locked: '已锁定',
unlocked: '已解锁',
dashboard: '仪表盘',
dc: '数据中心',
project: '系统',
@@ -294,12 +310,12 @@ const cn = {
value: 'Value',
range: 'Range'
},
legendValue: 'Legend option',
legendValue: '图例选项',
content: '内容',
tooltip: 'Tooltip',
displayChart: '图表',
aggregation: 'Aggregation',
varType: 'Variable type',
varType: '变量类型',
pid: 'Chart 模板',
selectAsset: '请选择Asset',
selectEndpoint: '请选择Endpoint'
@@ -528,7 +544,7 @@ const cn = {
},
asset: {
asset: '资产',
alertNum: '资产编号',
alertNum: '告警',
assetType: '资产类型', // '资产类型'
batchEditAsset: '批量修改资产',
selectAsset: '已选择的资产',
@@ -695,21 +711,28 @@ const cn = {
agent: {
name: '名称',
type: '类型',
createProm: '创建代理服务',
host: '主机名',
port: '端口',
checkTime: '检查时间',
createProm: '创建客户端',
editProm: '修改客户端',
up: 'UP',
down: 'Down',
agent: {
agent: '代理',
title: 'Download agent',
download: 'Download',
osType: 'OS type',
autoScript: 'Auto install script',
type: 'Agent type'
agent: '客户端',
title: '下载客户端',
download: '下载',
osType: '操作系统',
autoScript: '自动安装脚本',
type: '客户端类型'
}
},
terminallog: {
terminallog: '终端日志',
status: '状态',
username: '用户名',
SessionID: '会话ID',
authtype: '认证方式',
statusItem: {
connecting: '连接中',
connectionFailed: '连接失败',
@@ -802,7 +825,7 @@ const cn = {
name: '资产型号',
brand: '品牌',
ChartTemplate: '图表模板',
assetNum: '资产编号',
assetNum: '资产',
editModel: '编辑型号',
createModel: '创建型号',
remark: '备注',
@@ -849,7 +872,7 @@ const cn = {
vendor: '厂商',
type: '类型',
mibBrowser: 'MIB浏览器',
credentials: '证',
credentials: '证',
noData: '暂无数据',
credential: {
type: '协议类型',
@@ -860,7 +883,11 @@ const cn = {
encryption: '加密',
pin: '密码',
edit: '编辑证书',
create: '创建证书'
create: '创建证书',
ReadCommunity: '读团体字',
writeCommunity: '写团体字',
username: '用户名',
contextName: '上下文名称'
}
},
system: {
@@ -869,19 +896,19 @@ const cn = {
basic: '基础设置',
alertApi: '告警API',
assetPingSwith: '资产Ping开关',
assetPingInterval: '间隔',
assetPingInterval: 'Ping 间隔',
exporterTarget: 'Exporter路径',
scrapeInterval: '获取数据间隔',
storageRetention: '本地保留时间',
scrapeInterval: '指标抓取间隔',
storageRetention: '指标本地保',
systemName: '系统名称',
curUrl: '网站URL',
timezone: '时区',
defaultCabinetUsize: '机柜默认U位',
sessionTimeout: 'Session超时',
sessionTimeout: '登陆会话超时',
minute: '分',
second: '秒',
day: '天',
maxSeries: 'Query max series',
maxSeries: '指标查询最大条数',
unsaved: '未保存提示',
mapConfig: '地图中心点',
mapTitle: '配置地图',
@@ -890,7 +917,7 @@ const cn = {
zoom: '缩放',
lnglat: '坐标',
sysLogo: '系统Logo',
scrapeTimeout: 'Scrape timeout',
scrapeTimeout: '指标抓取超时',
snmpTrapPort: 'SNMP trap端口',
logoTip: 'Logo支持格式为jpg、jpeg、png且大小小于2M的图片'
},
@@ -918,8 +945,8 @@ const cn = {
terminal: '终端',
terminalNum: '最大终端数量',
timeout: '超时时间',
userTip: 'Telnet user prompt',
pinTip: 'Ternet password prompt',
userTip: 'Telnet 用户名提示',
pinTip: 'Telnet 密码提示',
localRetention: '本地存储'
},
ldap: {
@@ -937,7 +964,7 @@ const cn = {
timeout: '超时时间'
},
link: {
link: 'Link',
link: '链接',
name: '名称',
url: 'Url',
operation: '操作',
@@ -949,8 +976,10 @@ const cn = {
create: '创建人'
},
notification: {
notification: 'Notification',
notification: '通知方式',
name: '名称',
state: '状态',
account: '通知账号',
filePath: '文件路径',
operation: '操作',
add: '添加',
@@ -1002,6 +1031,7 @@ const cn = {
assetLabel: {
example: '示例',
assetLabel: '资产标签',
editMeta: '编辑标签',
addMeta: '创建标签',
all: '全部',
addGroup: '创建分组',
@@ -1044,7 +1074,7 @@ const cn = {
labelOptionNull: '请填写选项信息'
},
exprTemp: {
exprTemp: 'expression模板',
exprTemp: '表达式模板',
exprTempInfo: 'Expression 模板详情',
exprTempRender: 'expression模板渲染',
exprTempDown: 'expression模板下载',
@@ -1060,11 +1090,11 @@ const cn = {
edit: '修改表达式模板',
create: '创建表达式模板',
expressionError: '请填写表达式',
type: 'Type',
varType: 'Variable type'
type: '类型',
varType: '变量类型'
},
chartTemp: {
chartTemp: 'Chart 模板',
chartTemp: '图表模板',
type: 'Type',
varType: 'Variable type'
}
@@ -1221,8 +1251,8 @@ const cn = {
stateInfo_230011: 'Endpoint 连接错误',
alerts: '告警',
labels: '标签',
pattern: 'Name pattern',
credentials: '资格证',
pattern: '名称格式',
credentials: '资格证',
scrape_interval: '时间间隔',
scrape_interval_placeholder: '默认全局时间间隔',
scrape_timeout: '超时时间',
@@ -1480,13 +1510,13 @@ const cn = {
guide: {
title: '开始使用 通过 6 简单步骤',
dc: '数据中心',
dcTip: '数据中心包含机柜和资产,与Prometheus服务相关联机柜是资产的容器',
dcTip: '数据中心包含机柜和资产,机柜是资产的容器',
addDc: '新增数据中心',
addCabinet: '新增机柜',
agent: 'Agent',
agentTip: 'Prometheusagent是本系统的核心包含Global”和Per-datacenter”两种类型前者汇总数据并发出告警消息后者从Endpoint中采集监控数据。两者都必须配置',
addAgent: '新增agent',
downloadAgent: '下载agent',
agent: '客户端',
agentTip: '客户端包含"Global”和"Per-datacenter”两种类型前者汇总数据并发出告警消息后者从Endpoint中采集监控数据。',
addAgent: '新增客户端',
downloadAgent: '下载客户端',
asset: '资产',
assetTip: '资产是被系统监控的主要部分',
addAsset: '新增资产',

View File

@@ -7,12 +7,28 @@ const en = {
// 账号用Accountusername、password等都属于account的一部分
// A user is the person who uses the account, the account is an inanimate object that is merely registered to an e-mail address.
overall: {
uploadCustomPicture: 'Upload custom picture',
customPicture: 'Custom picture',
endpointTemplate: 'Endpoint template',
AddByTemplate: 'Add by template',
oneHour: '1 hour',
twoHour: '2 hours',
sixHour: '6 hours',
twelveHour: '12 hours',
oneDay: '1 day',
twoDay: '2 days',
week: '1 week',
startTime: 'Start time',
endTime: 'End time',
metric: 'Metric',
locked: 'Locked',
unlocked: 'Unlocked',
dashboard: 'Dashboards', // '仪表盘'
project: 'Projects', // '系统'
project: 'Project', // '系统'
monitor: 'Monitor', // 监控
alert: 'Alert', // "告警"
asset: 'Assets', // '资产'
config: 'Settings', // '设置'
asset: 'Asset', // '资产'
config: 'Setting', // '设置'
administration: 'Administration',
configuration: 'configuration',
create: 'New', // '新增'
@@ -404,7 +420,7 @@ const en = {
traffic: 'Traffic',
projectTopoLogy: 'Project Topology',
asset: {
title: 'Assets',
title: 'Asset',
assetType: 'Asset type',
modelStat: 'Model',
dcStat: 'Data center',
@@ -534,7 +550,7 @@ const en = {
},
asset: {
asset: 'Asset',
assets: 'Assets', // '资产'
assets: 'Asset', // '资产'
editAsset: 'Edit asset', // '编辑资产'
createAsset: 'New asset', // '编辑资产'
batchEditAsset: 'Edit asset in bulk',
@@ -617,7 +633,7 @@ const en = {
pingInfo: 'Ping'
},
config: {
config: 'Settings', // "设置"
config: 'Setting', // "设置"
user: {
userList: 'User list', // "用户列表"
user: 'User',
@@ -652,7 +668,7 @@ const en = {
mobile: 'Mobile'
},
roles: {
roles: 'Roles',
roles: 'Role',
name: 'Name',
description: 'Description',
option: 'Operation', // "操作"
@@ -693,6 +709,8 @@ const en = {
name: 'Name',
up: 'UP',
down: 'Down',
host: 'Host',
port: 'Port',
agent: {
agent: 'Agent',
title: 'Download agent',
@@ -746,7 +764,10 @@ const en = {
},
terminallog: {
terminallog: 'Terminal log',
status: 'Statu', // "状态"
status: 'State', // "状态"
username: 'Username',
SessionID: 'Session ID',
authtype: 'AuthType',
statusItem: {
connecting: 'Connecting',
connectionFailed: 'Connection failed',
@@ -861,7 +882,11 @@ const en = {
auth: 'Authentication',
method: 'Method',
encryption: 'Encryption',
pin: 'Password'
pin: 'Password',
ReadCommunity: 'Read community',
writeCommunity: 'Write community',
username: 'Username',
contextName: 'Context name'
}
},
system: {
@@ -1014,9 +1039,10 @@ const en = {
editAssetState: 'Edit asset state'
},
assetLabel: {
addMeta: 'Add labels',
addMeta: 'Add label',
example: 'Example',
assetLabel: 'Asset labels',
editMeta: 'Edit lables',
assetLabel: 'Asset label',
all: 'All',
addGroup: 'Add group',
editGroup: 'Edit group',
@@ -1234,7 +1260,7 @@ const en = {
stateInfo_230010: 'Promserver can be used',
stateInfo_230011: 'Endpoint connection refused',
alerts: 'Alert',
labels: 'Labels',
labels: 'Label',
pattern: 'Name pattern',
credentials: 'Credentials',
scrape_interval: 'Scrape interval',

View File

@@ -5,7 +5,7 @@
</button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-if="showLock">
<div @click="panelLock=!panelLock" id="panel-lock"><i :class="{'nz-icon nz-icon-lock':panelLock,'nz-icon nz-icon-unlock':!panelLock}"></i>{{panelLock ? 'Locked' : 'Unlocked'}}</div>
<div @click="panelLock=!panelLock" id="panel-lock"><i :class="{'nz-icon nz-icon-lock':panelLock,'nz-icon nz-icon-unlock':!panelLock}"></i>{{panelLock ? $t("overall.locked") : $t("overall.unlocked")}}</div>
</el-dropdown-item>
<slot name="before"></slot>
<el-dropdown-item v-if="importUrl">

View File

@@ -40,7 +40,7 @@
<div class="upload-pic-box" @click="uploadPicChange" v-has="'topo_icon_save'">
<i class="el-icon-plus"></i>
<span>
Upload custom picture
{{ $t('overall.uploadCustomPicture') }}
</span>
</div>
</div>
@@ -264,7 +264,7 @@
</el-dialog>
<!--Custom picture-->
<el-dialog
title="Custom picture"
:title="title"
:visible.sync="uploadPicShow"
width="auto"
@close="uploadPicShow = false"
@@ -369,6 +369,7 @@ export default {
name: 'topologyL5',
data () {
return {
title: this.$t("overall.customPicture"),
objChange: false, // project 变化 用于判断 init是否执行完成 执行完成 才可以执行下次变化
chartDataInfo: {},
topoPrevData: {}, // 预览数据

View File

@@ -23,18 +23,18 @@
<el-form-item :label='$t("alert.silence.time")' prop="time" class="range-time">
<div>
<el-radio-group v-model="rangeTime" size="small" @change="rangeTimeChange">
<el-radio-button label="1">1 hour</el-radio-button>
<el-radio-button label="2">2 hour</el-radio-button>
<el-radio-button label="6">6hour</el-radio-button>
<el-radio-button label="12">12 hour</el-radio-button>
<el-radio-button label="24">1 day</el-radio-button>
<el-radio-button label="48">2 day</el-radio-button>
<el-radio-button label="168">1 week</el-radio-button>
<el-radio-button label="1">{{ $t("overall.oneHour") }}</el-radio-button>
<el-radio-button label="2">{{ $t("overall.twoHour") }}</el-radio-button>
<el-radio-button label="6">{{ $t("overall.sixHour") }}</el-radio-button>
<el-radio-button label="12">{{ $t("overall.twelveHour") }}</el-radio-button>
<el-radio-button label="24">{{ $t("overall.oneDay") }}</el-radio-button>
<el-radio-button label="48">{{ $t("overall.twoDay") }}</el-radio-button>
<el-radio-button label="168">{{ $t("overall.week") }}</el-radio-button>
</el-radio-group>
</div>
<div class="datepicker">
<div class="datepicker-box">
<span class="datepicker-title">start time</span>
<span class="datepicker-title">{{ $t("overall.startTime") }}</span>
<my-date-picker prefix-icon=" " class=" " size="mini" ref="calendar"
format="yyyy/MM/dd HH:mm:ss" @change="(val)=>{dateChange(val,'startAt')}" v-model="editAlertSilence.startAt"
type="datetime"
@@ -46,7 +46,7 @@
</my-date-picker>
</div>
<div class="datepicker-box">
<span class="datepicker-title">end time</span>
<span class="datepicker-title">{{ $t("overall.endTime") }}</span>
<my-date-picker prefix-icon=" " class=" " size="mini" ref="calendar"
format="yyyy/MM/dd HH:mm:ss" @change="(val)=>{dateChange(val,'endAt')}" v-model="editAlertSilence.endAt"
type="datetime"

View File

@@ -93,7 +93,7 @@
</span>
<!--Enpoint template-->
<div class="right-box-sub-title">Enpoint template
<div class="right-box-sub-title">{{ $t("overall.endpointTemplate") }}
<el-tooltip placement="top" effect="light">
<div slot="content">
{{$t('project.module.tip.defaultEndpointSet')}}

View File

@@ -85,7 +85,7 @@
</span>
<!--Enpoint template-->
<div class="right-box-sub-title">Enpoint template
<div class="right-box-sub-title">{{ $t("overall.endpointTemplate") }}
<el-tooltip placement="top" effect="light">
<div slot="content">
{{$t('project.module.tip.defaultEndpointSet')}}

View File

@@ -27,16 +27,16 @@
<el-form-item :label='$t("config.mib.credential.port")' prop="port" >
<el-input placeholder="" v-model.number="editCredential.port" size="small" id="credential-box-input-port"></el-input>
</el-form-item>
<el-form-item label='Read community' prop="readCommunity" v-if="editCredential.type ===1 || editCredential.type === 2">
<el-form-item :label='$t("config.mib.credential.ReadCommunity")' prop="readCommunity" v-if="editCredential.type ===1 || editCredential.type === 2">
<el-input placeholder="" autocomplete="new-password" v-model="editCredential.config.readCommunity" size="small" id="credential-box-input-readCommunity"></el-input>
</el-form-item>
<el-form-item label='Write community' prop="writeCommunity" v-if="editCredential.type ===1 || editCredential.type === 2">
<el-form-item :label='$t("config.mib.credential.writeCommunity")' prop="writeCommunity" v-if="editCredential.type ===1 || editCredential.type === 2">
<el-input placeholder="" autocomplete="new-password" v-model="editCredential.config.writeCommunity" size="small" id="credential-box-input-writeCommunity" type="password" show-password></el-input>
</el-form-item>
<el-form-item label="Username" prop="username" v-if="editCredential.type === 3">
<el-form-item :label='$t("config.mib.credential.username")' prop="username" v-if="editCredential.type === 3">
<el-input placeholder="" v-model="editCredential.config.username" size="small" id="credential-box-input-username"></el-input>
</el-form-item>
<el-form-item label="Content name" prop="contextname" v-if="editCredential.type === 3">
<el-form-item :label='$t("config.mib.credential.contextName")' prop="contextname" v-if="editCredential.type === 3">
<el-input placeholder="" v-model="editCredential.config.contextname" size="small" id="credential-box-input-contextname"></el-input>
</el-form-item>

View File

@@ -93,11 +93,11 @@ export default {
show: true,
sortable:'custom'
}, {
label: 'Host',
label: this.$t('config.agent.host'),
prop: 'host',
show: true
}, {
label: 'Port',
label: this.$t('config.agent.port'),
prop: 'port',
show: true
}, {

View File

@@ -114,11 +114,11 @@ export default {
show: true,
width: 80
}, {
label: 'Session ID',
label: this.$t('config.terminallog.SessionID'),
prop: 'uuid',
show: true
}, {
label: 'Username',
label: this.$t('config.terminallog.username'),
prop: 'username',
show: true
},
@@ -148,7 +148,7 @@ export default {
show: true
},
{
label: 'AuthType',
label: this.$t('config.terminallog.authtype'),
prop: 'authType',
show: false
},

View File

@@ -6,7 +6,7 @@
<div v-if="plugins.indexOf('metric-selector') > -1">
<el-dropdown class="metric-selector">
<el-dropdown-menu style="display: none"></el-dropdown-menu>
<button class="top-tool-btn top-tool-btn--text" type="button" @click="toggleDropdown">Metric
<button class="top-tool-btn top-tool-btn--text" type="button" @click="toggleDropdown">{{ $t("overall.metric") }}
&nbsp;<i class="nz-icon nz-icon-arrow-down" style="font-size: 12px"></i></button>
<el-cascader-panel v-show="dropDownVisible" ref="metricSelector" slot="dropdown" v-model="cascaderValue"
v-clickoutside="closeDropdown" v-loading="tempBoxShowLoading" :loading="loading" :options="metricOptions"

View File

@@ -52,12 +52,12 @@
>
<template v-slot:before>
<el-dropdown-item>
<div id="panel-lock" @click="panelLock=!panelLock"><i :class="{'nz-icon nz-icon-lock':panelLock,'nz-icon nz-icon-unlock':!panelLock}"></i>{{panelLock ? 'Locked' : 'Unlocked'}}</div>
<div id="panel-lock" @click="panelLock=!panelLock"><i :class="{'nz-icon nz-icon-lock':panelLock,'nz-icon nz-icon-unlock':!panelLock}"></i>{{panelLock ? $t('overall.locked') : $t('overall.unlocked')}}</div>
</el-dropdown-item>
</template>
<template v-slot:after>
<el-dropdown-item v-has="'panel_chart_add'">
<div id="chart-temp-add" @click="addChartByTemp"><i class="nz-icon nz-icon-add"></i>Add by template</div>
<div id="chart-temp-add" @click="addChartByTemp"><i class="nz-icon nz-icon-add"></i>{{ $t('overall.AddByTemplate') }}</div>
</el-dropdown-item>
</template>
</top-tool-more-options>