dashboard-shell-shell 3.0.5-test.18 → 3.0.5-test.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/styles/base/_variables.scss +2 -2
- package/assets/styles/global/_select.scss +1 -1
- package/assets/translations/zh-hans.yaml +7 -1
- package/components/SideNav.vue +1 -1
- package/components/auth/RoleDetailEdit.vue +10 -6
- package/components/form/Select.vue +6 -1
- package/package.json +1 -1
- package/scripts/publish-shell.sh +1 -1
- package/utils/errorTranslate.json +59 -2
|
@@ -593,6 +593,7 @@ assignTo:
|
|
|
593
593
|
workspace: 工作空间
|
|
594
594
|
|
|
595
595
|
stateLabel:
|
|
596
|
+
VM error: 错误
|
|
596
597
|
Locked: 锁定
|
|
597
598
|
Bound: 已绑定
|
|
598
599
|
Running: 运行中
|
|
@@ -3171,7 +3172,7 @@ login:
|
|
|
3171
3172
|
label: 记住用户名
|
|
3172
3173
|
|
|
3173
3174
|
logout:
|
|
3174
|
-
message:
|
|
3175
|
+
message: 正在退出登录...
|
|
3175
3176
|
|
|
3176
3177
|
managementNode:
|
|
3177
3178
|
customName: 自定义名称
|
|
@@ -6512,6 +6513,11 @@ typeDescription:
|
|
|
6512
6513
|
management.cattle.io.user: 用于管理用户账号,支持创建、维护用户信息,可设置用户权限、管理密码等,保障系统资源仅由授权用户访问,提升系统安全性。
|
|
6513
6514
|
harvesterhci.io.management.cluster: 提供虚拟化集群的实时健康状态监控、版本号管理及资源负载管理,支持批量导入/删除集群、配置调优与权限分级功能,实现高效运维管控。
|
|
6514
6515
|
typeLabel:
|
|
6516
|
+
management.cattle.io.project: |-
|
|
6517
|
+
{count, plural,
|
|
6518
|
+
one { 项目 }
|
|
6519
|
+
other { 项目 }
|
|
6520
|
+
}
|
|
6515
6521
|
management.cattle.io.token: |-
|
|
6516
6522
|
{count, plural,
|
|
6517
6523
|
one { API 密钥 }
|
package/components/SideNav.vue
CHANGED
|
@@ -436,7 +436,7 @@ export default {
|
|
|
436
436
|
:aria-label="t('nav.ariaLabel.sideNav')"
|
|
437
437
|
>
|
|
438
438
|
<div class="side-all-title">
|
|
439
|
-
{{ prod == 'Cloud' && currentCluster ? '控制台' : prod }}
|
|
439
|
+
{{ (prod == 'Cloud' || prod == 'Harvester') && currentCluster ? '控制台' : prod }}
|
|
440
440
|
</div>
|
|
441
441
|
|
|
442
442
|
<!-- Actual nav -->
|
|
@@ -705,12 +705,12 @@ export default {
|
|
|
705
705
|
<!-- 列表头部 -->
|
|
706
706
|
<template #column-headers>
|
|
707
707
|
<div class="column-headers row">
|
|
708
|
-
<div :class="ruleClass">
|
|
708
|
+
<div class="arrayListCls" :class="ruleClass">
|
|
709
709
|
<span class="text-label">{{ t('rbac.roletemplate.tabs.grantResources.tableHeaders.verbs') }}
|
|
710
710
|
<span class="required">*</span>
|
|
711
711
|
</span>
|
|
712
712
|
</div>
|
|
713
|
-
<div :class="ruleClass">
|
|
713
|
+
<div class="arrayListCls" :class="ruleClass">
|
|
714
714
|
<span class="text-label">
|
|
715
715
|
{{ t('rbac.roletemplate.tabs.grantResources.tableHeaders.resources') }}
|
|
716
716
|
<i
|
|
@@ -723,7 +723,7 @@ export default {
|
|
|
723
723
|
>*</span>
|
|
724
724
|
</span>
|
|
725
725
|
</div>
|
|
726
|
-
<div :class="ruleClass">
|
|
726
|
+
<div class="arrayListCls" :class="ruleClass">
|
|
727
727
|
<span class="text-label">{{ t('rbac.roletemplate.tabs.grantResources.tableHeaders.apiGroups') }}</span>
|
|
728
728
|
</div>
|
|
729
729
|
<div
|
|
@@ -740,7 +740,7 @@ export default {
|
|
|
740
740
|
<div class="columns row mr-20">
|
|
741
741
|
|
|
742
742
|
<!-- 动作(verbs)选择 -->
|
|
743
|
-
<div :class="ruleClass">
|
|
743
|
+
<div class="arrayListCls" :class="ruleClass">
|
|
744
744
|
<!-- Select verbs -->
|
|
745
745
|
<Select
|
|
746
746
|
:value="props.row.value.verbs"
|
|
@@ -758,7 +758,7 @@ export default {
|
|
|
758
758
|
</div>
|
|
759
759
|
|
|
760
760
|
<!-- 资源(resources)选择 -->
|
|
761
|
-
<div :class="ruleClass">
|
|
761
|
+
<div class="arrayListCls" :class="ruleClass">
|
|
762
762
|
<Select
|
|
763
763
|
style="width: auto;"
|
|
764
764
|
:value="getRule('resources', props.row.value)"
|
|
@@ -776,7 +776,7 @@ export default {
|
|
|
776
776
|
</div>
|
|
777
777
|
|
|
778
778
|
<!-- API Groups 输入 -->
|
|
779
|
-
<div :class="ruleClass">
|
|
779
|
+
<div class="arrayListCls" :class="ruleClass">
|
|
780
780
|
<LabeledInput
|
|
781
781
|
:value="getRule('apiGroups', props.row.value)"
|
|
782
782
|
:disabled="isBuiltin"
|
|
@@ -788,6 +788,7 @@ export default {
|
|
|
788
788
|
|
|
789
789
|
<!-- 非命名空间 URL 输入(仅非命名空间模式显示) -->
|
|
790
790
|
<div
|
|
791
|
+
class="arrayListCls"
|
|
791
792
|
v-if="!isNamespaced"
|
|
792
793
|
:class="ruleClass"
|
|
793
794
|
>
|
|
@@ -859,6 +860,9 @@ export default {
|
|
|
859
860
|
</template>
|
|
860
861
|
|
|
861
862
|
<style lang="scss" scoped>
|
|
863
|
+
.arrayListCls {
|
|
864
|
+
min-width: 360px;
|
|
865
|
+
}
|
|
862
866
|
.ruleCls {
|
|
863
867
|
margin-right: 10px;
|
|
864
868
|
}
|
|
@@ -392,6 +392,10 @@ export default {
|
|
|
392
392
|
.unlabeled-select {
|
|
393
393
|
position: relative;
|
|
394
394
|
|
|
395
|
+
:deep() .vs__actions:after {
|
|
396
|
+
padding-top: 2px;
|
|
397
|
+
}
|
|
398
|
+
|
|
395
399
|
:deep() .v-select.select-input-view {
|
|
396
400
|
.vs__actions {
|
|
397
401
|
visibility: hidden;
|
|
@@ -409,7 +413,8 @@ export default {
|
|
|
409
413
|
|
|
410
414
|
:deep() .vs__selected-options {
|
|
411
415
|
display: flex;
|
|
412
|
-
|
|
416
|
+
align-items: center;
|
|
417
|
+
margin: 0px;
|
|
413
418
|
|
|
414
419
|
.vs__selected {
|
|
415
420
|
width: initial;
|
package/package.json
CHANGED
package/scripts/publish-shell.sh
CHANGED
|
@@ -1,12 +1,59 @@
|
|
|
1
1
|
{
|
|
2
2
|
"translations": [
|
|
3
|
+
{
|
|
4
|
+
"pattern": "The new password must not be the same as the current password",
|
|
5
|
+
"replacement": "新密码不能与当前密码相同,请重新设置",
|
|
6
|
+
"flags": "gi"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"pattern": "guest memory is greater than the configured maxguest memory",
|
|
10
|
+
"replacement": "内存已超过所配置的最大客户机内存",
|
|
11
|
+
"flags": "gi"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"pattern": "memory hotplug is only available for vms with at least (\\d+[a-z]*) of guest memory",
|
|
15
|
+
"replacement": "内存热插拔仅适用于客户机内存至少为 $1 的虚拟机",
|
|
16
|
+
"flags": "gi"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"pattern": "storage class must contain csi\\.storage\\.k8s\\.io/(provisioner-secret-name|provisioner-secret-namespace|node-stage-secret-name|node-stage-secret-namespace|node-publish-secret-name|node-publish-secret-namespace)(?:,\\s*)?(.*)",
|
|
20
|
+
"replacement": "存储池必须包含以下 CSI 密钥注解:$1$2",
|
|
21
|
+
"flags": "gi"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"pattern": "sourceimagename is required when image source type is \"clone\"",
|
|
25
|
+
"replacement": "镜像来源类型为“克隆”时,必须填写源镜像名称",
|
|
26
|
+
"flags": "gi"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"pattern": "([^\"\\s]+) exceeds the file size limit of (\\d+) bytes",
|
|
30
|
+
"replacement": "文件 '$1' 超过大小限制 $2 字节",
|
|
31
|
+
"flags": "gi"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"pattern": "failure while starting vmi: virtualmachineinstance\\.kubevirt\\.io \"([^\"]+)\" is invalid: metadata\\.labels: invalid value: \"([^\"]+)\": name part must consist of alphanumeric characters, '-', '_' or '\\.', and must start and end with an alphanumeric character",
|
|
35
|
+
"replacement": "启动虚拟机实例失败:'$1' 标签值 '$2' 无效,只能包含字母、数字、'-','_'或'.',且以字母/数字开头和结尾",
|
|
36
|
+
"flags": "gi"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"pattern": "virtualmachine\\.kubevirt\\.io \"([^\"]+)\" is invalid:[\\s\\S]*?metadata\\.labels: invalid value: \"([^\"]*)\"[\\s\\S]*?regex used for validation is '([^']+)'",
|
|
40
|
+
"replacement": "虚拟机 '$1' 标签值 '$2' 无效:只能包含字母、数字、'-','_' 或 '.',且以字母/数字开头结尾(正则:$3)",
|
|
41
|
+
"flags": "gi"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"pattern": "virtualmachine\\.kubevirt\\.io \"([^\"]+)\" is invalid:[\\s\\S]*?spec\\.template: Invalid value: corev1\\.PodTemplateSpec \\{[\\s\\S]*?spec: corev1\\.PodSpec \\{[\\s\\S]*?containers: \\[corev1\\.Container \\{[\\s\\S]*?image: \"([^\"]*)\",[\\s\\S]*?\\}\\],[\\s\\S]*?nodeSelector: map\\[([^:]+): ([^\\]]+)\\],[\\s\\S]*?\\},[\\s\\S]*?\\},[\\s\\S]*?\\},[\\s\\S]*?regex used for validation is '([^']+)'",
|
|
45
|
+
"replacement": "虚拟机 '$1' 的镜像 '$2' 无法在节点标签 '$3=$4' 的节点上运行(正则:$5)",
|
|
46
|
+
"flags": "gi"
|
|
47
|
+
},
|
|
3
48
|
{
|
|
4
49
|
"pattern": "role is locked and cannot be assigned",
|
|
5
|
-
"replacement": "角色已被锁定,不能再分配"
|
|
50
|
+
"replacement": "角色已被锁定,不能再分配",
|
|
51
|
+
"flags": "gi"
|
|
6
52
|
},
|
|
7
53
|
{
|
|
8
54
|
"pattern": "invalid current password",
|
|
9
|
-
"replacement": "
|
|
55
|
+
"replacement": "当前密码输入错误,请重新输入",
|
|
56
|
+
"flags": "gi"
|
|
10
57
|
},
|
|
11
58
|
{
|
|
12
59
|
"pattern": "spec\\.template\\.spec\\.podaffinity\\.requiredduringschedulingignoredduringexecution\\[(\\d+)\\]\\.topologykey: required value: can not be empty[\\s\\S]*?regex used for validation is '([^']+)'",
|
|
@@ -163,11 +210,17 @@
|
|
|
163
210
|
"replacement": "无效的下一跳地址",
|
|
164
211
|
"flags": "gi"
|
|
165
212
|
},
|
|
213
|
+
{
|
|
214
|
+
"pattern": "number of sockets in cpu topology is greater than the maximum sockets allowed, number of sockets in cpu topology is greater than the maximum sockets allowed",
|
|
215
|
+
"replacement": "CPU 拓扑中的 socket 数量已超过最大允许值",
|
|
216
|
+
"flags": "gi"
|
|
217
|
+
},
|
|
166
218
|
{
|
|
167
219
|
"pattern": "number of sockets in cpu topology is greater than the maximum sockets allowed",
|
|
168
220
|
"replacement": "CPU 拓扑中的 socket 数量已超过最大允许值",
|
|
169
221
|
"flags": "gi"
|
|
170
222
|
},
|
|
223
|
+
|
|
171
224
|
{
|
|
172
225
|
"pattern": "not a default subnet join as provider is ([^\\s]+)",
|
|
173
226
|
"replacement": "非默认子网,当前以提供者 $1 加入",
|
|
@@ -1516,6 +1569,10 @@
|
|
|
1516
1569
|
"pattern": ""备份" 是必填项。",
|
|
1517
1570
|
"replacement": "\"快照/备份\" 是必填项"
|
|
1518
1571
|
},
|
|
1572
|
+
{
|
|
1573
|
+
"pattern": "namespaces",
|
|
1574
|
+
"replacement": "资源组"
|
|
1575
|
+
},
|
|
1519
1576
|
{
|
|
1520
1577
|
"pattern": "%",
|
|
1521
1578
|
"replacement": ""
|