This is an automated email from the ASF dual-hosted git repository.
benjobs pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git
The following commit(s) were added to refs/heads/dev by this push:
new a0c615957 [Improve]Add i18n support for flink setting alert tab.
(#2086)
a0c615957 is described below
commit a0c61595708e90f08666a54cd34b4628a42c977d
Author: lvlin241 <[email protected]>
AuthorDate: Thu Nov 24 09:23:09 2022 +0800
[Improve]Add i18n support for flink setting alert tab. (#2086)
* [Improve]Add i18n support for flink setting alert tab.
Co-authored-by: benjobs <[email protected]>
---
.../src/locales/lang/en/flink/setting.ts | 55 +++++++++++++++++
.../src/locales/lang/zh-CN/flink/setting.ts | 54 +++++++++++++++++
.../flink/setting/components/AlertDetailModal.vue | 33 +++++-----
.../views/flink/setting/components/AlertModal.vue | 40 ++++++-------
.../flink/setting/components/AlertTypeInfo.vue | 13 ++--
.../views/flink/setting/components/alert.data.ts | 70 +++++++++++-----------
6 files changed, 191 insertions(+), 74 deletions(-)
diff --git
a/streampark-console/streampark-console-webapp/src/locales/lang/en/flink/setting.ts
b/streampark-console/streampark-console-webapp/src/locales/lang/en/flink/setting.ts
index 9c32e763a..1555f5980 100644
---
a/streampark-console/streampark-console-webapp/src/locales/lang/en/flink/setting.ts
+++
b/streampark-console/streampark-console-webapp/src/locales/lang/en/flink/setting.ts
@@ -16,6 +16,61 @@
*/
export default {
alert: {
+ alertSetting: 'Alert Setting',
+ alertName: 'Alert Name',
+ alertNamePlaceHolder: 'Please enter alert name',
+ alertNameTips: 'the alert name, e.g: StreamPark team alert',
+ alertNameErrorMessage: {
+ alertNameIsRequired: 'Alert Name is required',
+ alertNameAlreadyExists: 'Alert Name must be unique. The alert name
already exists',
+ alertConfigFailed: 'error happened ,caused by: ',
+ },
+ faultAlertType: 'Fault Alert Type',
+ faultAlertTypeIsRequired: 'Fault Alert Type is required',
+ email: 'E-mail',
+ alertEmail: 'Alert Email',
+ alertEmailAddressIsRequired: 'email address is required',
+ alertEmailFormatIsInvalid: 'Incorrect format',
+ alertEmailPlaceholder: 'Please enter email,separate multiple emails with
comma(,)',
+ dingTalk: 'Ding Talk',
+ dingTalkUrl: 'DingTalk Url',
+ dingTalkUrlFormatIsInvalid: 'Incorrect format',
+ dingTalkPlaceholder: 'Please enter DingTask Url',
+ dingtalkAccessToken: 'Access Token',
+ dingtalkAccessTokenPlaceholder: 'Please enter the access token of
DingTalk',
+ secretEnable: 'Secret Enable',
+ secretTokenEnableHelpMessage: 'DingTalk secretToken is enable',
+ secretToken: 'Secret Token',
+ secretTokenPlaceholder: 'please enter Secret Token',
+ dingTalkSecretTokenIsRequired: 'DingTalk SecretToken is required',
+ dingTalkUser: 'DingTalk User',
+ dingTalkUserPlaceholder: 'Please enter DingTalk receive user',
+ dingtalkIsAtAll: 'At All User',
+ whetherNotifyAll: 'Whether Notify All',
+ weChat: 'WeChat',
+ weChattoken: 'WeChat token',
+ weChattokenPlaceholder: 'Please enter WeChart Token',
+ weChattokenIsRequired: 'WeChat Token is required',
+ sms: 'SMS',
+ smsPlaceholder: 'Please enter mobile number',
+ mobileNumberIsRequired: 'Please enter mobile number',
+ smsTemplate: 'SMS Template',
+ smsTemplateIsRequired: 'SMS Template is required',
+ lark: 'Lark',
+ larkPlaceholder: 'Lark',
+ larkToken: 'Lark Token',
+ larkTokenPlaceholder: 'Please enter the access token of LarkTalk',
+ larkIsAtAll: 'At All User',
+ larkSecretEnable: 'Secret Enable',
+ larkTokenEnableHelpMessage: 'Lark secretToken is enable',
+ larkSecretToken: 'Lark Secret Token',
+ larkSecretTokenPlaceholder: 'please enter Lark Secret Token',
+ larkSecretTokenIsRequired: 'Lark SecretToken is required',
+ alertDetail: 'Alert Detail',
+ alertOperationMessage: {
+ updateAlertConfigFailed: 'Update AlertConfig Failed!',
+ updateAlertConfigSuccessfull: 'Update AlertConfig successful!'
+ },
delete: 'Are you sure delete this alert conf ?',
},
cluster: {
diff --git
a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/flink/setting.ts
b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/flink/setting.ts
index fb3fc5a77..b81b29b52 100644
---
a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/flink/setting.ts
+++
b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/flink/setting.ts
@@ -16,6 +16,60 @@
*/
export default {
alert: {
+ alertSetting: '告警设置',
+ alertName: '告警名称',
+ alertNamePlaceHolder: '请输入告警名称',
+ alertNameTips: '告警名称, 举例: StreamPark 组告警',
+ alertNameErrorMessage: {
+ alertNameIsRequired: '告警名称必填',
+ alertNameAlreadyExists: '告警名称必须唯一. 当前输入的名称已存在',
+ alertConfigFailed: '错误出现 ,原因: ',
+ },
+ faultAlertType: '故障告警类型',
+ faultAlertTypeIsRequired: '故障告警类型必选',
+ email: '电子邮箱',
+ alertEmail: '告警邮箱',
+ alertEmailAddressIsRequired: '邮箱地址必填',
+ alertEmailFormatIsInvalid: '(邮箱)格式有误',
+ alertEmailPlaceholder: '请输入邮箱,多个邮箱用逗号(,)隔开',
+ dingTalk: '钉钉',
+ dingTalkUrl: '钉钉Url',
+ dingTalkUrlFormatIsInvalid: '(钉钉Url)格式有误',
+ dingTalkPlaceholder: '请输入钉钉Url',
+ dingtalkAccessToken: '访问令牌',
+ dingtalkAccessTokenPlaceholder: '请输入钉钉访问令牌',
+ secretEnable: '启用密钥令牌',
+ secretTokenEnableHelpMessage: '钉钉密钥令牌是否启用',
+ secretToken: '密钥令牌',
+ secretTokenPlaceholder: '请输入密钥令牌',
+ dingTalkSecretTokenIsRequired: '钉钉密钥令牌必填',
+ dingTalkUser: '钉钉消息接受者',
+ dingTalkUserPlaceholder: '请输入钉钉消息接受者',
+ dingtalkIsAtAll: '(通知)所有',
+ whetherNotifyAll: '是否(通知)所有(消息接收者)',
+ weChat: '微信',
+ weChattoken: '微信令牌',
+ weChattokenPlaceholder: '请输入微信令牌',
+ weChattokenIsRequired: '微信令牌必填',
+ sms: '短信',
+ smsPlaceholder: '请输入手机号',
+ mobileNumberIsRequired: '请输入手机号',
+ smsTemplate: '短信模板',
+ smsTemplateIsRequired: '短信模板必填',
+ lark: '飞书',
+ larkToken: '飞书令牌',
+ larkTokenPlaceholder: '请输入飞书令牌',
+ larkIsAtAll: '(通知)所有',
+ larkSecretEnable: '启用飞书密钥令牌',
+ larkTokenEnableHelpMessage: '飞书密钥令牌是否启用',
+ larkSecretToken: '飞书密钥令牌',
+ larkSecretTokenPlaceholder: '请输入飞书密钥令牌',
+ larkSecretTokenIsRequired: '飞书密钥令牌必填',
+ alertDetail: '告警(配置)详情',
+ alertOperationMessage: {
+ updateAlertConfigFailed: '告警配置更新失败!',
+ updateAlertConfigSuccessfull: '告警配置更新成功!'
+ },
delete: '是否确定删除此警报 ?',
},
cluster: {
diff --git
a/streampark-console/streampark-console-webapp/src/views/flink/setting/components/AlertDetailModal.vue
b/streampark-console/streampark-console-webapp/src/views/flink/setting/components/AlertDetailModal.vue
index 4abdc37dc..e4a470b2d 100644
---
a/streampark-console/streampark-console-webapp/src/views/flink/setting/components/AlertDetailModal.vue
+++
b/streampark-console/streampark-console-webapp/src/views/flink/setting/components/AlertDetailModal.vue
@@ -25,6 +25,9 @@
import { SvgIcon } from '/@/components/Icon';
import { DescItem, Description } from '/@/components/Description';
import { Divider, Tag, Typography } from 'ant-design-vue';
+ import { useI18n } from '/@/hooks/web/useI18n';
+
+ const { t } = useI18n();
const typographyParagraph = Typography.Paragraph;
interface DingTalkType {
token: string;
@@ -65,16 +68,16 @@
}
});
const dingTalkColumn: DescItem[] = [
- { label: 'DingTalk Url', field: 'alertDingURL', span: 2, labelMinWidth: 50
},
- { label: 'Access Token', field: 'token', span: 2, render: renderTypl },
- { label: 'Secret Token', field: 'secretToken', span: 2, render: renderTypl
},
- { label: 'DingTalk User', field: 'contacts' },
- { label: 'At All User', field: 'isAtAll', render: renderTag },
+ { label: t('flink.setting.alert.dingTalkUrl'), field: 'alertDingURL',
span: 2, labelMinWidth: 50 },
+ { label: t('flink.setting.alert.dingtalkAccessToken'), field: 'token',
span: 2, render: renderTypl },
+ { label: t('flink.setting.alert.secretToken'), field: 'secretToken', span:
2, render: renderTypl },
+ { label: t('flink.setting.alert.dingTalkUser'), field: 'contacts' },
+ { label: t('flink.setting.alert.dingtalkIsAtAll'), field: 'isAtAll',
render: renderTag },
];
const larkColumn: DescItem[] = [
- { label: 'Lark Token', field: 'token', span: 2, render: renderTypl },
- { label: 'Lark Secret Token', field: 'secretToken', span: 2, render:
renderTypl },
- { label: 'At All User', field: 'isAtAll', render: renderTag },
+ { label: t('flink.setting.alert.larkToken'), field: 'token', span: 2,
render: renderTypl },
+ { label: t('flink.setting.alert.larkSecretToken'), field: 'secretToken',
span: 2, render: renderTypl },
+ { label: t('flink.setting.alert.larkIsAtAll'), field: 'isAtAll', render:
renderTag },
];
function renderTag(value: boolean) {
return h(Tag, { color: value ? 'green' : 'red', class: '!leading-20px' },
() => String(value));
@@ -89,40 +92,40 @@
<BasicModal :show-ok-btn="false" @register="registerModal"
class="alert-detail">
<template #title>
<SvgIcon name="alarm" size="25" />
- Alert Detail
+ {{t('flink.setting.alert.alertDetail')}}
</template>
<template v-if="alertTypeTags.includes('1')">
<Divider>
<SvgIcon name="mail" size="20" />
- E-mail
+ {{t('flink.setting.alert.email')}}
</Divider>
<Description
class="alert-detail"
:column="1"
:data="emailInfo"
- :schema="[{ label: 'Alert Email', field: 'contacts' }]"
+ :schema="[{ label: t('flink.setting.alert.alertEmail'), field:
'contacts' }]"
/>
</template>
<template v-if="alertTypeTags.includes('2')">
<Divider>
<SvgIcon name="dingtalk" size="20" />
- Ding Talk
+ {{t('flink.setting.alert.dingTalk')}}
</Divider>
<Description class="alert-detail" :column="2" :data="dingTalk"
:schema="dingTalkColumn" />
</template>
<template v-if="alertTypeTags.includes('4')">
- <Divider><SvgIcon name="wecom" size="20" /> WeChat </Divider>
+ <Divider><SvgIcon name="wecom" size="20" />
{{t('flink.setting.alert.weChat')}} </Divider>
<Description
class="alert-detail"
:column="1"
:data="weChat"
- :schema="[{ label: 'WeChat token', field: 'token', render: renderTypl
}]"
+ :schema="[{ label: t('flink.setting.alert.weChattoken'), field:
'token', render: renderTypl }]"
/>
</template>
<template v-if="alertTypeTags.includes('16')">
<Divider>
<SvgIcon name="dingtalk" size="20" />
- Ding Talk
+ {{t('flink.setting.alert.lark')}}
</Divider>
<Description :column="2" :data="lark" :schema="larkColumn"
class="alert-detail" />
</template>
diff --git
a/streampark-console/streampark-console-webapp/src/views/flink/setting/components/AlertModal.vue
b/streampark-console/streampark-console-webapp/src/views/flink/setting/components/AlertModal.vue
index f57530bb4..cb1f5dd1d 100644
---
a/streampark-console/streampark-console-webapp/src/views/flink/setting/components/AlertModal.vue
+++
b/streampark-console/streampark-console-webapp/src/views/flink/setting/components/AlertModal.vue
@@ -52,30 +52,30 @@
schemas: [
{
field: 'alertName',
- label: 'Alert Name',
+ label: t('flink.setting.alert.alertName'),
component: 'Input',
- componentProps: { allowClear: true, placeholder: 'Please enter alert
name' },
+ componentProps: { allowClear: true, placeholder:
t('flink.setting.alert.alertNamePlaceHolder') },
afterItem: () =>
- h('span', { class: 'conf-switch' }, 'the alert name, e.g: StreamPark
team alert'),
+ h('span', { class: 'conf-switch' },
t('flink.setting.alert.alertNameTips')),
dynamicRules: () => {
return [
{
validator: async (_, value) => {
if (value === null || value === undefined || value === '') {
- return Promise.reject('Alert Name is required');
+ return
Promise.reject(t('flink.setting.alert.alertNameErrorMessage.alertNameIsRequired'));
} else {
if (!alertId.value) {
try {
const isExist = await fetchExistsAlert({ alertName:
value });
if (isExist) {
return Promise.reject(
- 'Alert Name must be unique. The alert name already
exists',
+
t('flink.setting.alert.alertNameErrorMessage.alertNameAlreadyExists'),
);
} else {
return Promise.resolve();
}
} catch (error) {
- return Promise.reject('error happened ,caused by: ' +
error);
+ return
Promise.reject(t('flink.setting.alert.alertNameErrorMessage.alertConfigFailed')
+ error);
}
}
}
@@ -195,7 +195,7 @@
>
<template #title>
<SvgIcon name="alarm" size="25" />
- Alert Setting
+ {{t('flink.setting.alert.alertSetting')}}
</template>
<BasicForm @register="registerForm" class="!mt-15px">
<template #type="{ model, field }">
@@ -222,19 +222,19 @@
<template v-if="(alertType || []).includes('1')">
<Divider>
<SvgIcon name="mail" size="20" />
- E-mail
+ {{t('flink.setting.alert.email')}}
</Divider>
<FormItem
- label="Alert Email"
+ :label="t('flink.setting.alert.alertEmail')"
:rules="[
- { required: true, message: 'email address is required', trigger:
'blur' },
- { type: 'email', message: 'Incorrect format', trigger: 'blur' },
+ { required: true, message:
t('flink.setting.alert.alertEmailAddressIsRequired'), trigger: 'blur' },
+ { type: 'email', message:
t('flink.setting.alert.alertEmailFormatIsInvalid'), trigger: 'blur' },
]"
name="alertEmail"
>
<Input
v-model:value="model[field]"
- placeholder="Please enter email,separate multiple emails with
comma(,)"
+ :placeholder="t('flink.setting.alert.alertEmailPlaceholder')"
/>
</FormItem>
</template>
@@ -243,34 +243,34 @@
<template #alertDingURL="{ model, field }" v-if="(alertType ||
[]).includes('2')">
<Divider>
<SvgIcon name="dingtalk" size="20" />
- Ding Talk
+ {{t('flink.setting.alert.dingTalk')}}
</Divider>
<FormItem
- label="DingTalk Url"
+ :label="t('flink.setting.alert.dingTalkUrl')"
name="alertDingURL"
:rules="[
{
pattern:
/^((https?):\/\/)?([^!@#$%^&*?.\s-]([^!@#$%^&*?.\s]{0,63}[^!@#$%^&*?.\s])?\.)+[a-z]{2,6}\/?/,
- message: 'Incorrect format',
+ message: t('flink.setting.alert.dingTalkUrlFormatIsInvalid'),
trigger: 'blur',
},
]"
>
- <Input v-model:value="model[field]" placeholder="Please enter
DingTask Url" allowClear />
+ <Input v-model:value="model[field]"
:placeholder="t('flink.setting.alert.dingTalkPlaceholder')" allowClear />
</FormItem>
</template>
<!-- WeChat -->
<template #weToken="{ model, field, schema }" v-if="(alertType ||
[]).includes('4')">
- <Divider><SvgIcon name="wecom" size="20" /> WeChat </Divider>
+ <Divider><SvgIcon name="wecom" size="20" />
{{t('flink.setting.alert.weChat')}} </Divider>
<FormItem :label="schema.label" :name="field" :rules="schema.rules">
<InputTextArea v-model:value="model[field]"
v-bind="schema.componentProps" />
</FormItem>
</template>
<template #alertSms="{ model, field, schema }" v-if="(alertType ||
[]).includes('8')">
- <Divider><SvgIcon name="message" size="20" /> SMS </Divider>
+ <Divider><SvgIcon name="message" size="20" />
{{t('flink.setting.alert.sms')}} </Divider>
<FormItem :label="schema.label" :name="field" :rules="schema.rules">
<Input v-model:value="model[field]" v-bind="schema.componentProps" />
</FormItem>
@@ -278,11 +278,11 @@
<!-- lark -->
<template #larkToken="{ model, field, schema }" v-if="(alertType ||
[]).includes('16')">
- <Divider><SvgIcon name="lark" size="20" /> Lark </Divider>
+ <Divider><SvgIcon name="lark" size="20" />
{{t('flink.setting.alert.lark')}} </Divider>
<FormItem :label="schema.label" :name="field" :rules="schema.rules">
<Input
v-model:value="model[field]"
- placeholder="Please enter the access token of LarkTalk"
+ :placeholder="t('flink.setting.alert.larkTokenPlaceholder')"
allow-clear
/>
</FormItem>
diff --git
a/streampark-console/streampark-console-webapp/src/views/flink/setting/components/AlertTypeInfo.vue
b/streampark-console/streampark-console-webapp/src/views/flink/setting/components/AlertTypeInfo.vue
index 9853eb13f..eb60c3242 100644
---
a/streampark-console/streampark-console-webapp/src/views/flink/setting/components/AlertTypeInfo.vue
+++
b/streampark-console/streampark-console-webapp/src/views/flink/setting/components/AlertTypeInfo.vue
@@ -21,6 +21,9 @@
import { SvgIcon } from '/@/components/Icon';
import { BasicTitle } from '/@/components/Basic';
import { alertTypes } from './alert.data';
+ import { useI18n } from '/@/hooks/web/useI18n';
+
+ const { t } = useI18n();
const props = defineProps({
alertType: {
type: String,
@@ -63,27 +66,27 @@
</BasicTitle>
<Descriptions size="small" :column="1" class="pl-15px mt-10px">
<template v-if="alertType === '1'">
- <DescriptionsItem label="Alert Email">
+ <DescriptionsItem :label="t('flink.setting.alert.alertEmail')">
<span class="text-blue-500">{{ emailInfo.contacts || '' }}</span>
</DescriptionsItem>
</template>
<template v-else-if="alertType === '2'">
- <DescriptionsItem label="DingTalk User">
+ <DescriptionsItem :label="t('flink.setting.alert.dingTalkUser')">
{{ dingTalk.contacts || '' }}
</DescriptionsItem>
- <DescriptionsItem label="At All User">
+ <DescriptionsItem :label="t('flink.setting.alert.larkIsAtAll')">
<Tag :color="dingTalk.isAtAll ? 'green' : 'red'" class="!leading-20px">
{{ dingTalk.isAtAll }}
</Tag>
</DescriptionsItem>
</template>
<template v-else-if="alertType === '4'">
- <DescriptionsItem label="WeChat token">
+ <DescriptionsItem :label="t('flink.setting.alert.weChattoken')">
{{ desensitization(weChat.token || '') }}
</DescriptionsItem>
</template>
<template v-else-if="alertType === '16'">
- <DescriptionsItem label="At All User">
+ <DescriptionsItem :label="t('flink.setting.alert.larkIsAtAll')">
<Tag :color="lark.isAtAll ? 'green' : 'red'" class="!leading-20px">
{{ lark.isAtAll }}
</Tag>
diff --git
a/streampark-console/streampark-console-webapp/src/views/flink/setting/components/alert.data.ts
b/streampark-console/streampark-console-webapp/src/views/flink/setting/components/alert.data.ts
index b4f1633e9..338fa2611 100644
---
a/streampark-console/streampark-console-webapp/src/views/flink/setting/components/alert.data.ts
+++
b/streampark-console/streampark-console-webapp/src/views/flink/setting/components/alert.data.ts
@@ -15,14 +15,16 @@
* limitations under the License.
*/
import { FormSchema } from '/@/components/Form';
+import { useI18n } from '/@/hooks/web/useI18n';
+const { t } = useI18n();
export const alertFormSchema: Array<FormSchema> = [
{
field: 'alertType',
- label: 'Fault Alert Type',
+ label: t('flink.setting.alert.faultAlertType'),
component: 'Select',
slot: 'type',
- dynamicRules: () => [{ required: true, message: 'Fault Alert Type is
required' }],
+ dynamicRules: () => [{ required: true, message:
t('flink.setting.alert.faultAlertTypeIsRequired') }],
},
{
field: 'alertEmail',
@@ -38,133 +40,133 @@ export const alertFormSchema: Array<FormSchema> = [
},
{
field: 'dingtalkToken',
- label: 'Access Token',
+ label: t('flink.setting.alert.dingtalkAccessToken'),
component: 'Input',
componentProps: {
- placeholder: 'Please enter the access token of DingTalk',
+ placeholder: t('flink.setting.alert.dingtalkAccessTokenPlaceholder'),
},
rules: [{ required: true, message: 'Access token is required' }],
ifShow: ({ model }) => (model.alertType || []).includes('2'),
},
{
field: 'dingtalkSecretEnable',
- label: 'Secret Enable',
+ label: t('flink.setting.alert.secretEnable'),
component: 'Switch',
componentProps: {
checkedChildren: 'ON',
unCheckedChildren: 'OFF',
},
- helpMessage: 'DingTalk ecretToken is enable',
+ helpMessage: t('flink.setting.alert.secretTokenEnableHelpMessage'),
ifShow: ({ model }) => (model.alertType || []).includes('2'),
},
{
field: 'dingtalkSecretToken',
- label: 'Secret Token',
+ label: t('flink.setting.alert.secretToken'),
component: 'Input',
componentProps: {
- placeholder: 'please enter Secret Token',
+ placeholder: t('flink.setting.alert.secretTokenPlaceholder'),
},
ifShow: ({ model }) => (model.alertType || []).includes('2') &&
model.dingtalkSecretEnable,
- rules: [{ required: true, message: 'DingTalk SecretToken is required',
trigger: 'blur' }],
+ rules: [{ required: true, message:
t('flink.setting.alert.dingTalkSecretTokenIsRequired'), trigger: 'blur' }],
},
{
field: 'alertDingUser',
- label: 'DingTalk User',
+ label: t('flink.setting.alert.dingTalkUser'),
component: 'Input',
componentProps: {
- placeholder: 'Please enter DingTalk receive user',
+ placeholder: t('flink.setting.alert.dingTalkUserPlaceholder'),
},
ifShow: ({ model }) => (model.alertType || []).includes('2'),
},
{
field: 'dingtalkIsAtAll',
- label: 'At All User',
+ label: t('flink.setting.alert.dingtalkIsAtAll'),
component: 'Switch',
componentProps: {
checkedChildren: 'ON',
unCheckedChildren: 'OFF',
},
- helpMessage: 'Whether Notify All',
+ helpMessage: t('flink.setting.alert.whetherNotifyAll'),
ifShow: ({ model }) => (model.alertType || []).includes('2'),
},
{
field: 'weToken',
- label: 'WeChat token',
+ label: t('flink.setting.alert.weChattoken'),
component: 'InputTextArea',
colSlot: 'weToken',
componentProps: {
rows: 4,
- placeholder: 'Please enter WeChart Token',
+ placeholder: t('flink.setting.alert.weChattokenPlaceholder'),
},
- rules: [{ required: true, message: 'WeChat Token is required' }],
+ rules: [{ required: true, message:
t('flink.setting.alert.weChattokenIsRequired') }],
},
{
field: 'alertSms',
- label: 'SMS',
+ label: t('flink.setting.alert.sms'),
component: 'Input',
componentProps: {
- placeholder: 'Please enter mobile number',
+ placeholder: t('flink.setting.alert.smsPlaceholder'),
allowClear: true,
},
colSlot: 'alertSms',
- rules: [{ required: true, message: 'mobile number is required' }],
+ rules: [{ required: true, message:
t('flink.setting.alert.mobileNumberIsRequired') }],
},
{
field: 'alertSmsTemplate',
- label: 'SMS Template',
+ label: t('flink.setting.alert.smsTemplate'),
component: 'InputTextArea',
componentProps: {
rows: 4,
- placeholder: 'SMS Template is required',
+ placeholder: t('flink.setting.alert.smsTemplateIsRequired'),
},
ifShow: ({ model }) => (model.alertType || []).includes('8'),
colSlot: 'alertSmsTemplate',
},
{
field: 'larkToken',
- label: 'Lark Token',
+ label: t('flink.setting.alert.larkToken'),
component: 'InputTextArea',
colSlot: 'larkToken',
rules: [{ required: true, message: 'Lark token is required' }],
},
{
field: 'larkIsAtAll',
- label: 'At All User',
+ label: t('flink.setting.alert.larkIsAtAll'),
component: 'Switch',
componentProps: {
checkedChildren: 'ON',
unCheckedChildren: 'OFF',
},
ifShow: ({ model }) => (model.alertType || []).includes('16'),
- helpMessage: 'Whether Notify All',
+ helpMessage: t('flink.setting.alert.whetherNotifyAll'),
},
{
field: 'larkSecretEnable',
- label: 'Secret Enable',
+ label: t('flink.setting.alert.larkSecretEnable'),
component: 'Switch',
componentProps: {
checkedChildren: 'ON',
unCheckedChildren: 'OFF',
},
- helpMessage: 'Lark secretToken is enable',
+ helpMessage: t('flink.setting.alert.larkTokenEnableHelpMessage'),
ifShow: ({ model }) => (model.alertType || []).includes('16'),
},
{
field: 'larkSecretToken',
- label: 'Lark Secret Token',
+ label: t('flink.setting.alert.larkSecretToken'),
component: 'Input',
componentProps: {
- placeholder: 'please enter Lark Secret Token',
+ placeholder: t('flink.setting.alert.larkSecretTokenPlaceholder'),
},
ifShow: ({ model }) => (model.alertType || []).includes('16') &&
model.larkSecretEnable,
- rules: [{ required: true, message: 'Lark SecretToken is required',
trigger: 'blur' }],
+ rules: [{ required: true, message:
t('flink.setting.alert.larkSecretTokenIsRequired'), trigger: 'blur' }],
},
];
export const alertTypes = {
- '1': { name: 'E-mail', value: 1, disabled: false, icon: 'mail' },
- '2': { name: 'Ding Talk', value: 2, disabled: false, icon: 'dingtalk' },
- '4': { name: 'Wechat', value: 4, disabled: false, icon: 'wecom' },
- '8': { name: 'SMS', value: 8, disabled: true, icon: 'message' },
- '16': { name: 'Lark', value: 16, disabled: false, icon: 'lark' },
+ '1': { name: t('flink.setting.alert.email'), value: 1, disabled: false,
icon: 'mail' },
+ '2': { name: t('flink.setting.alert.dingTalk'), value: 2, disabled: false,
icon: 'dingtalk' },
+ '4': { name: t('flink.setting.alert.weChat'), value: 4, disabled: false,
icon: 'wecom' },
+ '8': { name: t('flink.setting.alert.sms'), value: 8, disabled: true, icon:
'message' },
+ '16': { name: t('flink.setting.alert.lark'), value: 16, disabled: false,
icon: 'lark' },
};