dashboard-shell-shell 3.0.5-test.8 → 3.0.5-test.80

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.
Files changed (220) hide show
  1. package/assets/brand/csp/favicon.png +0 -0
  2. package/assets/icons/iconfont.css +4 -1
  3. package/assets/iconsNew/demo.css +539 -0
  4. package/assets/iconsNew/demo.css:Zone.Identifier +0 -0
  5. package/assets/iconsNew/demo_index.html +303 -0
  6. package/assets/iconsNew/demo_index.html:Zone.Identifier +0 -0
  7. package/assets/iconsNew/iconfont.css +43 -0
  8. package/assets/iconsNew/iconfont.css:Zone.Identifier +0 -0
  9. package/assets/iconsNew/iconfont.js +1 -0
  10. package/assets/iconsNew/iconfont.js:Zone.Identifier +0 -0
  11. package/assets/iconsNew/iconfont.json +44 -0
  12. package/assets/iconsNew/iconfont.json:Zone.Identifier +0 -0
  13. package/assets/iconsNew/iconfont.ttf +0 -0
  14. package/assets/iconsNew/iconfont.ttf:Zone.Identifier +0 -0
  15. package/assets/iconsNew/iconfont.woff +0 -0
  16. package/assets/iconsNew/iconfont.woff2 +0 -0
  17. package/assets/iconsNew/iconfont.woff2:Zone.Identifier +0 -0
  18. package/assets/iconsNew/iconfont.woff:Zone.Identifier +0 -0
  19. package/assets/images/login-logo.svg +110 -12
  20. package/assets/images/logo.svg +129 -0
  21. package/assets/images/pl/dark/logo.svg +129 -0
  22. package/assets/images/pl/logo.svg +129 -0
  23. package/assets/styles/all.scss +23 -3
  24. package/assets/styles/app.scss +1 -0
  25. package/assets/styles/base/_helpers.scss +1 -1
  26. package/assets/styles/base/_variables.scss +2 -2
  27. package/assets/styles/fonts/_icons.scss +3 -2
  28. package/assets/styles/global/_button.scss +1 -1
  29. package/assets/styles/global/_form.scss +1 -0
  30. package/assets/styles/global/_select.scss +1 -1
  31. package/assets/styles/global/_tooltip.scss +5 -1
  32. package/assets/styles/themes/_light.scss +3 -3
  33. package/assets/styles/vendor/vue-select.scss +2 -1
  34. package/assets/translations/en-us.yaml +67 -0
  35. package/assets/translations/zh-hans.yaml +226 -24
  36. package/components/ButtonDropdown.vue +3 -1
  37. package/components/ClusterIconMenu.vue +1 -1
  38. package/components/CodeMirror.vue +6 -4
  39. package/components/ConsumptionGauge.vue +1 -1
  40. package/components/ContainerResourceLimit.vue +2 -2
  41. package/components/CruResource.vue +3 -2
  42. package/components/Drawer/ResourceDetailDrawer/ConfigTab.vue +22 -19
  43. package/components/Drawer/ResourceDetailDrawer/index.vue +3 -3
  44. package/components/ExplorerMembers.vue +10 -1
  45. package/components/GlobalRoleBindings.vue +69 -114
  46. package/components/PodSecurityAdmission.vue +1 -1
  47. package/components/PromptRemove.vue +23 -1
  48. package/components/RelatedResources.vue +3 -0
  49. package/components/Resource/Detail/TitleBar/composables.ts +16 -1
  50. package/components/Resource/Detail/TitleBar/index.vue +37 -24
  51. package/components/ResourceDetail/Masthead/index.vue +1 -1
  52. package/components/ResourceDetail/Masthead/latest.vue +1 -1
  53. package/components/ResourceDetail/Masthead/legacy.vue +8 -7
  54. package/components/ResourceDetail/legacy.vue +15 -15
  55. package/components/ResourceList/Masthead.vue +16 -15
  56. package/components/ResourceTable.vue +16 -0
  57. package/components/SideNav.vue +21 -21
  58. package/components/SingleClusterInfo.vue +2 -1
  59. package/components/SortableTable/THead.vue +46 -1
  60. package/components/SortableTable/index.vue +54 -18
  61. package/components/Tabbed/index.vue +6 -1
  62. package/components/actionButton/index.vue +649 -0
  63. package/components/auth/Principal.vue +16 -8
  64. package/components/auth/RoleDetailEdit.vue +11 -7
  65. package/components/breadcrumb/index.vue +13 -210
  66. package/components/form/ArrayList.vue +164 -147
  67. package/components/form/ArrayListGrouped.vue +5 -3
  68. package/components/form/ChangePassword.vue +1 -1
  69. package/components/form/ClusterAppearance.vue +4 -3
  70. package/components/form/Command.vue +4 -5
  71. package/components/form/Conditions.vue +15 -1
  72. package/components/form/Footer.vue +1 -0
  73. package/components/form/HealthCheck.vue +0 -2
  74. package/components/form/HookOption.vue +87 -58
  75. package/components/form/InputWithSelect.vue +8 -7
  76. package/components/form/KeyValue.vue +20 -2
  77. package/components/form/LabeledSelect.vue +3 -1
  78. package/components/form/Labels.vue +2 -2
  79. package/components/form/MatchExpressions.vue +4 -4
  80. package/components/form/Members/ClusterMembershipEditor.vue +1 -1
  81. package/components/form/Members/ClusterPermissionsEditor.vue +60 -41
  82. package/components/form/Members/MembershipEditor.vue +4 -4
  83. package/components/form/Members/ProjectMembershipEditor.vue +1 -1
  84. package/components/form/NameNsDescription.vue +3 -2
  85. package/components/form/Networking.vue +6 -9
  86. package/components/form/NodeAffinity.vue +29 -28
  87. package/components/form/PodAffinity.vue +23 -23
  88. package/components/form/Probe.vue +15 -11
  89. package/components/form/ProjectMemberEditor.vue +66 -48
  90. package/components/form/ResourceQuota/Namespace.vue +4 -4
  91. package/components/form/ResourceQuota/NamespaceRow.vue +11 -9
  92. package/components/form/ResourceQuota/Project.vue +4 -4
  93. package/components/form/ResourceQuota/ProjectRow.vue +36 -30
  94. package/components/form/ResourceSelector.vue +1 -1
  95. package/components/form/SecretSelector.vue +24 -23
  96. package/components/form/Security.vue +1 -3
  97. package/components/form/Select.vue +7 -1
  98. package/components/form/ServiceNameSelect.vue +2 -5
  99. package/components/form/ServicePorts.vue +149 -75
  100. package/components/form/Tolerations.vue +13 -9
  101. package/components/form/ValueFromResource.vue +110 -96
  102. package/components/formatter/WorkloadHealthScale.vue +4 -3
  103. package/components/nav/Group.vue +8 -1
  104. package/components/nav/Header.vue +51 -174
  105. package/components/nav/NamespaceFilter.vue +14 -19
  106. package/components/nav/TopLevelMenu.vue +100 -126
  107. package/components/nav/Type.vue +11 -3
  108. package/config/menuRouteMap.js +10 -0
  109. package/config/private-label.js +2 -3
  110. package/config/product/explorer.js +32 -10
  111. package/config/product/manager.js +28 -17
  112. package/config/product/uiplugins.js +13 -10
  113. package/config/router/navigation-guards/index.js +61 -3
  114. package/detail/node.vue +28 -23
  115. package/dialog/AddCustomBadgeDialog.vue +17 -9
  116. package/dialog/RollbackWorkloadDialog.vue +1 -1
  117. package/edit/autoscaling.horizontalpodautoscaler/external-metric.vue +1 -1
  118. package/edit/autoscaling.horizontalpodautoscaler/hpa-scaling-rule.vue +9 -6
  119. package/edit/autoscaling.horizontalpodautoscaler/index.vue +3 -1
  120. package/edit/autoscaling.horizontalpodautoscaler/metric-identifier.vue +2 -2
  121. package/edit/autoscaling.horizontalpodautoscaler/metric-object-reference.vue +7 -5
  122. package/edit/autoscaling.horizontalpodautoscaler/metric-target.vue +5 -3
  123. package/edit/autoscaling.horizontalpodautoscaler/metrics-row.vue +2 -2
  124. package/edit/autoscaling.horizontalpodautoscaler/object-metric.vue +2 -2
  125. package/edit/autoscaling.horizontalpodautoscaler/pod-metric.vue +1 -1
  126. package/edit/autoscaling.horizontalpodautoscaler/resource-metric.vue +2 -2
  127. package/edit/configmap.vue +4 -0
  128. package/edit/logging-flow/index.vue +1 -2
  129. package/edit/logging.banzaicloud.io.output/providers/awsElasticsearch.vue +3 -3
  130. package/edit/logging.banzaicloud.io.output/providers/azurestorage.vue +19 -19
  131. package/edit/logging.banzaicloud.io.output/providers/cloudwatch.vue +23 -23
  132. package/edit/logging.banzaicloud.io.output/providers/datadog.vue +19 -19
  133. package/edit/logging.banzaicloud.io.output/providers/elasticsearch.vue +14 -14
  134. package/edit/logging.banzaicloud.io.output/providers/forward.vue +12 -12
  135. package/edit/logging.banzaicloud.io.output/providers/gcs.vue +23 -23
  136. package/edit/logging.banzaicloud.io.output/providers/gelf.vue +6 -6
  137. package/edit/logging.banzaicloud.io.output/providers/kafka.vue +10 -10
  138. package/edit/logging.banzaicloud.io.output/providers/kinesisStream.vue +8 -8
  139. package/edit/logging.banzaicloud.io.output/providers/logdna.vue +17 -17
  140. package/edit/logging.banzaicloud.io.output/providers/logz.vue +7 -7
  141. package/edit/logging.banzaicloud.io.output/providers/loki.vue +12 -12
  142. package/edit/logging.banzaicloud.io.output/providers/newrelic.vue +3 -3
  143. package/edit/logging.banzaicloud.io.output/providers/opensearch.vue +14 -14
  144. package/edit/logging.banzaicloud.io.output/providers/redis.vue +6 -6
  145. package/edit/logging.banzaicloud.io.output/providers/s3.vue +23 -23
  146. package/edit/logging.banzaicloud.io.output/providers/splunkHec.vue +13 -13
  147. package/edit/logging.banzaicloud.io.output/providers/sumologic.vue +2 -2
  148. package/edit/logging.banzaicloud.io.output/providers/syslog.vue +54 -54
  149. package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +32 -8
  150. package/edit/monitoring.coreos.com.alertmanagerconfig/types/dingding.vue +32 -0
  151. package/edit/monitoring.coreos.com.alertmanagerconfig/types/message.vue +52 -0
  152. package/edit/monitoring.coreos.com.alertmanagerconfig/types/snmp.vue +45 -0
  153. package/edit/monitoring.coreos.com.alertmanagerconfig/types/work.vue +31 -0
  154. package/edit/networking.k8s.io.ingress/Certificate.vue +14 -5
  155. package/edit/networking.k8s.io.ingress/DefaultBackend.vue +2 -2
  156. package/edit/networking.k8s.io.ingress/Rule.vue +5 -11
  157. package/edit/networking.k8s.io.ingress/RulePath.vue +105 -96
  158. package/edit/networking.k8s.io.networkpolicy/PolicyRule.vue +3 -3
  159. package/edit/networking.k8s.io.networkpolicy/PolicyRulePort.vue +4 -2
  160. package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +12 -11
  161. package/edit/networking.k8s.io.networkpolicy/index.vue +1 -1
  162. package/edit/persistentvolume/index.vue +3 -1
  163. package/edit/persistentvolumeclaim.vue +2 -0
  164. package/edit/provisioning.cattle.io.cluster/tabs/Basics.vue +1 -1
  165. package/edit/secret/index.vue +2 -2
  166. package/edit/service.vue +4 -1
  167. package/edit/storage.k8s.io.storageclass/index.vue +10 -8
  168. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/aws-ebs.vue +34 -27
  169. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/gce-pd.vue +15 -13
  170. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/vsphere-volume.vue +41 -39
  171. package/edit/workload/Job.vue +31 -34
  172. package/edit/workload/Upgrading.vue +5 -5
  173. package/edit/workload/index.vue +19 -15
  174. package/edit/workload/storage/Mount.vue +1 -0
  175. package/edit/workload/storage/awsElasticBlockStore.vue +9 -7
  176. package/edit/workload/storage/azureDisk.vue +14 -10
  177. package/edit/workload/storage/azureFile.vue +9 -7
  178. package/edit/workload/storage/csi/index.vue +6 -9
  179. package/edit/workload/storage/emptyDir.vue +7 -5
  180. package/edit/workload/storage/gcePersistentDisk.vue +9 -7
  181. package/edit/workload/storage/hostPath.vue +7 -5
  182. package/edit/workload/storage/nfs.vue +8 -6
  183. package/edit/workload/storage/persistentVolumeClaim/index.vue +12 -10
  184. package/edit/workload/storage/persistentVolumeClaim/persistentvolumeclaim.vue +20 -15
  185. package/edit/workload/storage/secret.vue +9 -6
  186. package/edit/workload/storage/vsphereVolume.vue +11 -7
  187. package/initialize/app-extended.js +7 -1
  188. package/list/management.cattle.io.podsecurityadmissionconfigurationtemplate.vue +8 -6
  189. package/mixins/create-edit-view/impl.js +10 -0
  190. package/models/provisioning.cattle.io.cluster.js +19 -18
  191. package/models/workload.js +2 -2
  192. package/package.json +1 -1
  193. package/pages/account/index.vue +93 -58
  194. package/pages/auth/login.vue +25 -28
  195. package/pages/auth/setup.vue +36 -17
  196. package/pages/c/_cluster/auth/roles/index.vue +27 -3
  197. package/pages/c/_cluster/explorer/ConfigBadge.vue +1 -1
  198. package/pages/c/_cluster/explorer/index.vue +2 -1
  199. package/pages/c/_cluster/explorer/tools/index.vue +6 -6
  200. package/pages/home.vue +55 -13
  201. package/pkg/tsconfig.json +9 -9
  202. package/pkg/vue.config.js +1 -1
  203. package/plugins/dashboard-store/actions.js +1 -1
  204. package/public/index.html +1 -1
  205. package/rancher-components/Banner/Banner.vue +14 -2
  206. package/rancher-components/Form/Radio/RadioGroup.vue +9 -1
  207. package/rancher-components/LabeledTooltip/LabeledTooltip.vue +31 -2
  208. package/scripts/build-pkg.sh +18 -23
  209. package/scripts/publish-shell.sh +1 -1
  210. package/store/i18n.js +1 -0
  211. package/store/index.js +4 -4
  212. package/store/type-map.js +0 -2
  213. package/types/shell/index.d.ts +8 -0
  214. package/utils/error.js +23 -3
  215. package/utils/errorTranslate.json +402 -8
  216. package/utils/errorTranslateNew.json +39 -0
  217. package/utils/roleFiltering.js +33 -0
  218. package/utils/title.ts +1 -1
  219. package/vue.config.js +1 -1
  220. /package/assets/images/{logo.png → pl/dark/logo.png} +0 -0
@@ -1,5 +1,371 @@
1
1
  {
2
2
  "translations": [
3
+ {
4
+ "pattern": "the status of pod readiness gate "kubevirt\\.io/virtual-machine-unpaused" is not "true", but false",
5
+ "replacement": "这个只有当虚拟机处于运行状态(非暂停)时,才能进行暂停操作",
6
+ "flags": "gi"
7
+ },
8
+ {
9
+ "pattern": "can't delete vlanconfig (\\S+) because the storage network nad (\\S+) is still attached",
10
+ "replacement": "无法删除 VLAN 配置 '$1':存储网络附加定义 '$2' 仍在使用",
11
+ "flags": "gi"
12
+ },
13
+ {
14
+ "pattern": "please stop all workloads before configuring the storage-network setting",
15
+ "replacement": "配置存储网络设置前,请先停止所有工作负载",
16
+ "flags": "gi"
17
+ },
18
+ {
19
+ "pattern": "failure while starting vmi: arm64 not support this disk bus type, please use virtio or scsi",
20
+ "replacement": "启动虚拟机实例失败:ARM64 架构不支持此磁盘总线类型,请使用 virtio 或 scsi",
21
+ "flags": "gi"
22
+ },
23
+ {
24
+ "pattern": "the server could not find the requested resource",
25
+ "replacement": "服务器无法找到请求的资源",
26
+ "flags": "gi"
27
+ },
28
+ {
29
+ "pattern": "failed to create vm backup, error: provisioner nfs.csi.k8s.io is not supported for type backup",
30
+ "replacement": "创建虚拟机备份失败, 错误:nfs存储不支持备份",
31
+ "flags": "gi"
32
+ },
33
+ {
34
+ "pattern": "maximum call stack size exceeded",
35
+ "replacement": "超出最大调用堆栈大小",
36
+ "flags": "gi"
37
+ },
38
+ {
39
+ "pattern": "([^\\s]+) in excludeips is not a valid ip range",
40
+ "replacement": "excludeIPs 中的地址段 '$1' 不是有效的 IP 范围",
41
+ "flags": "gi"
42
+ },
43
+ {
44
+ "pattern": "fail to create service, error: service "([^&]+)" is invalid: metadata\\.name: invalid value: "([^&]+)": a dns-1035 label must consist of lower case alphanumeric characters or '-', start with an alphabetic character, and end with an alphanumeric character",
45
+ "replacement": "创建服务失败:服务名称 \"$2\" 不符合 DNS-1035 规则,只能使用小写字母、数字或 '-',并以字母开头、字母或数字结尾",
46
+ "flags": "gi"
47
+ },
48
+ {
49
+ "pattern": "(\\S+) \"(\\S+)\" is forbidden: user \"(\\S+)\" cannot update resource \"(\\S+)\" in api group \"(\\S+)\" at the cluster scope",
50
+ "replacement": "$1 \"$2\" 被禁止:用户 \"$3\" 无权在集群范围内更新 API 组 \"$5\" 中的资源 \"$4\"",
51
+ "flags": "gi"
52
+ },
53
+ {
54
+ "pattern": "virtualmachine\\.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\\]",
55
+ "replacement": "虚拟机 \"$1\" 标签值 \"$2\" 无效:只能包含字母、数字、'-','_'或'.',且以字母/数字开头和结尾",
56
+ "flags": "gi"
57
+ },
58
+ {
59
+ "pattern": "failed to list objects with param:[\\s\\S]*?invalidaccesskeyid[\\s\\S]*?the access key id you provided does not exist in our records(?:[\\s\\S]*?403 [a-f0-9]+)?",
60
+ "replacement": "列举对象失败:AccessKey ID 不存在,请检查密钥是否正确",
61
+ "flags": "gi"
62
+ },
63
+ {
64
+ "pattern": "failed to list objects with param:[\\s\\S]*?signaturedoesnotmatch[\\s\\S]*?check your key and signing method(?:[\\s\\S]*?403 [a-f0-9]+)?",
65
+ "replacement": "列举对象失败:签名不匹配,请确认 AccessKey、SecretKey 及签名方法配置正确",
66
+ "flags": "gi"
67
+ },
68
+ {
69
+ "pattern": "ip (\\S+) in excludeips is not a valid address",
70
+ "replacement": "排除 IP中的地址 '$1' 无效",
71
+ "flags": "gi"
72
+ },
73
+ {
74
+ "pattern": "name part必须 consist of alphanumeric characters, '-', '_'或'.',和must开始and end with an alphanumeric character",
75
+ "replacement": "只能包含字母、数字、'-','_'或'.',且以字母/数字开头和结尾",
76
+ "flags": "gi"
77
+ },
78
+ {
79
+ "pattern": "failure while starting vmi: ",
80
+ "replacement": "虚拟机启动失败:",
81
+ "flags": "gi"
82
+ },
83
+ {
84
+ "pattern": "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",
85
+ "replacement": "'$1' 标签值 '$2' 无效,只能包含字母、数字、'-','_'或'.',且以字母/数字开头和结尾",
86
+ "flags": "gi"
87
+ },
88
+ {
89
+ "pattern": "failed calling webhook \"([^\"]+)\": failed to call webhook: post \"([^\"]+)\": no endpoints available for service \"([^\"]+)\"",
90
+ "replacement": "调用准入钩子 '$1' 失败:服务 '$3' 无可用端点,请检查对应服务状态",
91
+ "flags": "gi"
92
+ },
93
+ {
94
+ "pattern": "failed to list objects with param:[\\s\\S]*?unsupported protocol scheme \"([^\"]+)\"",
95
+ "replacement": "列举对象失败:不支持协议方案 \"$1\",请检查 URL 协议是否正确",
96
+ "flags": "gi"
97
+ },
98
+ {
99
+ "pattern": "subnet (\\S+) cidr (\\S+) is conflict with subnet (\\S+) cidr (\\S+)",
100
+ "replacement": "子网 '$1' CIDR $2 与子网 '$3' CIDR $4 冲突",
101
+ "flags": "gi"
102
+ },
103
+ {
104
+ "pattern": "virtualmachine\\.kubevirt\\.io \"([^\"]+)\" is invalid: metadata\\.annotations: invalid value: \"([^\"]+)\": name part must consist of alphanumeric characters, '-', '_' or '\\.', and must start and end with an alphanumeric character",
105
+ "replacement": "虚拟机 '$1' 注解值 '$2' 无效:只能包含字母、数字、'-','_'或'.',且以字母/数字开头和结尾",
106
+ "flags": "gi"
107
+ },
108
+ {
109
+ "pattern": "storage class must contain (csi\\.storage\\.k8s\\.io/(?:provisioner|node-stage|node-publish)-secret-(?:name|namespace)(?:,\\s*|$))+",
110
+ "replacement": "密钥不能为空",
111
+ "flags": "gi"
112
+ },
113
+ {
114
+ "pattern": "can't delete vlanconfig (\\S+) because it is blocked by vm\\(s\\) ([^,]+(?:,\\s*[^,\\s]+)*) which must be stopped at first",
115
+ "replacement": "无法删除 VLAN 配置 '$1':需先停止虚拟机 '$2'",
116
+ "flags": "gi"
117
+ },
118
+ {
119
+ "pattern": "spec\\.template\\.spec\\.podaffinity\\.requiredduringschedulingignoredduringexecution\\[(\\d+)\\]\\.topologykey: required value: can not be empty[\\s\\S]*?invalid value: \"\"[\\s\\S]*?must start and end with an alphanumeric character",
120
+ "replacement": "拓扑键不能为空",
121
+ "flags": "gi"
122
+ },
123
+ {
124
+ "pattern": "can't delete vlanconfig (\\S+) because it is blocked by vm\\(s\\) ([^,]+(?:,\\s*[^,\\s]+)*) which must be stopped at first",
125
+ "replacement": "无法删除 VLAN 配置 '$1':需先停止虚拟机 '$2'",
126
+ "flags": "gi"
127
+ },
128
+ {
129
+ "pattern": "spec\\.template\\.spec\\.podaffinity\\.requiredduringschedulingignoredduringexecution\\[(\\d+)\\]\\.topologykey: required value: can not be empty[\\s\\S]*?invalid value: \"\"[\\s\\S]*?must start and end with an alphanumeric character",
130
+ "replacement": "拓扑键不能为空",
131
+ "flags": "gi"
132
+ },
133
+ {
134
+ "pattern": "failed to list objects with param:[\\s\\S]*?authorizationheadermalformed[\\s\\S]*?the region is wrong; expecting '([^']+)'[\\s\\S]*",
135
+ "replacement": "参数错误,无法连接到服务器",
136
+ "flags": "gi"
137
+ },
138
+ {
139
+ "pattern": "has timed out progressing.",
140
+ "replacement": "状态更新超时。",
141
+ "flags": "gi"
142
+ },
143
+ {
144
+ "pattern": "The new password must not be the same as the current password",
145
+ "replacement": "新密码不能与当前密码相同,请重新设置",
146
+ "flags": "gi"
147
+ },
148
+ {
149
+ "pattern": "guest memory is greater than the configured maxguest memory",
150
+ "replacement": "内存已超过所配置的最大客户机内存",
151
+ "flags": "gi"
152
+ },
153
+ {
154
+ "pattern": "memory hotplug is only available for vms with at least (\\d+[a-z]*) of guest memory",
155
+ "replacement": "内存热插拔仅适用于客户机内存至少为 $1 的虚拟机",
156
+ "flags": "gi"
157
+ },
158
+ {
159
+ "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*)?(.*)",
160
+ "replacement": "存储池必须包含以下 CSI 密钥注解:$1$2",
161
+ "flags": "gi"
162
+ },
163
+ {
164
+ "pattern": "sourceimagename is required when image source type is \"clone\"",
165
+ "replacement": "镜像来源类型为“克隆”时,必须填写源镜像名称",
166
+ "flags": "gi"
167
+ },
168
+ {
169
+ "pattern": "([^\"\\s]+) exceeds the file size limit of (\\d+) bytes",
170
+ "replacement": "文件 '$1' 超过大小限制 $2 字节",
171
+ "flags": "gi"
172
+ },
173
+ {
174
+ "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",
175
+ "replacement": "启动虚拟机实例失败:'$1' 标签值 '$2' 无效,只能包含字母、数字、'-','_'或'.',且以字母/数字开头和结尾",
176
+ "flags": "gi"
177
+ },
178
+ {
179
+ "pattern": "virtualmachine\\.kubevirt\\.io \"([^\"]+)\" is invalid:[\\s\\S]*?metadata\\.labels: invalid value: \"([^\"]*)\"[\\s\\S]*?regex used for validation is '([^']+)'",
180
+ "replacement": "虚拟机 '$1' 标签值 '$2' 无效:只能包含字母、数字、'-','_' 或 '.',且以字母/数字开头结尾(正则:$3)",
181
+ "flags": "gi"
182
+ },
183
+ {
184
+ "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 '([^']+)'",
185
+ "replacement": "虚拟机 '$1' 的镜像 '$2' 无法在节点标签 '$3=$4' 的节点上运行(正则:$5)",
186
+ "flags": "gi"
187
+ },
188
+ {
189
+ "pattern": "role is locked and cannot be assigned",
190
+ "replacement": "角色已被锁定,不能再分配",
191
+ "flags": "gi"
192
+ },
193
+ {
194
+ "pattern": "invalid current password",
195
+ "replacement": "当前密码输入错误,请重新输入",
196
+ "flags": "gi"
197
+ },
198
+ {
199
+ "pattern": "spec\\.template\\.spec\\.podaffinity\\.requiredduringschedulingignoredduringexecution\\[(\\d+)\\]\\.topologykey: required value: can not be empty[\\s\\S]*?regex used for validation is '([^']+)'",
200
+ "replacement": "拓扑键不能为空",
201
+ "flags": "gi"
202
+ },
203
+ {
204
+ "pattern": "pcidevice ([^\\s]+) has no iommugroup available",
205
+ "replacement": "PCI 设备 '$1' 没有可用的 IOMMU 组",
206
+ "flags": "gi"
207
+ },
208
+ {
209
+ "pattern": "invalidbodycontent 422: failed to parse totalsnapshotsizequota: quantities must match the regular expression '\\^\\(\\[\\+\\-\\]\\?\\[0-9\\.\\]\\+\\)\\(\\[eeinumkkmgtp\\]\\*\\[\\-\\+\\]\\?\\[0-9\\]\\*\\)\\$'",
210
+ "replacement": "快照配额不能为空",
211
+ "flags": "gi"
212
+ },
213
+ {
214
+ "pattern": "secrets \"([^\"]+)\" already exists",
215
+ "replacement": "密钥 \"$1\" 已存在",
216
+ "flags": "gi"
217
+ },
218
+ {
219
+ "pattern": "backup target is invalid",
220
+ "replacement": "备份目标无效",
221
+ "flags": "gi"
222
+ },
223
+ {
224
+ "pattern": "failed to list objects with param:[\\s\\S]*?server gave http response to https client",
225
+ "replacement": "列举对象失败:服务器返回 HTTP 响应,但客户端使用 HTTPS,请检查协议配置",
226
+ "flags": "gi"
227
+ },
228
+ {
229
+ "pattern": "clusternetwork\\.network\\.harvesterhci\\.io \"([^\"]+)\" is invalid: metadata\\.name: invalid value: \"([^\"]*)\": a lowercase rfc 1123 subdomain must consist of lower case alphanumeric characters, '-' or '\\.', and must start and end with an alphanumeric character",
230
+ "replacement": "集群网络名称 '$1' 无效:须符合 RFC 1123 子域名规则,只能使用小写字母、数字、'-' 或 '.',且以字母或数字开头和结尾",
231
+ "flags": "gi"
232
+ },
233
+ {
234
+ "pattern": "loadbalancer\\.loadbalancer\\.harvesterhci\\.io \"([^\"]+)\" is invalid: \\[spec\\.listeners\\[(\\d+)\\]\\.(backendport|port): required value[^\\]]*\\]",
235
+ "replacement": "负载均衡器 '$1' 配置无效:第 $2 个监听器的 $3 为必填项",
236
+ "flags": "gi"
237
+ },
238
+ {
239
+ "pattern": "can't delete cluster network (\\S+) because vlanconfig\\(s\\) \\[(.*?)\\] under this clusternetwork are still existing",
240
+ "replacement": "无法删除集群网络 '$1',因其下仍存在 VLAN 配置 [$2]",
241
+ "flags": "gi"
242
+ },
243
+ {
244
+ "pattern": "value: (\\d+) must be in range \\[1 \\.\\. (\\d+)\\]",
245
+ "replacement": "值 $1 超出范围,必须在 1–$2 之间",
246
+ "flags": "gi"
247
+ },
248
+ {
249
+ "pattern": "can't delete vlanconfig (\\S+) because it is blocked by vm\\(s\\) ([^/]+)/(\\S+) which must be stopped at first",
250
+ "replacement": "无法删除 VLAN 配置 '$1':需先停止虚拟机 '$2/$3'",
251
+ "flags": "gi"
252
+ },
253
+ {
254
+ "pattern": "cannot find nfs path",
255
+ "replacement": "无法找到 NFS 路径",
256
+ "flags": "gi"
257
+ },
258
+ {
259
+ "pattern": "get \"([^\"]+)\": unsupported protocol scheme \"\"",
260
+ "replacement": "url 无效",
261
+ "flags": "gi"
262
+ },
263
+ {
264
+ "pattern": "cannot mount nfs ([^\\s]+)[\\s\\S]*?no such file or directory[\\s\\S]*?cannot mount using nfsv4",
265
+ "replacement": "备份存储的端点无法访问",
266
+ "flags": "gi"
267
+ },
268
+ {
269
+ "pattern": "can't create nad ([^/]+)/([^\\s]+) because the gateway ([^\\s]+) is invalid",
270
+ "replacement": "无法创建虚拟网络 '$1/$2',因为网关 '$3' 无效",
271
+ "flags": "gi"
272
+ },
273
+ {
274
+ "pattern": "can't create nad ([^/]+)/([^\\s]+) because the cidr ([^\\s]+) is invalid",
275
+ "replacement": "无法创建虚拟网络 '$1/$2',因为 CIDR '$3' 无效",
276
+ "flags": "gi"
277
+ },
278
+ {
279
+ "pattern": "no matching backup found for url ([^\\s]+) and backing image ([^\\s]+)",
280
+ "replacement": "未找到与 URL $1 和镜像 $2 匹配的备份",
281
+ "flags": "gi"
282
+ },
283
+ {
284
+ "pattern": "take virtual machine snapshot ([^\\s]+) successfully\\.",
285
+ "replacement": "虚拟机快照 '$1' 创建成功。",
286
+ "flags": "gi"
287
+ },
288
+ {
289
+ "pattern": "delete virtual machine snapshot ([^\\s]+) successfully\\.",
290
+ "replacement": "虚拟机快照 '$1' 删除成功。",
291
+ "flags": "gi"
292
+ },
293
+ {
294
+ "pattern": "restore virtual machine snapshot ([^\\s]+) successfully\\.",
295
+ "replacement": "虚拟机快照 '$1' 恢复成功。",
296
+ "flags": "gi"
297
+ },
298
+ {
299
+ "pattern": "update virtual machine snapshot ([^\\s]+) successfully\\.",
300
+ "replacement": "虚拟机快照 '$1' 更新成功。",
301
+ "flags": "gi"
302
+ },
303
+ {
304
+ "pattern": "failed to create subnet ([^\\s]+), conflict with existing subnet ([^\\s]+)",
305
+ "replacement": "创建子网 '$1' 失败,地址段与现有子网 '$2' 冲突",
306
+ "flags": "gi"
307
+ },
308
+ {
309
+ "pattern": "subnet\\.kubeovn\\.io \"([^\"]*)\" is invalid: metadata\\.name: invalid value: \"([^\"]*)\": metadata\\.name in body should match '\\^\\[\\^0-9\\]'",
310
+ "replacement": "子网名称 '$1' 无效:名称不能以数字开头",
311
+ "flags": "gi"
312
+ },
313
+ {
314
+ "pattern": "(\\S+) conflict with v4 loopback cidr (\\S+)",
315
+ "replacement": "地址段 $1 与 IPv4 回环地址段 $2 冲突",
316
+ "flags": "gi"
317
+ },
318
+ {
319
+ "pattern": "can't delete subnet when any ips in using",
320
+ "replacement": "子网中仍有 IP 地址正在使用,无法删除",
321
+ "flags": "gi"
322
+ },
323
+ {
324
+ "pattern": "subnet ([^\\s]+) is still using the nad ([^\\s]+) default",
325
+ "replacement": "子网 '$1' 正在使用虚拟网络 '$2',请先删除子网 '$1' ",
326
+ "flags": "gi"
327
+ },
328
+ {
329
+ "pattern": "can't delete vpc when any subnet in the vpc",
330
+ "replacement": "VPC 内仍存在子网,无法删除该 VPC",
331
+ "flags": "gi"
332
+ },
333
+ {
334
+ "pattern": "(\\S+) in allowsubnets is not a valid address",
335
+ "replacement": "允许互通子网地址 $1 无效",
336
+ "flags": "gi"
337
+ },
338
+ {
339
+ "pattern": "gateway (\\S+) is not in cidr (\\S+)",
340
+ "replacement": "网关地址 $1 不在 CIDR $2 范围内",
341
+ "flags": "gi"
342
+ },
343
+ {
344
+ "pattern": "subnet ([^\\s]+) is using the provider ([^\\s]+) already",
345
+ "replacement": "子网 '$1' 已使用虚拟网络 '$2'",
346
+ "flags": "gi"
347
+ },
348
+ {
349
+ "pattern": "invalid next hop ip",
350
+ "replacement": "无效的下一跳地址",
351
+ "flags": "gi"
352
+ },
353
+ {
354
+ "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",
355
+ "replacement": "CPU 拓扑中的 socket 数量已超过最大允许值",
356
+ "flags": "gi"
357
+ },
358
+ {
359
+ "pattern": "number of sockets in cpu topology is greater than the maximum sockets allowed",
360
+ "replacement": "CPU 拓扑中的 socket 数量已超过最大允许值",
361
+ "flags": "gi"
362
+ },
363
+
364
+ {
365
+ "pattern": "not a default subnet join as provider is ([^\\s]+)",
366
+ "replacement": "非默认子网,当前以提供者 $1 加入",
367
+ "flags": "gi"
368
+ },
3
369
  {
4
370
  "pattern": "subnet ([^\\s]+) cidr ([^\\s]+) is invalid, due to invalid cidr address: ([^\\s]+)",
5
371
  "replacement": "子网 '$1' 的 CIDR 地址 '$2' 无效:不是合法的 CIDR 格式",
@@ -7,12 +373,12 @@
7
373
  },
8
374
  {
9
375
  "pattern": "validation failed in api: vpc.kubeovn.io \"([^\"]*)\" is invalid: metadata\\.name: invalid value: \"([^\"]*)\": a lowercase rfc 1123 subdomain must consist of lower case alphanumeric characters, '-' or '\\.', and must start and end with an alphanumeric character \\(e\\.g\\..*?\\)",
10
- "replacement": "API 校验失败:VPC 名称 \"$1\" 不符合 RFC 1123 子域名规则,只能使用小写字母、数字、'-' 或 '.',且必须以字母/数字开头和结尾",
376
+ "replacement": "校验失败:VPC 名称 \"$1\" 不符合 RFC 1123 子域名规则,只能使用小写字母、数字、'-' 或 '.',且必须以字母/数字开头和结尾",
11
377
  "flags": "gi"
12
378
  },
13
379
  {
14
380
  "pattern": "validation 失败 in api",
15
- "replacement": "API 校验失败",
381
+ "replacement": "校验失败",
16
382
  "flags": "gi"
17
383
  },
18
384
  {
@@ -832,11 +1198,11 @@
832
1198
  },
833
1199
  {
834
1200
  "pattern": "virtualmachinebackup.harvesterhci.io",
835
- "replacement": "虚拟机备份"
1201
+ "replacement": "虚拟机备份恢复"
836
1202
  },
837
1203
  {
838
1204
  "pattern": "virtualmachinebackup.cloudhci.io",
839
- "replacement": "虚拟机备份"
1205
+ "replacement": "虚拟机备份恢复"
840
1206
  },
841
1207
  {
842
1208
  "pattern": "vlanconfigs.network.harvesterhci.io",
@@ -898,6 +1264,22 @@
898
1264
  "pattern": "schedulevmbackup.cloudhci.io",
899
1265
  "replacement": "虚拟机备份策略"
900
1266
  },
1267
+ {
1268
+ "pattern": "clusterflow.logging.banzaicloud.io",
1269
+ "replacement": "集群流"
1270
+ },
1271
+ {
1272
+ "pattern": "clusteroutput.logging.banzaicloud.io",
1273
+ "replacement": "集群输出"
1274
+ },
1275
+ {
1276
+ "pattern": "flow.logging.banzaicloud.io",
1277
+ "replacement": "流"
1278
+ },
1279
+ {
1280
+ "pattern": "output.logging.banzaicloud.io",
1281
+ "replacement": "输出"
1282
+ },
901
1283
  {
902
1284
  "pattern": "spec.retain",
903
1285
  "replacement": "保存数量"
@@ -1191,6 +1573,10 @@
1191
1573
  "pattern": "could not",
1192
1574
  "replacement": "无法"
1193
1575
  },
1576
+ {
1577
+ "pattern": "MissingRequired",
1578
+ "replacement": "缺少"
1579
+ },
1194
1580
  {
1195
1581
  "pattern": "cannot",
1196
1582
  "replacement": "不能"
@@ -1259,10 +1645,6 @@
1259
1645
  "pattern": "nad ",
1260
1646
  "replacement": "虚拟网络"
1261
1647
  },
1262
- {
1263
- "pattern": " is",
1264
- "replacement": "是"
1265
- },
1266
1648
  {
1267
1649
  "pattern": "please ",
1268
1650
  "replacement": "请"
@@ -1311,6 +1693,10 @@
1311
1693
  "pattern": " or ",
1312
1694
  "replacement": "或"
1313
1695
  },
1696
+ {
1697
+ "pattern": "is",
1698
+ "replacement": "是"
1699
+ },
1314
1700
  {
1315
1701
  "pattern": "parameters",
1316
1702
  "replacement": "参数"
@@ -1343,6 +1729,14 @@
1343
1729
  "pattern": ""备份" 是必填项。",
1344
1730
  "replacement": "\"快照/备份\" 是必填项"
1345
1731
  },
1732
+ {
1733
+ "pattern": "namespaces",
1734
+ "replacement": "资源组"
1735
+ },
1736
+ {
1737
+ "pattern": "replicaset",
1738
+ "replacement": "副本集"
1739
+ },
1346
1740
  {
1347
1741
  "pattern": "%",
1348
1742
  "replacement": ""
@@ -0,0 +1,39 @@
1
+ {
2
+ "translations": [
3
+ {
4
+ "pattern": "Method (POST|GET|CREATE|DELETE|PUT|PATCH|OPTIONS|HEAD|TRACE|CONNECT) not supported",
5
+ "replacement": "权限不足",
6
+ "flags": "gi"
7
+ },
8
+ {
9
+ "pattern": "Cluster agent is not connected",
10
+ "replacement": "集群agent未连接",
11
+ "flags": "gi"
12
+ },
13
+ {
14
+ "pattern": "waiting for api to be available",
15
+ "replacement": "等待api可用",
16
+ "flags": "gi"
17
+ },
18
+ {
19
+ "pattern": "MissingRequired Cluster name",
20
+ "replacement": "缺少集群名称",
21
+ "flags": "gi"
22
+ },
23
+ {
24
+ "pattern": "users\\.management\\.cattle\\.io.*forbidden.*user.*cannot update resource.*users.*management\\.cattle\\.io.*cluster scope",
25
+ "replacement": "权限不足:当前用户无权修改用户资源。",
26
+ "flags": "gi"
27
+ },
28
+ {
29
+ "pattern": "Cluster agent is not connected",
30
+ "replacement": "集群agent未连接",
31
+ "flags": "gi"
32
+ },
33
+ {
34
+ "pattern": "waiting for api to be available",
35
+ "replacement": "等待api可用",
36
+ "flags": "gi"
37
+ }
38
+ ]
39
+ }
@@ -0,0 +1,33 @@
1
+ export function globalRoleFilteringfn (ary) {
2
+ const roleList = ['admin', 'tenant', 'safe-admin']
3
+ if (ary && ary.length > 0) {
4
+ return ary.filter(item => { return roleList.includes(item.id) })
5
+ }
6
+ return []
7
+ }
8
+
9
+ export function clusterRoleFilteringfn (ary) {
10
+ const roleList = ['cluster-tenant']
11
+ if (ary && ary.length > 0) {
12
+ ary.map(m => {
13
+ if (m.id === 'cluster-tenant') {
14
+ m['displayName'] = '租户'
15
+ }
16
+ })
17
+ return ary.filter(item => { return roleList.includes(item.id) })
18
+ }
19
+ return []
20
+ }
21
+
22
+ export function projectRoleFilteringfn (ary) {
23
+ const roleList = ['project-tenant']
24
+ ary.map(m => {
25
+ if (m.id === 'project-tenant') {
26
+ m['displayName'] = '租户'
27
+ }
28
+ })
29
+ if (ary && ary.length > 0) {
30
+ return ary.filter(item => { return roleList.includes(item.id) })
31
+ }
32
+ return []
33
+ }
package/utils/title.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export function updatePageTitle(...breadcrumb: (string | null | undefined | false)[]): void {
2
- document.title = breadcrumb.filter((s) => s).join(' - ').replace(/<i[^>]*>|<\/i>/g, '').replace('Harvester', 'HCI');
2
+ document.title = breadcrumb.filter((s) => s).join(' - ').replace(/<i[^>]*>|<\/i>/g, '').replace('Harvester', '威努特超融合');
3
3
  }
package/vue.config.js CHANGED
@@ -157,7 +157,7 @@ const getLoaders = (SHELL_ABS) => [
157
157
  test: /\.m?[tj]sx?$/,
158
158
  // This excludes no modules except for node_modules/@rancher/... so that plugins can properly compile
159
159
  // when referencing @rancher/shell
160
- exclude: /node_modules\/(?!(@rancher)\/).*/,
160
+ exclude: /node_modules\/(?!(dashboard-shell-shell)\/).*/,
161
161
  use: [
162
162
  {
163
163
  loader: 'cache-loader',
File without changes