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