This is an automated email from the ASF dual-hosted git repository.

juzhiyuan pushed a commit to branch feat-upstream
in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git

commit a0c212fab146a544282fc813045b0381e5fb0a91
Author: juzhiyuan <[email protected]>
AuthorDate: Sun Apr 4 17:19:21 2021 +0800

    ui: improve i18n for Upstream Form
---
 web/src/components/RawDataEditor/locales/en-US.ts |  2 +-
 web/src/components/RawDataEditor/locales/zh-CN.ts |  2 +-
 web/src/components/Upstream/UpstreamForm.tsx      | 12 +++++------
 web/src/locales/en-US/component.ts                |  6 ++++--
 web/src/locales/zh-CN/component.ts                |  6 ++++--
 web/src/pages/Route/locales/zh-CN.ts              |  2 +-
 web/src/pages/Upstream/Create.tsx                 | 15 +++++++++++---
 web/src/pages/Upstream/List.tsx                   |  3 +--
 web/src/pages/Upstream/components/Step1.tsx       |  1 -
 web/src/pages/Upstream/locales/en-US.ts           | 13 ++++++------
 web/src/pages/Upstream/locales/zh-CN.ts           | 25 ++++++++++++-----------
 11 files changed, 49 insertions(+), 38 deletions(-)

diff --git a/web/src/components/RawDataEditor/locales/en-US.ts 
b/web/src/components/RawDataEditor/locales/en-US.ts
index 773b53c..ff321e7 100644
--- a/web/src/components/RawDataEditor/locales/en-US.ts
+++ b/web/src/components/RawDataEditor/locales/en-US.ts
@@ -16,5 +16,5 @@
  */
 export default {
   'component.rawDataEditor.tip': "Don't support edit mode currently",
-  'component.rawDataEditor.title': 'Raw Data Editor',
+  'component.rawDataEditor.title': 'CodeMirror',
 };
diff --git a/web/src/components/RawDataEditor/locales/zh-CN.ts 
b/web/src/components/RawDataEditor/locales/zh-CN.ts
index 7a4a1ac..17c2bbc 100644
--- a/web/src/components/RawDataEditor/locales/zh-CN.ts
+++ b/web/src/components/RawDataEditor/locales/zh-CN.ts
@@ -16,5 +16,5 @@
  */
 export default {
   'component.rawDataEditor.tip': '目前暂不支持编辑',
-  'component.rawDataEditor.title': '元数据编辑器',
+  'component.rawDataEditor.title': 'CodeMirror',
 };
diff --git a/web/src/components/Upstream/UpstreamForm.tsx 
b/web/src/components/Upstream/UpstreamForm.tsx
index 609a15f..801aea1 100644
--- a/web/src/components/Upstream/UpstreamForm.tsx
+++ b/web/src/components/Upstream/UpstreamForm.tsx
@@ -163,10 +163,6 @@ const UpstreamForm: React.FC<Props> = forwardRef(
                   index === 0 &&
                   formatMessage({ id: 
'page.upstream.form.item-label.node.domain.or.ip' })
                 }
-                extra={
-                  index === 0 &&
-                  formatMessage({ id: 
'page.upstream.form.item.extra-message.node.domain.or.ip' })
-                }
                 labelCol={{ span: index === 0 ? 3 : 0 }}
                 wrapperCol={{ offset: index === 0 ? 0 : 3 }}
               >
@@ -196,10 +192,11 @@ const UpstreamForm: React.FC<Props> = forwardRef(
                       />
                     </Form.Item>
                   </Col>
-                  <Col span={2}>
+                  <Col span={4}>
                     <Form.Item
                       style={{ marginBottom: 0 }}
                       name={[field.name, 'port']}
+                      label={formatMessage({ id: 'page.upstream.step.port' })}
                       rules={[
                         {
                           required: true,
@@ -215,10 +212,11 @@ const UpstreamForm: React.FC<Props> = forwardRef(
                       />
                     </Form.Item>
                   </Col>
-                  <Col span={2}>
+                  <Col span={4}>
                     <Form.Item
                       style={{ marginBottom: 0 }}
                       name={[field.name, 'weight']}
+                      label={formatMessage({ id: 'page.upstream.step.weight' 
})}
                       rules={[
                         {
                           required: true,
@@ -688,7 +686,7 @@ const UpstreamForm: React.FC<Props> = forwardRef(
                 {Object.entries(Type).map(([label, value]) => {
                   return (
                     <Select.Option value={value} key={value}>
-                      {label}
+                      {formatMessage({ id: `page.upstream.type.${label}` })}
                     </Select.Option>
                   );
                 })}
diff --git a/web/src/locales/en-US/component.ts 
b/web/src/locales/en-US/component.ts
index a6a4100..6593e8f 100644
--- a/web/src/locales/en-US/component.ts
+++ b/web/src/locales/en-US/component.ts
@@ -25,12 +25,12 @@ export default {
   'component.global.document': 'Document',
   'component.global.enable': 'Enable',
   'component.global.scope': 'Scope',
-  'component.global.data.editor': 'Data Editor',
+  'component.global.data.editor': 'CodeMirror',
   'component.global.delete': 'Delete',
   'component.global.cancel': 'Cancel',
   'component.global.submit': 'Submit',
   'component.global.create': 'Create',
-  'component.global.createWithEditor': 'Create with Editor',
+  'component.global.createWithEditor': 'CodeMirror',
   'component.global.add': 'Add',
   'component.global.save': 'Save',
   'component.global.edit': 'Configure',
@@ -72,4 +72,6 @@ export default {
   // User component
   'component.user.loginByPassword': 'Username & Password',
   'component.user.login': 'Login',
+
+  'component.document': 'Document'
 };
diff --git a/web/src/locales/zh-CN/component.ts 
b/web/src/locales/zh-CN/component.ts
index 4cb43cf..f54e0c2 100644
--- a/web/src/locales/zh-CN/component.ts
+++ b/web/src/locales/zh-CN/component.ts
@@ -26,13 +26,13 @@ export default {
   'component.global.document': '文档',
   'component.global.enable': '启用',
   'component.global.scope': '作用域',
-  'component.global.data.editor': '元数据编辑器',
+  'component.global.data.editor': 'CodeMirror',
 
   'component.global.delete': '删除',
   'component.global.cancel': '取消',
   'component.global.submit': '提交',
   'component.global.create': '创建',
-  'component.global.createWithEditor': '使用编辑器创建',
+  'component.global.createWithEditor': 'CodeMirror',
   'component.global.add': '新建',
   'component.global.save': '保存',
   'component.global.edit': '配置',
@@ -70,4 +70,6 @@ export default {
   // User component
   'component.user.loginByPassword': '账号密码登录',
   'component.user.login': '登录',
+
+  'component.document': '操作手册'
 };
diff --git a/web/src/pages/Route/locales/zh-CN.ts 
b/web/src/pages/Route/locales/zh-CN.ts
index 71aef9b..f2a0d28 100644
--- a/web/src/pages/Route/locales/zh-CN.ts
+++ b/web/src/pages/Route/locales/zh-CN.ts
@@ -116,7 +116,7 @@ export default {
   'page.route.form.itemLabel.domainNameOrIp': '域名/IP',
   'page.route.form.itemExtraMessage.domainNameOrIp': 
'使用域名时,默认解析本地:/etc/resolv.conf',
   'page.route.form.itemRulesPatternMessage.domainNameOrIp': '仅支持字母、数字和 . ',
-  'page.route.portNumber': '端口号',
+  'page.route.portNumber': '端口',
   'page.route.weight': '权重',
 
   'page.route.radio.static': '静态改写',
diff --git a/web/src/pages/Upstream/Create.tsx 
b/web/src/pages/Upstream/Create.tsx
index 0e6714e..92fb0c8 100644
--- a/web/src/pages/Upstream/Create.tsx
+++ b/web/src/pages/Upstream/Create.tsx
@@ -16,8 +16,9 @@
  */
 import React, { useState, useEffect, useRef } from 'react';
 import { PageContainer } from '@ant-design/pro-layout';
-import { Card, Steps, notification, Form } from 'antd';
+import { Card, Steps, notification, Form, Button } from 'antd';
 import { history, useIntl } from 'umi';
+import { QuestionCircleOutlined } from '@ant-design/icons';
 
 import ActionBar from '@/components/ActionBar';
 
@@ -78,8 +79,16 @@ const Page: React.FC = (props) => {
     <>
       <PageContainer
         title={(props as any).match.params.id
-        ? formatMessage({ id: 'page.upstream.configure' })
-        : formatMessage({ id: 'page.upstream.create' })}
+          ? formatMessage({ id: 'page.upstream.configure' })
+          : formatMessage({ id: 'page.upstream.create' })}
+
+        extra={[
+          // TODO: support Document modal
+          <Button type="default" disabled>
+            <QuestionCircleOutlined />
+            {formatMessage({ id: 'component.document' })}
+          </Button>
+        ]}
       >
         <Card bordered={false}>
           <Steps current={step - 1} style={{ marginBottom: 30 }}>
diff --git a/web/src/pages/Upstream/List.tsx b/web/src/pages/Upstream/List.tsx
index 27474e5..c681071 100644
--- a/web/src/pages/Upstream/List.tsx
+++ b/web/src/pages/Upstream/List.tsx
@@ -136,12 +136,11 @@ const Page: React.FC = () => {
             <PlusOutlined />
             {formatMessage({ id: 'component.global.create' })}
           </Button>,
-          <Button type="primary" onClick={() => {
+          <Button type="default" onClick={() => {
             setVisible(true);
             setEditorMode('create');
             setRawData({});
           }}>
-            <PlusOutlined />
             {formatMessage({ id: 'component.global.createWithEditor' })}
           </Button>,
         ]}
diff --git a/web/src/pages/Upstream/components/Step1.tsx 
b/web/src/pages/Upstream/components/Step1.tsx
index 494f3cb..797eb3a 100644
--- a/web/src/pages/Upstream/components/Step1.tsx
+++ b/web/src/pages/Upstream/components/Step1.tsx
@@ -43,7 +43,6 @@ const Step1: React.FC<Props> = ({ form, disabled, upstreamRef 
}) => {
           label={formatMessage({ id: 'page.upstream.step.name' })}
           name="name"
           rules={[{ required: true, message: formatMessage({ id: 
'page.upstream.step.name.should.unique' }) }]}
-          extra={formatMessage({ id: 'page.upstream.step.name.should.unique' 
})}
         >
           <Input
             placeholder={formatMessage({ id: 
'page.upstream.step.input.upstream.name' })}
diff --git a/web/src/pages/Upstream/locales/en-US.ts 
b/web/src/pages/Upstream/locales/en-US.ts
index 9c35ccb..9b2bf67 100644
--- a/web/src/pages/Upstream/locales/en-US.ts
+++ b/web/src/pages/Upstream/locales/en-US.ts
@@ -17,13 +17,10 @@
 export default {
   'page.upstream.step.select.upstream': 'Select Upstream',
   'page.upstream.step.select.upstream.select.option': 'Custom',
-  'page.upstream.form.item-label.node.domain.or.ip': 'Node List',
-  'page.upstream.step.backend.server.domain.or.ip': 'Backend Server Domain/IP',
-  'page.upstream.form.item.extra-message.node.domain.or.ip':
-    'When using domain, it will analysis local: /etc/resolv.conf by default, 
if weight is 0, then fusing this node',
+  'page.upstream.form.item-label.node.domain.or.ip': 'Targets',
   'page.upstream.step.input.domain.name.or.ip': 'Please input domain or IP',
   'page.upstream.step.domain.name.or.ip.rule': 'Only letters, numbers and . 
are supported',
-  'page.upstream.step.domain.name.or.ip': 'Domain or IP',
+  'page.upstream.step.domain.name.or.ip': 'Hostname or IP',
   'page.upstream.step.input.port': 'Please input port number',
   'page.upstream.step.port': 'Port Number',
   'page.upstream.step.input.weight': 'Please input weight',
@@ -89,7 +86,7 @@ export default {
   'page.upstream.list.name': 'Name',
   'page.upstream.list.type': 'Type',
   'page.upstream.list.description': 'Description',
-  'page.upstream.list.edit.time': 'Configure Time',
+  'page.upstream.list.edit.time': 'Updated At',
   'page.upstream.list.operation': 'Operation',
   'page.upstream.list.edit': 'Configure',
   'page.upstream.list.confirm.delete': 'Are you sure to delete ?',
@@ -100,4 +97,8 @@ export default {
   'page.upstream.list': 'Upstream List',
   'page.upstream.list.input': 'Please input',
   'page.upstream.list.create': 'Create',
+
+  'page.upstream.type.roundrobin': 'Round Robin',
+  'page.upstream.type.chash': 'CHash',
+  'page.upstream.type.ewma': 'EWMA'
 };
diff --git a/web/src/pages/Upstream/locales/zh-CN.ts 
b/web/src/pages/Upstream/locales/zh-CN.ts
index b76e9a5..466aeaf 100644
--- a/web/src/pages/Upstream/locales/zh-CN.ts
+++ b/web/src/pages/Upstream/locales/zh-CN.ts
@@ -17,23 +17,20 @@
 export default {
   'page.upstream.step.select.upstream': '选择上游服务',
   'page.upstream.step.select.upstream.select.option': '手动填写',
-  'page.upstream.form.item-label.node.domain.or.ip': '上游节点',
-  'page.upstream.step.backend.server.domain.or.ip': '后端服务域名或 IP',
-  'page.upstream.form.item.extra-message.node.domain.or.ip':
-    '使用域名时,默认解析本地 /etc/resolv.conf;权重为 0 则熔断该节点',
+  'page.upstream.form.item-label.node.domain.or.ip': '目标节点',
   'page.upstream.step.input.domain.name.or.ip': '请输入域名或 IP',
   'page.upstream.step.domain.name.or.ip.rule': '仅支持字母、数字和 . ',
-  'page.upstream.step.domain.name.or.ip': '域名或 IP',
-  'page.upstream.step.input.port': '请输入端口号',
-  'page.upstream.step.port': '端口号',
+  'page.upstream.step.domain.name.or.ip': '主机名或 IP',
+  'page.upstream.step.input.port': '请输入端口',
+  'page.upstream.step.port': '端口',
   'page.upstream.step.input.weight': '请输入权重',
   'page.upstream.step.weight': '权重',
   'page.upstream.step.create': '创建',
   'page.upstream.step.name': '名称',
   'page.upstream.step.name.should.unique': '名称需全局唯一',
-  'page.upstream.step.input.upstream.name': '请输入上游服务名称',
+  'page.upstream.step.input.upstream.name': '请输入上游服务的名称',
   'page.upstream.step.description': '描述',
-  'page.upstream.step.input.description': '请输入上游服务描述',
+  'page.upstream.step.input.description': '请输入上游服务的描述',
   'page.upstream.step.type': '类型',
   'page.upstream.step.create.node': '增加节点',
   'page.upstream.step.pass-host': 'Host 转换',
@@ -80,7 +77,7 @@ export default {
   'page.upstream.upstream_host.required': '请输入自定义 Host 请求头',
 
   'page.upstream.create': '创建上游服务',
-  'page.upstream.configure': '配置上游',
+  'page.upstream.configure': '配置上游服务',
   'page.upstream.create.upstream.successfully': '创建上游服务成功',
   'page.upstream.edit.upstream.successfully': '更新上游服务成功',
   'page.upstream.create.basic.info': '基础信息',
@@ -89,9 +86,9 @@ export default {
   'page.upstream.list.name': '名称',
   'page.upstream.list.type': '类型',
   'page.upstream.list.description': '描述',
-  'page.upstream.list.edit.time': '编辑时间',
+  'page.upstream.list.edit.time': '更新时间',
   'page.upstream.list.operation': '操作',
-  'page.upstream.list.edit': '编辑',
+  'page.upstream.list.edit': '配置',
   'page.upstream.list.confirm.delete': '确定删除该条记录吗?',
   'page.upstream.list.confirm': '确定',
   'page.upstream.list.cancel': '取消',
@@ -100,4 +97,8 @@ export default {
   'page.upstream.list': '上游列表',
   'page.upstream.list.input': '请输入',
   'page.upstream.list.create': '创建',
+
+  'page.upstream.type.roundrobin': '轮询调度(Round Robin)',
+  'page.upstream.type.chash': '一致性哈希(CHash)',
+  'page.upstream.type.ewma': '指数加权移动平均法(EWMA)'
 };

Reply via email to