diff --git a/dinky-web/.eslintrc.js b/dinky-web/.eslintrc.js index 3ac39ef607..060035f620 100644 --- a/dinky-web/.eslintrc.js +++ b/dinky-web/.eslintrc.js @@ -1,3 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + module.exports = { extends: [require.resolve('@umijs/lint/dist/config/eslint')], globals: { diff --git a/dinky-web/.gitignore b/dinky-web/.gitignore index 0fb3670732..6894cc5df1 100644 --- a/dinky-web/.gitignore +++ b/dinky-web/.gitignore @@ -39,3 +39,5 @@ screenshot .eslintcache build + +pnpm-lock.yaml diff --git a/dinky-web/.husky/commit-msg b/dinky-web/.husky/commit-msg deleted file mode 100755 index d50cdcf95b..0000000000 --- a/dinky-web/.husky/commit-msg +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -# Export Git hook params -export GIT_PARAMS=$* - -npx --no-install fabric verify-commit diff --git a/dinky-web/.husky/pre-commit b/dinky-web/.husky/pre-commit deleted file mode 100755 index d37daa075e..0000000000 --- a/dinky-web/.husky/pre-commit +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -npx --no-install lint-staged diff --git a/dinky-web/.prettierignore b/dinky-web/.prettierignore index 7999ccda34..e91817a6ba 100644 --- a/dinky-web/.prettierignore +++ b/dinky-web/.prettierignore @@ -17,6 +17,5 @@ LICENSE *.lock yarn-error.log .history -CNAME /build /public diff --git a/dinky-web/.prettierrc.js b/dinky-web/.prettierrc.js index 3447a1afd1..088d35a2b0 100644 --- a/dinky-web/.prettierrc.js +++ b/dinky-web/.prettierrc.js @@ -1,3 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + module.exports = { singleQuote: true, trailingComma: 'all', diff --git a/dinky-web/README.md b/dinky-web/README.md index 4c89a727ce..fc1e06e9db 100644 --- a/dinky-web/README.md +++ b/dinky-web/README.md @@ -1,57 +1,43 @@ -# Ant Design Pro +# Dinky-web -This project is initialized with [Ant Design Pro](https://pro.ant.design). Follow is the quick guide for how to use. +This project uses [Ant Design Pro](https://pro.ant.design) for initialization. Here's a quick guide on how to use it. -## Environment Prepare +[![CN doc](https://img.shields.io/badge/文档-中文版-blue.svg)](README_zh_CN.md) +[![EN doc](https://img.shields.io/badge/document-English-blue.svg)](README.md) -Install `node_modules`: -```bash -npm install -``` +## Environment preparation -or -```bash -yarn -``` +| Environment | Version | Remarks | +| ----------- | -------- | ------- | +| node | 14.19.0+ | | +| npm | 7.19.0+ | | -## Provided Scripts +> Configure related environment variables by yourself -Ant Design Pro provides some useful script to help you quick start and build with web project, code style check and test. - -Scripts provided in `package.json`. It's safe to modify or add additional script: - -### Start project +## StartUp ```bash -npm start +# Note: You need to enter the directory of this module to execute + +npm i --force && npm start ``` -### Build project +### Build ```bash npm run build ``` -### Check code style +### Code Style Check ```bash npm run lint ``` -You can also use script to auto fix some lint error: +You can also automatically fix some lint errors with a script: ```bash npm run lint:fix ``` - -### Test code - -```bash -npm test -``` - -## More - -You can view full document on our [official website](https://pro.ant.design). And welcome any feedback in our [github](https://github.com/ant-design/ant-design-pro). diff --git a/dinky-web/README_zh_CN.md b/dinky-web/README_zh_CN.md new file mode 100644 index 0000000000..a2ee6b54fd --- /dev/null +++ b/dinky-web/README_zh_CN.md @@ -0,0 +1,38 @@ +# Dinky-web + +本项目使用 [Ant Design Pro](https://pro.ant.design) 进行初始化。 以下是如何使用的快速指南。 + +## 环境准备 + + +| 环境 | 版本 | 备注 | +| ---- | -------- | ---- | +| node | 14.19.0+ | | +| npm | 7.19.0+ | | + +> 自行配置相关环境变量 + +## 启动 + +```bash +# 注意: 需要进入到此模块目录下执行 + +npm i --force && npm start +``` + +### 构建 + +```bash +npm run build +``` + +### 代码样式检查 + +```bash +npm run lint +``` + +您还可以使用脚本自动修复一些 lint 错误: +```bash +npm run lint:fix +``` diff --git a/dinky-web/config/config.ts b/dinky-web/config/config.ts index acf2afd6a8..5f817ff038 100644 --- a/dinky-web/config/config.ts +++ b/dinky-web/config/config.ts @@ -1,6 +1,23 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + // https://umijs.org/config/ -import { defineConfig } from '@umijs/max'; -import { join } from 'path'; +import {defineConfig} from '@umijs/max'; +import {join} from 'path'; import defaultSettings from './defaultSettings'; import proxy from './proxy'; import routes from './routes'; @@ -76,7 +93,7 @@ export default defineConfig({ * @name layout 插件 * @doc https://umijs.org/docs/max/layout-menu */ - title: 'Ant Design Pro', + title: 'Dinky', layout: { locale: true, ...defaultSettings, diff --git a/dinky-web/config/defaultSettings.ts b/dinky-web/config/defaultSettings.ts index 2796a7ecb1..857126563d 100644 --- a/dinky-web/config/defaultSettings.ts +++ b/dinky-web/config/defaultSettings.ts @@ -1,4 +1,21 @@ -import { ProLayoutProps } from '@ant-design/pro-components'; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {ProLayoutProps} from '@ant-design/pro-components'; /** * @name @@ -15,11 +32,80 @@ const Settings: ProLayoutProps & { fixedHeader: false, fixSiderbar: true, colorWeak: false, - title: 'Ant Design Pro', + title: 'Dinky Real-time Platform ', pwa: true, - logo: 'https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg', + logo: '/dinky.svg', iconfontUrl: '', + splitMenus: true, + menu: { + locale: true + }, token: { + // bgLayout: '', layout 的背景颜色 + + // 官方 https://procomponents.ant.design/components/layout/#layout-classicmode + header: { + colorBgHeader: '#292f33', + colorHeaderTitle: '#fff', + colorTextMenu: '#dfdfdf', + colorTextMenuSecondary: '#dfdfdf', + colorTextMenuSelected: '#fff', + colorBgMenuItemSelected: '#22272b', + colorTextMenuActive: 'rgba(255,255,255,0.85)', + colorTextRightActionsItem: '#dfdfdf', + }, + colorTextAppListIconHover: '#fff', + colorTextAppListIcon: '#dfdfdf', + sider: { + colorMenuBackground: '#fff', + colorMenuItemDivider: '#dfdfdf', + colorBgMenuItemHover: '#f6f6f6', + colorTextMenu: '#595959', + colorTextMenuSelected: '#242424', + colorTextMenuActive: '#242424', + colorBgMenuItemCollapsedHover: '#242424', + }, + // 自定义 + // header: { + // colorBgHeader: '#292f33', //header 背景色 + // colorHeaderTitle: '#fff', //header 的 title 颜色 + // // colorBgMenuItemHover: '', // 悬浮某项时的菜单背景色 + // colorBgMenuItemSelected: '#1890ff', // 选中某项时的菜单背景色 + // colorTextMenuSelected: '#fff', // 选中某项时的字体颜色 + // // colorTextMenuActive: 'rgba(239,7,7,0.85)', // 悬浮选中某项时的字体颜色 + // colorTextMenu: '#dfdfdf', // 字体颜色 + // colorTextMenuSecondary: '#ffffff', // 二级菜单字体颜色 + // // colorBgRightActionsItemHover:'', + // colorTextRightActionsItem: '#e10a0a', + // // heightLayoutHeader: 0 + // }, + // colorTextAppListIconHover: 'rgba(93,161,192,0.75)', + // colorTextAppListIcon: 'rgba(24,255,182,0.75)', + // // 侧边side的 token 配置 + // sider: { + // // colorBgCollapsedButton: '#4c7cd5', // 折叠按钮背景色 + // // colorTextCollapsedButtonHover: '', // 折叠按钮文本悬浮背景色 + // // colorTextCollapsedButton: '', // 折叠按钮文本颜色 + // colorMenuBackground: '#dfdfdf', // 侧边栏菜单整体背景色 + // colorBgMenuItemCollapsedHover: '#8f8a8a', + // // colorBgMenuItemCollapsedSelected: '#6dce11',// 侧边栏收起时 二级菜单弹出时选中的背景色 + // // colorBgMenuItemCollapsedElevated: '#800b26',// 侧边栏收起时 二级菜单弹出时的背景色 + // colorMenuItemDivider: '#d74814', + // colorBgMenuItemHover: '#cb5252', + // colorBgMenuItemSelected: 'rgba(93,161,192,0.75)', + // colorTextMenuSelected: '#242424', // 选中菜单的字体颜色 + // colorTextMenuItemHover: '#1890ff', // 悬浮菜单时的字体颜色 + // colorTextMenuActive: '#d809ef', // 含有二级菜单的 菜单悬浮时的字体颜色 + // // colorTextMenu: '#ab0e0e', // 侧边栏菜单字体颜色 + // // colorTextMenuSecondary: '#ab0e0e', // 二级菜单字体颜色 + // paddingInlineLayoutMenu: 0, // padding 内联布局菜单 间距 + // paddingBlockLayoutMenu: 0, // padding 块布局菜单 间距 + // /** + // * menu 顶部 title 的字体颜色 + // */ + // // colorTextMenuTitle: '#67081e', + // // colorTextSubMenuSelected: '#346dc0', + // }, // 参见ts声明,demo 见文档,通过token 修改样式 //https://procomponents.ant.design/components/layout#%E9%80%9A%E8%BF%87-token-%E4%BF%AE%E6%94%B9%E6%A0%B7%E5%BC%8F }, diff --git a/dinky-web/config/oneapi.json b/dinky-web/config/oneapi.json index c77d988b33..bffb8e939d 100644 --- a/dinky-web/config/oneapi.json +++ b/dinky-web/config/oneapi.json @@ -1,7 +1,7 @@ { "openapi": "3.0.1", "info": { - "title": "Ant Design Pro", + "title": "Dinky", "version": "1.0.0" }, "servers": [ diff --git a/dinky-web/config/proxy.ts b/dinky-web/config/proxy.ts index 1b568e2fb9..df02b8cb53 100644 --- a/dinky-web/config/proxy.ts +++ b/dinky-web/config/proxy.ts @@ -1,3 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /** * @name 代理的配置 * @see 在生产环境 代理是无法生效的,所以这里没有生产环境的配置 diff --git a/dinky-web/config/routes.ts b/dinky-web/config/routes.ts index 9a68bcb2e2..f7bc3de321 100644 --- a/dinky-web/config/routes.ts +++ b/dinky-web/config/routes.ts @@ -1,4 +1,21 @@ -/** +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** * @name umi 的路由配置 * @description 只支持 path,component,routes,redirect,wrappers,name,icon 的配置 * @param path path 只支持两种占位符配置,第一种是动态参数 :id 的形式,第二种是 * 通配符,通配符只能出现路由字符串的最后。 @@ -22,38 +39,193 @@ export default [ }, ], }, + { - path: '/welcome', - name: 'welcome', - icon: 'smile', - component: './Welcome', + path: '/', + redirect: '/dataStudio', }, + { - path: '/admin', - name: 'admin', - icon: 'crown', - access: 'canAdmin', + path: '/dataStudio', + name: 'dataStudio', + icon: 'consoleSql', + footerRender: false, + // component: './DataStudio', + }, + { + path: '/devops', + name: 'devops', + icon: 'control', + // component: './DevOps', + }, + { + path: '/job', + name: 'job', + // component: './DevOps/JobInfo', + hideInMenu: true, + }, + { + path: '/datacenter', + name: 'datacenter', + icon: 'database', routes: [ { - path: '/admin', - redirect: '/admin/sub-page', + path: '/datacenter', + redirect: '/datacenter/metadata', }, { - path: '/admin/sub-page', - name: 'sub-page', - component: './Admin', + path: '/datacenter/metadata', + name: 'metadata', + icon: 'cluster', + // component: './DataCenter/MetaData', }, ], }, + { - name: 'list.table-list', - icon: 'table', - path: '/list', - component: './TableList', + path: '/registration', + name: 'registration', + icon: 'appstore', + routes: [ + { + path: '/registration', + redirect: '/registration/cluster/clusterInstance', + }, + { + path: '/registration/cluster', + name: 'cluster', + icon: 'cluster', + routes: [ + { + path: '/registration/cluster/clusterInstance', + name: 'clusterInstance', + // component: './RegistrationCenter/ClusterManage/Cluster', + }, + { + path: '/registration/cluster/clusterConfiguration', + name: 'clusterConfiguration', + // component: './RegistrationCenter/ClusterManage/ClusterConfiguration', + }, + ], + }, + { + path: '/registration/jar', + name: 'jar', + icon: 'file', + // component: './RegistrationCenter/Jar', + }, + { + path: '/registration/database', + name: 'database', + icon: 'database', + // component: './RegistrationCenter/DataBase', + }, + { + path: '/registration/alert', + name: 'alert', + icon: 'alert', + routes: [ + { + path: '/registration/alert/alertInstance', + name: 'alertInstance', + // component: './RegistrationCenter/AlertManage/AlertInstance', + }, + { + path: '/registration/alert/alertGroup', + name: 'alertGroup', + // component: './RegistrationCenter/AlertManage/AlertGroup', + }, + ], + }, { + path: '/registration/document', + name: 'document', + icon: 'container', + // component: './RegistrationCenter/Document', + },{ + path: '/registration/fragment', + name: 'fragment', + icon: "cloud", + // component: './RegistrationCenter/FragmentVariable', + } + ], }, { - path: '/', - redirect: '/welcome', + name: 'authenticationCenter', + icon: 'SafetyCertificateOutlined', + path: '/authenticationCenter', + // access: "canAdmin", + routes: [ + { + path: '/authenticationCenter', + redirect: '/authenticationCenter/userManager', + }, + { + path: '/authenticationCenter/userManager', + name: 'userManager', + icon: 'UserOutlined', + // component: './AuthenticationCenter/UserManager', + }, + { + path: '/authenticationCenter/roleManager', + name: 'roleManager', + icon: 'TeamOutlined', + // component: './AuthenticationCenter/RoleManager', + }, + { + path: '/authenticationCenter/namespaceManager', + name: 'namespaceManager', + icon: 'BulbOutlined', + // component: './AuthenticationCenter/NamespaceManager', + }, + { + path: '/authenticationCenter/tenantManager', + name: 'tenantManager', + icon: 'SecurityScanOutlined', + // component: './AuthenticationCenter/TenantManager', + }, + ], + }, + + { + name: 'settings', + icon: 'setting', + path: '/settingCenter', + routes: [ + { + path: '/settingCenter', + redirect: '/settingCenter/flinkSettings', + }, + { + path: '/settingCenter/flinkSettings', + name: 'flinkConfig', + icon: 'setting', + // component: './SettingCenter/FlinkSettings', + }, + { + path: '/settingCenter/udfTemplate', + name: 'udfTemplate', + icon: 'setting', + // component: './SettingCenter/UDFTemplate', + }, + { + path: '/settingCenter/systemInfo', + name: 'systemInfo', + icon: 'desktop', + // component: './SettingCenter/SystemInfo', + }, + { + path: '/settingCenter/processList', + name: 'processList', + icon: 'desktop', + // component: './SettingCenter/ProcessList', + }, + ], + }, + { + path: '/about', + name: 'about', + icon: 'smile', + component: './Welcome', }, { path: '*', diff --git a/dinky-web/jest.config.ts b/dinky-web/jest.config.ts index 1de2a1af75..5e527a687e 100644 --- a/dinky-web/jest.config.ts +++ b/dinky-web/jest.config.ts @@ -1,4 +1,21 @@ -import { configUmiAlias, createConfig } from '@umijs/max/test'; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {configUmiAlias, createConfig} from '@umijs/max/test'; export default async () => { const config = await configUmiAlias({ diff --git a/dinky-web/mock/listTableList.ts b/dinky-web/mock/listTableList.ts index 35ec3cec13..a586d81f9a 100644 --- a/dinky-web/mock/listTableList.ts +++ b/dinky-web/mock/listTableList.ts @@ -1,6 +1,23 @@ -import { Request, Response } from 'express'; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {Request, Response} from 'express'; import moment from 'moment'; -import { parse } from 'url'; +import {parse} from 'url'; // mock tableListDataSource const genList = (current: number, pageSize: number) => { diff --git a/dinky-web/mock/notices.ts b/dinky-web/mock/notices.ts deleted file mode 100644 index 616c92180c..0000000000 --- a/dinky-web/mock/notices.ts +++ /dev/null @@ -1,115 +0,0 @@ -import { Request, Response } from 'express'; - -const getNotices = (req: Request, res: Response) => { - res.json({ - data: [ - { - id: '000000001', - avatar: - 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/MSbDR4FR2MUAAAAAAAAAAAAAFl94AQBr', - title: '你收到了 14 份新周报', - datetime: '2017-08-09', - type: 'notification', - }, - { - id: '000000002', - avatar: - 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/hX-PTavYIq4AAAAAAAAAAAAAFl94AQBr', - title: '你推荐的 曲妮妮 已通过第三轮面试', - datetime: '2017-08-08', - type: 'notification', - }, - { - id: '000000003', - avatar: - 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/jHX5R5l3QjQAAAAAAAAAAAAAFl94AQBr', - title: '这种模板可以区分多种通知类型', - datetime: '2017-08-07', - read: true, - type: 'notification', - }, - { - id: '000000004', - avatar: - 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/Wr4mQqx6jfwAAAAAAAAAAAAAFl94AQBr', - title: '左侧图标用于区分不同的类型', - datetime: '2017-08-07', - type: 'notification', - }, - { - id: '000000005', - avatar: - 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/Mzj_TbcWUj4AAAAAAAAAAAAAFl94AQBr', - title: '内容不要超过两行字,超出时自动截断', - datetime: '2017-08-07', - type: 'notification', - }, - { - id: '000000006', - avatar: - 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/eXLzRbPqQE4AAAAAAAAAAAAAFl94AQBr', - title: '曲丽丽 评论了你', - description: '描述信息描述信息描述信息', - datetime: '2017-08-07', - type: 'message', - clickClose: true, - }, - { - id: '000000007', - avatar: - 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/w5mRQY2AmEEAAAAAAAAAAAAAFl94AQBr', - title: '朱偏右 回复了你', - description: '这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像', - datetime: '2017-08-07', - type: 'message', - clickClose: true, - }, - { - id: '000000008', - avatar: - 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/wPadR5M9918AAAAAAAAAAAAAFl94AQBr', - title: '标题', - description: '这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像', - datetime: '2017-08-07', - type: 'message', - clickClose: true, - }, - { - id: '000000009', - title: '任务名称', - description: '任务需要在 2017-01-12 20:00 前启动', - extra: '未开始', - status: 'todo', - type: 'event', - }, - { - id: '000000010', - title: '第三方紧急代码变更', - description: '冠霖提交于 2017-01-06,需在 2017-01-07 前完成代码变更任务', - extra: '马上到期', - status: 'urgent', - type: 'event', - }, - { - id: '000000011', - title: '信息安全考试', - description: '指派竹尔于 2017-01-09 前完成更新并发布', - extra: '已耗时 8 天', - status: 'doing', - type: 'event', - }, - { - id: '000000012', - title: 'ABCD 版本发布', - description: '冠霖提交于 2017-01-06,需在 2017-01-07 前完成代码变更任务', - extra: '进行中', - status: 'processing', - type: 'event', - }, - ], - }); -}; - -export default { - 'GET /api/notices': getNotices, -}; diff --git a/dinky-web/mock/requestRecord.mock.js b/dinky-web/mock/requestRecord.mock.js index 6c59e198da..e4eece3013 100644 --- a/dinky-web/mock/requestRecord.mock.js +++ b/dinky-web/mock/requestRecord.mock.js @@ -1,3 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + module.exports = { 'GET /api/currentUser': { data: { diff --git a/dinky-web/mock/route.ts b/dinky-web/mock/route.ts index 418d10f1ab..f1f566ac11 100644 --- a/dinky-web/mock/route.ts +++ b/dinky-web/mock/route.ts @@ -1,3 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + export default { '/api/auth_routes': { '/form/advanced-form': { authority: ['admin', 'user'] }, diff --git a/dinky-web/mock/user.ts b/dinky-web/mock/user.ts index 75edd34042..377b799cf3 100644 --- a/dinky-web/mock/user.ts +++ b/dinky-web/mock/user.ts @@ -1,4 +1,21 @@ -import { Request, Response } from 'express'; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {Request, Response} from 'express'; const waitTime = (time: number = 100) => { return new Promise((resolve) => { diff --git a/dinky-web/package.json b/dinky-web/package.json index 1e2365b384..b4bb905f49 100644 --- a/dinky-web/package.json +++ b/dinky-web/package.json @@ -1,8 +1,8 @@ { - "name": "ant-design-pro", + "name": "Dinky", "version": "6.0.0", "private": true, - "description": "An out-of-box UI solution for enterprise applications", + "description": "Dinky is an out of the box one-stop real-time computing platform dedicated to the construction and practice of Unified Batch & Streaming and Unified Data Lake & Data Warehouse. Based on Apache Flink, Dinky provides the ability to connect many big data frameworks including OLAP and Data Lake.", "scripts": { "analyze": "cross-env ANALYZE=1 max build", "build": "max build", @@ -19,7 +19,6 @@ "lint:js": "eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src", "lint:prettier": "prettier -c --write \"**/**.{js,jsx,tsx,ts,less,md,json}\" --end-of-line auto", "openapi": "max openapi", - "prepare": "husky install", "prettier": "prettier -c --write \"**/**.{js,jsx,tsx,ts,less,md,json}\"", "preview": "npm run build && max preview --port 8000", "record": "cross-env NODE_ENV=development REACT_APP_ENV=test max record --scene=login", @@ -40,8 +39,8 @@ }, "browserslist": ["> 1%", "last 2 versions", "not ie <= 10"], "dependencies": { - "@ant-design/icons": "^4.7.0", - "@ant-design/pro-components": "^2.3.37", + "@ant-design/icons": "^5.0.1", + "@ant-design/pro-components": "^2.3.52", "@ant-design/use-emotion-css": "1.0.4", "@umijs/route-utils": "^2.1.3", "antd": "^5.0.0", diff --git a/dinky-web/pom.xml b/dinky-web/pom.xml new file mode 100644 index 0000000000..5a95dd7fa0 --- /dev/null +++ b/dinky-web/pom.xml @@ -0,0 +1,78 @@ + + + + + 4.0.0 + + org.dinky + dinky + 0.8.0 + + + dinky-web + pom + + Dinky : Dinky-Web + + + ${project.artifactId}-${project.version} + + + + com.github.eirslett + frontend-maven-plugin + 1.12.0 + + v14.17.0 + 7.19.0 + + + + + + + install node and npm + + install-node-and-npm + + + + npm install + + npm + + + + install --force + + + + npm run build + + npm + + + run build + + + + + + + diff --git a/dinky-web/public/CNAME b/dinky-web/public/CNAME deleted file mode 100644 index 30c2d4d362..0000000000 --- a/dinky-web/public/CNAME +++ /dev/null @@ -1 +0,0 @@ -preview.pro.ant.design \ No newline at end of file diff --git a/dinky-web/public/community/dingtalk.jpg b/dinky-web/public/community/dingtalk.jpg new file mode 100644 index 0000000000..701ca27a63 Binary files /dev/null and b/dinky-web/public/community/dingtalk.jpg differ diff --git a/dinky-web/public/community/qq.png b/dinky-web/public/community/qq.png new file mode 100644 index 0000000000..f96709fa68 Binary files /dev/null and b/dinky-web/public/community/qq.png differ diff --git a/dinky-web/public/community/wechat.jpg b/dinky-web/public/community/wechat.jpg new file mode 100644 index 0000000000..5ef33eb803 Binary files /dev/null and b/dinky-web/public/community/wechat.jpg differ diff --git a/dinky-web/public/database/clickhouse.png b/dinky-web/public/database/clickhouse.png new file mode 100644 index 0000000000..15ed001c01 Binary files /dev/null and b/dinky-web/public/database/clickhouse.png differ diff --git a/dinky-web/public/database/db.jpg b/dinky-web/public/database/db.jpg new file mode 100644 index 0000000000..bfe2a38643 Binary files /dev/null and b/dinky-web/public/database/db.jpg differ diff --git a/dinky-web/public/database/doris.jpeg b/dinky-web/public/database/doris.jpeg new file mode 100644 index 0000000000..e5f2256830 Binary files /dev/null and b/dinky-web/public/database/doris.jpeg differ diff --git a/dinky-web/public/database/hive.png b/dinky-web/public/database/hive.png new file mode 100644 index 0000000000..faa24c148e Binary files /dev/null and b/dinky-web/public/database/hive.png differ diff --git a/dinky-web/public/database/mysql.jpg b/dinky-web/public/database/mysql.jpg new file mode 100644 index 0000000000..e927f50710 Binary files /dev/null and b/dinky-web/public/database/mysql.jpg differ diff --git a/dinky-web/public/database/oracle.jpg b/dinky-web/public/database/oracle.jpg new file mode 100644 index 0000000000..a1985751d1 Binary files /dev/null and b/dinky-web/public/database/oracle.jpg differ diff --git a/dinky-web/public/database/phoenix.png b/dinky-web/public/database/phoenix.png new file mode 100644 index 0000000000..5495793a96 Binary files /dev/null and b/dinky-web/public/database/phoenix.png differ diff --git a/dinky-web/public/database/postgresql.jpg b/dinky-web/public/database/postgresql.jpg new file mode 100644 index 0000000000..9b5f175c61 Binary files /dev/null and b/dinky-web/public/database/postgresql.jpg differ diff --git a/dinky-web/public/database/presto.png b/dinky-web/public/database/presto.png new file mode 100644 index 0000000000..15058db026 Binary files /dev/null and b/dinky-web/public/database/presto.png differ diff --git a/dinky-web/public/database/sqlserver.jpg b/dinky-web/public/database/sqlserver.jpg new file mode 100644 index 0000000000..339a4b3e91 Binary files /dev/null and b/dinky-web/public/database/sqlserver.jpg differ diff --git a/dinky-web/public/database/starrocks.jpg b/dinky-web/public/database/starrocks.jpg new file mode 100644 index 0000000000..c425dd2835 Binary files /dev/null and b/dinky-web/public/database/starrocks.jpg differ diff --git a/dinky-web/public/dinky.svg b/dinky-web/public/dinky.svg new file mode 100644 index 0000000000..b4d5df8343 --- /dev/null +++ b/dinky-web/public/dinky.svg @@ -0,0 +1,1400 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dinky-web/public/favicon.ico b/dinky-web/public/favicon.ico index e2e9325298..89bda05425 100644 Binary files a/dinky-web/public/favicon.ico and b/dinky-web/public/favicon.ico differ diff --git a/dinky-web/public/logo.svg b/dinky-web/public/logo.svg deleted file mode 100644 index 239bf69f18..0000000000 --- a/dinky-web/public/logo.svg +++ /dev/null @@ -1 +0,0 @@ -Group 28 Copy 5Created with Sketch. \ No newline at end of file diff --git a/dinky-web/public/pro_icon.svg b/dinky-web/public/pro_icon.svg deleted file mode 100644 index e075b78d76..0000000000 --- a/dinky-web/public/pro_icon.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/dinky-web/public/scripts/loading.js b/dinky-web/public/scripts/loading.js index c1ced54c1e..b964dd83b0 100644 --- a/dinky-web/public/scripts/loading.js +++ b/dinky-web/public/scripts/loading.js @@ -1,3 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /** * loading 占位 * 解决首次加载时白屏的问题 @@ -191,10 +208,10 @@
- 正在加载资源 + Loading...
- 初次加载资源可能需要较多时间 请耐心等待 + It may take a long time to load resources for the first time, please be patient
`; diff --git a/dinky-web/src/access.ts b/dinky-web/src/access.ts index e823e24b3e..160c1694ce 100644 --- a/dinky-web/src/access.ts +++ b/dinky-web/src/access.ts @@ -1,3 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /** * @see https://umijs.org/zh-CN/plugins/plugin-access * */ diff --git a/dinky-web/src/app.tsx b/dinky-web/src/app.tsx index 7171f93d25..f43c387bbe 100644 --- a/dinky-web/src/app.tsx +++ b/dinky-web/src/app.tsx @@ -1,14 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import Footer from '@/components/Footer'; import RightContent from '@/components/RightContent'; -import { LinkOutlined } from '@ant-design/icons'; -import type { Settings as LayoutSettings } from '@ant-design/pro-components'; -import { SettingDrawer } from '@ant-design/pro-components'; -import type { RunTimeLayoutConfig } from '@umijs/max'; -import { history, Link } from '@umijs/max'; +import {LinkOutlined} from '@ant-design/icons'; +import type {Settings as LayoutSettings} from '@ant-design/pro-components'; +import {SettingDrawer} from '@ant-design/pro-components'; +import type {RunTimeLayoutConfig} from '@umijs/max'; +import {history, Link} from '@umijs/max'; import defaultSettings from '../config/defaultSettings'; -import { errorConfig } from './requestErrorConfig'; -import { currentUser as queryCurrentUser } from './services/ant-design-pro/api'; +import {errorConfig} from './requestErrorConfig'; +import {currentUser as queryCurrentUser} from './services/api'; import React from 'react'; + const isDev = process.env.NODE_ENV === 'development'; const loginPath = '/user/login'; diff --git a/dinky-web/src/components/Footer/index.tsx b/dinky-web/src/components/Footer/index.tsx index 03ac1468db..2ae189e23d 100644 --- a/dinky-web/src/components/Footer/index.tsx +++ b/dinky-web/src/components/Footer/index.tsx @@ -1,40 +1,44 @@ -import { GithubOutlined } from '@ant-design/icons'; -import { DefaultFooter } from '@ant-design/pro-components'; -import { useIntl } from '@umijs/max'; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {l} from '@/utils/intl'; +import {GithubOutlined} from '@ant-design/icons'; +import {DefaultFooter} from '@ant-design/pro-components'; import React from 'react'; const Footer: React.FC = () => { - const intl = useIntl(); - const defaultMessage = intl.formatMessage({ - id: 'app.copyright.produced', - defaultMessage: '蚂蚁集团体验技术部出品', - }); - const currentYear = new Date().getFullYear(); - return ( , - href: 'https://github.com/ant-design/ant-design-pro', - blankTarget: true, - }, - { - key: 'Ant Design', - title: 'Ant Design', - href: 'https://ant.design', + title: , + href: 'https://github.com/DataLinkDC/dlink', blankTarget: true, }, ]} diff --git a/dinky-web/src/components/HeaderDropdown/index.tsx b/dinky-web/src/components/HeaderDropdown/index.tsx index 8474be5195..d16568472d 100644 --- a/dinky-web/src/components/HeaderDropdown/index.tsx +++ b/dinky-web/src/components/HeaderDropdown/index.tsx @@ -1,7 +1,24 @@ -import { Dropdown } from 'antd'; -import type { DropDownProps } from 'antd/es/dropdown'; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {Dropdown} from 'antd'; +import type {DropDownProps} from 'antd/es/dropdown'; import React from 'react'; -import { useEmotionCss } from '@ant-design/use-emotion-css'; +import {useEmotionCss} from '@ant-design/use-emotion-css'; import classNames from 'classnames'; export type HeaderDropdownProps = { diff --git a/dinky-web/src/components/RightContent/AvatarDropdown.tsx b/dinky-web/src/components/RightContent/AvatarDropdown.tsx index e4dfaf033b..3dd92b4f4c 100644 --- a/dinky-web/src/components/RightContent/AvatarDropdown.tsx +++ b/dinky-web/src/components/RightContent/AvatarDropdown.tsx @@ -1,13 +1,30 @@ -import { outLogin } from '@/services/ant-design-pro/api'; -import { LogoutOutlined, SettingOutlined, UserOutlined } from '@ant-design/icons'; -import { useEmotionCss } from '@ant-design/use-emotion-css'; -import { history, useModel } from '@umijs/max'; -import { Avatar, Spin } from 'antd'; -import { setAlpha } from '@ant-design/pro-components'; -import { stringify } from 'querystring'; -import type { MenuInfo } from 'rc-menu/lib/interface'; -import React, { useCallback } from 'react'; -import { flushSync } from 'react-dom'; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {outLogin} from '@/services/api'; +import {LogoutOutlined, SettingOutlined, UserOutlined} from '@ant-design/icons'; +import {useEmotionCss} from '@ant-design/use-emotion-css'; +import {history, useModel} from '@umijs/max'; +import {Avatar, Spin} from 'antd'; +import {setAlpha} from '@ant-design/pro-components'; +import {stringify} from 'querystring'; +import type {MenuInfo} from 'rc-menu/lib/interface'; +import React, {useCallback} from 'react'; +import {flushSync} from 'react-dom'; import HeaderDropdown from '../HeaderDropdown'; export type GlobalHeaderRightProps = { diff --git a/dinky-web/src/components/RightContent/index.tsx b/dinky-web/src/components/RightContent/index.tsx index 2d00792915..1a1bca8ce9 100644 --- a/dinky-web/src/components/RightContent/index.tsx +++ b/dinky-web/src/components/RightContent/index.tsx @@ -1,6 +1,23 @@ -import { QuestionCircleOutlined } from '@ant-design/icons'; -import { useEmotionCss } from '@ant-design/use-emotion-css'; -import { SelectLang, useModel } from '@umijs/max'; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {GlobalOutlined} from '@ant-design/icons'; +import {useEmotionCss} from '@ant-design/use-emotion-css'; +import {SelectLang, useModel} from '@umijs/max'; import React from 'react'; import Avatar from './AvatarDropdown'; @@ -26,6 +43,7 @@ const GlobalHeaderRight: React.FC = () => { overflow: 'hidden', cursor: 'pointer', padding: '0 12px', + color: '#fff', borderRadius: token.borderRadius, '&:hover': { backgroundColor: token.colorBgTextHover, @@ -41,16 +59,8 @@ const GlobalHeaderRight: React.FC = () => { return (
- { - window.open('https://pro.ant.design/docs/getting-started'); - }} - > - - - + } className={actionClassName} />
); }; diff --git a/dinky-web/src/components/Version/Version.ts b/dinky-web/src/components/Version/Version.ts new file mode 100644 index 0000000000..2e03a88dad --- /dev/null +++ b/dinky-web/src/components/Version/Version.ts @@ -0,0 +1,18 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export const VERSION = '0.8.0'; diff --git a/dinky-web/src/global.less b/dinky-web/src/global.less index a9a0c51bb0..23abee7e1c 100644 --- a/dinky-web/src/global.less +++ b/dinky-web/src/global.less @@ -1,3 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + html, body, #root { diff --git a/dinky-web/src/global.tsx b/dinky-web/src/global.tsx index afa1fab566..dcbcd7dbce 100644 --- a/dinky-web/src/global.tsx +++ b/dinky-web/src/global.tsx @@ -1,8 +1,25 @@ -import { useIntl } from '@umijs/max'; -import { Button, message, notification } from 'antd'; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {Button, message, notification} from 'antd'; import defaultSettings from '../config/defaultSettings'; +import {l} from "@/utils/intl"; -const { pwa } = defaultSettings; +const {pwa} = defaultSettings; const isHttps = document.location.protocol === 'https:'; const clearCache = () => { @@ -23,7 +40,7 @@ const clearCache = () => { if (pwa) { // Notify user if offline now window.addEventListener('sw.offline', () => { - message.warning(useIntl().formatMessage({ id: 'app.pwa.offline' })); + message.warning(l('app.pwa.offline')); }); // Pop up a prompt on the page asking the user if they want to use the latest version @@ -46,7 +63,7 @@ if (pwa) { resolve(msgEvent.data); } }; - worker.postMessage({ type: 'skip-waiting' }, [channel.port2]); + worker.postMessage({type: 'skip-waiting'}, [channel.port2]); }); clearCache(); @@ -62,12 +79,12 @@ if (pwa) { reloadSW(); }} > - {useIntl().formatMessage({ id: 'app.pwa.serviceworker.updated.ok' })} + {l('app.pwa.serviceworker.updated.ok')} ); notification.open({ - message: useIntl().formatMessage({ id: 'app.pwa.serviceworker.updated' }), - description: useIntl().formatMessage({ id: 'app.pwa.serviceworker.updated.hint' }), + message: l('app.pwa.serviceworker.updated'), + description: l('app.pwa.serviceworker.updated.hint'), btn, key, onClose: async () => null, @@ -75,7 +92,7 @@ if (pwa) { }); } else if ('serviceWorker' in navigator && isHttps) { // unregister service worker - const { serviceWorker } = navigator; + const {serviceWorker} = navigator; if (serviceWorker.getRegistrations) { serviceWorker.getRegistrations().then((sws) => { sws.forEach((sw) => { diff --git a/dinky-web/src/locales/bn-BD.ts b/dinky-web/src/locales/bn-BD.ts deleted file mode 100644 index f9f6afd601..0000000000 --- a/dinky-web/src/locales/bn-BD.ts +++ /dev/null @@ -1,26 +0,0 @@ -import component from './bn-BD/component'; -import globalHeader from './bn-BD/globalHeader'; -import menu from './bn-BD/menu'; -import pages from './bn-BD/pages'; -import pwa from './bn-BD/pwa'; -import settingDrawer from './bn-BD/settingDrawer'; -import settings from './bn-BD/settings'; - -export default { - 'navBar.lang': 'ভাষা', - 'layout.user.link.help': 'সহায়তা', - 'layout.user.link.privacy': 'গোপনীয়তা', - 'layout.user.link.terms': 'শর্তাদি', - 'app.copyright.produced': 'প্রযোজনা করেছেন অ্যান্ট ফিনান্সিয়াল এক্সপেরিয়েন্স ডিপার্টমেন্ট', - 'app.preview.down.block': 'আপনার স্থানীয় প্রকল্পে এই পৃষ্ঠাটি ডাউনলোড করুন', - 'app.welcome.link.fetch-blocks': 'সমস্ত ব্লক পান', - 'app.welcome.link.block-list': - '`block` ডেভেলপমেন্ট এর উপর ভিত্তি করে দ্রুত স্ট্যান্ডার্ড, পৃষ্ঠাসমূহ তৈরি করুন।', - ...globalHeader, - ...menu, - ...settingDrawer, - ...settings, - ...pwa, - ...component, - ...pages, -}; diff --git a/dinky-web/src/locales/bn-BD/component.ts b/dinky-web/src/locales/bn-BD/component.ts deleted file mode 100644 index a546e75747..0000000000 --- a/dinky-web/src/locales/bn-BD/component.ts +++ /dev/null @@ -1,5 +0,0 @@ -export default { - 'component.tagSelect.expand': 'বিস্তৃত', - 'component.tagSelect.collapse': 'সঙ্কুচিত', - 'component.tagSelect.all': 'সব', -}; diff --git a/dinky-web/src/locales/bn-BD/globalHeader.ts b/dinky-web/src/locales/bn-BD/globalHeader.ts deleted file mode 100644 index 2679be46f5..0000000000 --- a/dinky-web/src/locales/bn-BD/globalHeader.ts +++ /dev/null @@ -1,17 +0,0 @@ -export default { - 'component.globalHeader.search': 'অনুসন্ধান করুন', - 'component.globalHeader.search.example1': 'অনুসন্ধান উদাহরণ ১', - 'component.globalHeader.search.example2': 'অনুসন্ধান উদাহরণ ২', - 'component.globalHeader.search.example3': 'অনুসন্ধান উদাহরণ ৩', - 'component.globalHeader.help': 'সহায়তা', - 'component.globalHeader.notification': 'বিজ্ঞপ্তি', - 'component.globalHeader.notification.empty': 'আপনি সমস্ত বিজ্ঞপ্তি দেখেছেন।', - 'component.globalHeader.message': 'বার্তা', - 'component.globalHeader.message.empty': 'আপনি সমস্ত বার্তা দেখেছেন।', - 'component.globalHeader.event': 'ঘটনা', - 'component.globalHeader.event.empty': 'আপনি সমস্ত ইভেন্ট দেখেছেন।', - 'component.noticeIcon.clear': 'সাফ', - 'component.noticeIcon.cleared': 'সাফ করা হয়েছে', - 'component.noticeIcon.empty': 'বিজ্ঞপ্তি নেই', - 'component.noticeIcon.view-more': 'আরো দেখুন', -}; diff --git a/dinky-web/src/locales/bn-BD/menu.ts b/dinky-web/src/locales/bn-BD/menu.ts deleted file mode 100644 index ae511a0db8..0000000000 --- a/dinky-web/src/locales/bn-BD/menu.ts +++ /dev/null @@ -1,52 +0,0 @@ -export default { - 'menu.welcome': 'স্বাগতম', - 'menu.more-blocks': 'আরও ব্লক', - 'menu.home': 'নীড়', - 'menu.admin': 'অ্যাডমিন', - 'menu.admin.sub-page': 'উপ-পৃষ্ঠা', - 'menu.login': 'প্রবেশ', - 'menu.register': 'নিবন্ধন', - 'menu.register-result': 'নিবন্ধনে ফলাফল', - 'menu.dashboard': 'ড্যাশবোর্ড', - 'menu.dashboard.analysis': 'বিশ্লেষণ', - 'menu.dashboard.monitor': 'নিরীক্ষণ', - 'menu.dashboard.workplace': 'কর্মক্ষেত্র', - 'menu.exception.403': '403', - 'menu.exception.404': '404', - 'menu.exception.500': '500', - 'menu.form': 'ফর্ম', - 'menu.form.basic-form': 'বেসিক ফর্ম', - 'menu.form.step-form': 'পদক্ষেপ ফর্ম', - 'menu.form.step-form.info': 'পদক্ষেপ ফর্ম (স্থানান্তর তথ্য লিখুন)', - 'menu.form.step-form.confirm': 'পদক্ষেপ ফর্ম (স্থানান্তর তথ্য নিশ্চিত করুন)', - 'menu.form.step-form.result': 'পদক্ষেপ ফর্ম (সমাপ্ত)', - 'menu.form.advanced-form': 'উন্নত ফর্ম', - 'menu.list': 'তালিকা', - 'menu.list.table-list': 'অনুসন্ধানের টেবিল', - 'menu.list.basic-list': 'বেসিক তালিকা', - 'menu.list.card-list': 'কার্ডের তালিকা', - 'menu.list.search-list': 'অনুসন্ধানের তালিকা', - 'menu.list.search-list.articles': 'অনুসন্ধানের তালিকা (নিবন্ধসমূহ)', - 'menu.list.search-list.projects': 'অনুসন্ধানের তালিকা (প্রকল্পগুলি)', - 'menu.list.search-list.applications': 'অনুসন্ধানের তালিকা (অ্যাপ্লিকেশন)', - 'menu.profile': 'প্রোফাইল', - 'menu.profile.basic': 'বেসিক প্রোফাইল', - 'menu.profile.advanced': 'উন্নত প্রোফাইল', - 'menu.result': 'ফলাফল', - 'menu.result.success': 'সাফল্য', - 'menu.result.fail': 'ব্যর্থ', - 'menu.exception': 'ব্যতিক্রম', - 'menu.exception.not-permission': '403', - 'menu.exception.not-find': '404', - 'menu.exception.server-error': '500', - 'menu.exception.trigger': 'ট্রিগার', - 'menu.account': 'হিসাব', - 'menu.account.center': 'অ্যাকাউন্ট কেন্দ্র', - 'menu.account.settings': 'অ্যাকাউন্ট সেটিংস', - 'menu.account.trigger': 'ট্রিগার ত্রুটি', - 'menu.account.logout': 'প্রস্থান', - 'menu.editor': 'গ্রাফিক সম্পাদক', - 'menu.editor.flow': 'ফ্লো এডিটর', - 'menu.editor.mind': 'মাইন্ড এডিটর', - 'menu.editor.koni': 'কোনি সম্পাদক', -}; diff --git a/dinky-web/src/locales/bn-BD/pages.ts b/dinky-web/src/locales/bn-BD/pages.ts deleted file mode 100644 index 529900afc4..0000000000 --- a/dinky-web/src/locales/bn-BD/pages.ts +++ /dev/null @@ -1,68 +0,0 @@ -export default { - 'pages.layouts.userLayout.title': - 'পিঁপড়া ডিজাইন হচ্ছে সিহু জেলার সবচেয়ে প্রভাবশালী ওয়েব ডিজাইনের স্পেসিফিকেশন', - 'pages.login.accountLogin.tab': 'অ্যাকাউন্টে লগইন', - 'pages.login.accountLogin.errorMessage': 'ভুল ব্যবহারকারীর নাম/পাসওয়ার্ড(admin/ant.design)', - 'pages.login.failure': 'লগইন ব্যর্থ হয়েছে। আবার চেষ্টা করুন!', - 'pages.login.success': 'সফল লগইন!', - 'pages.login.username.placeholder': 'ব্যবহারকারীর নাম: admin or user', - 'pages.login.username.required': 'আপনার ব্যবহারকারীর নাম ইনপুট করুন!', - 'pages.login.password.placeholder': 'পাসওয়ার্ড: ant.design', - 'pages.login.password.required': 'আপনার পাসওয়ার্ড ইনপুট করুন!', - 'pages.login.phoneLogin.tab': 'ফোন লগইন', - 'pages.login.phoneLogin.errorMessage': 'যাচাইকরণ কোড ত্রুটি', - 'pages.login.phoneNumber.placeholder': 'ফোন নম্বর', - 'pages.login.phoneNumber.required': 'আপনার ফোন নম্বর ইনপুট করুন!', - 'pages.login.phoneNumber.invalid': 'ফোন নম্বরটি সঠিক নয়!', - 'pages.login.captcha.placeholder': 'যাচাইকরণের কোড', - 'pages.login.captcha.required': 'দয়া করে ভেরিফিকেশন কোডটি ইনপুট করুন!', - 'pages.login.phoneLogin.getVerificationCode': 'কোড পান', - 'pages.getCaptchaSecondText': 'সেকেন্ড', - 'pages.login.rememberMe': 'আমাকে মনে রাখুন', - 'pages.login.forgotPassword': 'পাসওয়ার্ড ভুলে গেছেন?', - 'pages.login.submit': 'প্রবেশ করুন', - 'pages.login.loginWith': 'লগইন করতে পারেন:', - 'pages.login.registerAccount': 'অ্যাকাউন্ট নিবন্ধন করুন', - 'pages.welcome.link': 'স্বাগতম', - 'pages.welcome.alertMessage': 'দ্রুত এবং শক্তিশালী ভারী শুল্ক উপাদান প্রকাশ করা হয়েছে।', - 'pages.admin.subPage.title': 'এই পৃষ্ঠাটি কেবল অ্যাডমিন দ্বারা দেখা যাবে', - 'pages.admin.subPage.alertMessage': - 'UMI UI এখন প্রকাশিত হয়েছে, অভিজ্ঞতা শুরু করতে npm run ui ব্যবহার করতে স্বাগতম।', - 'pages.searchTable.createForm.newRule': 'নতুন বিধি', - 'pages.searchTable.updateForm.ruleConfig': 'বিধি কনফিগারেশন', - 'pages.searchTable.updateForm.basicConfig': 'মৌলিক তথ্য', - 'pages.searchTable.updateForm.ruleName.nameLabel': 'বিধি নাম', - 'pages.searchTable.updateForm.ruleName.nameRules': 'বিধির নাম লিখুন!', - 'pages.searchTable.updateForm.ruleDesc.descLabel': 'বিধির বিবরণ', - 'pages.searchTable.updateForm.ruleDesc.descPlaceholder': 'কমপক্ষে পাঁচটি অক্ষর লিখুন', - 'pages.searchTable.updateForm.ruleDesc.descRules': - 'কমপক্ষে পাঁচটি অক্ষরের একটি বিধান বিবরণ লিখুন!', - 'pages.searchTable.updateForm.ruleProps.title': 'বৈশিষ্ট্য কনফিগার করুন', - 'pages.searchTable.updateForm.object': 'নিরীক্ষণ অবজেক্ট', - 'pages.searchTable.updateForm.ruleProps.templateLabel': 'বিধি টেম্পলেট', - 'pages.searchTable.updateForm.ruleProps.typeLabel': 'বিধি প্রকার', - 'pages.searchTable.updateForm.schedulingPeriod.title': 'সময়সূচী নির্ধারণ করুন', - 'pages.searchTable.updateForm.schedulingPeriod.timeLabel': 'শুরুর সময়', - 'pages.searchTable.updateForm.schedulingPeriod.timeRules': 'একটি শুরুর সময় চয়ন করুন!', - 'pages.searchTable.titleDesc': 'বর্ণনা', - 'pages.searchTable.ruleName': 'বিধি নাম প্রয়োজন', - 'pages.searchTable.titleCallNo': 'পরিষেবা কল সংখ্যা', - 'pages.searchTable.titleStatus': 'অবস্থা', - 'pages.searchTable.nameStatus.default': 'ডিফল্ট', - 'pages.searchTable.nameStatus.running': 'চলমান', - 'pages.searchTable.nameStatus.online': 'অনলাইন', - 'pages.searchTable.nameStatus.abnormal': 'অস্বাভাবিক', - 'pages.searchTable.titleUpdatedAt': 'সর্বশেষ নির্ধারিত', - 'pages.searchTable.exception': 'ব্যতিক্রম জন্য কারণ লিখুন!', - 'pages.searchTable.titleOption': 'অপশন', - 'pages.searchTable.config': 'কনফিগারেশন', - 'pages.searchTable.subscribeAlert': 'সতর্কতা সাবস্ক্রাইব করুন', - 'pages.searchTable.title': 'ইনকয়েরি ফরম', - 'pages.searchTable.new': 'নতুন', - 'pages.searchTable.chosen': 'নির্বাচিত', - 'pages.searchTable.item': 'আইটেম', - 'pages.searchTable.totalServiceCalls': 'পরিষেবা কলগুলির মোট সংখ্যা', - 'pages.searchTable.tenThousand': '000', - 'pages.searchTable.batchDeletion': 'একসাখে ডিলিট', - 'pages.searchTable.batchApproval': 'একসাখে অনুমোদন', -}; diff --git a/dinky-web/src/locales/bn-BD/pwa.ts b/dinky-web/src/locales/bn-BD/pwa.ts deleted file mode 100644 index 233fb305ff..0000000000 --- a/dinky-web/src/locales/bn-BD/pwa.ts +++ /dev/null @@ -1,7 +0,0 @@ -export default { - 'app.pwa.offline': 'আপনি এখন অফলাইন', - 'app.pwa.serviceworker.updated': 'নতুন সামগ্রী উপলব্ধ', - 'app.pwa.serviceworker.updated.hint': - 'বর্তমান পৃষ্ঠাটি পুনরায় লোড করতে দয়া করে "রিফ্রেশ" বোতাম টিপুন', - 'app.pwa.serviceworker.updated.ok': 'রিফ্রেশ', -}; diff --git a/dinky-web/src/locales/bn-BD/settingDrawer.ts b/dinky-web/src/locales/bn-BD/settingDrawer.ts deleted file mode 100644 index 2bd1d04571..0000000000 --- a/dinky-web/src/locales/bn-BD/settingDrawer.ts +++ /dev/null @@ -1,31 +0,0 @@ -export default { - 'app.setting.pagestyle': 'পৃষ্ঠা স্টাইল সেটিং', - 'app.setting.pagestyle.dark': 'ডার্ক স্টাইল', - 'app.setting.pagestyle.light': 'লাইট স্টাইল', - 'app.setting.content-width': 'সামগ্রীর প্রস্থ', - 'app.setting.content-width.fixed': 'স্থির', - 'app.setting.content-width.fluid': 'প্রবাহী', - 'app.setting.themecolor': 'থিম রঙ', - 'app.setting.themecolor.dust': 'ডাস্ট রেড', - 'app.setting.themecolor.volcano': 'আগ্নেয়গিরি', - 'app.setting.themecolor.sunset': 'সানসেট কমলা', - 'app.setting.themecolor.cyan': 'সবুজাভ নীল', - 'app.setting.themecolor.green': 'পোলার সবুজ', - 'app.setting.themecolor.daybreak': 'দিবস ব্রেক ব্লু (ডিফল্ট)', - 'app.setting.themecolor.geekblue': 'গিক আঠালো', - 'app.setting.themecolor.purple': 'গোল্ডেন বেগুনি', - 'app.setting.navigationmode': 'নেভিগেশন মোড', - 'app.setting.sidemenu': 'সাইড মেনু লেআউট', - 'app.setting.topmenu': 'টপ মেনু লেআউট', - 'app.setting.fixedheader': 'স্থির হেডার', - 'app.setting.fixedsidebar': 'স্থির সাইডবার', - 'app.setting.fixedsidebar.hint': 'সাইড মেনু বিন্যাসে কাজ করে', - 'app.setting.hideheader': 'স্ক্রোল করার সময় হেডার লুকানো', - 'app.setting.hideheader.hint': 'লুকানো হেডার সক্ষম থাকলে কাজ করে', - 'app.setting.othersettings': 'অন্যান্য সেটিংস্', - 'app.setting.weakmode': 'দুর্বল মোড', - 'app.setting.copy': 'সেটিং কপি করুন', - 'app.setting.copyinfo': 'সাফল্যের অনুলিপি করুন - প্রতিস্থাপন করুন: src/models/setting.js', - 'app.setting.production.hint': - 'কেবল বিকাশের পরিবেশে প্যানেল শো সেট করা হচ্ছে, দয়া করে ম্যানুয়ালি সংশোধন করুন', -}; diff --git a/dinky-web/src/locales/bn-BD/settings.ts b/dinky-web/src/locales/bn-BD/settings.ts deleted file mode 100644 index 93cf904a50..0000000000 --- a/dinky-web/src/locales/bn-BD/settings.ts +++ /dev/null @@ -1,59 +0,0 @@ -export default { - 'app.settings.menuMap.basic': 'মৌলিক বৈশিষ্ট্যসহ', - 'app.settings.menuMap.security': 'নিরাপত্তা বিন্যাস', - 'app.settings.menuMap.binding': 'অ্যাকাউন্ট বাঁধাই', - 'app.settings.menuMap.notification': 'নতুন বার্তা বিজ্ঞপ্তি', - 'app.settings.basic.avatar': 'অবতার', - 'app.settings.basic.change-avatar': 'অবতার পরিবর্তন করুন', - 'app.settings.basic.email': 'ইমেইল', - 'app.settings.basic.email-message': 'আপনার ইমেইল ইনপুট করুন!', - 'app.settings.basic.nickname': 'ডাক নাম', - 'app.settings.basic.nickname-message': 'আপনার ডাকনামটি ইনপুট করুন!', - 'app.settings.basic.profile': 'ব্যক্তিগত প্রোফাইল', - 'app.settings.basic.profile-message': 'আপনার ব্যক্তিগত প্রোফাইল ইনপুট করুন!', - 'app.settings.basic.profile-placeholder': 'নিজের সাথে সংক্ষিপ্ত পরিচয়', - 'app.settings.basic.country': 'দেশ/অঞ্চল', - 'app.settings.basic.country-message': 'আপনার দেশ ইনপুট করুন!', - 'app.settings.basic.geographic': 'প্রদেশ বা শহর', - 'app.settings.basic.geographic-message': 'আপনার ভৌগলিক তথ্য ইনপুট করুন!', - 'app.settings.basic.address': 'রাস্তার ঠিকানা', - 'app.settings.basic.address-message': 'দয়া করে আপনার ঠিকানা ইনপুট করুন!', - 'app.settings.basic.phone': 'ফোন নম্বর', - 'app.settings.basic.phone-message': 'আপনার ফোন ইনপুট করুন!', - 'app.settings.basic.update': 'তথ্য হালনাগাদ', - 'app.settings.security.strong': 'শক্তিশালী', - 'app.settings.security.medium': 'মধ্যম', - 'app.settings.security.weak': 'দুর্বল', - 'app.settings.security.password': 'অ্যাকাউন্টের পাসওয়ার্ড', - 'app.settings.security.password-description': 'বর্তমান পাসওয়ার্ড শক্তি', - 'app.settings.security.phone': 'সুরক্ষা ফোন', - 'app.settings.security.phone-description': 'আবদ্ধ ফোন', - 'app.settings.security.question': 'নিরাপত্তা প্রশ্ন', - 'app.settings.security.question-description': - 'সুরক্ষা প্রশ্ন সেট করা নেই, এবং সুরক্ষা নীতি কার্যকরভাবে অ্যাকাউন্ট সুরক্ষা রক্ষা করতে পারে', - 'app.settings.security.email': 'ব্যাকআপ ইমেইল', - 'app.settings.security.email-description': 'বাউন্ড ইমেইল', - 'app.settings.security.mfa': 'MFA ডিভাইস', - 'app.settings.security.mfa-description': - "আনবাউন্ড এমএফএ ডিভাইস, বাঁধাইয়ের পরে, দু'বার নিশ্চিত করা যায়", - 'app.settings.security.modify': 'পরিবর্তন করুন', - 'app.settings.security.set': 'সেট', - 'app.settings.security.bind': 'বাঁধাই', - 'app.settings.binding.taobao': 'বাঁধাই তাওবাও', - 'app.settings.binding.taobao-description': 'বর্তমানে আনবাউন্ড তাওবাও অ্যাকাউন্ট', - 'app.settings.binding.alipay': 'বাইন্ডিং আলিপে', - 'app.settings.binding.alipay-description': 'বর্তমানে আনবাউন্ড আলিপে অ্যাকাউন্ট', - 'app.settings.binding.dingding': 'বাঁধাই ডিঙ্গটালক', - 'app.settings.binding.dingding-description': 'বর্তমানে আনবাউন্ড ডিঙ্গটাল অ্যাকাউন্ট', - 'app.settings.binding.bind': 'বাঁধাই', - 'app.settings.notification.password': 'অ্যাকাউন্টের পাসওয়ার্ড', - 'app.settings.notification.password-description': - 'অন্যান্য ব্যবহারকারীর বার্তাগুলি স্টেশন চিঠি আকারে জানানো হবে', - 'app.settings.notification.messages': 'সিস্টেম বার্তা', - 'app.settings.notification.messages-description': - 'সিস্টেম বার্তাগুলি স্টেশন চিঠির আকারে জানানো হবে', - 'app.settings.notification.todo': 'করণীয় বিজ্ঞপ্তি', - 'app.settings.notification.todo-description': 'করণীয় তালিকাটি স্টেশন থেকে চিঠি আকারে জানানো হবে', - 'app.settings.open': 'খোলা', - 'app.settings.close': 'বন্ধ', -}; diff --git a/dinky-web/src/locales/en-US.ts b/dinky-web/src/locales/en-US.ts index acb0f42f44..20be86ae52 100644 --- a/dinky-web/src/locales/en-US.ts +++ b/dinky-web/src/locales/en-US.ts @@ -1,25 +1,31 @@ -import component from './en-US/component'; -import globalHeader from './en-US/globalHeader'; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import menu from './en-US/menu'; import pages from './en-US/pages'; import pwa from './en-US/pwa'; -import settingDrawer from './en-US/settingDrawer'; -import settings from './en-US/settings'; export default { 'navBar.lang': 'Languages', 'layout.user.link.help': 'Help', 'layout.user.link.privacy': 'Privacy', 'layout.user.link.terms': 'Terms', - 'app.copyright.produced': 'Produced by Ant Financial Experience Department', - 'app.preview.down.block': 'Download this page to your local project', - 'app.welcome.link.fetch-blocks': 'Get all block', - 'app.welcome.link.block-list': 'Quickly build standard, pages based on `block` development', - ...globalHeader, + 'app.copyright.produced': 'Produced by Dinky Community', ...menu, - ...settingDrawer, - ...settings, ...pwa, - ...component, ...pages, }; diff --git a/dinky-web/src/locales/en-US/component.ts b/dinky-web/src/locales/en-US/component.ts deleted file mode 100644 index 3ba7eeda69..0000000000 --- a/dinky-web/src/locales/en-US/component.ts +++ /dev/null @@ -1,5 +0,0 @@ -export default { - 'component.tagSelect.expand': 'Expand', - 'component.tagSelect.collapse': 'Collapse', - 'component.tagSelect.all': 'All', -}; diff --git a/dinky-web/src/locales/en-US/globalHeader.ts b/dinky-web/src/locales/en-US/globalHeader.ts deleted file mode 100644 index 60b6d4ec2d..0000000000 --- a/dinky-web/src/locales/en-US/globalHeader.ts +++ /dev/null @@ -1,17 +0,0 @@ -export default { - 'component.globalHeader.search': 'Search', - 'component.globalHeader.search.example1': 'Search example 1', - 'component.globalHeader.search.example2': 'Search example 2', - 'component.globalHeader.search.example3': 'Search example 3', - 'component.globalHeader.help': 'Help', - 'component.globalHeader.notification': 'Notification', - 'component.globalHeader.notification.empty': 'You have viewed all notifications.', - 'component.globalHeader.message': 'Message', - 'component.globalHeader.message.empty': 'You have viewed all messsages.', - 'component.globalHeader.event': 'Event', - 'component.globalHeader.event.empty': 'You have viewed all events.', - 'component.noticeIcon.clear': 'Clear', - 'component.noticeIcon.cleared': 'Cleared', - 'component.noticeIcon.empty': 'No notifications', - 'component.noticeIcon.view-more': 'View more', -}; diff --git a/dinky-web/src/locales/en-US/menu.ts b/dinky-web/src/locales/en-US/menu.ts index eae3e532e2..e2ccf145a0 100644 --- a/dinky-web/src/locales/en-US/menu.ts +++ b/dinky-web/src/locales/en-US/menu.ts @@ -1,52 +1,63 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + export default { 'menu.welcome': 'Welcome', - 'menu.more-blocks': 'More Blocks', 'menu.home': 'Home', - 'menu.admin': 'Admin', - 'menu.admin.sub-page': 'Sub-Page', - 'menu.login': 'Login', - 'menu.register': 'Register', - 'menu.register-result': 'Register Result', - 'menu.dashboard': 'Dashboard', - 'menu.dashboard.analysis': 'Analysis', - 'menu.dashboard.monitor': 'Monitor', - 'menu.dashboard.workplace': 'Workplace', 'menu.exception.403': '403', 'menu.exception.404': '404', 'menu.exception.500': '500', - 'menu.form': 'Form', - 'menu.form.basic-form': 'Basic Form', - 'menu.form.step-form': 'Step Form', - 'menu.form.step-form.info': 'Step Form(write transfer information)', - 'menu.form.step-form.confirm': 'Step Form(confirm transfer information)', - 'menu.form.step-form.result': 'Step Form(finished)', - 'menu.form.advanced-form': 'Advanced Form', - 'menu.list': 'List', - 'menu.list.table-list': 'Search Table', - 'menu.list.basic-list': 'Basic List', - 'menu.list.card-list': 'Card List', - 'menu.list.search-list': 'Search List', - 'menu.list.search-list.articles': 'Search List(articles)', - 'menu.list.search-list.projects': 'Search List(projects)', - 'menu.list.search-list.applications': 'Search List(applications)', - 'menu.profile': 'Profile', - 'menu.profile.basic': 'Basic Profile', - 'menu.profile.advanced': 'Advanced Profile', - 'menu.result': 'Result', - 'menu.result.success': 'Success', - 'menu.result.fail': 'Fail', - 'menu.exception': 'Exception', 'menu.exception.not-permission': '403', 'menu.exception.not-find': '404', 'menu.exception.server-error': '500', - 'menu.exception.trigger': 'Trigger', - 'menu.account': 'Account', - 'menu.account.center': 'Account Center', + + 'menu.login': 'Login', 'menu.account.settings': 'Account Settings', - 'menu.account.trigger': 'Trigger Error', + 'menu.account.center': 'Account Center', 'menu.account.logout': 'Logout', - 'menu.editor': 'Graphic Editor', - 'menu.editor.flow': 'Flow Editor', - 'menu.editor.mind': 'Mind Editor', - 'menu.editor.koni': 'Koni Editor', + 'menu.account.changePassword': 'Change Password', + 'menu.account.checkTenant': 'Check Tenant', + 'menu.account.checkTenantConfirm': 'Are you sure to switch tenant [ {tenantCode} ] ?', + + 'menu.dataStudio': 'Data Studio', + 'menu.devops': 'Devops', + 'menu.job': 'Job Instance', + 'menu.datacenter': 'Meta Data Center', + 'menu.datacenter.metadata': 'Meta Data', + 'menu.registration': 'Registration Center', + 'menu.registration.cluster': 'Cluster Management', + 'menu.registration.cluster.clusterInstance': 'Flink Instance', + 'menu.registration.cluster.clusterConfiguration': 'Cluster Config', + 'menu.registration.jar': 'Jar Management', + 'menu.registration.database': 'Data Source Management', + 'menu.registration.alert': 'Alarm Management', + 'menu.registration.alert.alertInstance': 'Alarm Instance Management', + 'menu.registration.alert.alertGroup': 'Alarm Group Management', + 'menu.registration.document': 'Document Management', + 'menu.registration.fragment': 'Global Variable Management', + 'menu.authenticationCenter': 'Authentication Center', + 'menu.authenticationCenter.userManager': 'User Management', + 'menu.authenticationCenter.namespaceManager': 'NameSpace Management', + 'menu.authenticationCenter.roleManager': 'Role Management', + 'menu.authenticationCenter.tenantManager': 'Tenant Management', + 'menu.settings': 'Setting Center', + 'menu.settings.flinkConfig': 'Flink Settings', + 'menu.settings.udfTemplate': 'UDF Template Settings', + 'menu.settings.systemInfo': 'System Info', + 'menu.settings.processList': 'Process List', + 'menu.about': 'About', }; diff --git a/dinky-web/src/locales/en-US/pages.ts b/dinky-web/src/locales/en-US/pages.ts index 486f5e859d..b1774ed12f 100644 --- a/dinky-web/src/locales/en-US/pages.ts +++ b/dinky-web/src/locales/en-US/pages.ts @@ -1,68 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + export default { - 'pages.layouts.userLayout.title': - 'Ant Design is the most influential web design specification in Xihu district', + 'pages.layouts.userLayout.title': 'Dinky Real-time Computing Platform', 'pages.login.accountLogin.tab': 'Account Login', - 'pages.login.accountLogin.errorMessage': 'Incorrect username/password(admin/ant.design)', + 'pages.login.accountLogin.errorMessage': 'Incorrect username/password', 'pages.login.failure': 'Login failed, please try again!', 'pages.login.success': 'Login successful!', - 'pages.login.username.placeholder': 'Username: admin or user', + 'pages.login.username.placeholder': 'Username', 'pages.login.username.required': 'Please input your username!', - 'pages.login.password.placeholder': 'Password: ant.design', + 'pages.login.password.placeholder': 'Password', 'pages.login.password.required': 'Please input your password!', - 'pages.login.phoneLogin.tab': 'Phone Login', - 'pages.login.phoneLogin.errorMessage': 'Verification Code Error', - 'pages.login.phoneNumber.placeholder': 'Phone Number', - 'pages.login.phoneNumber.required': 'Please input your phone number!', - 'pages.login.phoneNumber.invalid': 'Phone number is invalid!', - 'pages.login.captcha.placeholder': 'Verification Code', - 'pages.login.captcha.required': 'Please input verification code!', - 'pages.login.phoneLogin.getVerificationCode': 'Get Code', - 'pages.getCaptchaSecondText': 'sec(s)', 'pages.login.rememberMe': 'Remember me', - 'pages.login.forgotPassword': 'Forgot Password ?', - 'pages.login.submit': 'Login', - 'pages.login.loginWith': 'Login with :', - 'pages.login.registerAccount': 'Register Account', - 'pages.welcome.link': 'Welcome', - 'pages.welcome.alertMessage': 'Faster and stronger heavy-duty components have been released.', - 'pages.admin.subPage.title': 'This page can only be viewed by Admin', - 'pages.admin.subPage.alertMessage': - 'Umi ui is now released, welcome to use npm run ui to start the experience.', - 'pages.searchTable.createForm.newRule': 'New Rule', - 'pages.searchTable.updateForm.ruleConfig': 'Rule configuration', - 'pages.searchTable.updateForm.basicConfig': 'Basic Information', - 'pages.searchTable.updateForm.ruleName.nameLabel': 'Rule Name', - 'pages.searchTable.updateForm.ruleName.nameRules': 'Please enter the rule name!', - 'pages.searchTable.updateForm.ruleDesc.descLabel': 'Rule Description', - 'pages.searchTable.updateForm.ruleDesc.descPlaceholder': 'Please enter at least five characters', - 'pages.searchTable.updateForm.ruleDesc.descRules': - 'Please enter a rule description of at least five characters!', - 'pages.searchTable.updateForm.ruleProps.title': 'Configure Properties', - 'pages.searchTable.updateForm.object': 'Monitoring Object', - 'pages.searchTable.updateForm.ruleProps.templateLabel': 'Rule Template', - 'pages.searchTable.updateForm.ruleProps.typeLabel': 'Rule Type', - 'pages.searchTable.updateForm.schedulingPeriod.title': 'Set Scheduling Period', - 'pages.searchTable.updateForm.schedulingPeriod.timeLabel': 'Starting Time', - 'pages.searchTable.updateForm.schedulingPeriod.timeRules': 'Please choose a start time!', - 'pages.searchTable.titleDesc': 'Description', - 'pages.searchTable.ruleName': 'Rule name is required', - 'pages.searchTable.titleCallNo': 'Number of Service Calls', - 'pages.searchTable.titleStatus': 'Status', - 'pages.searchTable.nameStatus.default': 'default', - 'pages.searchTable.nameStatus.running': 'running', - 'pages.searchTable.nameStatus.online': 'online', - 'pages.searchTable.nameStatus.abnormal': 'abnormal', - 'pages.searchTable.titleUpdatedAt': 'Last Scheduled at', - 'pages.searchTable.exception': 'Please enter the reason for the exception!', - 'pages.searchTable.titleOption': 'Option', - 'pages.searchTable.config': 'Configuration', - 'pages.searchTable.subscribeAlert': 'Subscribe to alerts', - 'pages.searchTable.title': 'Enquiry Form', - 'pages.searchTable.new': 'New', - 'pages.searchTable.chosen': 'chosen', - 'pages.searchTable.item': 'item', - 'pages.searchTable.totalServiceCalls': 'Total Number of Service Calls', - 'pages.searchTable.tenThousand': '0000', - 'pages.searchTable.batchDeletion': 'batch deletion', - 'pages.searchTable.batchApproval': 'batch approval', + 'pages.welcome.alertMessage': 'The real-time computing platform Dinky will be released soon, and it is currently a trial version with version number {version}.', + 'pages.welcome.Community' : 'Welcome to join the Official Community', + 'pages.welcome.QQcode': 'QQ Official Community Group', + 'pages.welcome.wechatCode': 'Wechat Official Account', + 'pages.welcome.dingTalkCode': 'DingTalk Official Community Group', + }; diff --git a/dinky-web/src/locales/en-US/pwa.ts b/dinky-web/src/locales/en-US/pwa.ts index ed8d199ead..b845290d3a 100644 --- a/dinky-web/src/locales/en-US/pwa.ts +++ b/dinky-web/src/locales/en-US/pwa.ts @@ -1,3 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + export default { 'app.pwa.offline': 'You are offline now', 'app.pwa.serviceworker.updated': 'New content is available', diff --git a/dinky-web/src/locales/en-US/settingDrawer.ts b/dinky-web/src/locales/en-US/settingDrawer.ts deleted file mode 100644 index a644905e75..0000000000 --- a/dinky-web/src/locales/en-US/settingDrawer.ts +++ /dev/null @@ -1,31 +0,0 @@ -export default { - 'app.setting.pagestyle': 'Page style setting', - 'app.setting.pagestyle.dark': 'Dark style', - 'app.setting.pagestyle.light': 'Light style', - 'app.setting.content-width': 'Content Width', - 'app.setting.content-width.fixed': 'Fixed', - 'app.setting.content-width.fluid': 'Fluid', - 'app.setting.themecolor': 'Theme Color', - 'app.setting.themecolor.dust': 'Dust Red', - 'app.setting.themecolor.volcano': 'Volcano', - 'app.setting.themecolor.sunset': 'Sunset Orange', - 'app.setting.themecolor.cyan': 'Cyan', - 'app.setting.themecolor.green': 'Polar Green', - 'app.setting.themecolor.daybreak': 'Daybreak Blue (default)', - 'app.setting.themecolor.geekblue': 'Geek Glue', - 'app.setting.themecolor.purple': 'Golden Purple', - 'app.setting.navigationmode': 'Navigation Mode', - 'app.setting.sidemenu': 'Side Menu Layout', - 'app.setting.topmenu': 'Top Menu Layout', - 'app.setting.fixedheader': 'Fixed Header', - 'app.setting.fixedsidebar': 'Fixed Sidebar', - 'app.setting.fixedsidebar.hint': 'Works on Side Menu Layout', - 'app.setting.hideheader': 'Hidden Header when scrolling', - 'app.setting.hideheader.hint': 'Works when Hidden Header is enabled', - 'app.setting.othersettings': 'Other Settings', - 'app.setting.weakmode': 'Weak Mode', - 'app.setting.copy': 'Copy Setting', - 'app.setting.copyinfo': 'copy success,please replace defaultSettings in src/models/setting.js', - 'app.setting.production.hint': - 'Setting panel shows in development environment only, please manually modify', -}; diff --git a/dinky-web/src/locales/en-US/settings.ts b/dinky-web/src/locales/en-US/settings.ts deleted file mode 100644 index 822dd003ca..0000000000 --- a/dinky-web/src/locales/en-US/settings.ts +++ /dev/null @@ -1,60 +0,0 @@ -export default { - 'app.settings.menuMap.basic': 'Basic Settings', - 'app.settings.menuMap.security': 'Security Settings', - 'app.settings.menuMap.binding': 'Account Binding', - 'app.settings.menuMap.notification': 'New Message Notification', - 'app.settings.basic.avatar': 'Avatar', - 'app.settings.basic.change-avatar': 'Change avatar', - 'app.settings.basic.email': 'Email', - 'app.settings.basic.email-message': 'Please input your email!', - 'app.settings.basic.nickname': 'Nickname', - 'app.settings.basic.nickname-message': 'Please input your Nickname!', - 'app.settings.basic.profile': 'Personal profile', - 'app.settings.basic.profile-message': 'Please input your personal profile!', - 'app.settings.basic.profile-placeholder': 'Brief introduction to yourself', - 'app.settings.basic.country': 'Country/Region', - 'app.settings.basic.country-message': 'Please input your country!', - 'app.settings.basic.geographic': 'Province or city', - 'app.settings.basic.geographic-message': 'Please input your geographic info!', - 'app.settings.basic.address': 'Street Address', - 'app.settings.basic.address-message': 'Please input your address!', - 'app.settings.basic.phone': 'Phone Number', - 'app.settings.basic.phone-message': 'Please input your phone!', - 'app.settings.basic.update': 'Update Information', - 'app.settings.security.strong': 'Strong', - 'app.settings.security.medium': 'Medium', - 'app.settings.security.weak': 'Weak', - 'app.settings.security.password': 'Account Password', - 'app.settings.security.password-description': 'Current password strength', - 'app.settings.security.phone': 'Security Phone', - 'app.settings.security.phone-description': 'Bound phone', - 'app.settings.security.question': 'Security Question', - 'app.settings.security.question-description': - 'The security question is not set, and the security policy can effectively protect the account security', - 'app.settings.security.email': 'Backup Email', - 'app.settings.security.email-description': 'Bound Email', - 'app.settings.security.mfa': 'MFA Device', - 'app.settings.security.mfa-description': - 'Unbound MFA device, after binding, can be confirmed twice', - 'app.settings.security.modify': 'Modify', - 'app.settings.security.set': 'Set', - 'app.settings.security.bind': 'Bind', - 'app.settings.binding.taobao': 'Binding Taobao', - 'app.settings.binding.taobao-description': 'Currently unbound Taobao account', - 'app.settings.binding.alipay': 'Binding Alipay', - 'app.settings.binding.alipay-description': 'Currently unbound Alipay account', - 'app.settings.binding.dingding': 'Binding DingTalk', - 'app.settings.binding.dingding-description': 'Currently unbound DingTalk account', - 'app.settings.binding.bind': 'Bind', - 'app.settings.notification.password': 'Account Password', - 'app.settings.notification.password-description': - 'Messages from other users will be notified in the form of a station letter', - 'app.settings.notification.messages': 'System Messages', - 'app.settings.notification.messages-description': - 'System messages will be notified in the form of a station letter', - 'app.settings.notification.todo': 'To-do Notification', - 'app.settings.notification.todo-description': - 'The to-do list will be notified in the form of a letter from the station', - 'app.settings.open': 'Open', - 'app.settings.close': 'Close', -}; diff --git a/dinky-web/src/locales/fa-IR.ts b/dinky-web/src/locales/fa-IR.ts deleted file mode 100644 index c27343dceb..0000000000 --- a/dinky-web/src/locales/fa-IR.ts +++ /dev/null @@ -1,24 +0,0 @@ -import component from './fa-IR/component'; -import globalHeader from './fa-IR/globalHeader'; -import menu from './fa-IR/menu'; -import pages from './fa-IR/pages'; -import pwa from './fa-IR/pwa'; -import settingDrawer from './fa-IR/settingDrawer'; -import settings from './fa-IR/settings'; - -export default { - 'navBar.lang': 'زبان ها ', - 'layout.user.link.help': 'کمک', - 'layout.user.link.privacy': 'حریم خصوصی', - 'layout.user.link.terms': 'مقررات', - 'app.preview.down.block': 'این صفحه را در پروژه محلی خود بارگیری کنید', - 'app.welcome.link.fetch-blocks': 'دریافت تمام بلوک', - 'app.welcome.link.block-list': 'به سرعت صفحات استاندارد مبتنی بر توسعه "بلوک" را بسازید', - ...globalHeader, - ...menu, - ...settingDrawer, - ...settings, - ...pwa, - ...component, - ...pages, -}; diff --git a/dinky-web/src/locales/fa-IR/component.ts b/dinky-web/src/locales/fa-IR/component.ts deleted file mode 100644 index 91e7a056fd..0000000000 --- a/dinky-web/src/locales/fa-IR/component.ts +++ /dev/null @@ -1,5 +0,0 @@ -export default { - 'component.tagSelect.expand': 'باز', - 'component.tagSelect.collapse': 'بسته ', - 'component.tagSelect.all': 'همه', -}; diff --git a/dinky-web/src/locales/fa-IR/globalHeader.ts b/dinky-web/src/locales/fa-IR/globalHeader.ts deleted file mode 100644 index 1a92fbb8ff..0000000000 --- a/dinky-web/src/locales/fa-IR/globalHeader.ts +++ /dev/null @@ -1,17 +0,0 @@ -export default { - 'component.globalHeader.search': 'جستجو ', - 'component.globalHeader.search.example1': 'مثال 1 را جستجو کنید', - 'component.globalHeader.search.example2': 'مثال 2 را جستجو کنید', - 'component.globalHeader.search.example3': 'مثال 3 را جستجو کنید', - 'component.globalHeader.help': 'کمک', - 'component.globalHeader.notification': 'اعلان', - 'component.globalHeader.notification.empty': 'شما همه اعلان ها را مشاهده کرده اید.', - 'component.globalHeader.message': 'پیام', - 'component.globalHeader.message.empty': 'شما همه پیام ها را مشاهده کرده اید.', - 'component.globalHeader.event': 'رویداد', - 'component.globalHeader.event.empty': 'شما همه رویدادها را مشاهده کرده اید.', - 'component.noticeIcon.clear': 'پاک کردن', - 'component.noticeIcon.cleared': 'پاک شد', - 'component.noticeIcon.empty': 'بدون اعلان', - 'component.noticeIcon.view-more': 'نمایش بیشتر', -}; diff --git a/dinky-web/src/locales/fa-IR/menu.ts b/dinky-web/src/locales/fa-IR/menu.ts deleted file mode 100644 index c67e003954..0000000000 --- a/dinky-web/src/locales/fa-IR/menu.ts +++ /dev/null @@ -1,52 +0,0 @@ -export default { - 'menu.welcome': 'خوش آمدید', - 'menu.more-blocks': 'بلوک های بیشتر', - 'menu.home': 'خانه', - 'menu.admin': 'مدیر', - 'menu.admin.sub-page': 'زیر صفحه', - 'menu.login': 'ورود', - 'menu.register': 'ثبت نام', - 'menu.register-result': 'ثبت نام نتیجه', - 'menu.dashboard': 'داشبورد', - 'menu.dashboard.analysis': 'تحلیل و بررسی', - 'menu.dashboard.monitor': 'نظارت', - 'menu.dashboard.workplace': 'محل کار', - 'menu.exception.403': '403', - 'menu.exception.404': '404', - 'menu.exception.500': '500', - 'menu.form': 'فرم', - 'menu.form.basic-form': 'فرم اساسی', - 'menu.form.step-form': 'فرم مرحله', - 'menu.form.step-form.info': 'فرم مرحله (نوشتن اطلاعات انتقال)', - 'menu.form.step-form.confirm': 'فرم مرحله (تأیید اطلاعات انتقال)', - 'menu.form.step-form.result': 'فرم مرحله (تمام شده)', - 'menu.form.advanced-form': 'فرم پیشرفته', - 'menu.list': 'لیست', - 'menu.list.table-list': 'جدول جستجو', - 'menu.list.basic-list': 'لیست اصلی', - 'menu.list.card-list': 'لیست کارت', - 'menu.list.search-list': 'لیست جستجو', - 'menu.list.search-list.articles': 'لیست جستجو (مقالات)', - 'menu.list.search-list.projects': 'لیست جستجو (پروژه ها)', - 'menu.list.search-list.applications': 'لیست جستجو (برنامه ها)', - 'menu.profile': 'مشخصات', - 'menu.profile.basic': 'مشخصات عمومی', - 'menu.profile.advanced': 'مشخصات پیشرفته', - 'menu.result': 'نتیجه', - 'menu.result.success': 'موفق', - 'menu.result.fail': 'ناموفق', - 'menu.exception': 'استثنا', - 'menu.exception.not-permission': '403', - 'menu.exception.not-find': '404', - 'menu.exception.server-error': '500', - 'menu.exception.trigger': 'راه اندازی', - 'menu.account': 'حساب', - 'menu.account.center': 'مرکز حساب', - 'menu.account.settings': 'تنظیمات حساب', - 'menu.account.trigger': 'خطای راه اندازی', - 'menu.account.logout': 'خروج', - 'menu.editor': 'ویرایشگر گرافیک', - 'menu.editor.flow': 'ویرایشگر جریان', - 'menu.editor.mind': 'ویرایشگر ذهن', - 'menu.editor.koni': 'ویرایشگر Koni', -}; diff --git a/dinky-web/src/locales/fa-IR/pages.ts b/dinky-web/src/locales/fa-IR/pages.ts deleted file mode 100644 index 8b949b6839..0000000000 --- a/dinky-web/src/locales/fa-IR/pages.ts +++ /dev/null @@ -1,67 +0,0 @@ -export default { - 'pages.layouts.userLayout.title': 'طراحی مورچه تأثیرگذارترین مشخصات طراحی وب در منطقه Xihu است', - 'pages.login.accountLogin.tab': 'ورود به حساب کاربری', - 'pages.login.accountLogin.errorMessage': 'نام کاربری / رمزعبور نادرست (مدیر / ant.design)', - 'pages.login.failure': 'ورود به سیستم با شکست مواجه شد، لطفا دوباره سعی کنید!', - 'pages.login.success': 'ورود موفق!', - 'pages.login.username.placeholder': 'نام کاربری: مدیر یا کاربر', - 'pages.login.username.required': 'لطفا نام کاربری خود را وارد کنید!', - 'pages.login.password.placeholder': 'رمز عبور: ant.design', - 'pages.login.password.required': 'لطفاً رمز ورود خود را وارد کنید!', - 'pages.login.phoneLogin.tab': 'ورود به سیستم تلفن', - 'pages.login.phoneLogin.errorMessage': 'خطای کد تأیید', - 'pages.login.phoneNumber.placeholder': 'شماره تلفن', - 'pages.login.phoneNumber.required': 'لطفاً شماره تلفن خود را وارد کنید!', - 'pages.login.phoneNumber.invalid': 'شماره تلفن نامعتبر است!', - 'pages.login.captcha.placeholder': 'کد تایید', - 'pages.login.captcha.required': 'لطفا کد تأیید را وارد کنید!', - 'pages.login.phoneLogin.getVerificationCode': 'دریافت کد', - 'pages.getCaptchaSecondText': 'ثانیه', - 'pages.login.rememberMe': 'مرا به خاطر بسپار', - 'pages.login.forgotPassword': 'رمز عبور را فراموش کرده اید ?', - 'pages.login.submit': 'ارسال', - 'pages.login.loginWith': 'وارد شوید با :', - 'pages.login.registerAccount': 'ثبت نام', - 'pages.welcome.link': 'خوش آمدید', - 'pages.welcome.alertMessage': 'اجزای سنگین تر سریعتر و قوی تر آزاد شده اند.', - 'pages.admin.subPage.title': 'این صفحه فقط توسط مدیر قابل مشاهده است', - 'pages.admin.subPage.alertMessage': - 'رابط کاربری Umi اکنون منتشر شده است ، برای شروع تجربه استفاده از npm run ui خوش آمدید.', - 'pages.searchTable.createForm.newRule': 'قانون جدید', - 'pages.searchTable.updateForm.ruleConfig': 'پیکربندی قانون', - 'pages.searchTable.updateForm.basicConfig': 'اطلاعات اولیه', - 'pages.searchTable.updateForm.ruleName.nameLabel': ' نام قانون', - 'pages.searchTable.updateForm.ruleName.nameRules': 'لطفاً نام قانون را وارد کنید!', - 'pages.searchTable.updateForm.ruleDesc.descLabel': 'شرح قانون', - 'pages.searchTable.updateForm.ruleDesc.descPlaceholder': 'لطفاً حداقل پنج حرف وارد کنید', - 'pages.searchTable.updateForm.ruleDesc.descRules': - 'لطفاً حداقل یک قانون حاوی پنج کاراکتر شرح دهید!', - 'pages.searchTable.updateForm.ruleProps.title': 'پیکربندی خصوصیات', - 'pages.searchTable.updateForm.object': 'نظارت بر شی', - 'pages.searchTable.updateForm.ruleProps.templateLabel': 'الگوی قانون', - 'pages.searchTable.updateForm.ruleProps.typeLabel': 'نوع قانون', - 'pages.searchTable.updateForm.schedulingPeriod.title': 'تنظیم دوره زمان بندی', - 'pages.searchTable.updateForm.schedulingPeriod.timeLabel': 'زمان شروع', - 'pages.searchTable.updateForm.schedulingPeriod.timeRules': 'لطفاً زمان شروع را انتخاب کنید!', - 'pages.searchTable.titleDesc': 'شرح', - 'pages.searchTable.ruleName': 'نام قانون لازم است', - 'pages.searchTable.titleCallNo': 'تعداد تماس های خدماتی', - 'pages.searchTable.titleStatus': 'وضعیت', - 'pages.searchTable.nameStatus.default': 'پیش فرض', - 'pages.searchTable.nameStatus.running': 'در حال دویدن', - 'pages.searchTable.nameStatus.online': 'برخط', - 'pages.searchTable.nameStatus.abnormal': 'غیرطبیعی', - 'pages.searchTable.titleUpdatedAt': 'آخرین برنامه ریزی در', - 'pages.searchTable.exception': 'لطفا دلیل استثنا را وارد کنید!', - 'pages.searchTable.titleOption': 'گزینه', - 'pages.searchTable.config': 'پیکربندی', - 'pages.searchTable.subscribeAlert': 'مشترک شدن در هشدارها', - 'pages.searchTable.title': 'فرم درخواست', - 'pages.searchTable.new': 'جدید', - 'pages.searchTable.chosen': 'انتخاب شده', - 'pages.searchTable.item': 'مورد', - 'pages.searchTable.totalServiceCalls': 'تعداد کل تماس های خدماتی', - 'pages.searchTable.tenThousand': '0000', - 'pages.searchTable.batchDeletion': 'حذف دسته ای', - 'pages.searchTable.batchApproval': 'تصویب دسته ای', -}; diff --git a/dinky-web/src/locales/fa-IR/pwa.ts b/dinky-web/src/locales/fa-IR/pwa.ts deleted file mode 100644 index 54831b4c3b..0000000000 --- a/dinky-web/src/locales/fa-IR/pwa.ts +++ /dev/null @@ -1,7 +0,0 @@ -export default { - 'app.pwa.offline': 'شما اکنون آفلاین هستید', - 'app.pwa.serviceworker.updated': 'مطالب جدید در دسترس است', - 'app.pwa.serviceworker.updated.hint': - 'لطفاً برای بارگیری مجدد صفحه فعلی ، دکمه "تازه سازی" را فشار دهید', - 'app.pwa.serviceworker.updated.ok': 'تازه سازی', -}; diff --git a/dinky-web/src/locales/fa-IR/settingDrawer.ts b/dinky-web/src/locales/fa-IR/settingDrawer.ts deleted file mode 100644 index cb223d544a..0000000000 --- a/dinky-web/src/locales/fa-IR/settingDrawer.ts +++ /dev/null @@ -1,32 +0,0 @@ -export default { - 'app.setting.pagestyle': 'تنظیم نوع صفحه', - 'app.setting.pagestyle.dark': 'سبک تیره', - 'app.setting.pagestyle.light': 'سبک سبک', - 'app.setting.content-width': 'عرض محتوا', - 'app.setting.content-width.fixed': 'ثابت', - 'app.setting.content-width.fluid': 'شناور', - 'app.setting.themecolor': 'رنگ تم', - 'app.setting.themecolor.dust': 'گرد و غبار قرمز', - 'app.setting.themecolor.volcano': 'آتشفشان', - 'app.setting.themecolor.sunset': 'غروب نارنجی', - 'app.setting.themecolor.cyan': 'فیروزه ای', - 'app.setting.themecolor.green': 'سبز قطبی', - 'app.setting.themecolor.daybreak': 'آبی روشن(پیشفرض)', - 'app.setting.themecolor.geekblue': 'چسب گیک', - 'app.setting.themecolor.purple': 'بنفش طلایی', - 'app.setting.navigationmode': 'حالت پیمایش', - 'app.setting.sidemenu': 'طرح منوی کناری', - 'app.setting.topmenu': 'طرح منوی بالایی', - 'app.setting.fixedheader': 'سرصفحه ثابت', - 'app.setting.fixedsidebar': 'نوار کناری ثابت', - 'app.setting.fixedsidebar.hint': 'کار بر روی منوی کناری', - 'app.setting.hideheader': 'هدر پنهان هنگام پیمایش', - 'app.setting.hideheader.hint': 'وقتی Hidden Header فعال باشد کار می کند', - 'app.setting.othersettings': 'تنظیمات دیگر', - 'app.setting.weakmode': 'حالت ضعیف', - 'app.setting.copy': 'تنظیمات کپی', - 'app.setting.copyinfo': - 'موفقیت در کپی کردن , لطفا defaultSettings را در src / models / setting.js جایگزین کنید', - 'app.setting.production.hint': - 'صفحه تنظیم فقط در محیط توسعه نمایش داده می شود ، لطفاً دستی تغییر دهید', -}; diff --git a/dinky-web/src/locales/fa-IR/settings.ts b/dinky-web/src/locales/fa-IR/settings.ts deleted file mode 100644 index 040bc3195f..0000000000 --- a/dinky-web/src/locales/fa-IR/settings.ts +++ /dev/null @@ -1,60 +0,0 @@ -export default { - 'app.settings.menuMap.basic': 'تنظیمات پایه ', - 'app.settings.menuMap.security': 'تنظیمات امنیتی', - 'app.settings.menuMap.binding': 'صحافی حساب', - 'app.settings.menuMap.notification': 'اعلان پیام جدید', - 'app.settings.basic.avatar': 'آواتار', - 'app.settings.basic.change-avatar': 'آواتار را تغییر دهید', - 'app.settings.basic.email': 'ایمیل', - 'app.settings.basic.email-message': 'لطفا ایمیل خود را وارد کنید!', - 'app.settings.basic.nickname': 'نام مستعار', - 'app.settings.basic.nickname-message': 'لطفاً نام مستعار خود را وارد کنید!', - 'app.settings.basic.profile': 'پروفایل شخصی', - 'app.settings.basic.profile-message': 'لطفاً مشخصات شخصی خود را وارد کنید!', - 'app.settings.basic.profile-placeholder': 'معرفی مختصر خودتان', - 'app.settings.basic.country': 'کشور / منطقه', - 'app.settings.basic.country-message': 'لطفاً کشور خود را وارد کنید!', - 'app.settings.basic.geographic': 'استان یا شهر', - 'app.settings.basic.geographic-message': 'لطفاً اطلاعات جغرافیایی خود را وارد کنید!', - 'app.settings.basic.address': 'آدرس خیابان', - 'app.settings.basic.address-message': 'لطفا آدرس خود را وارد کنید!', - 'app.settings.basic.phone': 'شماره تلفن', - 'app.settings.basic.phone-message': 'لطفاً تلفن خود را وارد کنید!', - 'app.settings.basic.update': 'به روز رسانی اطلاعات', - 'app.settings.security.strong': 'قوی', - 'app.settings.security.medium': 'متوسط', - 'app.settings.security.weak': 'ضعیف', - 'app.settings.security.password': 'رمز عبور حساب کاربری', - 'app.settings.security.password-description': 'قدرت رمز عبور فعلی', - 'app.settings.security.phone': 'تلفن امنیتی', - 'app.settings.security.phone-description': 'تلفن مقید', - 'app.settings.security.question': 'سوال امنیتی', - 'app.settings.security.question-description': - 'سوال امنیتی تنظیم نشده است و سیاست امنیتی می تواند به طور موثر از امنیت حساب محافظت کند', - 'app.settings.security.email': 'ایمیل پشتیبان', - 'app.settings.security.email-description': 'ایمیل مقید', - 'app.settings.security.mfa': 'دستگاه MFA', - 'app.settings.security.mfa-description': - 'دستگاه MFA بسته نشده ، پس از اتصال ، می تواند دو بار تأیید شود', - 'app.settings.security.modify': 'تغییر', - 'app.settings.security.set': 'تنظیم', - 'app.settings.security.bind': 'بستن', - 'app.settings.binding.taobao': 'اتصال Taobao', - 'app.settings.binding.taobao-description': 'حساب Taobao در حال حاضر بسته نشده است', - 'app.settings.binding.alipay': 'اتصال Alipay', - 'app.settings.binding.alipay-description': 'حساب Alipay در حال حاضر بسته نشده است', - 'app.settings.binding.dingding': 'اتصال DingTalk', - 'app.settings.binding.dingding-description': 'حساب DingTalk در حال حاضر محدود نشده است', - 'app.settings.binding.bind': 'بستن', - 'app.settings.notification.password': 'رمز عبور حساب کاربری', - 'app.settings.notification.password-description': - 'پیام های سایر کاربران در قالب یک نامه ایستگاهی اعلام خواهد شد', - 'app.settings.notification.messages': 'پیام های سیستم', - 'app.settings.notification.messages-description': - 'پیام های سیستم به صورت نامه ایستگاه مطلع می شوند', - 'app.settings.notification.todo': 'اعلان کارها', - 'app.settings.notification.todo-description': - 'لیست کارها به صورت نامه ای از ایستگاه اطلاع داده می شود', - 'app.settings.open': 'باز کن', - 'app.settings.close': 'بستن', -}; diff --git a/dinky-web/src/locales/id-ID.ts b/dinky-web/src/locales/id-ID.ts deleted file mode 100644 index aecd2bdc59..0000000000 --- a/dinky-web/src/locales/id-ID.ts +++ /dev/null @@ -1,25 +0,0 @@ -import component from './id-ID/component'; -import globalHeader from './id-ID/globalHeader'; -import menu from './id-ID/menu'; -import pages from './id-ID/pages'; -import pwa from './id-ID/pwa'; -import settingDrawer from './id-ID/settingDrawer'; -import settings from './id-ID/settings'; - -export default { - 'navbar.lang': 'Bahasa', - 'layout.user.link.help': 'Bantuan', - 'layout.user.link.privacy': 'Privasi', - 'layout.user.link.terms': 'Ketentuan', - 'app.preview.down.block': 'Unduh halaman ini dalam projek lokal anda', - 'app.welcome.link.fetch-blocks': 'Dapatkan semua blok', - 'app.welcome.link.block-list': - 'Buat standar dengan cepat, halaman-halaman berdasarkan pengembangan `block`', - ...globalHeader, - ...menu, - ...settingDrawer, - ...settings, - ...pwa, - ...component, - ...pages, -}; diff --git a/dinky-web/src/locales/id-ID/component.ts b/dinky-web/src/locales/id-ID/component.ts deleted file mode 100644 index fe583affd3..0000000000 --- a/dinky-web/src/locales/id-ID/component.ts +++ /dev/null @@ -1,5 +0,0 @@ -export default { - 'component.tagSelect.expand': 'Perluas', - 'component.tagSelect.collapse': 'Lipat', - 'component.tagSelect.all': 'Semua', -}; diff --git a/dinky-web/src/locales/id-ID/globalHeader.ts b/dinky-web/src/locales/id-ID/globalHeader.ts deleted file mode 100644 index e6283ea855..0000000000 --- a/dinky-web/src/locales/id-ID/globalHeader.ts +++ /dev/null @@ -1,17 +0,0 @@ -export default { - 'component.globalHeader.search': 'Pencarian', - 'component.globalHeader.search.example1': 'Contoh 1 Pencarian', - 'component.globalHeader.search.example2': 'Contoh 2 Pencarian', - 'component.globalHeader.search.example3': 'Contoh 3 Pencarian', - 'component.globalHeader.help': 'Bantuan', - 'component.globalHeader.notification': 'Notifikasi', - 'component.globalHeader.notification.empty': 'Anda telah membaca semua notifikasi', - 'component.globalHeader.message': 'Pesan', - 'component.globalHeader.message.empty': 'Anda telah membaca semua pesan.', - 'component.globalHeader.event': 'Acara', - 'component.globalHeader.event.empty': 'Anda telah melihat semua acara.', - 'component.noticeIcon.clear': 'Kosongkan', - 'component.noticeIcon.cleared': 'Berhasil dikosongkan', - 'component.noticeIcon.empty': 'Tidak ada pemberitahuan', - 'component.noticeIcon.view-more': 'Melihat lebih', -}; diff --git a/dinky-web/src/locales/id-ID/menu.ts b/dinky-web/src/locales/id-ID/menu.ts deleted file mode 100644 index 254ff44332..0000000000 --- a/dinky-web/src/locales/id-ID/menu.ts +++ /dev/null @@ -1,52 +0,0 @@ -export default { - 'menu.welcome': 'Selamat Datang', - 'menu.more-blocks': 'Blocks Lainnya', - 'menu.home': 'Halaman Awal', - 'menu.admin': 'Admin', - 'menu.admin.sub-page': 'Sub-Halaman', - 'menu.login': 'Masuk', - 'menu.register': 'Pendaftaran', - 'menu.register-result': 'Hasil Pendaftaran', - 'menu.dashboard': 'Dasbor', - 'menu.dashboard.analysis': 'Analisis', - 'menu.dashboard.monitor': 'Monitor', - 'menu.dashboard.workplace': 'Workplace', - 'menu.exception.403': '403', - 'menu.exception.404': '404', - 'menu.exception.500': '500', - 'menu.form': 'Form', - 'menu.form.basic-form': 'Form Dasar', - 'menu.form.step-form': 'Form Bertahap', - 'menu.form.step-form.info': 'Form Bertahap(menulis informasi yang dibagikan)', - 'menu.form.step-form.confirm': 'Form Bertahap(konfirmasi informasi yang dibagikan)', - 'menu.form.step-form.result': 'Form Bertahap(selesai)', - 'menu.form.advanced-form': 'Form Lanjutan', - 'menu.list': 'Daftar', - 'menu.list.table-list': 'Tabel Pencarian', - 'menu.list.basic-list': 'Daftar Dasar', - 'menu.list.card-list': 'Daftar Kartu', - 'menu.list.search-list': 'Daftar Pencarian', - 'menu.list.search-list.articles': 'Daftar Pencarian(artikel)', - 'menu.list.search-list.projects': 'Daftar Pencarian(projek)', - 'menu.list.search-list.applications': 'Daftar Pencarian(aplikasi)', - 'menu.profile': 'Profil', - 'menu.profile.basic': 'Profil Dasar', - 'menu.profile.advanced': 'Profile Lanjutan', - 'menu.result': 'Hasil', - 'menu.result.success': 'Sukses', - 'menu.result.fail': 'Gagal', - 'menu.exception': 'Pengecualian', - 'menu.exception.not-permission': '403', - 'menu.exception.not-find': '404', - 'menu.exception.server-error': '500', - 'menu.exception.trigger': 'Jalankan', - 'menu.account': 'Akun', - 'menu.account.center': 'Detail Akun', - 'menu.account.settings': 'Pengaturan Akun', - 'menu.account.trigger': 'Mengaktivasi Error', - 'menu.account.logout': 'Keluar', - 'menu.editor': 'Penyusun Grafis', - 'menu.editor.flow': 'Penyusun Alur', - 'menu.editor.mind': 'Penyusun Mind', - 'menu.editor.koni': 'Penyusun Koni', -}; diff --git a/dinky-web/src/locales/id-ID/pages.ts b/dinky-web/src/locales/id-ID/pages.ts deleted file mode 100644 index 50b7e205b4..0000000000 --- a/dinky-web/src/locales/id-ID/pages.ts +++ /dev/null @@ -1,70 +0,0 @@ -export default { - 'pages.layouts.userLayout.title': - 'Ant Design adalah spesifikasi desain Web yang paling berpengaruh di Kabupaten Xihu', - 'pages.login.accountLogin.tab': 'Login dengan akun', - 'pages.login.accountLogin.errorMessage': 'Nama pengguna dan kata sandi salah(admin/ant.design)', - 'pages.login.failure': 'Log masuk gagal, silakan coba lagi!', - 'pages.login.success': 'Login berhasil!', - 'pages.login.username.placeholder': 'nama pengguna: admin atau user', - 'pages.login.username.required': 'Nama pengguna harus diisi!', - 'pages.login.password.placeholder': 'kata sandi: ant.design', - 'pages.login.password.required': 'Kata sandi harus diisi!', - 'pages.login.phoneLogin.tab': 'Login dengan ponsel', - 'pages.login.phoneLogin.errorMessage': 'Kesalahan kode verifikasi', - 'pages.login.phoneNumber.placeholder': 'masukkan nomor telepon', - 'pages.login.phoneNumber.required': 'Nomor ponsel harus diisi!', - 'pages.login.phoneNumber.invalid': 'Nomor ponsel tidak valid!', - 'pages.login.captcha.placeholder': 'kode verifikasi', - 'pages.login.captcha.required': 'Kode verifikasi diperlukan!', - 'pages.login.phoneLogin.getVerificationCode': 'Dapatkan kode', - 'pages.getCaptchaSecondText': 'detik tersisa', - 'pages.login.rememberMe': 'Ingat saya', - 'pages.login.forgotPassword': 'Lupa Kata Sandi?', - 'pages.login.submit': 'Masuk', - 'pages.login.loginWith': 'Masuk dengan :', - 'pages.login.registerAccount': 'Daftar Akun', - 'pages.welcome.link': 'Selamat datang', - 'pages.welcome.alertMessage': - 'Komponen heavy-duty yang lebih cepat dan lebih kuat telah dirilis.', - 'pages.admin.subPage.title': 'Halaman ini hanya dapat dilihat oleh admin', - 'pages.admin.subPage.alertMessage': - 'umi ui telah dirilis, silahkan gunakan npm run ui untuk memulai pengalaman.', - 'pages.searchTable.createForm.newRule': 'Aturan baru', - 'pages.searchTable.updateForm.ruleConfig': 'Konfigurasi aturan', - 'pages.searchTable.updateForm.basicConfig': 'Informasi dasar', - 'pages.searchTable.updateForm.ruleName.nameLabel': 'Nama aturan', - 'pages.searchTable.updateForm.ruleName.nameRules': 'Harap masukkan nama aturan!', - 'pages.searchTable.updateForm.ruleDesc.descLabel': 'Deskripsi aturan', - 'pages.searchTable.updateForm.ruleDesc.descPlaceholder': - 'Harap masukkan setidaknya lima karakter', - 'pages.searchTable.updateForm.ruleDesc.descRules': - 'Harap masukkan deskripsi aturan setidaknya lima karakter!', - 'pages.searchTable.updateForm.ruleProps.title': 'Properti aturan', - 'pages.searchTable.updateForm.object': 'Objek pemantauan', - 'pages.searchTable.updateForm.ruleProps.templateLabel': 'Template aturan', - 'pages.searchTable.updateForm.ruleProps.typeLabel': 'Jenis aturan', - 'pages.searchTable.updateForm.schedulingPeriod.title': 'Periode penjadwalan', - 'pages.searchTable.updateForm.schedulingPeriod.timeLabel': 'Waktu mulai', - 'pages.searchTable.updateForm.schedulingPeriod.timeRules': 'Pilih waktu mulai!', - 'pages.searchTable.titleDesc': 'deskripsi', - 'pages.searchTable.ruleName': 'Nama aturan wajib diisi', - 'pages.searchTable.titleCallNo': 'Jumlah panggilan', - 'pages.searchTable.titleStatus': 'Status', - 'pages.searchTable.nameStatus.default': 'default', - 'pages.searchTable.nameStatus.running': 'menyala', - 'pages.searchTable.nameStatus.online': 'online', - 'pages.searchTable.nameStatus.abnormal': 'abnormal', - 'pages.searchTable.titleUpdatedAt': 'Waktu terjadwal', - 'pages.searchTable.exception': 'Harap masukkan alasan pengecualian!', - 'pages.searchTable.titleOption': 'Pengoperasian', - 'pages.searchTable.config': 'Konfigurasi', - 'pages.searchTable.subscribeAlert': 'Berlangganan notifikasi', - 'pages.searchTable.title': 'Formulir pertanyaan', - 'pages.searchTable.new': 'Baru', - 'pages.searchTable.chosen': 'Terpilih', - 'pages.searchTable.item': 'item', - 'pages.searchTable.totalServiceCalls': 'Jumlah total panggilan layanan', - 'pages.searchTable.tenThousand': '0000', - 'pages.searchTable.batchDeletion': 'Penghapusan batch', - 'pages.searchTable.batchApproval': 'Persetujuan batch', -}; diff --git a/dinky-web/src/locales/id-ID/pwa.ts b/dinky-web/src/locales/id-ID/pwa.ts deleted file mode 100644 index b2cb8a12ce..0000000000 --- a/dinky-web/src/locales/id-ID/pwa.ts +++ /dev/null @@ -1,7 +0,0 @@ -export default { - 'app.pwa.offline': 'Koneksi anda terputus', - 'app.pwa.serviceworker.updated': 'Konten baru sudah tersedia', - 'app.pwa.serviceworker.updated.hint': - 'Silahkan klik tombol "Refresh" untuk memuat ulang halaman ini', - 'app.pwa.serviceworker.updated.ok': 'Memuat ulang', -}; diff --git a/dinky-web/src/locales/id-ID/settingDrawer.ts b/dinky-web/src/locales/id-ID/settingDrawer.ts deleted file mode 100644 index f2d3e40718..0000000000 --- a/dinky-web/src/locales/id-ID/settingDrawer.ts +++ /dev/null @@ -1,32 +0,0 @@ -export default { - 'app.setting.pagestyle': 'Pengaturan style Halaman', - 'app.setting.pagestyle.dark': 'Style Gelap', - 'app.setting.pagestyle.light': 'Style Cerah', - 'app.setting.content-width': 'Lebar Konten', - 'app.setting.content-width.fixed': 'Tetap', - 'app.setting.content-width.fluid': 'Fluid', - 'app.setting.themecolor': 'Theme Color', - 'app.setting.themecolor.dust': 'Dust Red', - 'app.setting.themecolor.volcano': 'Volcano', - 'app.setting.themecolor.sunset': 'Sunset Orange', - 'app.setting.themecolor.cyan': 'Cyan', - 'app.setting.themecolor.green': 'Polar Green', - 'app.setting.themecolor.daybreak': 'Daybreak Blue (bawaan)', - 'app.setting.themecolor.geekblue': 'Geek Glue', - 'app.setting.themecolor.purple': 'Golden Purple', - 'app.setting.navigationmode': 'Mode Navigasi', - 'app.setting.sidemenu': 'Susunan Menu Samping', - 'app.setting.topmenu': 'Susunan Menu Atas', - 'app.setting.fixedheader': 'Header Tetap', - 'app.setting.fixedsidebar': 'Sidebar Tetap', - 'app.setting.fixedsidebar.hint': 'Berjalan pada Susunan Menu Samping', - 'app.setting.hideheader': 'Sembunyikan Header ketika gulir ke bawah', - 'app.setting.hideheader.hint': 'Bekerja ketika Header tersembunyi dimunculkan', - 'app.setting.othersettings': 'Pengaturan Lainnya', - 'app.setting.weakmode': 'Mode Lemah', - 'app.setting.copy': 'Salin Pengaturan', - 'app.setting.copyinfo': - 'Berhasil disalin,tolong ubah defaultSettings pada src/models/setting.js', - 'app.setting.production.hint': - 'Panel pengaturan hanya muncul pada lingkungan pengembangan, silahkan modifikasi secara menual', -}; diff --git a/dinky-web/src/locales/id-ID/settings.ts b/dinky-web/src/locales/id-ID/settings.ts deleted file mode 100644 index 04b7d12087..0000000000 --- a/dinky-web/src/locales/id-ID/settings.ts +++ /dev/null @@ -1,60 +0,0 @@ -export default { - 'app.settings.menuMap.basic': 'Pengaturan Dasar', - 'app.settings.menuMap.security': 'Pengaturan Keamanan', - 'app.settings.menuMap.binding': 'Pengikatan Akun', - 'app.settings.menuMap.notification': 'Notifikasi Pesan Baru', - 'app.settings.basic.avatar': 'Avatar', - 'app.settings.basic.change-avatar': 'Ubah avatar', - 'app.settings.basic.email': 'Email', - 'app.settings.basic.email-message': 'Tolong masukkan email!', - 'app.settings.basic.nickname': 'Nickname', - 'app.settings.basic.nickname-message': 'Tolong masukkan Nickname!', - 'app.settings.basic.profile': 'Profil Personal', - 'app.settings.basic.profile-message': 'Tolong masukkan profil personal!', - 'app.settings.basic.profile-placeholder': 'Perkenalan Singkat tentang Diri Anda', - 'app.settings.basic.country': 'Negara/Wilayah', - 'app.settings.basic.country-message': 'Tolong masukkan negara anda!', - 'app.settings.basic.geographic': 'Provinsi atau kota', - 'app.settings.basic.geographic-message': 'Tolong masukkan info geografis anda!', - 'app.settings.basic.address': 'Alamat Jalan', - 'app.settings.basic.address-message': 'Tolong masukkan Alamat Jalan anda!', - 'app.settings.basic.phone': 'Nomor Ponsel', - 'app.settings.basic.phone-message': 'Tolong masukkan Nomor Ponsel anda!', - 'app.settings.basic.update': 'Perbarui Informasi', - 'app.settings.security.strong': 'Kuat', - 'app.settings.security.medium': 'Sedang', - 'app.settings.security.weak': 'Lemah', - 'app.settings.security.password': 'Kata Sandi Akun', - 'app.settings.security.password-description': 'Kekuatan Kata Sandi saat ini', - 'app.settings.security.phone': 'Keamanan Ponsel', - 'app.settings.security.phone-description': 'Mengikat Ponsel', - 'app.settings.security.question': 'Pertanyaan Keamanan', - 'app.settings.security.question-description': - 'Pertanyaan Keamanan belum diatur, dan kebijakan keamanan dapat melindungi akun secara efektif', - 'app.settings.security.email': 'Email Cadangan', - 'app.settings.security.email-description': 'Mengikat Email', - 'app.settings.security.mfa': 'Perangka MFA', - 'app.settings.security.mfa-description': - 'Tidak mengikat Perangkat MFA, setelah diikat, dapat dikonfirmasi dua kali', - 'app.settings.security.modify': 'Modifikasi', - 'app.settings.security.set': 'Setel', - 'app.settings.security.bind': 'Ikat', - 'app.settings.binding.taobao': 'Mengikat Taobao', - 'app.settings.binding.taobao-description': 'Tidak mengikat akun Taobao saat ini', - 'app.settings.binding.alipay': 'Mengikat Alipay', - 'app.settings.binding.alipay-description': 'Tidak mengikat akun Alipay saat ini', - 'app.settings.binding.dingding': 'Mengikat DingTalk', - 'app.settings.binding.dingding-description': 'Tidak mengikat akun DingTalk', - 'app.settings.binding.bind': 'Ikat', - 'app.settings.notification.password': 'Kata Sandi Akun', - 'app.settings.notification.password-description': - 'Pesan dari pengguna lain akan diberitahu dalam bentuk surat', - 'app.settings.notification.messages': 'Pesan Sistem', - 'app.settings.notification.messages-description': - 'Pesan sistem akan diberitahu dalam bentuk surat', - 'app.settings.notification.todo': 'Notifikasi daftar To-do', - 'app.settings.notification.todo-description': - 'Daftar to-do akan diberitahukan dalam bentuk surat dari stasiun', - 'app.settings.open': 'Buka', - 'app.settings.close': 'Tutup', -}; diff --git a/dinky-web/src/locales/ja-JP.ts b/dinky-web/src/locales/ja-JP.ts deleted file mode 100644 index 1602887551..0000000000 --- a/dinky-web/src/locales/ja-JP.ts +++ /dev/null @@ -1,24 +0,0 @@ -import component from './ja-JP/component'; -import globalHeader from './ja-JP/globalHeader'; -import menu from './ja-JP/menu'; -import pages from './ja-JP/pages'; -import pwa from './ja-JP/pwa'; -import settingDrawer from './ja-JP/settingDrawer'; -import settings from './ja-JP/settings'; - -export default { - 'navBar.lang': '言語', - 'layout.user.link.help': 'ヘルプ', - 'layout.user.link.privacy': 'プライバシー', - 'layout.user.link.terms': '利用規約', - 'app.preview.down.block': 'このページをローカルプロジェクトにダウンロードしてください', - 'app.welcome.link.fetch-blocks': '', - 'app.welcome.link.block-list': '', - ...globalHeader, - ...menu, - ...settingDrawer, - ...settings, - ...pwa, - ...component, - ...pages, -}; diff --git a/dinky-web/src/locales/ja-JP/component.ts b/dinky-web/src/locales/ja-JP/component.ts deleted file mode 100644 index 40f238c074..0000000000 --- a/dinky-web/src/locales/ja-JP/component.ts +++ /dev/null @@ -1,5 +0,0 @@ -export default { - 'component.tagSelect.expand': '展開', - 'component.tagSelect.collapse': '折りたたむ', - 'component.tagSelect.all': 'すべて', -}; diff --git a/dinky-web/src/locales/ja-JP/globalHeader.ts b/dinky-web/src/locales/ja-JP/globalHeader.ts deleted file mode 100644 index 1642938769..0000000000 --- a/dinky-web/src/locales/ja-JP/globalHeader.ts +++ /dev/null @@ -1,17 +0,0 @@ -export default { - 'component.globalHeader.search': '検索', - 'component.globalHeader.search.example1': '検索例1', - 'component.globalHeader.search.example2': '検索例2', - 'component.globalHeader.search.example3': '検索例3', - 'component.globalHeader.help': 'ヘルプ', - 'component.globalHeader.notification': '通知', - 'component.globalHeader.notification.empty': 'すべての通知を表示しました。', - 'component.globalHeader.message': 'メッセージ', - 'component.globalHeader.message.empty': 'すべてのメッセージを表示しました。', - 'component.globalHeader.event': 'イベント', - 'component.globalHeader.event.empty': 'すべてのイベントを表示しました。', - 'component.noticeIcon.clear': 'クリア', - 'component.noticeIcon.cleared': 'クリア済み', - 'component.noticeIcon.empty': '通知なし', - 'component.noticeIcon.view-more': 'もっと見る', -}; diff --git a/dinky-web/src/locales/ja-JP/menu.ts b/dinky-web/src/locales/ja-JP/menu.ts deleted file mode 100644 index af6ed0eaee..0000000000 --- a/dinky-web/src/locales/ja-JP/menu.ts +++ /dev/null @@ -1,52 +0,0 @@ -export default { - 'menu.welcome': 'ようこそ', - 'menu.more-blocks': 'その他のブロック', - 'menu.home': 'ホーム', - 'menu.admin': '管理者', - 'menu.admin.sub-page': 'サブページ', - 'menu.login': 'ログイン', - 'menu.register': '登録', - 'menu.register-result': '登録結果', - 'menu.dashboard': 'ダッシュボード', - 'menu.dashboard.analysis': '分析', - 'menu.dashboard.monitor': 'モニター', - 'menu.dashboard.workplace': '職場', - 'menu.exception.403': '403', - 'menu.exception.404': '404', - 'menu.exception.500': '500', - 'menu.form': 'フォーム', - 'menu.form.basic-form': '基本フォーム', - 'menu.form.step-form': 'ステップフォーム', - 'menu.form.step-form.info': 'ステップフォーム(転送情報の書き込み)', - 'menu.form.step-form.confirm': 'ステップフォーム(転送情報の確認)', - 'menu.form.step-form.result': 'ステップフォーム(完成)', - 'menu.form.advanced-form': '高度なフォーム', - 'menu.list': 'リスト', - 'menu.list.table-list': '検索テーブル', - 'menu.list.basic-list': '基本リスト', - 'menu.list.card-list': 'カードリスト', - 'menu.list.search-list': '検索リスト', - 'menu.list.search-list.articles': '検索リスト(記事)', - 'menu.list.search-list.projects': '検索リスト(プロジェクト)', - 'menu.list.search-list.applications': '検索リスト(アプリ)', - 'menu.profile': 'プロフィール', - 'menu.profile.basic': '基本プロフィール', - 'menu.profile.advanced': '高度なプロフィール', - 'menu.result': '結果', - 'menu.result.success': '成功', - 'menu.result.fail': '失敗', - 'menu.exception': '例外', - 'menu.exception.not-permission': '403', - 'menu.exception.not-find': '404', - 'menu.exception.server-error': '500', - 'menu.exception.trigger': 'トリガー', - 'menu.account': 'アカウント', - 'menu.account.center': 'アカウントセンター', - 'menu.account.settings': 'アカウント設定', - 'menu.account.trigger': 'トリガーエラー', - 'menu.account.logout': 'ログアウト', - 'menu.editor': 'グラフィックエディタ', - 'menu.editor.flow': 'フローエディタ', - 'menu.editor.mind': 'マインドエディター', - 'menu.editor.koni': 'コニエディター', -}; diff --git a/dinky-web/src/locales/ja-JP/pages.ts b/dinky-web/src/locales/ja-JP/pages.ts deleted file mode 100644 index 11b451479d..0000000000 --- a/dinky-web/src/locales/ja-JP/pages.ts +++ /dev/null @@ -1,67 +0,0 @@ -export default { - 'pages.layouts.userLayout.title': 'Ant Designは、西湖区で最も影響力のあるWebデザイン仕様です。', - 'pages.login.accountLogin.tab': 'アカウントログイン', - 'pages.login.accountLogin.errorMessage': - 'ユーザー名/パスワードが正しくありません(admin/ant.design)', - 'pages.login.failure': 'ログインに失敗したら、もう一度試してください!', - 'pages.login.success': 'ログイン成功!', - 'pages.login.username.placeholder': 'ユーザー名:adminまたはuser', - 'pages.login.username.required': 'ユーザー名を入力してください!', - 'pages.login.password.placeholder': 'パスワード:ant.design', - 'pages.login.password.required': 'パスワードを入力してください!', - 'pages.login.phoneLogin.tab': '電話ログイン', - 'pages.login.phoneLogin.errorMessage': '検証コードエラー', - 'pages.login.phoneNumber.placeholder': '電話番号', - 'pages.login.phoneNumber.required': '電話番号を入力してください!', - 'pages.login.phoneNumber.invalid': '電話番号が無効です!', - 'pages.login.captcha.placeholder': '確認コード', - 'pages.login.captcha.required': '確認コードを入力してください!', - 'pages.login.phoneLogin.getVerificationCode': '確認コードを取得', - 'pages.getCaptchaSecondText': '秒', - 'pages.login.rememberMe': 'Remember me', - 'pages.login.forgotPassword': 'パスワードをお忘れですか?', - 'pages.login.submit': 'ログイン', - 'pages.login.loginWith': 'その他のログイン方法:', - 'pages.login.registerAccount': 'アカウント登録', - 'pages.welcome.link': 'ようこそ', - 'pages.welcome.alertMessage': 'より高速で強力な頑丈なコンポーネントがリリースされました。', - 'pages.admin.subPage.title': 'このページは管理者のみが表示できます', - 'pages.admin.subPage.alertMessage': - 'Umi uiがリリースされました。npm run uiを使用して体験してください。', - 'pages.searchTable.createForm.newRule': '新しいルール', - 'pages.searchTable.updateForm.ruleConfig': 'ルール構成', - 'pages.searchTable.updateForm.basicConfig': '基本情報', - 'pages.searchTable.updateForm.ruleName.nameLabel': 'ルール名', - 'pages.searchTable.updateForm.ruleName.nameRules': 'ルール名を入力してください!', - 'pages.searchTable.updateForm.ruleDesc.descLabel': 'ルールの説明', - 'pages.searchTable.updateForm.ruleDesc.descPlaceholder': '5文字以上入力してください', - 'pages.searchTable.updateForm.ruleDesc.descRules': '5文字以上のルールの説明を入力してください!', - 'pages.searchTable.updateForm.ruleProps.title': 'プロパティの構成', - 'pages.searchTable.updateForm.object': '監視対象', - 'pages.searchTable.updateForm.ruleProps.templateLabel': 'ルールテンプレート', - 'pages.searchTable.updateForm.ruleProps.typeLabel': 'ルールタイプ', - 'pages.searchTable.updateForm.schedulingPeriod.title': 'スケジュール期間の設定', - 'pages.searchTable.updateForm.schedulingPeriod.timeLabel': '開始時間', - 'pages.searchTable.updateForm.schedulingPeriod.timeRules': '開始時間を選択してください!', - 'pages.searchTable.titleDesc': '説明', - 'pages.searchTable.ruleName': 'ルール名が必要です', - 'pages.searchTable.titleCallNo': 'サービスコール数', - 'pages.searchTable.titleStatus': 'ステータス', - 'pages.searchTable.nameStatus.default': 'デフォルト', - 'pages.searchTable.nameStatus.running': '起動中', - 'pages.searchTable.nameStatus.online': 'オンライン', - 'pages.searchTable.nameStatus.abnormal': '異常', - 'pages.searchTable.titleUpdatedAt': '最終スケジュール', - 'pages.searchTable.exception': '例外の理由を入力してください!', - 'pages.searchTable.titleOption': 'オプション', - 'pages.searchTable.config': '構成', - 'pages.searchTable.subscribeAlert': 'アラートを購読する', - 'pages.searchTable.title': 'お問い合わせフォーム', - 'pages.searchTable.new': '新しい', - 'pages.searchTable.chosen': '選んだ項目', - 'pages.searchTable.item': '項目', - 'pages.searchTable.totalServiceCalls': 'サービスコールの総数', - 'pages.searchTable.tenThousand': '万', - 'pages.searchTable.batchDeletion': 'バッチ削除', - 'pages.searchTable.batchApproval': 'バッチ承認', -}; diff --git a/dinky-web/src/locales/ja-JP/pwa.ts b/dinky-web/src/locales/ja-JP/pwa.ts deleted file mode 100644 index ace23aef67..0000000000 --- a/dinky-web/src/locales/ja-JP/pwa.ts +++ /dev/null @@ -1,7 +0,0 @@ -export default { - 'app.pwa.offline': 'あなたは今オフラインです', - 'app.pwa.serviceworker.updated': '新しいコンテンツが利用可能です', - 'app.pwa.serviceworker.updated.hint': - '現在のページをリロードするには、「更新」ボタンを押してください', - 'app.pwa.serviceworker.updated.ok': 'リフレッシュ', -}; diff --git a/dinky-web/src/locales/ja-JP/settingDrawer.ts b/dinky-web/src/locales/ja-JP/settingDrawer.ts deleted file mode 100644 index 67a22df1fa..0000000000 --- a/dinky-web/src/locales/ja-JP/settingDrawer.ts +++ /dev/null @@ -1,31 +0,0 @@ -export default { - 'app.setting.pagestyle': 'ページスタイル設定', - 'app.setting.pagestyle.dark': 'ダークスタイル', - 'app.setting.pagestyle.light': 'ライトスタイル', - 'app.setting.content-width': 'コンテンツの幅', - 'app.setting.content-width.fixed': '固定', - 'app.setting.content-width.fluid': '流体', - 'app.setting.themecolor': 'テーマカラー', - 'app.setting.themecolor.dust': 'ダストレッド', - 'app.setting.themecolor.volcano': 'ボルケ-ノ', - 'app.setting.themecolor.sunset': 'サンセットオレンジ', - 'app.setting.themecolor.cyan': 'シアン', - 'app.setting.themecolor.green': 'ポーラーグリーン', - 'app.setting.themecolor.daybreak': '夜明けの青(デフォルト)', - 'app.setting.themecolor.geekblue': 'ギーク ブルー', - 'app.setting.themecolor.purple': 'ゴールデンパープル', - 'app.setting.navigationmode': 'ナビゲーションモード', - 'app.setting.sidemenu': 'サイドメニューのレイアウト', - 'app.setting.topmenu': 'トップメニューのレイアウト', - 'app.setting.fixedheader': '固定ヘッダー', - 'app.setting.fixedsidebar': '固定サイドバー', - 'app.setting.fixedsidebar.hint': 'サイドメニューのレイアウトで動作します', - 'app.setting.hideheader': 'スクロール時の非表示ヘッダー', - 'app.setting.hideheader.hint': '非表示ヘッダーが有効になっている場合に機能します', - 'app.setting.othersettings': 'その他の設定', - 'app.setting.weakmode': 'ウィークモード', - 'app.setting.copy': 'コピー設定', - 'app.setting.copyinfo': - 'コピーが成功しました。src/models/setting.jsのdefaultSettingsを置き換えてください', - 'app.setting.production.hint': '設定パネルは開発環境でのみ表示されます。手動で変更してください', -}; diff --git a/dinky-web/src/locales/ja-JP/settings.ts b/dinky-web/src/locales/ja-JP/settings.ts deleted file mode 100644 index de52481cf1..0000000000 --- a/dinky-web/src/locales/ja-JP/settings.ts +++ /dev/null @@ -1,59 +0,0 @@ -export default { - 'app.settings.menuMap.basic': '基本設定', - 'app.settings.menuMap.security': 'セキュリティ設定', - 'app.settings.menuMap.binding': 'アカウントのバインド', - 'app.settings.menuMap.notification': '新しいメッセージの通知', - 'app.settings.basic.avatar': 'アバター', - 'app.settings.basic.change-avatar': 'アバターを変更する', - 'app.settings.basic.email': 'メール', - 'app.settings.basic.email-message': 'メールアドレスを入力してください!', - 'app.settings.basic.nickname': 'ニックネーム', - 'app.settings.basic.nickname-message': 'ニックネームを入力してください!', - 'app.settings.basic.profile': '個人プロフィール', - 'app.settings.basic.profile-message': '個人プロフィールを入力してください!', - 'app.settings.basic.profile-placeholder': '自己紹介', - 'app.settings.basic.country': '国/地域', - 'app.settings.basic.country-message': 'あなたの国を入力してください!', - 'app.settings.basic.geographic': '州または市', - 'app.settings.basic.geographic-message': '地理情報を入力してください!', - 'app.settings.basic.address': '住所', - 'app.settings.basic.address-message': '住所を入力してください!', - 'app.settings.basic.phone': '電話番号', - 'app.settings.basic.phone-message': '電話番号を入力してください!', - 'app.settings.basic.update': '更新情報', - 'app.settings.security.strong': '強い', - 'app.settings.security.medium': 'ミディアム', - 'app.settings.security.weak': '弱い', - 'app.settings.security.password': 'アカウントパスワード', - 'app.settings.security.password-description': '現在のパスワードの強度', - 'app.settings.security.phone': 'セキュリティ電話番号', - 'app.settings.security.phone-description': 'バインドされた電話番号', - 'app.settings.security.question': '秘密の質問', - 'app.settings.security.question-description': - 'セキュリティの質問が設定されてません。セキュリティポリシーはアカウントのセキュリティを効果的に保護できます', - 'app.settings.security.email': 'バックアップメール', - 'app.settings.security.email-description': 'バインドされたメール', - 'app.settings.security.mfa': '多要素認証デバイス', - 'app.settings.security.mfa-description': - 'バインドされていない多要素認証デバイスは、バインド後、2回確認できます', - 'app.settings.security.modify': '変更する', - 'app.settings.security.set': 'セットする', - 'app.settings.security.bind': 'バインド', - 'app.settings.binding.taobao': 'タオバオをバインドする', - 'app.settings.binding.taobao-description': '現在バインドされていないタオバオアカウント', - 'app.settings.binding.alipay': 'アリペイをバインドする', - 'app.settings.binding.alipay-description': '現在バインドされていないアリペイアカウント', - 'app.settings.binding.dingding': 'ディントークをバインドする', - 'app.settings.binding.dingding-description': '現在バインドされていないディントークアカウント', - 'app.settings.binding.bind': 'バインド', - 'app.settings.notification.password': 'アカウントパスワード', - 'app.settings.notification.password-description': - '他のユーザーからのメッセージは、ステーションレターの形式で通知されます', - 'app.settings.notification.messages': 'システムメッセージ', - 'app.settings.notification.messages-description': - 'システムメッセージは、ステーションレターの形式で通知されます', - 'app.settings.notification.todo': 'To Do(用事) 通知', - 'app.settings.notification.todo-description': 'To Doタスクは、内部レターの形式で通知されます', - 'app.settings.open': '開く', - 'app.settings.close': '閉じる', -}; diff --git a/dinky-web/src/locales/pt-BR.ts b/dinky-web/src/locales/pt-BR.ts deleted file mode 100644 index d501a8a0c9..0000000000 --- a/dinky-web/src/locales/pt-BR.ts +++ /dev/null @@ -1,22 +0,0 @@ -import component from './pt-BR/component'; -import globalHeader from './pt-BR/globalHeader'; -import menu from './pt-BR/menu'; -import pages from './pt-BR/pages'; -import pwa from './pt-BR/pwa'; -import settingDrawer from './pt-BR/settingDrawer'; -import settings from './pt-BR/settings'; - -export default { - 'navBar.lang': 'Idiomas', - 'layout.user.link.help': 'ajuda', - 'layout.user.link.privacy': 'política de privacidade', - 'layout.user.link.terms': 'termos de serviços', - 'app.preview.down.block': 'Download this page to your local project', - ...globalHeader, - ...menu, - ...settingDrawer, - ...settings, - ...pwa, - ...component, - ...pages, -}; diff --git a/dinky-web/src/locales/pt-BR/component.ts b/dinky-web/src/locales/pt-BR/component.ts deleted file mode 100644 index 7cf9999c3a..0000000000 --- a/dinky-web/src/locales/pt-BR/component.ts +++ /dev/null @@ -1,5 +0,0 @@ -export default { - 'component.tagSelect.expand': 'Expandir', - 'component.tagSelect.collapse': 'Diminuir', - 'component.tagSelect.all': 'Todas', -}; diff --git a/dinky-web/src/locales/pt-BR/globalHeader.ts b/dinky-web/src/locales/pt-BR/globalHeader.ts deleted file mode 100644 index d232ca7900..0000000000 --- a/dinky-web/src/locales/pt-BR/globalHeader.ts +++ /dev/null @@ -1,17 +0,0 @@ -export default { - 'component.globalHeader.search': 'Busca', - 'component.globalHeader.search.example1': 'Exemplo de busca 1', - 'component.globalHeader.search.example2': 'Exemplo de busca 2', - 'component.globalHeader.search.example3': 'Exemplo de busca 3', - 'component.globalHeader.help': 'Ajuda', - 'component.globalHeader.notification': 'Notificação', - 'component.globalHeader.notification.empty': 'Você visualizou todas as notificações.', - 'component.globalHeader.message': 'Mensagem', - 'component.globalHeader.message.empty': 'Você visualizou todas as mensagens.', - 'component.globalHeader.event': 'Evento', - 'component.globalHeader.event.empty': 'Você visualizou todos os eventos.', - 'component.noticeIcon.clear': 'Limpar', - 'component.noticeIcon.cleared': 'Limpo', - 'component.noticeIcon.empty': 'Sem notificações', - 'component.noticeIcon.view-more': 'Veja mais', -}; diff --git a/dinky-web/src/locales/pt-BR/menu.ts b/dinky-web/src/locales/pt-BR/menu.ts deleted file mode 100644 index aded8ff054..0000000000 --- a/dinky-web/src/locales/pt-BR/menu.ts +++ /dev/null @@ -1,52 +0,0 @@ -export default { - 'menu.welcome': 'Welcome', - 'menu.more-blocks': 'More Blocks', - 'menu.home': 'Início', - 'menu.admin': 'Admin', - 'menu.admin.sub-page': 'Sub-Page', - 'menu.login': 'Login', - 'menu.register': 'Registro', - 'menu.register-result': 'Resultado de registro', - 'menu.dashboard': 'Dashboard', - 'menu.dashboard.analysis': 'Análise', - 'menu.dashboard.monitor': 'Monitor', - 'menu.dashboard.workplace': 'Ambiente de Trabalho', - 'menu.exception.403': '403', - 'menu.exception.404': '404', - 'menu.exception.500': '500', - 'menu.form': 'Formulário', - 'menu.form.basic-form': 'Formulário Básico', - 'menu.form.step-form': 'Formulário Assistido', - 'menu.form.step-form.info': 'Formulário Assistido(gravar informações de transferência)', - 'menu.form.step-form.confirm': 'Formulário Assistido(confirmar informações de transferência)', - 'menu.form.step-form.result': 'Formulário Assistido(finalizado)', - 'menu.form.advanced-form': 'Formulário Avançado', - 'menu.list': 'Lista', - 'menu.list.table-list': 'Tabela de Busca', - 'menu.list.basic-list': 'Lista Básica', - 'menu.list.card-list': 'Lista de Card', - 'menu.list.search-list': 'Lista de Busca', - 'menu.list.search-list.articles': 'Lista de Busca(artigos)', - 'menu.list.search-list.projects': 'Lista de Busca(projetos)', - 'menu.list.search-list.applications': 'Lista de Busca(aplicações)', - 'menu.profile': 'Perfil', - 'menu.profile.basic': 'Perfil Básico', - 'menu.profile.advanced': 'Perfil Avançado', - 'menu.result': 'Resultado', - 'menu.result.success': 'Sucesso', - 'menu.result.fail': 'Falha', - 'menu.exception': 'Exceção', - 'menu.exception.not-permission': '403', - 'menu.exception.not-find': '404', - 'menu.exception.server-error': '500', - 'menu.exception.trigger': 'Disparar', - 'menu.account': 'Conta', - 'menu.account.center': 'Central da Conta', - 'menu.account.settings': 'Configurar Conta', - 'menu.account.trigger': 'Disparar Erro', - 'menu.account.logout': 'Sair', - 'menu.editor': 'Graphic Editor', - 'menu.editor.flow': 'Flow Editor', - 'menu.editor.mind': 'Mind Editor', - 'menu.editor.koni': 'Koni Editor', -}; diff --git a/dinky-web/src/locales/pt-BR/pages.ts b/dinky-web/src/locales/pt-BR/pages.ts deleted file mode 100644 index 01522ffaa3..0000000000 --- a/dinky-web/src/locales/pt-BR/pages.ts +++ /dev/null @@ -1,70 +0,0 @@ -export default { - 'pages.layouts.userLayout.title': - 'Ant Design é a especificação de web design mais influente no distrito de Xihu', - 'pages.login.accountLogin.tab': 'Login da conta', - 'pages.login.accountLogin.errorMessage': 'usuário/senha incorreto(admin/ant.design)', - 'pages.login.failure': 'Login falhou, por favor tente novamente!', - 'pages.login.success': 'Login efetuado com sucesso!', - 'pages.login.username.placeholder': 'Usuário: admin or user', - 'pages.login.username.required': 'Por favor insira seu usuário!', - 'pages.login.password.placeholder': 'Senha: ant.design', - 'pages.login.password.required': 'Por favor insira sua senha!', - 'pages.login.phoneLogin.tab': 'Login com Telefone', - 'pages.login.phoneLogin.errorMessage': 'Erro de Código de Verificação', - 'pages.login.phoneNumber.placeholder': 'Telefone', - 'pages.login.phoneNumber.required': 'Por favor entre com seu telefone!', - 'pages.login.phoneNumber.invalid': 'Telefone é inválido!', - 'pages.login.captcha.placeholder': 'Código de Verificação', - 'pages.login.captcha.required': 'Por favor entre com o código de verificação!', - 'pages.login.phoneLogin.getVerificationCode': 'Obter Código', - 'pages.getCaptchaSecondText': 'seg(s)', - 'pages.login.rememberMe': 'Lembre-me', - 'pages.login.forgotPassword': 'Perdeu a Senha ?', - 'pages.login.submit': 'Enviar', - 'pages.login.loginWith': 'Login com :', - 'pages.login.registerAccount': 'Registra Conta', - 'pages.welcome.link': 'Bem-vindo', - 'pages.welcome.alertMessage': 'Componentes pesados mais rápidos e mais fortes foram lançados.', - 'pages.admin.subPage.title': 'Esta página só pode ser vista pelo Admin', - 'pages.admin.subPage.alertMessage': - 'O Umi ui foi lançado, bem-vindo ao usar o npm run ui para iniciar a experiência.', - 'pages.searchTable.createForm.newRule': 'Neva Regra', - 'pages.searchTable.updateForm.ruleConfig': 'Configuração de Regra', - 'pages.searchTable.updateForm.basicConfig': 'Informação básica', - 'pages.searchTable.updateForm.ruleName.nameLabel': 'Nome da Regra', - 'pages.searchTable.updateForm.ruleName.nameRules': 'Por favor entre com o nome da regra!', - 'pages.searchTable.updateForm.ruleDesc.descLabel': 'Descrição da Regra', - 'pages.searchTable.updateForm.ruleDesc.descPlaceholder': - 'Por favor insira ao menos cinco caracteres', - 'pages.searchTable.updateForm.ruleDesc.descRules': - 'Insira uma descrição de regra de pelo menos cinco caracteres!', - 'pages.searchTable.updateForm.ruleProps.title': 'Configurar Propriedades', - 'pages.searchTable.updateForm.object': 'Objeto de Monitoramento', - 'pages.searchTable.updateForm.ruleProps.templateLabel': 'Modelo de Regra', - 'pages.searchTable.updateForm.ruleProps.typeLabel': 'Tipo de Regra', - 'pages.searchTable.updateForm.schedulingPeriod.title': 'Definir Período de Agendamento', - 'pages.searchTable.updateForm.schedulingPeriod.timeLabel': 'Hora de Início', - 'pages.searchTable.updateForm.schedulingPeriod.timeRules': - 'Por favor selecione um horáriod e início!', - 'pages.searchTable.titleDesc': 'Descrição', - 'pages.searchTable.ruleName': 'O nome da regra é obrigatório', - 'pages.searchTable.titleCallNo': 'Número de chamadas de serviço', - 'pages.searchTable.titleStatus': 'Status', - 'pages.searchTable.nameStatus.default': 'padrão', - 'pages.searchTable.nameStatus.running': 'executando', - 'pages.searchTable.nameStatus.online': 'online', - 'pages.searchTable.nameStatus.abnormal': 'anormal', - 'pages.searchTable.titleUpdatedAt': 'Última programação em', - 'pages.searchTable.exception': 'Por favor, indique o motivo da exceção!', - 'pages.searchTable.titleOption': 'Opção', - 'pages.searchTable.config': 'Configuração', - 'pages.searchTable.subscribeAlert': 'Inscreva-se para receber alertas', - 'pages.searchTable.title': 'Formulário de Consulta', - 'pages.searchTable.new': 'Novo', - 'pages.searchTable.chosen': 'selecionado', - 'pages.searchTable.item': 'item', - 'pages.searchTable.totalServiceCalls': 'Número total de chamadas de serviço', - 'pages.searchTable.tenThousand': '0000', - 'pages.searchTable.batchDeletion': 'deleção em lote', - 'pages.searchTable.batchApproval': 'aprovação em lote', -}; diff --git a/dinky-web/src/locales/pt-BR/pwa.ts b/dinky-web/src/locales/pt-BR/pwa.ts deleted file mode 100644 index 05cc797842..0000000000 --- a/dinky-web/src/locales/pt-BR/pwa.ts +++ /dev/null @@ -1,7 +0,0 @@ -export default { - 'app.pwa.offline': 'Você está offline agora', - 'app.pwa.serviceworker.updated': 'Novo conteúdo está disponível', - 'app.pwa.serviceworker.updated.hint': - 'Por favor, pressione o botão "Atualizar" para recarregar a página atual', - 'app.pwa.serviceworker.updated.ok': 'Atualizar', -}; diff --git a/dinky-web/src/locales/pt-BR/settingDrawer.ts b/dinky-web/src/locales/pt-BR/settingDrawer.ts deleted file mode 100644 index 8a10b57e2d..0000000000 --- a/dinky-web/src/locales/pt-BR/settingDrawer.ts +++ /dev/null @@ -1,32 +0,0 @@ -export default { - 'app.setting.pagestyle': 'Configuração de estilo da página', - 'app.setting.pagestyle.dark': 'Dark style', - 'app.setting.pagestyle.light': 'Light style', - 'app.setting.content-width': 'Largura do conteúdo', - 'app.setting.content-width.fixed': 'Fixo', - 'app.setting.content-width.fluid': 'Fluido', - 'app.setting.themecolor': 'Cor do Tema', - 'app.setting.themecolor.dust': 'Dust Red', - 'app.setting.themecolor.volcano': 'Volcano', - 'app.setting.themecolor.sunset': 'Sunset Orange', - 'app.setting.themecolor.cyan': 'Cyan', - 'app.setting.themecolor.green': 'Polar Green', - 'app.setting.themecolor.daybreak': 'Daybreak Blue (default)', - 'app.setting.themecolor.geekblue': 'Geek Glue', - 'app.setting.themecolor.purple': 'Golden Purple', - 'app.setting.navigationmode': 'Modo de Navegação', - 'app.setting.sidemenu': 'Layout do Menu Lateral', - 'app.setting.topmenu': 'Layout do Menu Superior', - 'app.setting.fixedheader': 'Cabeçalho fixo', - 'app.setting.fixedsidebar': 'Barra lateral fixa', - 'app.setting.fixedsidebar.hint': 'Funciona no layout do menu lateral', - 'app.setting.hideheader': 'Esconder o cabeçalho quando rolar', - 'app.setting.hideheader.hint': 'Funciona quando o esconder cabeçalho está abilitado', - 'app.setting.othersettings': 'Outras configurações', - 'app.setting.weakmode': 'Weak Mode', - 'app.setting.copy': 'Copiar Configuração', - 'app.setting.copyinfo': - 'copiado com sucesso,por favor trocar o defaultSettings em src/models/setting.js', - 'app.setting.production.hint': - 'O painel de configuração apenas é exibido no ambiente de desenvolvimento, por favor modifique manualmente o', -}; diff --git a/dinky-web/src/locales/pt-BR/settings.ts b/dinky-web/src/locales/pt-BR/settings.ts deleted file mode 100644 index aad2e38775..0000000000 --- a/dinky-web/src/locales/pt-BR/settings.ts +++ /dev/null @@ -1,60 +0,0 @@ -export default { - 'app.settings.menuMap.basic': 'Configurações Básicas', - 'app.settings.menuMap.security': 'Configurações de Segurança', - 'app.settings.menuMap.binding': 'Vinculação de Conta', - 'app.settings.menuMap.notification': 'Mensagens de Notificação', - 'app.settings.basic.avatar': 'Avatar', - 'app.settings.basic.change-avatar': 'Alterar avatar', - 'app.settings.basic.email': 'Email', - 'app.settings.basic.email-message': 'Por favor insira seu email!', - 'app.settings.basic.nickname': 'Nome de usuário', - 'app.settings.basic.nickname-message': 'Por favor insira seu nome de usuário!', - 'app.settings.basic.profile': 'Perfil pessoal', - 'app.settings.basic.profile-message': 'Por favor insira seu perfil pessoal!', - 'app.settings.basic.profile-placeholder': 'Breve introdução sua', - 'app.settings.basic.country': 'País/Região', - 'app.settings.basic.country-message': 'Por favor insira país!', - 'app.settings.basic.geographic': 'Província, estado ou cidade', - 'app.settings.basic.geographic-message': 'Por favor insira suas informações geográficas!', - 'app.settings.basic.address': 'Endereço', - 'app.settings.basic.address-message': 'Por favor insira seu endereço!', - 'app.settings.basic.phone': 'Número de telefone', - 'app.settings.basic.phone-message': 'Por favor insira seu número de telefone!', - 'app.settings.basic.update': 'Atualizar Informações', - 'app.settings.security.strong': 'Forte', - 'app.settings.security.medium': 'Média', - 'app.settings.security.weak': 'Fraca', - 'app.settings.security.password': 'Senha da Conta', - 'app.settings.security.password-description': 'Força da senha', - 'app.settings.security.phone': 'Telefone de Seguraça', - 'app.settings.security.phone-description': 'Telefone vinculado', - 'app.settings.security.question': 'Pergunta de Segurança', - 'app.settings.security.question-description': - 'A pergunta de segurança não está definida e a política de segurança pode proteger efetivamente a segurança da conta', - 'app.settings.security.email': 'Email de Backup', - 'app.settings.security.email-description': 'Email vinculado', - 'app.settings.security.mfa': 'Dispositivo MFA', - 'app.settings.security.mfa-description': - 'O dispositivo MFA não vinculado, após a vinculação, pode ser confirmado duas vezes', - 'app.settings.security.modify': 'Modificar', - 'app.settings.security.set': 'Atribuir', - 'app.settings.security.bind': 'Vincular', - 'app.settings.binding.taobao': 'Vincular Taobao', - 'app.settings.binding.taobao-description': 'Atualmente não vinculado à conta Taobao', - 'app.settings.binding.alipay': 'Vincular Alipay', - 'app.settings.binding.alipay-description': 'Atualmente não vinculado à conta Alipay', - 'app.settings.binding.dingding': 'Vincular DingTalk', - 'app.settings.binding.dingding-description': 'Atualmente não vinculado à conta DingTalk', - 'app.settings.binding.bind': 'Vincular', - 'app.settings.notification.password': 'Senha da Conta', - 'app.settings.notification.password-description': - 'Mensagens de outros usuários serão notificadas na forma de uma estação de letra', - 'app.settings.notification.messages': 'Mensagens de Sistema', - 'app.settings.notification.messages-description': - 'Mensagens de sistema serão notificadas na forma de uma estação de letra', - 'app.settings.notification.todo': 'Notificação de To-do', - 'app.settings.notification.todo-description': - 'A lista de to-do será notificada na forma de uma estação de letra', - 'app.settings.open': 'Aberto', - 'app.settings.close': 'Fechado', -}; diff --git a/dinky-web/src/locales/zh-CN.ts b/dinky-web/src/locales/zh-CN.ts index 769148991f..6d16d555ca 100644 --- a/dinky-web/src/locales/zh-CN.ts +++ b/dinky-web/src/locales/zh-CN.ts @@ -1,25 +1,31 @@ -import component from './zh-CN/component'; -import globalHeader from './zh-CN/globalHeader'; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import menu from './zh-CN/menu'; import pages from './zh-CN/pages'; import pwa from './zh-CN/pwa'; -import settingDrawer from './zh-CN/settingDrawer'; -import settings from './zh-CN/settings'; export default { 'navBar.lang': '语言', 'layout.user.link.help': '帮助', 'layout.user.link.privacy': '隐私', 'layout.user.link.terms': '条款', - 'app.copyright.produced': '蚂蚁集团体验技术部出品', - 'app.preview.down.block': '下载此页面到本地项目', - 'app.welcome.link.fetch-blocks': '获取全部区块', - 'app.welcome.link.block-list': '基于 block 开发,快速构建标准页面', + 'app.copyright.produced': 'Produced by Dinky Community', ...pages, - ...globalHeader, ...menu, - ...settingDrawer, - ...settings, ...pwa, - ...component, }; diff --git a/dinky-web/src/locales/zh-CN/component.ts b/dinky-web/src/locales/zh-CN/component.ts deleted file mode 100644 index 1f1feadbf6..0000000000 --- a/dinky-web/src/locales/zh-CN/component.ts +++ /dev/null @@ -1,5 +0,0 @@ -export default { - 'component.tagSelect.expand': '展开', - 'component.tagSelect.collapse': '收起', - 'component.tagSelect.all': '全部', -}; diff --git a/dinky-web/src/locales/zh-CN/globalHeader.ts b/dinky-web/src/locales/zh-CN/globalHeader.ts deleted file mode 100644 index 9fd66a5875..0000000000 --- a/dinky-web/src/locales/zh-CN/globalHeader.ts +++ /dev/null @@ -1,17 +0,0 @@ -export default { - 'component.globalHeader.search': '站内搜索', - 'component.globalHeader.search.example1': '搜索提示一', - 'component.globalHeader.search.example2': '搜索提示二', - 'component.globalHeader.search.example3': '搜索提示三', - 'component.globalHeader.help': '使用文档', - 'component.globalHeader.notification': '通知', - 'component.globalHeader.notification.empty': '你已查看所有通知', - 'component.globalHeader.message': '消息', - 'component.globalHeader.message.empty': '您已读完所有消息', - 'component.globalHeader.event': '待办', - 'component.globalHeader.event.empty': '你已完成所有待办', - 'component.noticeIcon.clear': '清空', - 'component.noticeIcon.cleared': '清空了', - 'component.noticeIcon.empty': '暂无数据', - 'component.noticeIcon.view-more': '查看更多', -}; diff --git a/dinky-web/src/locales/zh-CN/menu.ts b/dinky-web/src/locales/zh-CN/menu.ts index fecb70a40f..e51f69afa9 100644 --- a/dinky-web/src/locales/zh-CN/menu.ts +++ b/dinky-web/src/locales/zh-CN/menu.ts @@ -1,52 +1,63 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + export default { 'menu.welcome': '欢迎', - 'menu.more-blocks': '更多区块', 'menu.home': '首页', - 'menu.admin': '管理页', - 'menu.admin.sub-page': '二级管理页', - 'menu.login': '登录', - 'menu.register': '注册', - 'menu.register-result': '注册结果', - 'menu.dashboard': 'Dashboard', - 'menu.dashboard.analysis': '分析页', - 'menu.dashboard.monitor': '监控页', - 'menu.dashboard.workplace': '工作台', 'menu.exception.403': '403', 'menu.exception.404': '404', 'menu.exception.500': '500', - 'menu.form': '表单页', - 'menu.form.basic-form': '基础表单', - 'menu.form.step-form': '分步表单', - 'menu.form.step-form.info': '分步表单(填写转账信息)', - 'menu.form.step-form.confirm': '分步表单(确认转账信息)', - 'menu.form.step-form.result': '分步表单(完成)', - 'menu.form.advanced-form': '高级表单', - 'menu.list': '列表页', - 'menu.list.table-list': '查询表格', - 'menu.list.basic-list': '标准列表', - 'menu.list.card-list': '卡片列表', - 'menu.list.search-list': '搜索列表', - 'menu.list.search-list.articles': '搜索列表(文章)', - 'menu.list.search-list.projects': '搜索列表(项目)', - 'menu.list.search-list.applications': '搜索列表(应用)', - 'menu.profile': '详情页', - 'menu.profile.basic': '基础详情页', - 'menu.profile.advanced': '高级详情页', - 'menu.result': '结果页', - 'menu.result.success': '成功页', - 'menu.result.fail': '失败页', - 'menu.exception': '异常页', 'menu.exception.not-permission': '403', 'menu.exception.not-find': '404', 'menu.exception.server-error': '500', - 'menu.exception.trigger': '触发错误', - 'menu.account': '个人页', + + 'menu.login': '登录', 'menu.account.center': '个人中心', 'menu.account.settings': '个人设置', - 'menu.account.trigger': '触发报错', 'menu.account.logout': '退出登录', - 'menu.editor': '图形编辑器', - 'menu.editor.flow': '流程编辑器', - 'menu.editor.mind': '脑图编辑器', - 'menu.editor.koni': '拓扑编辑器', + 'menu.account.changePassword': '修改密码', + 'menu.account.checkTenant': '切换租户', + 'menu.account.checkTenantConfirm': '你确定切换租户【{tenantCode}】吗?', + + 'menu.dataStudio': '数据开发', + 'menu.devops': '运维中心', + 'menu.job': '作业实例', + 'menu.datacenter': '元数据中心', + 'menu.datacenter.metadata': '元数据', + 'menu.registration': '注册中心', + 'menu.registration.cluster': '集群管理', + 'menu.registration.cluster.clusterInstance': 'Flink 实例管理', + 'menu.registration.cluster.clusterConfiguration': '集群配置管理', + 'menu.registration.jar': 'Jar 管理', + 'menu.registration.database': '数据源管理', + 'menu.registration.alert': '报警管理', + 'menu.registration.alert.alertInstance': '报警实例管理', + 'menu.registration.alert.alertGroup': '报警组管理', + 'menu.registration.document': '文档管理', + 'menu.registration.fragment': '全局变量管理', + 'menu.authenticationCenter': '认证中心', + 'menu.authenticationCenter.userManager': '用户管理', + 'menu.authenticationCenter.namespaceManager': '命名空间管理', + 'menu.authenticationCenter.roleManager': '角色管理', + 'menu.authenticationCenter.tenantManager': '租户管理', + 'menu.settings': '配置中心', + 'menu.settings.flinkConfig': 'Flink 配置', + 'menu.settings.udfTemplate': 'UDF 模板配置', + 'menu.settings.systemInfo': '系统信息', + 'menu.settings.processList': '进程列表', + 'menu.about': '关于', }; diff --git a/dinky-web/src/locales/zh-CN/pages.ts b/dinky-web/src/locales/zh-CN/pages.ts index 7fa751fa9e..f9f087604a 100644 --- a/dinky-web/src/locales/zh-CN/pages.ts +++ b/dinky-web/src/locales/zh-CN/pages.ts @@ -1,65 +1,34 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + export default { - 'pages.layouts.userLayout.title': 'Ant Design 是西湖区最具影响力的 Web 设计规范', - 'pages.login.accountLogin.tab': '账户密码登录', - 'pages.login.accountLogin.errorMessage': '错误的用户名和密码(admin/ant.design)', + 'pages.layouts.userLayout.title': 'Dinky 实时计算平台', + 'pages.login.accountLogin.errorMessage': '错误的用户名和密码', 'pages.login.failure': '登录失败,请重试!', 'pages.login.success': '登录成功!', - 'pages.login.username.placeholder': '用户名: admin or user', + 'pages.login.username.placeholder': '用户名', 'pages.login.username.required': '用户名是必填项!', - 'pages.login.password.placeholder': '密码: ant.design', + 'pages.login.password.placeholder': '密码', 'pages.login.password.required': '密码是必填项!', - 'pages.login.phoneLogin.tab': '手机号登录', - 'pages.login.phoneLogin.errorMessage': '验证码错误', - 'pages.login.phoneNumber.placeholder': '请输入手机号!', - 'pages.login.phoneNumber.required': '手机号是必填项!', - 'pages.login.phoneNumber.invalid': '不合法的手机号!', - 'pages.login.captcha.placeholder': '请输入验证码!', - 'pages.login.captcha.required': '验证码是必填项!', - 'pages.login.phoneLogin.getVerificationCode': '获取验证码', - 'pages.getCaptchaSecondText': '秒后重新获取', 'pages.login.rememberMe': '自动登录', - 'pages.login.forgotPassword': '忘记密码 ?', - 'pages.login.submit': '登录', - 'pages.login.loginWith': '其他登录方式 :', - 'pages.login.registerAccount': '注册账户', - 'pages.welcome.link': '欢迎使用', - 'pages.welcome.alertMessage': '更快更强的重型组件,已经发布。', + 'pages.welcome.alertMessage': '实时计算平台 Dinky 即将发布,目前为体验版,版本号为 {version}。', 'pages.admin.subPage.title': ' 这个页面只有 admin 权限才能查看', - 'pages.admin.subPage.alertMessage': 'umi ui 现已发布,欢迎使用 npm run ui 启动体验。', - 'pages.searchTable.createForm.newRule': '新建规则', - 'pages.searchTable.updateForm.ruleConfig': '规则配置', - 'pages.searchTable.updateForm.basicConfig': '基本信息', - 'pages.searchTable.updateForm.ruleName.nameLabel': '规则名称', - 'pages.searchTable.updateForm.ruleName.nameRules': '请输入规则名称!', - 'pages.searchTable.updateForm.ruleDesc.descLabel': '规则描述', - 'pages.searchTable.updateForm.ruleDesc.descPlaceholder': '请输入至少五个字符', - 'pages.searchTable.updateForm.ruleDesc.descRules': '请输入至少五个字符的规则描述!', - 'pages.searchTable.updateForm.ruleProps.title': '配置规则属性', - 'pages.searchTable.updateForm.object': '监控对象', - 'pages.searchTable.updateForm.ruleProps.templateLabel': '规则模板', - 'pages.searchTable.updateForm.ruleProps.typeLabel': '规则类型', - 'pages.searchTable.updateForm.schedulingPeriod.title': '设定调度周期', - 'pages.searchTable.updateForm.schedulingPeriod.timeLabel': '开始时间', - 'pages.searchTable.updateForm.schedulingPeriod.timeRules': '请选择开始时间!', - 'pages.searchTable.titleDesc': '描述', - 'pages.searchTable.ruleName': '规则名称为必填项', - 'pages.searchTable.titleCallNo': '服务调用次数', - 'pages.searchTable.titleStatus': '状态', - 'pages.searchTable.nameStatus.default': '关闭', - 'pages.searchTable.nameStatus.running': '运行中', - 'pages.searchTable.nameStatus.online': '已上线', - 'pages.searchTable.nameStatus.abnormal': '异常', - 'pages.searchTable.titleUpdatedAt': '上次调度时间', - 'pages.searchTable.exception': '请输入异常原因!', - 'pages.searchTable.titleOption': '操作', - 'pages.searchTable.config': '配置', - 'pages.searchTable.subscribeAlert': '订阅警报', - 'pages.searchTable.title': '查询表格', - 'pages.searchTable.new': '新建', - 'pages.searchTable.chosen': '已选择', - 'pages.searchTable.item': '项', - 'pages.searchTable.totalServiceCalls': '服务调用次数总计', - 'pages.searchTable.tenThousand': '万', - 'pages.searchTable.batchDeletion': '批量删除', - 'pages.searchTable.batchApproval': '批量审批', + 'pages.welcome.Community' : '欢迎加入官方社区', + 'pages.welcome.QQcode': 'QQ官方社区群', + 'pages.welcome.wechatCode': '微信公众号', + 'pages.welcome.dingTalkCode': '钉钉官方社区群', }; diff --git a/dinky-web/src/locales/zh-CN/pwa.ts b/dinky-web/src/locales/zh-CN/pwa.ts index e9504849e7..81abacdd10 100644 --- a/dinky-web/src/locales/zh-CN/pwa.ts +++ b/dinky-web/src/locales/zh-CN/pwa.ts @@ -1,3 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + export default { 'app.pwa.offline': '当前处于离线状态', 'app.pwa.serviceworker.updated': '有新内容', diff --git a/dinky-web/src/locales/zh-CN/settingDrawer.ts b/dinky-web/src/locales/zh-CN/settingDrawer.ts deleted file mode 100644 index 3f44958e11..0000000000 --- a/dinky-web/src/locales/zh-CN/settingDrawer.ts +++ /dev/null @@ -1,31 +0,0 @@ -export default { - 'app.setting.pagestyle': '整体风格设置', - 'app.setting.pagestyle.dark': '暗色菜单风格', - 'app.setting.pagestyle.light': '亮色菜单风格', - 'app.setting.content-width': '内容区域宽度', - 'app.setting.content-width.fixed': '定宽', - 'app.setting.content-width.fluid': '流式', - 'app.setting.themecolor': '主题色', - 'app.setting.themecolor.dust': '薄暮', - 'app.setting.themecolor.volcano': '火山', - 'app.setting.themecolor.sunset': '日暮', - 'app.setting.themecolor.cyan': '明青', - 'app.setting.themecolor.green': '极光绿', - 'app.setting.themecolor.daybreak': '拂晓蓝(默认)', - 'app.setting.themecolor.geekblue': '极客蓝', - 'app.setting.themecolor.purple': '酱紫', - 'app.setting.navigationmode': '导航模式', - 'app.setting.sidemenu': '侧边菜单布局', - 'app.setting.topmenu': '顶部菜单布局', - 'app.setting.fixedheader': '固定 Header', - 'app.setting.fixedsidebar': '固定侧边菜单', - 'app.setting.fixedsidebar.hint': '侧边菜单布局时可配置', - 'app.setting.hideheader': '下滑时隐藏 Header', - 'app.setting.hideheader.hint': '固定 Header 时可配置', - 'app.setting.othersettings': '其他设置', - 'app.setting.weakmode': '色弱模式', - 'app.setting.copy': '拷贝设置', - 'app.setting.copyinfo': '拷贝成功,请到 config/defaultSettings.js 中替换默认配置', - 'app.setting.production.hint': - '配置栏只在开发环境用于预览,生产环境不会展现,请拷贝后手动修改配置文件', -}; diff --git a/dinky-web/src/locales/zh-CN/settings.ts b/dinky-web/src/locales/zh-CN/settings.ts deleted file mode 100644 index df8af43462..0000000000 --- a/dinky-web/src/locales/zh-CN/settings.ts +++ /dev/null @@ -1,55 +0,0 @@ -export default { - 'app.settings.menuMap.basic': '基本设置', - 'app.settings.menuMap.security': '安全设置', - 'app.settings.menuMap.binding': '账号绑定', - 'app.settings.menuMap.notification': '新消息通知', - 'app.settings.basic.avatar': '头像', - 'app.settings.basic.change-avatar': '更换头像', - 'app.settings.basic.email': '邮箱', - 'app.settings.basic.email-message': '请输入您的邮箱!', - 'app.settings.basic.nickname': '昵称', - 'app.settings.basic.nickname-message': '请输入您的昵称!', - 'app.settings.basic.profile': '个人简介', - 'app.settings.basic.profile-message': '请输入个人简介!', - 'app.settings.basic.profile-placeholder': '个人简介', - 'app.settings.basic.country': '国家/地区', - 'app.settings.basic.country-message': '请输入您的国家或地区!', - 'app.settings.basic.geographic': '所在省市', - 'app.settings.basic.geographic-message': '请输入您的所在省市!', - 'app.settings.basic.address': '街道地址', - 'app.settings.basic.address-message': '请输入您的街道地址!', - 'app.settings.basic.phone': '联系电话', - 'app.settings.basic.phone-message': '请输入您的联系电话!', - 'app.settings.basic.update': '更新基本信息', - 'app.settings.security.strong': '强', - 'app.settings.security.medium': '中', - 'app.settings.security.weak': '弱', - 'app.settings.security.password': '账户密码', - 'app.settings.security.password-description': '当前密码强度', - 'app.settings.security.phone': '密保手机', - 'app.settings.security.phone-description': '已绑定手机', - 'app.settings.security.question': '密保问题', - 'app.settings.security.question-description': '未设置密保问题,密保问题可有效保护账户安全', - 'app.settings.security.email': '备用邮箱', - 'app.settings.security.email-description': '已绑定邮箱', - 'app.settings.security.mfa': 'MFA 设备', - 'app.settings.security.mfa-description': '未绑定 MFA 设备,绑定后,可以进行二次确认', - 'app.settings.security.modify': '修改', - 'app.settings.security.set': '设置', - 'app.settings.security.bind': '绑定', - 'app.settings.binding.taobao': '绑定淘宝', - 'app.settings.binding.taobao-description': '当前未绑定淘宝账号', - 'app.settings.binding.alipay': '绑定支付宝', - 'app.settings.binding.alipay-description': '当前未绑定支付宝账号', - 'app.settings.binding.dingding': '绑定钉钉', - 'app.settings.binding.dingding-description': '当前未绑定钉钉账号', - 'app.settings.binding.bind': '绑定', - 'app.settings.notification.password': '账户密码', - 'app.settings.notification.password-description': '其他用户的消息将以站内信的形式通知', - 'app.settings.notification.messages': '系统消息', - 'app.settings.notification.messages-description': '系统消息将以站内信的形式通知', - 'app.settings.notification.todo': '待办任务', - 'app.settings.notification.todo-description': '待办任务将以站内信的形式通知', - 'app.settings.open': '开', - 'app.settings.close': '关', -}; diff --git a/dinky-web/src/locales/zh-TW.ts b/dinky-web/src/locales/zh-TW.ts deleted file mode 100644 index 6ad5f93192..0000000000 --- a/dinky-web/src/locales/zh-TW.ts +++ /dev/null @@ -1,20 +0,0 @@ -import component from './zh-TW/component'; -import globalHeader from './zh-TW/globalHeader'; -import menu from './zh-TW/menu'; -import pwa from './zh-TW/pwa'; -import settingDrawer from './zh-TW/settingDrawer'; -import settings from './zh-TW/settings'; - -export default { - 'navBar.lang': '語言', - 'layout.user.link.help': '幫助', - 'layout.user.link.privacy': '隱私', - 'layout.user.link.terms': '條款', - 'app.preview.down.block': '下載此頁面到本地項目', - ...globalHeader, - ...menu, - ...settingDrawer, - ...settings, - ...pwa, - ...component, -}; diff --git a/dinky-web/src/locales/zh-TW/component.ts b/dinky-web/src/locales/zh-TW/component.ts deleted file mode 100644 index ba48e299a9..0000000000 --- a/dinky-web/src/locales/zh-TW/component.ts +++ /dev/null @@ -1,5 +0,0 @@ -export default { - 'component.tagSelect.expand': '展開', - 'component.tagSelect.collapse': '收起', - 'component.tagSelect.all': '全部', -}; diff --git a/dinky-web/src/locales/zh-TW/globalHeader.ts b/dinky-web/src/locales/zh-TW/globalHeader.ts deleted file mode 100644 index ed5845185c..0000000000 --- a/dinky-web/src/locales/zh-TW/globalHeader.ts +++ /dev/null @@ -1,17 +0,0 @@ -export default { - 'component.globalHeader.search': '站內搜索', - 'component.globalHeader.search.example1': '搜索提示壹', - 'component.globalHeader.search.example2': '搜索提示二', - 'component.globalHeader.search.example3': '搜索提示三', - 'component.globalHeader.help': '使用手冊', - 'component.globalHeader.notification': '通知', - 'component.globalHeader.notification.empty': '妳已查看所有通知', - 'component.globalHeader.message': '消息', - 'component.globalHeader.message.empty': '您已讀完所有消息', - 'component.globalHeader.event': '待辦', - 'component.globalHeader.event.empty': '妳已完成所有待辦', - 'component.noticeIcon.clear': '清空', - 'component.noticeIcon.cleared': '清空了', - 'component.noticeIcon.empty': '暫無資料', - 'component.noticeIcon.view-more': '查看更多', -}; diff --git a/dinky-web/src/locales/zh-TW/menu.ts b/dinky-web/src/locales/zh-TW/menu.ts deleted file mode 100644 index 0ef54c9514..0000000000 --- a/dinky-web/src/locales/zh-TW/menu.ts +++ /dev/null @@ -1,52 +0,0 @@ -export default { - 'menu.welcome': '歡迎', - 'menu.more-blocks': '更多區塊', - 'menu.home': '首頁', - 'menu.admin': '权限', - 'menu.admin.sub-page': '二级管理页', - 'menu.login': '登錄', - 'menu.register': '註冊', - 'menu.register-result': '註冊結果', - 'menu.dashboard': 'Dashboard', - 'menu.dashboard.analysis': '分析頁', - 'menu.dashboard.monitor': '監控頁', - 'menu.dashboard.workplace': '工作臺', - 'menu.exception.403': '403', - 'menu.exception.404': '404', - 'menu.exception.500': '500', - 'menu.form': '表單頁', - 'menu.form.basic-form': '基礎表單', - 'menu.form.step-form': '分步表單', - 'menu.form.step-form.info': '分步表單(填寫轉賬信息)', - 'menu.form.step-form.confirm': '分步表單(確認轉賬信息)', - 'menu.form.step-form.result': '分步表單(完成)', - 'menu.form.advanced-form': '高級表單', - 'menu.list': '列表頁', - 'menu.list.table-list': '查詢表格', - 'menu.list.basic-list': '標淮列表', - 'menu.list.card-list': '卡片列表', - 'menu.list.search-list': '搜索列表', - 'menu.list.search-list.articles': '搜索列表(文章)', - 'menu.list.search-list.projects': '搜索列表(項目)', - 'menu.list.search-list.applications': '搜索列表(應用)', - 'menu.profile': '詳情頁', - 'menu.profile.basic': '基礎詳情頁', - 'menu.profile.advanced': '高級詳情頁', - 'menu.result': '結果頁', - 'menu.result.success': '成功頁', - 'menu.result.fail': '失敗頁', - 'menu.exception': '异常页', - 'menu.exception.not-permission': '403', - 'menu.exception.not-find': '404', - 'menu.exception.server-error': '500', - 'menu.exception.trigger': '触发错误', - 'menu.account': '個人頁', - 'menu.account.center': '個人中心', - 'menu.account.settings': '個人設置', - 'menu.account.trigger': '觸發報錯', - 'menu.account.logout': '退出登錄', - 'menu.editor': '圖形編輯器', - 'menu.editor.flow': '流程編輯器', - 'menu.editor.mind': '腦圖編輯器', - 'menu.editor.koni': '拓撲編輯器', -}; diff --git a/dinky-web/src/locales/zh-TW/pages.ts b/dinky-web/src/locales/zh-TW/pages.ts deleted file mode 100644 index 9027ed9cb3..0000000000 --- a/dinky-web/src/locales/zh-TW/pages.ts +++ /dev/null @@ -1,65 +0,0 @@ -export default { - 'pages.layouts.userLayout.title': 'Ant Design 是西湖區最具影響力的 Web 設計規範', - 'pages.login.accountLogin.tab': '賬戶密碼登錄', - 'pages.login.accountLogin.errorMessage': '錯誤的用戶名和密碼(admin/ant.design)', - 'pages.login.failure': '登錄失敗,請重試!', - 'pages.login.success': '登錄成功!', - 'pages.login.username.placeholder': '用戶名: admin or user', - 'pages.login.username.required': '用戶名是必填項!', - 'pages.login.password.placeholder': '密碼: ant.design', - 'pages.login.password.required': '密碼是必填項!', - 'pages.login.phoneLogin.tab': '手機號登錄', - 'pages.login.phoneLogin.errorMessage': '驗證碼錯誤', - 'pages.login.phoneNumber.placeholder': '請輸入手機號!', - 'pages.login.phoneNumber.required': '手機號是必填項!', - 'pages.login.phoneNumber.invalid': '不合法的手機號!', - 'pages.login.captcha.placeholder': '請輸入驗證碼!', - 'pages.login.captcha.required': '驗證碼是必填項!', - 'pages.login.phoneLogin.getVerificationCode': '獲取驗證碼', - 'pages.getCaptchaSecondText': '秒後重新獲取', - 'pages.login.rememberMe': '自動登錄', - 'pages.login.forgotPassword': '忘記密碼 ?', - 'pages.login.submit': '登錄', - 'pages.login.loginWith': '其他登錄方式 :', - 'pages.login.registerAccount': '註冊賬戶', - 'pages.welcome.link': '歡迎使用', - 'pages.welcome.alertMessage': '更快更強的重型組件,已經發布。', - 'pages.admin.subPage.title': '這個頁面只有 admin 權限才能查看', - 'pages.admin.subPage.alertMessage': 'umi ui 現已發佈,歡迎使用 npm run ui 啓動體驗。', - 'pages.searchTable.createForm.newRule': '新建規則', - 'pages.searchTable.updateForm.ruleConfig': '規則配置', - 'pages.searchTable.updateForm.basicConfig': '基本信息', - 'pages.searchTable.updateForm.ruleName.nameLabel': '規則名稱', - 'pages.searchTable.updateForm.ruleName.nameRules': '請輸入規則名稱!', - 'pages.searchTable.updateForm.ruleDesc.descLabel': '規則描述', - 'pages.searchTable.updateForm.ruleDesc.descPlaceholder': '請輸入至少五個字符', - 'pages.searchTable.updateForm.ruleDesc.descRules': '請輸入至少五個字符的規則描述!', - 'pages.searchTable.updateForm.ruleProps.title': '配置規則屬性', - 'pages.searchTable.updateForm.object': '監控對象', - 'pages.searchTable.updateForm.ruleProps.templateLabel': '規則模板', - 'pages.searchTable.updateForm.ruleProps.typeLabel': '規則類型', - 'pages.searchTable.updateForm.schedulingPeriod.title': '設定調度週期', - 'pages.searchTable.updateForm.schedulingPeriod.timeLabel': '開始時間', - 'pages.searchTable.updateForm.schedulingPeriod.timeRules': '請選擇開始時間!', - 'pages.searchTable.titleDesc': '描述', - 'pages.searchTable.ruleName': '規則名稱爲必填項', - 'pages.searchTable.titleCallNo': '服務調用次數', - 'pages.searchTable.titleStatus': '狀態', - 'pages.searchTable.nameStatus.default': '關閉', - 'pages.searchTable.nameStatus.running': '運行中', - 'pages.searchTable.nameStatus.online': '已上線', - 'pages.searchTable.nameStatus.abnormal': '異常', - 'pages.searchTable.titleUpdatedAt': '上次調度時間', - 'pages.searchTable.exception': '請輸入異常原因!', - 'pages.searchTable.titleOption': '操作', - 'pages.searchTable.config': '配置', - 'pages.searchTable.subscribeAlert': '訂閱警報', - 'pages.searchTable.title': '查詢表格', - 'pages.searchTable.new': '新建', - 'pages.searchTable.chosen': '已選擇', - 'pages.searchTable.item': '項', - 'pages.searchTable.totalServiceCalls': '服務調用次數總計', - 'pages.searchTable.tenThousand': '萬', - 'pages.searchTable.batchDeletion': '批量刪除', - 'pages.searchTable.batchApproval': '批量審批', -}; diff --git a/dinky-web/src/locales/zh-TW/pwa.ts b/dinky-web/src/locales/zh-TW/pwa.ts deleted file mode 100644 index 108a6e489b..0000000000 --- a/dinky-web/src/locales/zh-TW/pwa.ts +++ /dev/null @@ -1,6 +0,0 @@ -export default { - 'app.pwa.offline': '當前處於離線狀態', - 'app.pwa.serviceworker.updated': '有新內容', - 'app.pwa.serviceworker.updated.hint': '請點擊“刷新”按鈕或者手動刷新頁面', - 'app.pwa.serviceworker.updated.ok': '刷新', -}; diff --git a/dinky-web/src/locales/zh-TW/settingDrawer.ts b/dinky-web/src/locales/zh-TW/settingDrawer.ts deleted file mode 100644 index 454da28547..0000000000 --- a/dinky-web/src/locales/zh-TW/settingDrawer.ts +++ /dev/null @@ -1,31 +0,0 @@ -export default { - 'app.setting.pagestyle': '整體風格設置', - 'app.setting.pagestyle.dark': '暗色菜單風格', - 'app.setting.pagestyle.light': '亮色菜單風格', - 'app.setting.content-width': '內容區域寬度', - 'app.setting.content-width.fixed': '定寬', - 'app.setting.content-width.fluid': '流式', - 'app.setting.themecolor': '主題色', - 'app.setting.themecolor.dust': '薄暮', - 'app.setting.themecolor.volcano': '火山', - 'app.setting.themecolor.sunset': '日暮', - 'app.setting.themecolor.cyan': '明青', - 'app.setting.themecolor.green': '極光綠', - 'app.setting.themecolor.daybreak': '拂曉藍(默認)', - 'app.setting.themecolor.geekblue': '極客藍', - 'app.setting.themecolor.purple': '醬紫', - 'app.setting.navigationmode': '導航模式', - 'app.setting.sidemenu': '側邊菜單布局', - 'app.setting.topmenu': '頂部菜單布局', - 'app.setting.fixedheader': '固定 Header', - 'app.setting.fixedsidebar': '固定側邊菜單', - 'app.setting.fixedsidebar.hint': '側邊菜單布局時可配置', - 'app.setting.hideheader': '下滑時隱藏 Header', - 'app.setting.hideheader.hint': '固定 Header 時可配置', - 'app.setting.othersettings': '其他設置', - 'app.setting.weakmode': '色弱模式', - 'app.setting.copy': '拷貝設置', - 'app.setting.copyinfo': '拷貝成功,請到 config/defaultSettings.js 中替換默認配置', - 'app.setting.production.hint': - '配置欄只在開發環境用於預覽,生產環境不會展現,請拷貝後手動修改配置文件', -}; diff --git a/dinky-web/src/locales/zh-TW/settings.ts b/dinky-web/src/locales/zh-TW/settings.ts deleted file mode 100644 index dd45151a8a..0000000000 --- a/dinky-web/src/locales/zh-TW/settings.ts +++ /dev/null @@ -1,55 +0,0 @@ -export default { - 'app.settings.menuMap.basic': '基本設置', - 'app.settings.menuMap.security': '安全設置', - 'app.settings.menuMap.binding': '賬號綁定', - 'app.settings.menuMap.notification': '新消息通知', - 'app.settings.basic.avatar': '頭像', - 'app.settings.basic.change-avatar': '更換頭像', - 'app.settings.basic.email': '郵箱', - 'app.settings.basic.email-message': '請輸入您的郵箱!', - 'app.settings.basic.nickname': '昵稱', - 'app.settings.basic.nickname-message': '請輸入您的昵稱!', - 'app.settings.basic.profile': '個人簡介', - 'app.settings.basic.profile-message': '請輸入個人簡介!', - 'app.settings.basic.profile-placeholder': '個人簡介', - 'app.settings.basic.country': '國家/地區', - 'app.settings.basic.country-message': '請輸入您的國家或地區!', - 'app.settings.basic.geographic': '所在省市', - 'app.settings.basic.geographic-message': '請輸入您的所在省市!', - 'app.settings.basic.address': '街道地址', - 'app.settings.basic.address-message': '請輸入您的街道地址!', - 'app.settings.basic.phone': '聯系電話', - 'app.settings.basic.phone-message': '請輸入您的聯系電話!', - 'app.settings.basic.update': '更新基本信息', - 'app.settings.security.strong': '強', - 'app.settings.security.medium': '中', - 'app.settings.security.weak': '弱', - 'app.settings.security.password': '賬戶密碼', - 'app.settings.security.password-description': '當前密碼強度', - 'app.settings.security.phone': '密保手機', - 'app.settings.security.phone-description': '已綁定手機', - 'app.settings.security.question': '密保問題', - 'app.settings.security.question-description': '未設置密保問題,密保問題可有效保護賬戶安全', - 'app.settings.security.email': '備用郵箱', - 'app.settings.security.email-description': '已綁定郵箱', - 'app.settings.security.mfa': 'MFA 設備', - 'app.settings.security.mfa-description': '未綁定 MFA 設備,綁定後,可以進行二次確認', - 'app.settings.security.modify': '修改', - 'app.settings.security.set': '設置', - 'app.settings.security.bind': '綁定', - 'app.settings.binding.taobao': '綁定淘寶', - 'app.settings.binding.taobao-description': '當前未綁定淘寶賬號', - 'app.settings.binding.alipay': '綁定支付寶', - 'app.settings.binding.alipay-description': '當前未綁定支付寶賬號', - 'app.settings.binding.dingding': '綁定釘釘', - 'app.settings.binding.dingding-description': '當前未綁定釘釘賬號', - 'app.settings.binding.bind': '綁定', - 'app.settings.notification.password': '賬戶密碼', - 'app.settings.notification.password-description': '其他用戶的消息將以站內信的形式通知', - 'app.settings.notification.messages': '系統消息', - 'app.settings.notification.messages-description': '系統消息將以站內信的形式通知', - 'app.settings.notification.todo': '待辦任務', - 'app.settings.notification.todo-description': '待辦任務將以站內信的形式通知', - 'app.settings.open': '開', - 'app.settings.close': '關', -}; diff --git a/dinky-web/src/manifest.json b/dinky-web/src/manifest.json index 839bc5b5e4..15d0b85eca 100644 --- a/dinky-web/src/manifest.json +++ b/dinky-web/src/manifest.json @@ -1,21 +1,21 @@ { - "name": "Ant Design Pro", - "short_name": "Ant Design Pro", + "name": "Dinky", + "short_name": "Dinky", "display": "standalone", "start_url": "./?utm_source=homescreen", "theme_color": "#002140", "background_color": "#001529", "icons": [ { - "src": "icons/icon-192x192.png", + "src": "dinky.svg", "sizes": "192x192" }, { - "src": "icons/icon-128x128.png", + "src": "dinky.svg", "sizes": "128x128" }, { - "src": "icons/icon-512x512.png", + "src": "dinky.svg", "sizes": "512x512" } ] diff --git a/dinky-web/src/pages/404.tsx b/dinky-web/src/pages/404.tsx index 0263687e43..4c17a904e7 100644 --- a/dinky-web/src/pages/404.tsx +++ b/dinky-web/src/pages/404.tsx @@ -1,5 +1,22 @@ -import { history } from '@umijs/max'; -import { Button, Result } from 'antd'; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {history} from '@umijs/max'; +import {Button, Result} from 'antd'; import React from 'react'; const NoFoundPage: React.FC = () => ( diff --git a/dinky-web/src/pages/Admin.tsx b/dinky-web/src/pages/Admin.tsx deleted file mode 100644 index 2f93986b49..0000000000 --- a/dinky-web/src/pages/Admin.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import { HeartTwoTone, SmileTwoTone } from '@ant-design/icons'; -import { PageContainer } from '@ant-design/pro-components'; -import { useIntl } from '@umijs/max'; -import { Alert, Card, Typography } from 'antd'; -import React from 'react'; - -const Admin: React.FC = () => { - const intl = useIntl(); - return ( - - - - - Ant Design Pro You - - -

- Want to add more pages? Please refer to{' '} - - use block - - 。 -

-
- ); -}; - -export default Admin; diff --git a/dinky-web/src/pages/TableList/components/UpdateForm.tsx b/dinky-web/src/pages/TableList/components/UpdateForm.tsx deleted file mode 100644 index 5cd603ee22..0000000000 --- a/dinky-web/src/pages/TableList/components/UpdateForm.tsx +++ /dev/null @@ -1,209 +0,0 @@ -import { - ProFormDateTimePicker, - ProFormRadio, - ProFormSelect, - ProFormText, - ProFormTextArea, - StepsForm, -} from '@ant-design/pro-components'; -import { FormattedMessage, useIntl } from '@umijs/max'; -import { Modal } from 'antd'; -import React from 'react'; - -export type FormValueType = { - target?: string; - template?: string; - type?: string; - time?: string; - frequency?: string; -} & Partial; - -export type UpdateFormProps = { - onCancel: (flag?: boolean, formVals?: FormValueType) => void; - onSubmit: (values: FormValueType) => Promise; - updateModalOpen: boolean; - values: Partial; -}; - -const UpdateForm: React.FC = (props) => { - const intl = useIntl(); - return ( - { - return ( - { - props.onCancel(); - }} - > - {dom} - - ); - }} - onFinish={props.onSubmit} - > - - - ), - }, - ]} - /> - - ), - min: 5, - }, - ]} - /> - - - - - - - - - ), - }, - ]} - /> - - - - ); -}; - -export default UpdateForm; diff --git a/dinky-web/src/pages/TableList/index.tsx b/dinky-web/src/pages/TableList/index.tsx deleted file mode 100644 index c201007242..0000000000 --- a/dinky-web/src/pages/TableList/index.tsx +++ /dev/null @@ -1,397 +0,0 @@ -import { addRule, removeRule, rule, updateRule } from '@/services/ant-design-pro/api'; -import { PlusOutlined } from '@ant-design/icons'; -import type { ActionType, ProColumns, ProDescriptionsItemProps } from '@ant-design/pro-components'; -import { - FooterToolbar, - ModalForm, - PageContainer, - ProDescriptions, - ProFormText, - ProFormTextArea, - ProTable, -} from '@ant-design/pro-components'; -import { FormattedMessage, useIntl } from '@umijs/max'; -import { Button, Drawer, Input, message } from 'antd'; -import React, { useRef, useState } from 'react'; -import type { FormValueType } from './components/UpdateForm'; -import UpdateForm from './components/UpdateForm'; - -/** - * @en-US Add node - * @zh-CN 添加节点 - * @param fields - */ -const handleAdd = async (fields: API.RuleListItem) => { - const hide = message.loading('正在添加'); - try { - await addRule({ ...fields }); - hide(); - message.success('Added successfully'); - return true; - } catch (error) { - hide(); - message.error('Adding failed, please try again!'); - return false; - } -}; - -/** - * @en-US Update node - * @zh-CN 更新节点 - * - * @param fields - */ -const handleUpdate = async (fields: FormValueType) => { - const hide = message.loading('Configuring'); - try { - await updateRule({ - name: fields.name, - desc: fields.desc, - key: fields.key, - }); - hide(); - - message.success('Configuration is successful'); - return true; - } catch (error) { - hide(); - message.error('Configuration failed, please try again!'); - return false; - } -}; - -/** - * Delete node - * @zh-CN 删除节点 - * - * @param selectedRows - */ -const handleRemove = async (selectedRows: API.RuleListItem[]) => { - const hide = message.loading('正在删除'); - if (!selectedRows) return true; - try { - await removeRule({ - key: selectedRows.map((row) => row.key), - }); - hide(); - message.success('Deleted successfully and will refresh soon'); - return true; - } catch (error) { - hide(); - message.error('Delete failed, please try again'); - return false; - } -}; - -const TableList: React.FC = () => { - /** - * @en-US Pop-up window of new window - * @zh-CN 新建窗口的弹窗 - * */ - const [createModalOpen, handleModalOpen] = useState(false); - /** - * @en-US The pop-up window of the distribution update window - * @zh-CN 分布更新窗口的弹窗 - * */ - const [updateModalOpen, handleUpdateModalOpen] = useState(false); - - const [showDetail, setShowDetail] = useState(false); - - const actionRef = useRef(); - const [currentRow, setCurrentRow] = useState(); - const [selectedRowsState, setSelectedRows] = useState([]); - - /** - * @en-US International configuration - * @zh-CN 国际化配置 - * */ - const intl = useIntl(); - - const columns: ProColumns[] = [ - { - title: ( - - ), - dataIndex: 'name', - tip: 'The rule name is the unique key', - render: (dom, entity) => { - return ( - { - setCurrentRow(entity); - setShowDetail(true); - }} - > - {dom} - - ); - }, - }, - { - title: , - dataIndex: 'desc', - valueType: 'textarea', - }, - { - title: ( - - ), - dataIndex: 'callNo', - sorter: true, - hideInForm: true, - renderText: (val: string) => - `${val}${intl.formatMessage({ - id: 'pages.searchTable.tenThousand', - defaultMessage: ' 万 ', - })}`, - }, - { - title: , - dataIndex: 'status', - hideInForm: true, - valueEnum: { - 0: { - text: ( - - ), - status: 'Default', - }, - 1: { - text: ( - - ), - status: 'Processing', - }, - 2: { - text: ( - - ), - status: 'Success', - }, - 3: { - text: ( - - ), - status: 'Error', - }, - }, - }, - { - title: ( - - ), - sorter: true, - dataIndex: 'updatedAt', - valueType: 'dateTime', - renderFormItem: (item, { defaultRender, ...rest }, form) => { - const status = form.getFieldValue('status'); - if (`${status}` === '0') { - return false; - } - if (`${status}` === '3') { - return ( - - ); - } - return defaultRender(item); - }, - }, - { - title: , - dataIndex: 'option', - valueType: 'option', - render: (_, record) => [ - { - handleUpdateModalOpen(true); - setCurrentRow(record); - }} - > - - , - - - , - ], - }, - ]; - - return ( - - - headerTitle={intl.formatMessage({ - id: 'pages.searchTable.title', - defaultMessage: 'Enquiry form', - })} - actionRef={actionRef} - rowKey="key" - search={{ - labelWidth: 120, - }} - toolBarRender={() => [ - , - ]} - request={rule} - columns={columns} - rowSelection={{ - onChange: (_, selectedRows) => { - setSelectedRows(selectedRows); - }, - }} - /> - {selectedRowsState?.length > 0 && ( - - {' '} - {selectedRowsState.length}{' '} - -    - - {' '} - {selectedRowsState.reduce((pre, item) => pre + item.callNo!, 0)}{' '} - - - - } - > - - - - )} - { - const success = await handleAdd(value as API.RuleListItem); - if (success) { - handleModalOpen(false); - if (actionRef.current) { - actionRef.current.reload(); - } - } - }} - > - - ), - }, - ]} - width="md" - name="name" - /> - - - { - const success = await handleUpdate(value); - if (success) { - handleUpdateModalOpen(false); - setCurrentRow(undefined); - if (actionRef.current) { - actionRef.current.reload(); - } - } - }} - onCancel={() => { - handleUpdateModalOpen(false); - if (!showDetail) { - setCurrentRow(undefined); - } - }} - updateModalOpen={updateModalOpen} - values={currentRow || {}} - /> - - { - setCurrentRow(undefined); - setShowDetail(false); - }} - closable={false} - > - {currentRow?.name && ( - - column={2} - title={currentRow?.name} - request={async () => ({ - data: currentRow || {}, - })} - params={{ - id: currentRow?.name, - }} - columns={columns as ProDescriptionsItemProps[]} - /> - )} - - - ); -}; - -export default TableList; diff --git a/dinky-web/src/pages/User/Login/__snapshots__/login.test.tsx.snap b/dinky-web/src/pages/User/Login/__snapshots__/login.test.tsx.snap deleted file mode 100644 index af647ff54f..0000000000 --- a/dinky-web/src/pages/User/Login/__snapshots__/login.test.tsx.snap +++ /dev/null @@ -1,1114 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Login Page should login success 1`] = ` - -
-
-
-
-
- -
-
-
-
- -
-
-
-
-
- - - - - - - - avatar - - - Serati Ma - - - - - - - -
-
-
-
-
-
-
-
-
-
-
- - Welcome - -
-
-
-
-
-
-
-
-
-
-
- 欢迎使用 Ant Design Pro -
-

- Ant Design Pro 是一个整合了 umi,Ant Design 和 ProComponents 的脚手架方案。致力于在设计规范和基础组件的基础上,继续向上构建,提炼出典型模板/业务组件/配套设计资源,进一步提升企业级中后台产品设计研发过程中的『用户』和『设计者』的体验。 -

-
-
-
-
- 1 -
-
- 了解 umi -
-
-
- umi 是一个可扩展的企业级前端应用框架,umi 以路由为基础的,同时支持配置式路由和约定式路由,保证路由的功能完备,并以此进行功能扩展。 -
- - 了解更多 > - -
-
-
-
- 2 -
-
- 了解 ant design -
-
-
- antd 是基于 Ant Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。 -
- - 了解更多 > - -
-
-
-
- 3 -
-
- 了解 Pro Components -
-
-
- ProComponents 是一个基于 Ant Design 做了更高抽象的模板组件,以 一个组件就是一个页面为开发理念,为中后台开发带来更好的体验。 -
- - 了解更多 > - -
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
- -
-
-
-
- -`; - -exports[`Login Page should show login form 1`] = ` - -
-
- - - - - -
-
- - -`; diff --git a/dinky-web/src/pages/User/Login/index.tsx b/dinky-web/src/pages/User/Login/index.tsx index ef4830748c..af280e528c 100644 --- a/dinky-web/src/pages/User/Login/index.tsx +++ b/dinky-web/src/pages/User/Login/index.tsx @@ -1,50 +1,32 @@ -import Footer from '@/components/Footer'; -import { login } from '@/services/ant-design-pro/api'; -import { getFakeCaptcha } from '@/services/ant-design-pro/login'; -import { - AlipayCircleOutlined, - LockOutlined, - MobileOutlined, - TaobaoCircleOutlined, - UserOutlined, - WeiboCircleOutlined, -} from '@ant-design/icons'; -import { - LoginForm, - ProFormCaptcha, - ProFormCheckbox, - ProFormText, -} from '@ant-design/pro-components'; -import { useEmotionCss } from '@ant-design/use-emotion-css'; -import { FormattedMessage, history, SelectLang, useIntl, useModel, Helmet } from '@umijs/max'; -import { Alert, message, Tabs } from 'antd'; -import Settings from '../../../../config/defaultSettings'; -import React, { useState } from 'react'; -import { flushSync } from 'react-dom'; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ -const ActionIcons = () => { - const langClassName = useEmotionCss(({ token }) => { - return { - marginLeft: '8px', - color: 'rgba(0, 0, 0, 0.2)', - fontSize: '24px', - verticalAlign: 'middle', - cursor: 'pointer', - transition: 'color 0.3s', - '&:hover': { - color: token.colorPrimaryActive, - }, - }; - }); +import Footer from '@/components/Footer'; - return ( - <> - - - - - ); -}; +import {LockOutlined, UserOutlined,} from '@ant-design/icons'; +import {LoginForm, ProFormCheckbox, ProFormText,} from '@ant-design/pro-components'; +import {useEmotionCss} from '@ant-design/use-emotion-css'; +import {Helmet, history, SelectLang, useModel} from '@umijs/max'; +import {Alert, message} from 'antd'; +import Settings from '../../../../config/defaultSettings'; +import React, {useState} from 'react'; +import {flushSync} from 'react-dom'; +import {login} from "@/services/api"; +import {l} from '@/utils/intl'; const Lang = () => { const langClassName = useEmotionCss(({ token }) => { @@ -85,7 +67,6 @@ const LoginMessage: React.FC<{ const Login: React.FC = () => { const [userLoginState, setUserLoginState] = useState({}); - const [type, setType] = useState('account'); const { initialState, setInitialState } = useModel('@@initialState'); const containerClassName = useEmotionCss(() => { @@ -100,8 +81,6 @@ const Login: React.FC = () => { }; }); - const intl = useIntl(); - const fetchUserInfo = async () => { const userInfo = await initialState?.fetchUserInfo?.(); if (userInfo) { @@ -117,13 +96,9 @@ const Login: React.FC = () => { const handleSubmit = async (values: API.LoginParams) => { try { // 登录 - const msg = await login({ ...values, type }); + const msg = await login({ ...values }); if (msg.status === 'ok') { - const defaultLoginSuccessMessage = intl.formatMessage({ - id: 'pages.login.success', - defaultMessage: '登录成功!', - }); - message.success(defaultLoginSuccessMessage); + message.success(l('pages.login.success')); await fetchUserInfo(); const urlParams = new URL(window.location.href).searchParams; history.push(urlParams.get('redirect') || '/'); @@ -133,12 +108,7 @@ const Login: React.FC = () => { // 如果失败去设置用户错误信息 setUserLoginState(msg); } catch (error) { - const defaultLoginFailureMessage = intl.formatMessage({ - id: 'pages.login.failure', - defaultMessage: '登录失败,请重试!', - }); - console.log(error); - message.error(defaultLoginFailureMessage); + message.error(l('pages.login.failure')); } }; const { status, type: loginType } = userLoginState; @@ -147,10 +117,7 @@ const Login: React.FC = () => {
- {intl.formatMessage({ - id: 'menu.login', - defaultMessage: '登录页', - })} + {l('menu.login')} - {Settings.title} @@ -166,55 +133,21 @@ const Login: React.FC = () => { minWidth: 280, maxWidth: '75vw', }} - logo={logo} - title="Ant Design" - subTitle={intl.formatMessage({ id: 'pages.layouts.userLayout.title' })} + logo={logo} + title="Dinky" + subTitle={l('pages.layouts.userLayout.title' )} initialValues={{ autoLogin: true, }} - actions={[ - , - , - ]} onFinish={async (values) => { await handleSubmit(values as API.LoginParams); }} > - - {status === 'error' && loginType === 'account' && ( - )} - {type === 'account' && ( + ) <> { size: 'large', prefix: , }} - placeholder={intl.formatMessage({ - id: 'pages.login.username.placeholder', - defaultMessage: '用户名: admin or user', - })} + placeholder={l('pages.login.username.placeholder')} rules={[ { required: true, - message: ( - - ), + message: l('pages.login.username.required') }, ]} /> @@ -244,122 +169,23 @@ const Login: React.FC = () => { size: 'large', prefix: , }} - placeholder={intl.formatMessage({ - id: 'pages.login.password.placeholder', - defaultMessage: '密码: ant.design', - })} + placeholder={ l('pages.login.password.placeholder')} rules={[ { required: true, - message: ( - - ), + message: l('pages.login.password.required') }, ]} /> - )} - - {status === 'error' && loginType === 'mobile' && } - {type === 'mobile' && ( - <> - , - }} - name="mobile" - placeholder={intl.formatMessage({ - id: 'pages.login.phoneNumber.placeholder', - defaultMessage: '手机号', - })} - rules={[ - { - required: true, - message: ( - - ), - }, - { - pattern: /^1\d{10}$/, - message: ( - - ), - }, - ]} - /> - , - }} - captchaProps={{ - size: 'large', - }} - placeholder={intl.formatMessage({ - id: 'pages.login.captcha.placeholder', - defaultMessage: '请输入验证码', - })} - captchaTextRender={(timing, count) => { - if (timing) { - return `${count} ${intl.formatMessage({ - id: 'pages.getCaptchaSecondText', - defaultMessage: '获取验证码', - })}`; - } - return intl.formatMessage({ - id: 'pages.login.phoneLogin.getVerificationCode', - defaultMessage: '获取验证码', - }); - }} - name="captcha" - rules={[ - { - required: true, - message: ( - - ), - }, - ]} - onGetCaptcha={async (phone) => { - const result = await getFakeCaptcha({ - phone, - }); - if (!result) { - return; - } - message.success('获取验证码成功!验证码为:1234'); - }} - /> - - )}
- + {l('pages.login.rememberMe')} - - -
diff --git a/dinky-web/src/pages/User/Login/login.test.tsx b/dinky-web/src/pages/User/Login/login.test.tsx deleted file mode 100644 index 18593f83b2..0000000000 --- a/dinky-web/src/pages/User/Login/login.test.tsx +++ /dev/null @@ -1,96 +0,0 @@ -import { render, fireEvent, act } from '@testing-library/react'; -import React from 'react'; -import { TestBrowser } from '@@/testBrowser'; - -// @ts-ignore -import { startMock } from '@@/requestRecordMock'; - -const waitTime = (time: number = 100) => { - return new Promise((resolve) => { - setTimeout(() => { - resolve(true); - }, time); - }); -}; - -let server: { - close: () => void; -}; - -describe('Login Page', () => { - beforeAll(async () => { - server = await startMock({ - port: 8000, - scene: 'login', - }); - }); - - afterAll(() => { - server?.close(); - }); - - it('should show login form', async () => { - const historyRef = React.createRef(); - const rootContainer = render( - , - ); - - await rootContainer.findAllByText('Ant Design'); - - act(() => { - historyRef.current?.push('/user/login'); - }); - - expect(rootContainer.baseElement?.querySelector('.ant-pro-form-login-desc')?.textContent).toBe( - 'Ant Design is the most influential web design specification in Xihu district', - ); - - expect(rootContainer.asFragment()).toMatchSnapshot(); - - rootContainer.unmount(); - }); - - it('should login success', async () => { - const historyRef = React.createRef(); - const rootContainer = render( - , - ); - - await rootContainer.findAllByText('Ant Design'); - - const userNameInput = await rootContainer.findByPlaceholderText('Username: admin or user'); - - act(() => { - fireEvent.change(userNameInput, { target: { value: 'admin' } }); - }); - - const passwordInput = await rootContainer.findByPlaceholderText('Password: ant.design'); - - act(() => { - fireEvent.change(passwordInput, { target: { value: 'ant.design' } }); - }); - - await (await rootContainer.findByText('Login')).click(); - - // 等待接口返回结果 - await waitTime(5000); - - await rootContainer.findAllByText('Ant Design Pro'); - - expect(rootContainer.asFragment()).toMatchSnapshot(); - - await waitTime(2000); - - rootContainer.unmount(); - }); -}); diff --git a/dinky-web/src/pages/Welcome.tsx b/dinky-web/src/pages/Welcome.tsx index d0c49f7a1c..2b390f4d0f 100644 --- a/dinky-web/src/pages/Welcome.tsx +++ b/dinky-web/src/pages/Welcome.tsx @@ -1,164 +1,67 @@ -import { PageContainer } from '@ant-design/pro-components'; -import { useModel } from '@umijs/max'; -import { Card, theme } from 'antd'; -import React from 'react'; - -/** - * 每个单独的卡片,为了复用样式抽成了组件 - * @param param0 - * @returns +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ -const InfoCard: React.FC<{ - title: string; - index: number; - desc: string; - href: string; -}> = ({ title, href, index, desc }) => { - const { useToken } = theme; - const { token } = useToken(); +import {VERSION} from '@/components/Version/Version'; +import {l} from '@/utils/intl'; +import {PageContainer} from '@ant-design/pro-components'; +import {Alert, Card, Image, Typography} from 'antd'; +import React from 'react'; - return ( -
-
-
- {index} -
-
- {title} -
-
-
- {desc} -
- - 了解更多 {'>'} - -
- ); -}; +const { Paragraph} = Typography; const Welcome: React.FC = () => { - const { token } = theme.useToken(); - const { initialState } = useModel('@@initialState'); return ( - - -
+ + -
- 欢迎使用 Ant Design Pro -
-

- Ant Design Pro 是一个整合了 umi,Ant Design 和 ProComponents - 的脚手架方案。致力于在设计规范和基础组件的基础上,继续向上构建,提炼出典型模板/业务组件/配套设计资源,进一步提升企业级中后台产品设计研发过程中的『用户』和『设计者』的体验。 -

-
- - - -
-
+ /> + + {l('pages.welcome.Community')} + +

+ + + + + + + + + + + + + + +
); }; export default Welcome; + + + diff --git a/dinky-web/src/requestErrorConfig.ts b/dinky-web/src/requestErrorConfig.ts index c0c4a6a21a..388dcdc429 100644 --- a/dinky-web/src/requestErrorConfig.ts +++ b/dinky-web/src/requestErrorConfig.ts @@ -1,6 +1,23 @@ -import type { RequestOptions } from '@@/plugin-request/request'; -import type { RequestConfig } from '@umijs/max'; -import { message, notification } from 'antd'; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import type {RequestOptions} from '@@/plugin-request/request'; +import type {RequestConfig} from '@umijs/max'; +import {message, notification} from 'antd'; // 错误处理方案: 错误类型 enum ErrorShowType { diff --git a/dinky-web/src/service-worker.js b/dinky-web/src/service-worker.js index b86726cdeb..042da0120f 100644 --- a/dinky-web/src/service-worker.js +++ b/dinky-web/src/service-worker.js @@ -1,3 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /* eslint-disable no-restricted-globals */ /* eslint-disable no-underscore-dangle */ /* globals workbox */ diff --git a/dinky-web/src/services/ant-design-pro/index.ts b/dinky-web/src/services/ant-design-pro/index.ts deleted file mode 100644 index 1ac489fe5f..0000000000 --- a/dinky-web/src/services/ant-design-pro/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -// @ts-ignore -/* eslint-disable */ -// API 更新时间: -// API 唯一标识: -import * as api from './api'; -import * as login from './login'; -export default { - api, - login, -}; diff --git a/dinky-web/src/services/ant-design-pro/login.ts b/dinky-web/src/services/ant-design-pro/login.ts deleted file mode 100644 index 8871ed84be..0000000000 --- a/dinky-web/src/services/ant-design-pro/login.ts +++ /dev/null @@ -1,21 +0,0 @@ -// @ts-ignore -/* eslint-disable */ -import { request } from '@umijs/max'; - -/** 发送验证码 POST /api/login/captcha */ -export async function getFakeCaptcha( - params: { - // query - /** 手机号 */ - phone?: string; - }, - options?: { [key: string]: any }, -) { - return request('/api/login/captcha', { - method: 'GET', - params: { - ...params, - }, - ...(options || {}), - }); -} diff --git a/dinky-web/src/services/ant-design-pro/api.ts b/dinky-web/src/services/api.ts similarity index 71% rename from dinky-web/src/services/ant-design-pro/api.ts rename to dinky-web/src/services/api.ts index cbd596160e..b546673bb1 100644 --- a/dinky-web/src/services/ant-design-pro/api.ts +++ b/dinky-web/src/services/api.ts @@ -1,6 +1,23 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + // @ts-ignore /* eslint-disable */ -import { request } from '@umijs/max'; +import {request} from '@umijs/max'; /** 获取当前的用户 GET /api/currentUser */ export async function currentUser(options?: { [key: string]: any }) { diff --git a/dinky-web/src/services/index.ts b/dinky-web/src/services/index.ts new file mode 100644 index 0000000000..92a651f65c --- /dev/null +++ b/dinky-web/src/services/index.ts @@ -0,0 +1,26 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// @ts-ignore +/* eslint-disable */ +// API 更新时间: +// API 唯一标识: +import * as api from './api'; + +export default { + api, +}; diff --git a/dinky-web/src/services/swagger/index.ts b/dinky-web/src/services/swagger/index.ts deleted file mode 100644 index 83cf97ca4d..0000000000 --- a/dinky-web/src/services/swagger/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -// @ts-ignore -/* eslint-disable */ -// API 更新时间: -// API 唯一标识: -import * as pet from './pet'; -import * as store from './store'; -import * as user from './user'; -export default { - pet, - store, - user, -}; diff --git a/dinky-web/src/services/swagger/pet.ts b/dinky-web/src/services/swagger/pet.ts deleted file mode 100644 index b887475a19..0000000000 --- a/dinky-web/src/services/swagger/pet.ts +++ /dev/null @@ -1,153 +0,0 @@ -// @ts-ignore -/* eslint-disable */ -import { request } from '@umijs/max'; - -/** Update an existing pet PUT /pet */ -export async function updatePet(body: API.Pet, options?: { [key: string]: any }) { - return request('/pet', { - method: 'PUT', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); -} - -/** Add a new pet to the store POST /pet */ -export async function addPet(body: API.Pet, options?: { [key: string]: any }) { - return request('/pet', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); -} - -/** Find pet by ID Returns a single pet GET /pet/${param0} */ -export async function getPetById( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.getPetByIdParams, - options?: { [key: string]: any }, -) { - const { petId: param0, ...queryParams } = params; - return request(`/pet/${param0}`, { - method: 'GET', - params: { ...queryParams }, - ...(options || {}), - }); -} - -/** Updates a pet in the store with form data POST /pet/${param0} */ -export async function updatePetWithForm( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.updatePetWithFormParams, - body: { name?: string; status?: string }, - options?: { [key: string]: any }, -) { - const { petId: param0, ...queryParams } = params; - const formData = new FormData(); - - Object.keys(body).forEach((ele) => { - const item = (body as any)[ele]; - - if (item !== undefined && item !== null) { - formData.append( - ele, - typeof item === 'object' && !(item instanceof File) ? JSON.stringify(item) : item, - ); - } - }); - - return request(`/pet/${param0}`, { - method: 'POST', - params: { ...queryParams }, - data: formData, - ...(options || {}), - }); -} - -/** Deletes a pet DELETE /pet/${param0} */ -export async function deletePet( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.deletePetParams & { - // header - api_key?: string; - }, - options?: { [key: string]: any }, -) { - const { petId: param0, ...queryParams } = params; - return request(`/pet/${param0}`, { - method: 'DELETE', - headers: {}, - params: { ...queryParams }, - ...(options || {}), - }); -} - -/** uploads an image POST /pet/${param0}/uploadImage */ -export async function uploadFile( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.uploadFileParams, - body: { additionalMetadata?: string; file?: string }, - file?: File, - options?: { [key: string]: any }, -) { - const { petId: param0, ...queryParams } = params; - const formData = new FormData(); - - if (file) { - formData.append('file', file); - } - - Object.keys(body).forEach((ele) => { - const item = (body as any)[ele]; - - if (item !== undefined && item !== null) { - formData.append( - ele, - typeof item === 'object' && !(item instanceof File) ? JSON.stringify(item) : item, - ); - } - }); - - return request(`/pet/${param0}/uploadImage`, { - method: 'POST', - params: { ...queryParams }, - data: formData, - requestType: 'form', - ...(options || {}), - }); -} - -/** Finds Pets by status Multiple status values can be provided with comma separated strings GET /pet/findByStatus */ -export async function findPetsByStatus( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.findPetsByStatusParams, - options?: { [key: string]: any }, -) { - return request('/pet/findByStatus', { - method: 'GET', - params: { - ...params, - }, - ...(options || {}), - }); -} - -/** Finds Pets by tags Muliple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. GET /pet/findByTags */ -export async function findPetsByTags( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.findPetsByTagsParams, - options?: { [key: string]: any }, -) { - return request('/pet/findByTags', { - method: 'GET', - params: { - ...params, - }, - ...(options || {}), - }); -} diff --git a/dinky-web/src/services/swagger/store.ts b/dinky-web/src/services/swagger/store.ts deleted file mode 100644 index b9c689a6ab..0000000000 --- a/dinky-web/src/services/swagger/store.ts +++ /dev/null @@ -1,48 +0,0 @@ -// @ts-ignore -/* eslint-disable */ -import { request } from '@umijs/max'; - -/** Returns pet inventories by status Returns a map of status codes to quantities GET /store/inventory */ -export async function getInventory(options?: { [key: string]: any }) { - return request>('/store/inventory', { - method: 'GET', - ...(options || {}), - }); -} - -/** Place an order for a pet POST /store/order */ -export async function placeOrder(body: API.Order, options?: { [key: string]: any }) { - return request('/store/order', { - method: 'POST', - data: body, - ...(options || {}), - }); -} - -/** Find purchase order by ID For valid response try integer IDs with value >= 1 and <= 10. Other values will generated exceptions GET /store/order/${param0} */ -export async function getOrderById( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.getOrderByIdParams, - options?: { [key: string]: any }, -) { - const { orderId: param0, ...queryParams } = params; - return request(`/store/order/${param0}`, { - method: 'GET', - params: { ...queryParams }, - ...(options || {}), - }); -} - -/** Delete purchase order by ID For valid response try integer IDs with positive integer value. Negative or non-integer values will generate API errors DELETE /store/order/${param0} */ -export async function deleteOrder( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.deleteOrderParams, - options?: { [key: string]: any }, -) { - const { orderId: param0, ...queryParams } = params; - return request(`/store/order/${param0}`, { - method: 'DELETE', - params: { ...queryParams }, - ...(options || {}), - }); -} diff --git a/dinky-web/src/services/swagger/typings.d.ts b/dinky-web/src/services/swagger/typings.d.ts deleted file mode 100644 index d06bcfcb94..0000000000 --- a/dinky-web/src/services/swagger/typings.d.ts +++ /dev/null @@ -1,112 +0,0 @@ -declare namespace API { - type ApiResponse = { - code?: number; - type?: string; - message?: string; - }; - - type Category = { - id?: number; - name?: string; - }; - - type deleteOrderParams = { - /** ID of the order that needs to be deleted */ - orderId: number; - }; - - type deletePetParams = { - api_key?: string; - /** Pet id to delete */ - petId: number; - }; - - type deleteUserParams = { - /** The name that needs to be deleted */ - username: string; - }; - - type findPetsByStatusParams = { - /** Status values that need to be considered for filter */ - status: ('available' | 'pending' | 'sold')[]; - }; - - type findPetsByTagsParams = { - /** Tags to filter by */ - tags: string[]; - }; - - type getOrderByIdParams = { - /** ID of pet that needs to be fetched */ - orderId: number; - }; - - type getPetByIdParams = { - /** ID of pet to return */ - petId: number; - }; - - type getUserByNameParams = { - /** The name that needs to be fetched. Use user1 for testing. */ - username: string; - }; - - type loginUserParams = { - /** The user name for login */ - username: string; - /** The password for login in clear text */ - password: string; - }; - - type Order = { - id?: number; - petId?: number; - quantity?: number; - shipDate?: string; - /** Order Status */ - status?: 'placed' | 'approved' | 'delivered'; - complete?: boolean; - }; - - type Pet = { - id?: number; - category?: Category; - name: string; - photoUrls: string[]; - tags?: Tag[]; - /** pet status in the store */ - status?: 'available' | 'pending' | 'sold'; - }; - - type Tag = { - id?: number; - name?: string; - }; - - type updatePetWithFormParams = { - /** ID of pet that needs to be updated */ - petId: number; - }; - - type updateUserParams = { - /** name that need to be updated */ - username: string; - }; - - type uploadFileParams = { - /** ID of pet to update */ - petId: number; - }; - - type User = { - id?: number; - username?: string; - firstName?: string; - lastName?: string; - email?: string; - password?: string; - phone?: string; - /** User Status */ - userStatus?: number; - }; -} diff --git a/dinky-web/src/services/swagger/user.ts b/dinky-web/src/services/swagger/user.ts deleted file mode 100644 index 4dd6f421b0..0000000000 --- a/dinky-web/src/services/swagger/user.ts +++ /dev/null @@ -1,100 +0,0 @@ -// @ts-ignore -/* eslint-disable */ -import { request } from '@umijs/max'; - -/** Create user This can only be done by the logged in user. POST /user */ -export async function createUser(body: API.User, options?: { [key: string]: any }) { - return request('/user', { - method: 'POST', - data: body, - ...(options || {}), - }); -} - -/** Get user by user name GET /user/${param0} */ -export async function getUserByName( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.getUserByNameParams, - options?: { [key: string]: any }, -) { - const { username: param0, ...queryParams } = params; - return request(`/user/${param0}`, { - method: 'GET', - params: { ...queryParams }, - ...(options || {}), - }); -} - -/** Updated user This can only be done by the logged in user. PUT /user/${param0} */ -export async function updateUser( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.updateUserParams, - body: API.User, - options?: { [key: string]: any }, -) { - const { username: param0, ...queryParams } = params; - return request(`/user/${param0}`, { - method: 'PUT', - params: { ...queryParams }, - data: body, - ...(options || {}), - }); -} - -/** Delete user This can only be done by the logged in user. DELETE /user/${param0} */ -export async function deleteUser( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.deleteUserParams, - options?: { [key: string]: any }, -) { - const { username: param0, ...queryParams } = params; - return request(`/user/${param0}`, { - method: 'DELETE', - params: { ...queryParams }, - ...(options || {}), - }); -} - -/** Creates list of users with given input array POST /user/createWithArray */ -export async function createUsersWithArrayInput( - body: API.User[], - options?: { [key: string]: any }, -) { - return request('/user/createWithArray', { - method: 'POST', - data: body, - ...(options || {}), - }); -} - -/** Creates list of users with given input array POST /user/createWithList */ -export async function createUsersWithListInput(body: API.User[], options?: { [key: string]: any }) { - return request('/user/createWithList', { - method: 'POST', - data: body, - ...(options || {}), - }); -} - -/** Logs user into the system GET /user/login */ -export async function loginUser( - // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) - params: API.loginUserParams, - options?: { [key: string]: any }, -) { - return request('/user/login', { - method: 'GET', - params: { - ...params, - }, - ...(options || {}), - }); -} - -/** Logs out current logged in user session GET /user/logout */ -export async function logoutUser(options?: { [key: string]: any }) { - return request('/user/logout', { - method: 'GET', - ...(options || {}), - }); -} diff --git a/dinky-web/src/services/ant-design-pro/typings.d.ts b/dinky-web/src/services/typings.d.ts similarity index 71% rename from dinky-web/src/services/ant-design-pro/typings.d.ts rename to dinky-web/src/services/typings.d.ts index 13e5a680c4..0cdafb8f3e 100644 --- a/dinky-web/src/services/ant-design-pro/typings.d.ts +++ b/dinky-web/src/services/typings.d.ts @@ -1,3 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + // @ts-ignore /* eslint-disable */ diff --git a/dinky-web/src/typings.d.ts b/dinky-web/src/typings.d.ts index 742f70c60e..5ebfbcf3fc 100644 --- a/dinky-web/src/typings.d.ts +++ b/dinky-web/src/typings.d.ts @@ -1,3 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + declare module 'slash2'; declare module '*.css'; declare module '*.less'; diff --git a/dinky-web/src/utils/intl.ts b/dinky-web/src/utils/intl.ts new file mode 100644 index 0000000000..ff88fdba89 --- /dev/null +++ b/dinky-web/src/utils/intl.ts @@ -0,0 +1,23 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {getIntl} from "@umijs/max"; + +export const l = (id: string, defaultMessage?: string, value?: {}) => { + return getIntl().formatMessage({id, defaultMessage}, value); +} + diff --git a/dinky-web/tests/setupTests.jsx b/dinky-web/tests/setupTests.jsx index 952561d5e7..cdf3aac071 100644 --- a/dinky-web/tests/setupTests.jsx +++ b/dinky-web/tests/setupTests.jsx @@ -1,4 +1,21 @@ -const localStorageMock = { +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +const localStorageMock = { getItem: jest.fn(), setItem: jest.fn(), removeItem: jest.fn(), diff --git a/dinky-web/types/cache/mock/login.mock.cache.js b/dinky-web/types/cache/mock/login.mock.cache.js index 6c59e198da..e4eece3013 100644 --- a/dinky-web/types/cache/mock/login.mock.cache.js +++ b/dinky-web/types/cache/mock/login.mock.cache.js @@ -1,3 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + module.exports = { 'GET /api/currentUser': { data: { diff --git a/dinky-web/types/cache/mock/mock.cache.js b/dinky-web/types/cache/mock/mock.cache.js index e69de29bb2..29400e587d 100644 --- a/dinky-web/types/cache/mock/mock.cache.js +++ b/dinky-web/types/cache/mock/mock.cache.js @@ -0,0 +1,17 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + diff --git a/dinky-web/types/index.d.ts b/dinky-web/types/index.d.ts index 2c2805a926..58e7b35a3f 100644 --- a/dinky-web/types/index.d.ts +++ b/dinky-web/types/index.d.ts @@ -1,3 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + export namespace API { /** GET /api/currentUser */ export type GET_API_CURRENT_USER_QUERY = { diff --git a/dlink-web/config/config.ts b/dlink-web/config/config.ts index 7556caf8a7..369b76bf1f 100644 --- a/dlink-web/config/config.ts +++ b/dlink-web/config/config.ts @@ -26,7 +26,6 @@ import defaultSettings from './defaultSettings'; import proxy from './proxy'; import routes from './routes'; -const {REACT_APP_ENV} = process.env; export default defineConfig({ hash: true,