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' },
 };

Reply via email to