perf: 修改翻译

This commit is contained in:
ibuler
2023-05-08 10:38:03 +08:00
parent 4556d3f4fe
commit edc74c8dfb
5 changed files with 94 additions and 26 deletions

View File

@@ -54,19 +54,19 @@ export default {
},
data() {
const attrMatchOptions = [
{ label: '等于', value: 'exact' },
{ label: '不等于', value: 'not' },
{ label: '在...中', value: 'in' },
{ label: '包含', value: 'contains' },
{ label: '开头是', value: 'startswith' },
{ label: '结尾是', value: 'endswith' },
{ label: '正则', value: 'regex' },
{ label: 'IP 匹配', value: 'ip_in' }
{ label: this.$t('common.Equal'), value: 'exact' },
{ label: this.$t('common.NotEqual'), value: 'not' },
{ label: this.$t('common.MatchIn'), value: 'in' },
{ label: this.$t('common.Contains'), value: 'contains' },
{ label: this.$t('common.Startswith'), value: 'startswith' },
{ label: this.$t('common.Endswith'), value: 'endswith' },
{ label: this.$t('common.Regex'), value: 'regex' },
{ label: this.$t('common.IPMatch'), value: 'ip_in' }
]
const attrRelOptions = [
{ label: '与', value: 'and' },
{ label: '或', value: 'or' },
{ label: '非', value: 'not' }
{ label: this.$t('common.RelAnd'), value: 'and' },
{ label: this.$t('common.RelOr'), value: 'or' },
{ label: this.$t('common.RelNot'), value: 'not' }
]
const attrNameOptions = this.attrs.map(attr => ({ label: attr.label, value: attr.name }))
const tableFormatter = (colName) => {
@@ -90,17 +90,17 @@ export default {
iValue: Object.assign({ type: 'all' }, this.value),
ids: this.value.ids || [],
types: [
{ name: 'all', label: '全部' + this.resource },
{ name: 'ids', label: '指定' + this.resource },
{ name: 'attrs', label: '属性选择' }
{ name: 'all', label: this.$t('common.All') + this.resource },
{ name: 'ids', label: this.$t('common.Spec') + this.resource },
{ name: 'attrs', label: this.$t('common.SelectByAttr') }
],
tableConfig: {
columns: [
{ prop: 'name', label: '属性名', formatter: tableFormatter('name') },
{ prop: 'match', label: '匹配', formatter: tableFormatter('match') },
{ prop: 'value', label: '属性值', formatter: tableFormatter('value') },
{ prop: 'rel', label: '关系', formatter: tableFormatter('rel') },
{ prop: 'action', label: '操作', formatter: (row, col, cellValue, index) => {
{ prop: 'name', label: this.$t('common.AttrName'), formatter: tableFormatter('name') },
{ prop: 'match', label: this.$t('common.Match'), formatter: tableFormatter('match') },
{ prop: 'value', label: this.$t('common.AttrValue'), formatter: tableFormatter('value') },
{ prop: 'rel', label: this.$t('common.Relation'), formatter: tableFormatter('rel') },
{ prop: 'action', label: this.$t('common.Action'), formatter: (row, col, cellValue, index) => {
return (
<div className='input-button'>
<el-button

View File

@@ -431,7 +431,11 @@
"AssetTree": "Asset tree",
"SSHPort": "SSH Port",
"PrimaryProtocol": "The primary protocol, the most basic and commonly used protocol for assets, can only and must be set up with one.",
"Primary": "Primary"
"Primary": "Primary",
"CreateCustom": "Create Custom",
"CustomType": "Custom Type",
"CustomHelpMessage": "The assets of custom types require applet support. Please ensure that the corresponding applet is installed.",
"CustomFields": "Custom Fields"
},
"audits": {
"ChangeField": "Change field",
@@ -802,7 +806,25 @@
"Error": "Error",
"Created": "Created",
"Skipped": "Skipped",
"Updated": "Updated"
"Updated": "Updated",
"NotEqual": "Not Equal",
"Startswith": "Starts With",
"AttrName": "Attribute Name",
"SelectByAttr": "Select By Attribute",
"IPMatch": "IP Match",
"Regex": "Regex",
"AttrValue": "Attribute Value",
"Contains": "Contains",
"Match": "Match",
"Spec": "Specific",
"All": "All",
"Endswith": "Ends With",
"RelAnd": "And",
"Equal": "Equal",
"MatchIn": "In ...",
"RelNot": "Not",
"RelOr": "Or",
"Relation": "Relation"
},
"dashboard": {
"ActiveAsset": "Asset active",
@@ -2112,4 +2134,4 @@
"PublishStatus": "Publish status",
"NoPublished": "Unpublished"
}
}
}

View File

@@ -431,7 +431,11 @@
"Category": "カテゴリー",
"SSHPort": "SSH ポート",
"PrimaryProtocol": "主要協議は、資産にとって最も基本的で最も一般的に使用されるプロトコルであり、1つのみ設定でき、必ず設定する必要があります",
"Primary": "主要な"
"Primary": "主要な",
"CreateCustom": "カスタムアセットを作成する",
"CustomType": "カスタムタイプ",
"CustomHelpMessage": "カスタムタイプのアセットにはアプレットのサポートが必要です。対応するアプレットがインストールされていることを確認してください。",
"CustomFields": "カスタム属性"
},
"audits": {
"ChangeField": "フィールドを変更します",
@@ -801,7 +805,25 @@
"Product": "产品",
"Created": "已创建",
"Skipped": "已跳过",
"Updated": "已更新"
"Updated": "已更新",
"NotEqual": "等しくない",
"Startswith": "で始まる",
"AttrName": "属性名",
"SelectByAttr": "属性で選択",
"IPMatch": "IPアドレスが一致する",
"Regex": "正規表現",
"AttrValue": "属性値",
"Contains": "含む",
"Match": "一致する",
"Spec": "指定する",
"All": "すべて",
"Endswith": "で終わる",
"RelAnd": "かつ",
"Equal": "等しい",
"MatchIn": "以下のいずれかに一致する",
"RelNot": "でない",
"RelOr": "または",
"Relation": "関係"
},
"dashboard": {
"TotalJobLog": "ジョブ実行総数",
@@ -2104,4 +2126,4 @@
"PublishStatus": "投稿ステータス",
"NoPublished": "未発表"
}
}
}

View File

@@ -455,6 +455,24 @@
"ReLoginErr": "登录时长已超过 5 分钟,请重新登录"
},
"common": {
"All": "所有",
"Spec": "指定",
"SelectByAttr": "属性筛选",
"AttrName": "属性名",
"AttrValue": "属性值",
"Match": "匹配",
"Relation": "关系",
"Equal": "等于",
"NotEqual": "不等于",
"MatchIn": "在...中",
"Contains": "包含",
"Startswith": "以...开头",
"Endswith": "以...结尾",
"Regex": "正则表达式",
"IPMatch": "IP 匹配",
"RelAnd": "与",
"RelOr": "或",
"RelNot": "非",
"BatchProcessing": "批量处理(选中 {Number} 项)",
"Created": "已创建",
"Updated": "已更新",

View File

@@ -8,6 +8,7 @@ import rules from '@/components/DataForm/rules'
import { cleanFormValueForHandleUserAssetAccount } from '../common'
import { userJSONSelectMeta } from '@/views/users/const'
import { assetJSONSelectMeta } from '@/views/assets/const'
import AccountFormatter from '@/views/perms/AssetPermission/components/AccountFormatter.vue'
export default {
name: 'AclCreateUpdate',
@@ -32,7 +33,12 @@ export default {
assets: assetJSONSelectMeta(this),
users: userJSONSelectMeta(this),
accounts: {
fields: ['username_group']
component: AccountFormatter,
el: {
showAddTemplate: false,
showVirtualAccount: false,
value: {}
}
},
reviewers: {
hidden: (item) => item.action !== 'review',