diff --git a/.gitignore b/.gitignore index 606edc906..8963e6fba 100644 --- a/.gitignore +++ b/.gitignore @@ -89,3 +89,5 @@ packages/gi-site/src/services/inject.ts scripts/publish_yuyan.mjs packages/gi-httpservice-xxx release/gi-httpservice + +**/unprocessed-code.ts.txt diff --git a/packages/gi-assets-basic/.must.config.js b/packages/gi-assets-basic/.must.config.js new file mode 100644 index 000000000..6343edbd5 --- /dev/null +++ b/packages/gi-assets-basic/.must.config.js @@ -0,0 +1,93 @@ +// more config: http://gitlab.alibaba-inc.com/parrot/parrot-tool-must/blob/master/doc/config.md +module.exports = { + extract: { + name: 'basic', + sourcePath: 'src', + fileType: 'ts', + prettier: true, + exclude: (path)=>{ + return path.includes('/pages/') ; // + }, + macro: { + path: 'src/i18n', + method: '$i18n.get({id:"$key$",dm:"$defaultMessage$"})', + import: 'import $i18n from "src/i18n"', + keySplitter: '.', + placeholder: variable => { + return `{${variable}}`; + }, + implement: `import locale from '@aligov/global-locale'; +import stringFormat from '@aligov/global-string-format'; +import strings from './strings'; + +let language; // Current language +let intl; // Instance of intl-universal. Create by provideIntl + +function update() { + const { lang } = locale.getLocale(); + language = lang; + intl = stringFormat.init(lang, strings, { name: 'basic' }); +} + +function change(langTag) { + locale.setLang(langTag); + update(); +} + +function get(id, variable = {}) { + if (!intl) update(); + if (typeof id === 'string') { + return stringFormat.format( + { + id: id, + }, + variable, + { name: 'basic' } + ); + } else if (typeof id === 'object' && id.dm) { + id.defaultMessage = id.dm; + } + return stringFormat.format( + { + id: id.id, + defaultString: id.dm, + }, + variable, + { name: 'basic' } + ); +} + +export default { + get, + update, + change, + language, +}; + `, + dependencies: ['@aligov/global-locale', '@aligov/global-string-format'], + }, + babel: { + allowImportExportEverywhere: true, + decoratorsBeforeExport: true, + plugins: [ + 'asyncGenerators', + 'classProperties', + 'decorators-legacy', + 'doExpressions', + 'exportExtensions', + 'exportDefaultFrom', + 'typescript', + 'functionSent', + 'functionBind', + 'jsx', + 'objectRestSpread', + 'dynamicImport', + 'numericSeparator', + 'optionalChaining', + 'optionalCatchBinding', + ], + }, + isNeedUploadCopyToMedusa: false, + sourceLang: 'zh-CN', + }, +}; diff --git a/packages/gi-assets-basic/package.json b/packages/gi-assets-basic/package.json index 277556def..8c3f9f72c 100644 --- a/packages/gi-assets-basic/package.json +++ b/packages/gi-assets-basic/package.json @@ -33,6 +33,8 @@ "postpublish": "tnpm sync @antv/gi-assets-basic" }, "dependencies": { + "@aligov/global-locale": "^1.0.5", + "@aligov/global-string-format": "^1.0.7", "@ant-design/icons": "latest", "@antv/algorithm": "^0.1.26-beta.0", "@antv/g2plot": "^2.4.20", diff --git a/packages/gi-assets-basic/src/components/ActivateRelations/info.ts b/packages/gi-assets-basic/src/components/ActivateRelations/info.ts index aa0290c65..773196ae8 100644 --- a/packages/gi-assets-basic/src/components/ActivateRelations/info.ts +++ b/packages/gi-assets-basic/src/components/ActivateRelations/info.ts @@ -1,17 +1,30 @@ import { AssetInfo } from '@antv/gi-sdk'; +import $i18n from '../../i18n'; const info: AssetInfo = { id: 'ActivateRelations', - name: '元素高亮', - desc: '通过交互,激活相关联的节点与边', + name: $i18n.get({ id: 'basic.components.ActivateRelations.info.ElementHighlighting', dm: '元素高亮' }), + desc: $i18n.get({ + id: 'basic.components.ActivateRelations.info.ActivateAssociatedNodesAndEdges', + dm: '通过交互,激活相关联的节点与边', + }), icon: 'icon-canvas-setting', cover: 'http://xxxx.jpg', category: 'elements-interaction', type: 'AUTO', docs: 'https://www.yuque.com/antv/gi/rqq14h0071psf9ks', features: [ - '支持点击节点,高亮展示关联节点和边', - '支持配置节点或者边,悬停高亮效果', - '支持配置节点「上游N度」「下游M度」的高亮效果', + $i18n.get({ + id: 'basic.components.ActivateRelations.info.YouCanClickNodesTo', + dm: '支持点击节点,高亮展示关联节点和边', + }), + $i18n.get({ + id: 'basic.components.ActivateRelations.info.YouCanConfigureNodesOr', + dm: '支持配置节点或者边,悬停高亮效果', + }), + $i18n.get({ + id: 'basic.components.ActivateRelations.info.YouCanConfigureTheHighlighting', + dm: '支持配置节点「上游N度」「下游M度」的高亮效果', + }), ], }; diff --git a/packages/gi-assets-basic/src/components/ActivateRelations/registerMeta.ts b/packages/gi-assets-basic/src/components/ActivateRelations/registerMeta.ts index b01e31ece..3d346085b 100644 --- a/packages/gi-assets-basic/src/components/ActivateRelations/registerMeta.ts +++ b/packages/gi-assets-basic/src/components/ActivateRelations/registerMeta.ts @@ -1,40 +1,41 @@ +import $i18n from '../../i18n'; const registerMeta = context => { return { /** 分类信息 */ enableNodeHover: { - title: '节点悬停', + title: $i18n.get({ id: 'basic.components.ActivateRelations.registerMeta.NodeHover', dm: '节点悬停' }), 'x-component': 'Switch', 'x-decorator': 'FormItem', type: 'boolean', default: true, }, enableEdgeHover: { - title: '边悬停', + title: $i18n.get({ id: 'basic.components.ActivateRelations.registerMeta.EdgeHover', dm: '边悬停' }), 'x-component': 'Switch', 'x-decorator': 'FormItem', type: 'boolean', default: true, }, enable: { - title: '启用关联', + title: $i18n.get({ id: 'basic.components.ActivateRelations.registerMeta.EnableAssociation', dm: '启用关联' }), 'x-component': 'Switch', 'x-decorator': 'FormItem', type: 'boolean', default: true, }, trigger: { - title: '触发方式', + title: $i18n.get({ id: 'basic.components.ActivateRelations.registerMeta.TriggerMode', dm: '触发方式' }), type: 'string', 'x-component': 'Select', 'x-decorator': 'FormItem', 'x-component-props': { options: [ { - label: '鼠标点击', + label: $i18n.get({ id: 'basic.components.ActivateRelations.registerMeta.MouseClick', dm: '鼠标点击' }), value: 'click', }, { - label: '鼠标移入', + label: $i18n.get({ id: 'basic.components.ActivateRelations.registerMeta.MoveTheMouseIn', dm: '鼠标移入' }), value: 'mouseenter', }, ], @@ -42,7 +43,7 @@ const registerMeta = context => { default: 'click', }, upstreamDegree: { - title: '上游度数', + title: $i18n.get({ id: 'basic.components.ActivateRelations.registerMeta.UpstreamDegree', dm: '上游度数' }), type: 'number', 'x-component': 'NumberPicker', 'x-decorator': 'FormItem', @@ -52,7 +53,7 @@ const registerMeta = context => { }, }, downstreamDegree: { - title: '下游度数', + title: $i18n.get({ id: 'basic.components.ActivateRelations.registerMeta.DownstreamDegrees', dm: '下游度数' }), type: 'number', 'x-component': 'NumberPicker', 'x-decorator': 'FormItem', @@ -62,7 +63,10 @@ const registerMeta = context => { }, }, multiSelectEnabled: { - title: '允许多选', + title: $i18n.get({ + id: 'basic.components.ActivateRelations.registerMeta.MultipleSelectionsAllowed', + dm: '允许多选', + }), type: 'string', 'x-component': 'Switch', 'x-decorator': 'FormItem', @@ -72,7 +76,10 @@ const registerMeta = context => { }, }, modifierKey: { - title: '多选组合键, 按下键盘输入组合键,支持Alt, Control, Shift, Meta', + title: $i18n.get({ + id: 'basic.components.ActivateRelations.registerMeta.MultipleKeyCombinationsPressThe', + dm: '多选组合键, 按下键盘输入组合键,支持Alt, Control, Shift, Meta', + }), type: 'string', 'x-component': 'ModifierPicker', 'x-decorator': 'FormItem', diff --git a/packages/gi-assets-basic/src/components/CanvasSetting/index.tsx b/packages/gi-assets-basic/src/components/CanvasSetting/index.tsx index 34b2c308a..136eb437c 100644 --- a/packages/gi-assets-basic/src/components/CanvasSetting/index.tsx +++ b/packages/gi-assets-basic/src/components/CanvasSetting/index.tsx @@ -2,21 +2,30 @@ import { AssetInfo } from '@antv/gi-sdk'; import Component from './Component'; import registerMeta from './registerMeta'; -/** index.md 中解析得到默认值,也可用户手动修改 */ +/** index.md 中解析得到默认值,也可用户手动修改 */ import $i18n from '../../i18n'; const info: AssetInfo = { id: 'CanvasSetting', - name: '画布设置', - desc: '设置画布的背景,缩放,移动等交互', + name: $i18n.get({ id: 'basic.components.CanvasSetting.CanvasSettings', dm: '画布设置' }), + desc: $i18n.get({ + id: 'basic.components.CanvasSetting.SetTheBackgroundOfThe', + dm: '设置画布的背景,缩放,移动等交互', + }), icon: 'icon-canvas-setting', cover: 'http://xxxx.jpg', category: 'canvas-interaction', type: 'AUTO', docs: 'https://www.yuque.com/antv/gi/aa34nmszaivikxi1', features: [ - '支持框选「画布」节点或者边', - '支持双击「画布」自动自适应居中', - '支持配置「画布」的背景色', - '支持配置「画布」的缩放,平移交互', + $i18n.get({ id: 'basic.components.CanvasSetting.SelectCanvasNodeOrEdge', dm: '支持框选「画布」节点或者边' }), + $i18n.get({ + id: 'basic.components.CanvasSetting.SupportsAutomaticAdaptiveCenteringBy', + dm: '支持双击「画布」自动自适应居中', + }), + $i18n.get({ id: 'basic.components.CanvasSetting.YouCanConfigureTheBackground', dm: '支持配置「画布」的背景色' }), + $i18n.get({ + id: 'basic.components.CanvasSetting.SupportsScalingAndTranslationInteraction', + dm: '支持配置「画布」的缩放,平移交互', + }), ], }; diff --git a/packages/gi-assets-basic/src/components/CanvasSetting/registerMeta.ts b/packages/gi-assets-basic/src/components/CanvasSetting/registerMeta.ts index a4f503953..f8d435f71 100644 --- a/packages/gi-assets-basic/src/components/CanvasSetting/registerMeta.ts +++ b/packages/gi-assets-basic/src/components/CanvasSetting/registerMeta.ts @@ -1,3 +1,4 @@ +import $i18n from '../../i18n'; const registerMeta = context => { const { services } = context; @@ -5,18 +6,18 @@ const registerMeta = context => { /** 分类信息 */ styleCanvas: { - title: '画布样式', + title: $i18n.get({ id: 'basic.components.CanvasSetting.registerMeta.CanvasStyle', dm: '画布样式' }), type: 'object', properties: { backgroundColor: { - title: '背景颜色', + title: $i18n.get({ id: 'basic.components.CanvasSetting.registerMeta.BackgroundColor', dm: '背景颜色' }), 'x-component': 'ColorInput', 'x-decorator': 'FormItem', type: 'string', default: '#fff', }, backgroundImage: { - title: '背景图片', + title: $i18n.get({ id: 'basic.components.CanvasSetting.registerMeta.BackgroundImage', dm: '背景图片' }), type: 'string', 'x-component': 'Input', 'x-decorator': 'FormItem', @@ -25,33 +26,33 @@ const registerMeta = context => { }, }, dragCanvas: { - title: '拖拽画布', + title: $i18n.get({ id: 'basic.components.CanvasSetting.registerMeta.DragCanvas', dm: '拖拽画布' }), type: 'object', properties: { disabled: { - title: '拖拽禁用', + title: $i18n.get({ id: 'basic.components.CanvasSetting.registerMeta.DragDisabled', dm: '拖拽禁用' }), 'x-component': 'Switch', 'x-decorator': 'FormItem', type: 'boolean', default: false, }, direction: { - title: '拖拽方向', + title: $i18n.get({ id: 'basic.components.CanvasSetting.registerMeta.DragDirection', dm: '拖拽方向' }), type: 'select', 'x-component': 'Select', 'x-decorator': 'FormItem', 'x-component-props': { options: [ { - label: '自由', + label: $i18n.get({ id: 'basic.components.CanvasSetting.registerMeta.Freedom', dm: '自由' }), value: 'both', }, { - label: 'X方向', + label: $i18n.get({ id: 'basic.components.CanvasSetting.registerMeta.XDirection', dm: 'X方向' }), value: 'x', }, { - label: 'Y方向', + label: $i18n.get({ id: 'basic.components.CanvasSetting.registerMeta.YDirection', dm: 'Y方向' }), value: 'y', }, ], @@ -59,7 +60,7 @@ const registerMeta = context => { default: 'both', }, enableOptimize: { - title: '拖拽优化', + title: $i18n.get({ id: 'basic.components.CanvasSetting.registerMeta.DragOptimization', dm: '拖拽优化' }), 'x-component': 'Switch', 'x-decorator': 'FormItem', type: 'boolean', @@ -68,18 +69,18 @@ const registerMeta = context => { }, }, zoomCanvas: { - title: '缩放画布', + title: $i18n.get({ id: 'basic.components.CanvasSetting.registerMeta.ZoomCanvas', dm: '缩放画布' }), type: 'object', properties: { disabled: { - title: '缩放禁用', + title: $i18n.get({ id: 'basic.components.CanvasSetting.registerMeta.ZoomDisabled', dm: '缩放禁用' }), 'x-component': 'Switch', 'x-decorator': 'FormItem', type: 'boolean', default: false, }, enableOptimize: { - title: '缩放优化', + title: $i18n.get({ id: 'basic.components.CanvasSetting.registerMeta.ZoomOptimization', dm: '缩放优化' }), type: 'boolean', 'x-component': 'Switch', 'x-decorator': 'FormItem', @@ -88,14 +89,20 @@ const registerMeta = context => { }, }, clearStatus: { - title: '点击画布,清空状态', + title: $i18n.get({ + id: 'basic.components.CanvasSetting.registerMeta.ClickTheCanvasToClear', + dm: '点击画布,清空状态', + }), 'x-component': 'Switch', 'x-decorator': 'FormItem', type: 'boolean', default: true, }, doubleClick: { - title: '双击画布,自适应', + title: $i18n.get({ + id: 'basic.components.CanvasSetting.registerMeta.DoubleClickTheCanvasTo', + dm: '双击画布,自适应', + }), 'x-component': 'Switch', 'x-decorator': 'FormItem', type: 'boolean', diff --git a/packages/gi-assets-basic/src/components/ChartAnalysis/Charts/index.tsx b/packages/gi-assets-basic/src/components/ChartAnalysis/Charts/index.tsx index e3cee1cd4..64304b349 100644 --- a/packages/gi-assets-basic/src/components/ChartAnalysis/Charts/index.tsx +++ b/packages/gi-assets-basic/src/components/ChartAnalysis/Charts/index.tsx @@ -7,6 +7,7 @@ import ColumnChart from './ColumnChart'; import LineChart from './LineChart'; const { highlightEdgeIds } = utils; import '../index.less'; +import $i18n from '../../../i18n'; const iconMap = { boolean: , @@ -18,12 +19,12 @@ let timer; const chartOptions = [ { value: 'lineChart', - title: '折线图', + title: $i18n.get({ id: 'basic.ChartAnalysis.Charts.LineChart', dm: '折线图' }), label: , }, { value: 'columnChart', - title: '柱状图', + title: $i18n.get({ id: 'basic.ChartAnalysis.Charts.Histogram', dm: '柱状图' }), label: , }, ]; @@ -157,13 +158,14 @@ const ChartCard: React.FC = props => { const extra = (
{/* */}
- X轴: + {$i18n.get({ id: 'basic.ChartAnalysis.Charts.XAxis', dm: 'X轴:' })} +
- Y轴: - {Object.keys(properties).map(k => ( {iconMap[properties[k]]} @@ -213,6 +222,7 @@ const ChartCard: React.FC = props => { {chartType === 'lineChart' && ( )} + {chartType === 'columnChart' && ( )} diff --git a/packages/gi-assets-basic/src/components/ChartAnalysis/info.ts b/packages/gi-assets-basic/src/components/ChartAnalysis/info.ts index 7fc8fb489..a623e4b8c 100644 --- a/packages/gi-assets-basic/src/components/ChartAnalysis/info.ts +++ b/packages/gi-assets-basic/src/components/ChartAnalysis/info.ts @@ -1,7 +1,8 @@ +import $i18n from '../../i18n'; const info = { id: 'ChartAnalysis', - name: '图表分析', - desc: '图中数据通过统计图表展示分析', + name: $i18n.get({ id: 'basic.components.ChartAnalysis.info.ChartAnalysis', dm: '图表分析' }), + desc: $i18n.get({ id: 'basic.components.ChartAnalysis.info.TheDataInTheGraph', dm: '图中数据通过统计图表展示分析' }), icon: 'icon-barchart', cover: 'http://xxxx.jpg', category: 'data-analysis', diff --git a/packages/gi-assets-basic/src/components/ChartAnalysis/registerMeta.ts b/packages/gi-assets-basic/src/components/ChartAnalysis/registerMeta.ts index 8247f031e..c8240daf8 100644 --- a/packages/gi-assets-basic/src/components/ChartAnalysis/registerMeta.ts +++ b/packages/gi-assets-basic/src/components/ChartAnalysis/registerMeta.ts @@ -1,5 +1,6 @@ import { extra } from '@antv/gi-sdk'; import info from './info'; +import $i18n from '../../i18n'; const { deepClone, GIAC_CONTENT_METAS } = extra; const metas = deepClone(GIAC_CONTENT_METAS); @@ -34,36 +35,50 @@ const registerMeta = ({ schemaData }) => { }); return { title: { - title: '图表标题', + title: $i18n.get({ id: 'basic.components.ChartAnalysis.registerMeta.ChartTitle', dm: '图表标题' }), 'x-decorator': 'FormItem', 'x-component': 'Input', type: 'string', - default: '未命名图表', + default: $i18n.get({ id: 'basic.components.ChartAnalysis.registerMeta.UnnamedChart', dm: '未命名图表' }), }, chartType: { - title: '图表类型', + title: $i18n.get({ id: 'basic.components.ChartAnalysis.registerMeta.ChartType', dm: '图表类型' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', enum: [ - { value: 'columnChart', label: '柱状图' }, - { value: 'lineChart', label: '折线图' }, + { + value: 'columnChart', + label: $i18n.get({ id: 'basic.components.ChartAnalysis.registerMeta.Histogram', dm: '柱状图' }), + }, + { + value: 'lineChart', + label: $i18n.get({ id: 'basic.components.ChartAnalysis.registerMeta.LineChart', dm: '折线图' }), + }, ], + default: 'columnChart', }, brushMode: { - title: '交互模式', + title: $i18n.get({ id: 'basic.components.ChartAnalysis.registerMeta.InteractionMode', dm: '交互模式' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', enum: [ - { value: 'highlight', label: '高亮' }, - { value: 'filter', label: '过滤' }, + { + value: 'highlight', + label: $i18n.get({ id: 'basic.components.ChartAnalysis.registerMeta.Highlight', dm: '高亮' }), + }, + { + value: 'filter', + label: $i18n.get({ id: 'basic.components.ChartAnalysis.registerMeta.Filtering', dm: '过滤' }), + }, ], + default: 'highlight', }, height: { - title: '图表高度', + title: $i18n.get({ id: 'basic.components.ChartAnalysis.registerMeta.ChartHeight', dm: '图表高度' }), 'x-decorator': 'FormItem', 'x-component': 'NumberPicker', type: 'number', @@ -71,14 +86,21 @@ const registerMeta = ({ schemaData }) => { }, dataType: { - title: '数据类型', + title: $i18n.get({ id: 'basic.components.ChartAnalysis.registerMeta.DataType', dm: '数据类型' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', enum: [ - { value: 'nodes', label: '节点数据' }, - { value: 'edges', label: '边数据' }, + { + value: 'nodes', + label: $i18n.get({ id: 'basic.components.ChartAnalysis.registerMeta.NodeData', dm: '节点数据' }), + }, + { + value: 'edges', + label: $i18n.get({ id: 'basic.components.ChartAnalysis.registerMeta.EdgeData', dm: '边数据' }), + }, ], + default: 'edges', 'x-reactions': [ { @@ -116,25 +138,25 @@ const registerMeta = ({ schemaData }) => { ], }, xField_nodes: { - title: 'X轴字段', + title: $i18n.get({ id: 'basic.components.ChartAnalysis.registerMeta.XAxisField', dm: 'X轴字段' }), 'x-decorator': 'FormItem', 'x-component': 'Select', enum: [...nodeOptions], }, yField_nodes: { - title: 'Y轴字段', + title: $i18n.get({ id: 'basic.components.ChartAnalysis.registerMeta.YAxisField', dm: 'Y轴字段' }), 'x-decorator': 'FormItem', 'x-component': 'Select', enum: [...nodeOptions], }, xField_edges: { - title: 'X轴字段', + title: $i18n.get({ id: 'basic.components.ChartAnalysis.registerMeta.XAxisField', dm: 'X轴字段' }), 'x-decorator': 'FormItem', 'x-component': 'Select', enum: [...edgeOptions], }, yField_edges: { - title: 'Y轴字段', + title: $i18n.get({ id: 'basic.components.ChartAnalysis.registerMeta.YAxisField', dm: 'Y轴字段' }), 'x-decorator': 'FormItem', 'x-component': 'Select', enum: [...edgeOptions], diff --git a/packages/gi-assets-basic/src/components/ClearCanvas/info.ts b/packages/gi-assets-basic/src/components/ClearCanvas/info.ts index 4f30c2d07..a601eba31 100644 --- a/packages/gi-assets-basic/src/components/ClearCanvas/info.ts +++ b/packages/gi-assets-basic/src/components/ClearCanvas/info.ts @@ -1,7 +1,8 @@ +import $i18n from '../../i18n'; const info = { id: 'ClearCanvas', - name: '清空画布', - desc: '清空画布上的所有内容', + name: $i18n.get({ id: 'basic.components.ClearCanvas.info.ClearCanvas', dm: '清空画布' }), + desc: $i18n.get({ id: 'basic.components.ClearCanvas.info.ClearEverythingOnTheCanvas', dm: '清空画布上的所有内容' }), cover: 'http://xxxx.jpg', category: 'canvas-interaction', type: 'GIAC', diff --git a/packages/gi-assets-basic/src/components/CommonNeighbor/Component.tsx b/packages/gi-assets-basic/src/components/CommonNeighbor/Component.tsx index 7d97f409f..a0dd8633c 100644 --- a/packages/gi-assets-basic/src/components/CommonNeighbor/Component.tsx +++ b/packages/gi-assets-basic/src/components/CommonNeighbor/Component.tsx @@ -5,6 +5,7 @@ import { Menu, message } from 'antd'; import { useCallback } from 'react'; import { IEdge, INode } from '@antv/g6'; import { ContextMenuValue } from '@antv/graphin'; +import $i18n from '../../i18n'; export interface IProps { contextmenu: ContextMenuValue; @@ -107,11 +108,13 @@ const CommonNeighbor: React.FunctionComponent = props => { }); const { nodes, edges } = findCommonNeighbors(beginNodes, hop); if (nodes.size < 1) { - message.warn('没有发现共同邻居!'); + message.warn( + $i18n.get({ id: 'basic.components.CommonNeighbor.Component.NoCommonNeighborsFound', dm: '没有发现共同邻居!' }), + ); handleUpateHistory( beginNodes.map(node => node.getID()), false, - '没有发现共同邻居!', + $i18n.get({ id: 'basic.components.CommonNeighbor.Component.NoCommonNeighborsFound', dm: '没有发现共同邻居!' }), ); return; } @@ -134,8 +137,8 @@ const CommonNeighbor: React.FunctionComponent = props => { updateHistory({ componentId: 'CommonNeighbor', type: 'configure', - subType: '共同邻居', - statement: `${ids.join(', ')} 的共同邻居`, + subType: $i18n.get({ id: 'basic.components.CommonNeighbor.Component.CommonNeighbor', dm: '共同邻居' }), + statement: `${ids.join(', ')} ${$i18n.get({ id: 'basic.components.CommonNeighbor.Component.CommonNeighbor', dm: '共同邻居' })}`, success, errorMsg, params: { startIds: ids }, @@ -151,7 +154,14 @@ const CommonNeighbor: React.FunctionComponent = props => { const { startIds } = controlledValues; const nodes = startIds.map(id => graph.findById(id)); if (!nodes.length) { - handleUpateHistory(startIds, false, '当前画布未找到相关节点'); + handleUpateHistory( + startIds, + false, + $i18n.get({ + id: 'basic.components.CommonNeighbor.Component.NoRelatedNodeFoundOn', + dm: '当前画布未找到相关节点', + }), + ); return; } findNeighbors(nodes); @@ -165,7 +175,15 @@ const CommonNeighbor: React.FunctionComponent = props => { eventKey="common-neighbor" onClick={handleClick} > - {hop > 1 ? `共同邻居(${hop}跳)` : '共同邻居'} + {hop > 1 + ? $i18n.get( + { + id: 'basic.components.CommonNeighbor.Component.CommonNeighborHopJump', + dm: '共同邻居({hop}跳)', + }, + { hop: hop }, + ) + : $i18n.get({ id: 'basic.components.CommonNeighbor.Component.CommonNeighbor', dm: '共同邻居' })} ); }; diff --git a/packages/gi-assets-basic/src/components/CommonNeighbor/info.ts b/packages/gi-assets-basic/src/components/CommonNeighbor/info.ts index 8c80b30eb..f05ccab75 100644 --- a/packages/gi-assets-basic/src/components/CommonNeighbor/info.ts +++ b/packages/gi-assets-basic/src/components/CommonNeighbor/info.ts @@ -1,7 +1,11 @@ +import $i18n from '../../i18n'; const info = { id: 'CommonNeighbor', - name: '共同邻居', - desc: '高亮展示选中节点的共同邻居', + name: $i18n.get({ id: 'basic.components.CommonNeighbor.info.CommonNeighbor', dm: '共同邻居' }), + desc: $i18n.get({ + id: 'basic.components.CommonNeighbor.info.HighlightTheCommonNeighborsOf', + dm: '高亮展示选中节点的共同邻居', + }), icon: 'icon-addteam', cover: 'http://xxxx.jpg', category: 'elements-interaction', diff --git a/packages/gi-assets-basic/src/components/CommonNeighbor/registerMeta.ts b/packages/gi-assets-basic/src/components/CommonNeighbor/registerMeta.ts index 225ff0e67..335ce6ada 100644 --- a/packages/gi-assets-basic/src/components/CommonNeighbor/registerMeta.ts +++ b/packages/gi-assets-basic/src/components/CommonNeighbor/registerMeta.ts @@ -1,7 +1,8 @@ +import $i18n from '../../i18n'; export default () => { return { hop: { - title: '跳数', + title: $i18n.get({ id: 'basic.components.CommonNeighbor.registerMeta.NumberOfHops', dm: '跳数' }), type: 'number', 'x-decorator': 'FormItem', 'x-component': 'NumberPicker', diff --git a/packages/gi-assets-basic/src/components/ContentContainer/info.ts b/packages/gi-assets-basic/src/components/ContentContainer/info.ts index 9ebb8b6da..fb7f7872c 100644 --- a/packages/gi-assets-basic/src/components/ContentContainer/info.ts +++ b/packages/gi-assets-basic/src/components/ContentContainer/info.ts @@ -1,8 +1,8 @@ -/** index.md 中解析得到默认值,也可用户手动修改 */ +import $i18n from '../../i18n'; /** index.md 中解析得到默认值,也可用户手动修改 */ const info = { id: 'ContentContainer', - name: '内容容器', - desc: '组合内容容器', + name: $i18n.get({ id: 'basic.components.ContentContainer.info.ContentContainer', dm: '内容容器' }), + desc: $i18n.get({ id: 'basic.components.ContentContainer.info.CombinedContentContainer', dm: '组合内容容器' }), icon: 'icon-sidebar', cover: 'http://xxxx.jpg', category: 'container-components', diff --git a/packages/gi-assets-basic/src/components/ContentContainer/registerMeta.ts b/packages/gi-assets-basic/src/components/ContentContainer/registerMeta.ts index b4f65e28a..7779c9e1a 100755 --- a/packages/gi-assets-basic/src/components/ContentContainer/registerMeta.ts +++ b/packages/gi-assets-basic/src/components/ContentContainer/registerMeta.ts @@ -1,5 +1,6 @@ import { extra } from '@antv/gi-sdk'; import info from './info'; +import $i18n from '../../i18n'; const { deepClone, GIAC_CONTENT_METAS } = extra; const metas = deepClone(GIAC_CONTENT_METAS); metas.GIAC_CONTENT.properties.GIAC_CONTENT.properties.title.default = info.name; @@ -9,7 +10,7 @@ metas.GIAC_CONTENT.properties.GIAC_CONTENT.properties.containerWidth.default = ' const registerMeta = ({ GIAC_CONTENT_ITEMS }) => { return { componentKeys: { - title: '集成组件', + title: $i18n.get({ id: 'basic.components.ContentContainer.registerMeta.IntegratedComponents', dm: '集成组件' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', diff --git a/packages/gi-assets-basic/src/components/ContextMenu/info.ts b/packages/gi-assets-basic/src/components/ContextMenu/info.ts index e0ed013f0..8a9bfd92a 100644 --- a/packages/gi-assets-basic/src/components/ContextMenu/info.ts +++ b/packages/gi-assets-basic/src/components/ContextMenu/info.ts @@ -1,7 +1,11 @@ +import $i18n from '../../i18n'; const info = { id: 'ContextMenu', - name: '右键菜单', - desc: '鼠标右键即可出现菜单容器', + name: $i18n.get({ id: 'basic.components.ContextMenu.info.RightClickMenu', dm: '右键菜单' }), + desc: $i18n.get({ + id: 'basic.components.ContextMenu.info.RightClickTheMenuContainer', + dm: '鼠标右键即可出现菜单容器', + }), cover: 'http://xxxx.jpg', category: 'container-components', type: 'GICC_MENU', diff --git a/packages/gi-assets-basic/src/components/ContextMenu/registerMeta.ts b/packages/gi-assets-basic/src/components/ContextMenu/registerMeta.ts index c69794ae5..f75dcb63a 100644 --- a/packages/gi-assets-basic/src/components/ContextMenu/registerMeta.ts +++ b/packages/gi-assets-basic/src/components/ContextMenu/registerMeta.ts @@ -1,3 +1,4 @@ +import $i18n from '../../i18n'; const registerMeta = context => { const { GIAC_MENU_ITEMS = [] } = context; GIAC_MENU_ITEMS.map(item => { @@ -6,7 +7,7 @@ const registerMeta = context => { return { /** 分类信息 */ GI_CONTAINER: { - title: '可集成组件', + title: $i18n.get({ id: 'basic.components.ContextMenu.registerMeta.IntegratedComponents', dm: '可集成组件' }), type: 'string', enum: GIAC_MENU_ITEMS, 'x-decorator': 'FormItem', diff --git a/packages/gi-assets-basic/src/components/Copyright/Component.tsx b/packages/gi-assets-basic/src/components/Copyright/Component.tsx index 6a0ea97d8..42122c547 100644 --- a/packages/gi-assets-basic/src/components/Copyright/Component.tsx +++ b/packages/gi-assets-basic/src/components/Copyright/Component.tsx @@ -1,6 +1,7 @@ import { utils } from '@antv/gi-sdk'; import React from 'react'; import './index.less'; +import $i18n from '../../i18n'; const { getPositionStyles } = utils; export interface CopyrightProps { @@ -19,7 +20,7 @@ const Copyright: React.FunctionComponent = props => {
版权图片 { const schema = { imageUrl: { - title: '版权图片', + title: $i18n.get({ id: 'basic.components.Copyright.registerMeta.CopyrightImage', dm: '版权图片' }), type: 'string', 'x-component': 'Input', 'x-decorator': 'FormItem', default: '', }, width: { - title: '宽度', + title: $i18n.get({ id: 'basic.components.Copyright.registerMeta.Width', dm: '宽度' }), type: 'number', 'x-decorator': 'FormItem', 'x-component': 'NumberPicker', default: 100, }, height: { - title: '高度', + title: $i18n.get({ id: 'basic.components.Copyright.registerMeta.Height', dm: '高度' }), type: 'number', 'x-decorator': 'FormItem', 'x-component': 'NumberPicker', default: 100, }, placement: { - title: '组件位置', + title: $i18n.get({ id: 'basic.components.Copyright.registerMeta.ComponentLocation', dm: '组件位置' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', @@ -31,7 +32,7 @@ const registerMeta = () => { default: 'RB', }, offset: { - title: '偏移量', + title: $i18n.get({ id: 'basic.components.Copyright.registerMeta.Offset', dm: '偏移量' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Offset', diff --git a/packages/gi-assets-basic/src/components/CreateCombo/info.ts b/packages/gi-assets-basic/src/components/CreateCombo/info.ts index 9de925dee..8a1a8f124 100644 --- a/packages/gi-assets-basic/src/components/CreateCombo/info.ts +++ b/packages/gi-assets-basic/src/components/CreateCombo/info.ts @@ -1,7 +1,11 @@ +import $i18n from '../../i18n'; const info = { id: 'CreateCombo', - name: '创建Combo', - desc: '通过创建Combo元素,作为画布上的融合元素使用', + name: $i18n.get({ id: 'basic.components.CreateCombo.info.CreateCombo', dm: '创建Combo' }), + desc: $i18n.get({ + id: 'basic.components.CreateCombo.info.ByCreatingAComboElement', + dm: '通过创建Combo元素,作为画布上的融合元素使用', + }), icon: 'icon-lasso', cover: 'http://xxxx.jpg', category: 'canvas-interaction', diff --git a/packages/gi-assets-basic/src/components/CreateCombo/registerMeta.ts b/packages/gi-assets-basic/src/components/CreateCombo/registerMeta.ts index 1b011b65b..432ed7ea4 100644 --- a/packages/gi-assets-basic/src/components/CreateCombo/registerMeta.ts +++ b/packages/gi-assets-basic/src/components/CreateCombo/registerMeta.ts @@ -1,11 +1,15 @@ import { extra } from '@antv/gi-sdk'; import info from './info'; +import $i18n from '../../i18n'; const { deepClone, GIAC_METAS } = extra; const metas = deepClone(GIAC_METAS); metas.GIAC.properties.GIAC.properties.title.default = info.name; metas.GIAC.properties.GIAC.properties.icon.default = info.icon; -metas.GIAC.properties.GIAC.properties.tooltip.default = '创建Combo'; +metas.GIAC.properties.GIAC.properties.tooltip.default = $i18n.get({ + id: 'basic.components.CreateCombo.registerMeta.CreateCombo', + dm: '创建Combo', +}); metas.GIAC.properties.GIAC.properties.isShowTitle.default = false; export default () => { return metas; diff --git a/packages/gi-assets-basic/src/components/DownLoad/info.ts b/packages/gi-assets-basic/src/components/DownLoad/info.ts index 164154e67..c2736b9ef 100644 --- a/packages/gi-assets-basic/src/components/DownLoad/info.ts +++ b/packages/gi-assets-basic/src/components/DownLoad/info.ts @@ -1,7 +1,8 @@ +import $i18n from '../../i18n'; const info = { id: 'DownLoad', - name: '下载', - desc: '点击下载画布图片', + name: $i18n.get({ id: 'basic.components.DownLoad.info.Download', dm: '下载' }), + desc: $i18n.get({ id: 'basic.components.DownLoad.info.ClickToDownloadTheCanvas', dm: '点击下载画布图片' }), icon: 'icon-download', cover: 'http://xxxx.jpg', category: 'canvas-interaction', diff --git a/packages/gi-assets-basic/src/components/Export/info.ts b/packages/gi-assets-basic/src/components/Export/info.ts index fe539e0a1..9d1ef1b85 100644 --- a/packages/gi-assets-basic/src/components/Export/info.ts +++ b/packages/gi-assets-basic/src/components/Export/info.ts @@ -1,7 +1,8 @@ +import $i18n from '../../i18n'; const info = { id: 'Export', - name: '导出', - desc: '导出CSV,PNG,JSON数据', + name: $i18n.get({ id: 'basic.components.Export.info.Export', dm: '导出' }), + desc: $i18n.get({ id: 'basic.components.Export.info.ExportCsvPngJsonData', dm: '导出CSV,PNG,JSON数据' }), icon: 'icon-export', cover: 'http://xxxx.jpg', category: 'workbook', diff --git a/packages/gi-assets-basic/src/components/FilterPanel/Charts/HistogramOptions.tsx b/packages/gi-assets-basic/src/components/FilterPanel/Charts/HistogramOptions.tsx index 2d1230f94..1e152871e 100644 --- a/packages/gi-assets-basic/src/components/FilterPanel/Charts/HistogramOptions.tsx +++ b/packages/gi-assets-basic/src/components/FilterPanel/Charts/HistogramOptions.tsx @@ -2,6 +2,7 @@ import { SlidersOutlined } from '@ant-design/icons'; import { Button, Form, InputNumber, Popover } from 'antd'; import * as React from 'react'; import { IFilterCriteria } from '../type'; +import $i18n from '../../../i18n'; interface HistogramOptionsProps { filterCriteria: IFilterCriteria; updateFilterCriteria: (id: string, filterCriteria: IFilterCriteria) => void; @@ -37,20 +38,32 @@ const Content = (props: HistogramOptionsProps & { onClose: () => void }) => { autoComplete="off" style={{ width: '250px' }} > - + - + - + @@ -73,7 +86,7 @@ const HistogramOptions: React.FunctionComponent = props = open={open} onOpenChange={handleOpenChange} placement="topLeft" - title={'设置分箱规则'} + title={$i18n.get({ id: 'basic.FilterPanel.Charts.HistogramOptions.SetTheRuleOfGrouping', dm: '设置分箱规则' })} content={} trigger="click" > diff --git a/packages/gi-assets-basic/src/components/FilterPanel/Charts/LineChart.tsx b/packages/gi-assets-basic/src/components/FilterPanel/Charts/LineChart.tsx index f4be4b980..80552f7f2 100644 --- a/packages/gi-assets-basic/src/components/FilterPanel/Charts/LineChart.tsx +++ b/packages/gi-assets-basic/src/components/FilterPanel/Charts/LineChart.tsx @@ -2,6 +2,7 @@ import { Column } from '@antv/g2plot'; import { Select } from 'antd'; import * as React from 'react'; import { iconMap } from '../FilterSelection'; +import $i18n from '../../../i18n'; interface LineChartProps { source: any; filterCriteria: any; @@ -63,7 +64,13 @@ const LineChart: React.FunctionComponent = props => { style={{ width: '80%' }} onChange={onSelectChange} className="gi-filter-panel-prop-select" - placeholder={`选择${elementType}属性`} + placeholder={$i18n.get( + { + id: 'basic.FilterPanel.Charts.LineChart.SelectElementtypeAttribute', + dm: '选择{elementType}属性', + }, + { elementType: elementType }, + )} > {Object.entries(elementProps).map(e => { const [key, value] = e; diff --git a/packages/gi-assets-basic/src/components/FilterPanel/Component.tsx b/packages/gi-assets-basic/src/components/FilterPanel/Component.tsx index 8be7ac324..1fbc2c799 100644 --- a/packages/gi-assets-basic/src/components/FilterPanel/Component.tsx +++ b/packages/gi-assets-basic/src/components/FilterPanel/Component.tsx @@ -8,6 +8,7 @@ import RecommendFilter from './RecommendFilter'; import './index.less'; import { HistogramOpt, IFilterCriteria } from './type'; import { filterGraphData, getChartData, highlightSubGraph } from './utils'; +import $i18n from '../../i18n'; const { isStyles } = utils; @@ -285,8 +286,8 @@ const FilterPanel: React.FunctionComponent = props => { updateHistory({ componentId: 'FilterPanel', type: 'analyse', - subType: '筛选', - statement: '筛选', + subType: $i18n.get({ id: 'basic.components.FilterPanel.Component.Filter', dm: '筛选' }), + statement: $i18n.get({ id: 'basic.components.FilterPanel.Component.Filter', dm: '筛选' }), success, errorMsg, params: { @@ -339,16 +340,17 @@ const FilterPanel: React.FunctionComponent = props => { onClick={() => addFilter()} icon={} > - {formatMessage({ id: 'FilterPanel.addfilter' })} + {$i18n.get({ id: 'basic.components.FilterPanel.Component.AddFilter', dm: '增加筛选器' })} {enableInfoDetect ? ( ) : ( '' )} +
{Object.values(filterOptions).map(filterCriteria => { const { isRecommend } = filterCriteria; diff --git a/packages/gi-assets-basic/src/components/FilterPanel/FilterSelection.tsx b/packages/gi-assets-basic/src/components/FilterPanel/FilterSelection.tsx index 94ec8b54d..f264b46ec 100644 --- a/packages/gi-assets-basic/src/components/FilterPanel/FilterSelection.tsx +++ b/packages/gi-assets-basic/src/components/FilterPanel/FilterSelection.tsx @@ -17,6 +17,7 @@ import LineChart from './Charts/LineChart'; import './index.less'; import { IFilterCriteria } from './type'; import { getChartData, getHistogramData } from './utils'; +import $i18n from '../../i18n'; export const iconMap = { boolean: , @@ -261,7 +262,10 @@ const FilterSelection: React.FC = props => { style={{ width: '80%' }} onChange={onSelectChange} className="gi-filter-panel-prop-select" - placeholder={formatMessage({ id: 'FilterPanel.selectElementAttr' })} + placeholder={$i18n.get({ + id: 'basic.components.FilterPanel.FilterSelection.SelectElementAttributes', + dm: '选择元素属性', + })} showSearch filterOption={(input, option) => { return (option?.value as string)?.toLowerCase().includes(input.toLowerCase()); @@ -272,10 +276,16 @@ const FilterSelection: React.FC = props => { : undefined } > - + {getPropertyOptions('node')} - + {getPropertyOptions('edge')} @@ -284,6 +294,7 @@ const FilterSelection: React.FC = props => { )} +
); diff --git a/packages/gi-assets-basic/src/components/FilterPanel/RecommendFilter.tsx b/packages/gi-assets-basic/src/components/FilterPanel/RecommendFilter.tsx index 704e38b76..6c828350c 100644 --- a/packages/gi-assets-basic/src/components/FilterPanel/RecommendFilter.tsx +++ b/packages/gi-assets-basic/src/components/FilterPanel/RecommendFilter.tsx @@ -5,6 +5,7 @@ import { ColumnChart } from './Charts'; import { IFilterCriteria } from './type'; import './index.less'; +import $i18n from '../../i18n'; interface RecommendFilterProps { filterCriteria: IFilterCriteria; @@ -21,7 +22,12 @@ const RecommendFilter: React.FC = props => {

- {filterCriteria.elementType === 'node' ? '节点' : '边'}属性: + + {filterCriteria.elementType === 'node' + ? $i18n.get({ id: 'basic.components.FilterPanel.RecommendFilter.Node', dm: '节点' }) + : $i18n.get({ id: 'basic.components.FilterPanel.RecommendFilter.Edge', dm: '边' })} + {$i18n.get({ id: 'basic.components.FilterPanel.RecommendFilter.Properties', dm: '属性:' })} + {filterCriteria.prop}

{hasOutlier - ? '该属性大多值具有相同的出现次数,但有些值有出现次数大于平均出现次数(红色),值得关注' - : '该属性的某些值出现概率极低(红色),很可能含有更大信息量,值得关注'} + ? $i18n.get({ + id: 'basic.components.FilterPanel.RecommendFilter.ManyValuesOfThisAttribute', + dm: '该属性大多值具有相同的出现次数,但有些值有出现次数大于平均出现次数(红色),值得关注', + }) + : $i18n.get({ + id: 'basic.components.FilterPanel.RecommendFilter.SomeValuesOfThisAttribute', + dm: '该属性的某些值出现概率极低(红色),很可能含有更大信息量,值得关注', + })}
diff --git a/packages/gi-assets-basic/src/components/FilterPanel/index.tsx b/packages/gi-assets-basic/src/components/FilterPanel/index.tsx index a4e31f2ed..390cc7dca 100644 --- a/packages/gi-assets-basic/src/components/FilterPanel/index.tsx +++ b/packages/gi-assets-basic/src/components/FilterPanel/index.tsx @@ -1,11 +1,9 @@ import Component from './Component'; import info from './info'; import registerMeta from './registerMeta'; -import locales from './locales'; export default { info, component: Component, registerMeta, - locales }; diff --git a/packages/gi-assets-basic/src/components/FilterPanel/info.ts b/packages/gi-assets-basic/src/components/FilterPanel/info.ts index e9bce5c22..000ae09e4 100644 --- a/packages/gi-assets-basic/src/components/FilterPanel/info.ts +++ b/packages/gi-assets-basic/src/components/FilterPanel/info.ts @@ -1,10 +1,12 @@ -import { formatMessage } from '@antv/gi-sdk'; -import locales from './locales' +import $i18n from '../../i18n'; const info = { id: 'FilterPanel', - name: formatMessage({ id: 'FilterPanel.info.name' }, locales), - desc: '通过属性筛选画布信息,可自定义', + name: $i18n.get({ id: 'basic.components.FilterPanel.info.FilterPanel', dm: '筛选面板' }), + desc: $i18n.get({ + id: 'basic.components.FilterPanel.info.FilterCanvasInformationThroughAttributes', + dm: '通过属性筛选画布信息,可自定义', + }), icon: 'icon-filter', cover: 'http://xxxx.jpg', category: 'data-analysis', diff --git a/packages/gi-assets-basic/src/components/FilterPanel/locales/index.ts b/packages/gi-assets-basic/src/components/FilterPanel/locales/index.ts deleted file mode 100644 index 1e9192ed8..000000000 --- a/packages/gi-assets-basic/src/components/FilterPanel/locales/index.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { LANGUAGE_KEY_NAME } from '@antv/gi-sdk'; - -const enUS = { - 'FilterPanel.addfilter': 'Add filter', - 'FilterPanel.selectElementAttr': 'Select element attributes', - 'FilterPanel.selectFilterValue': 'Select filter value', - 'FilterPanel.selectValidField': 'Please select a valid field', - 'FilterPanel.node': 'node', - 'FilterPanel.edge': 'edge', - 'FilterPanel.recommend': 'Recommend', - 'FilterPanel.info.name': 'Filter Panel', - 'FilterPanel.meta.filterKeys': 'Default filter keys', -}; - -const zhCN = { - 'FilterPanel.addfilter': '增加筛选器', - 'FilterPanel.selectElementAttr': '选择元素属性', - 'FilterPanel.selectFilterValue': '选择筛选值', - 'FilterPanel.selectValidField': '请选择合法字段', - 'FilterPanel.node': '节点', - 'FilterPanel.edge': '边', - 'FilterPanel.recommend': '智能推荐', - 'FilterPanel.info.name': '筛选面板', - 'FilterPanel.meta.filterKeys': '默认筛选字段', -}; - -export default { - [LANGUAGE_KEY_NAME.EnUs]: enUS, - [LANGUAGE_KEY_NAME.ZhCN]: zhCN, -} as Record; diff --git a/packages/gi-assets-basic/src/components/FilterPanel/registerMeta.ts b/packages/gi-assets-basic/src/components/FilterPanel/registerMeta.ts index 4c75e4bc6..f5192aaa7 100644 --- a/packages/gi-assets-basic/src/components/FilterPanel/registerMeta.ts +++ b/packages/gi-assets-basic/src/components/FilterPanel/registerMeta.ts @@ -1,6 +1,6 @@ import { extra, formatMessage } from '@antv/gi-sdk'; import info from './info'; -import locales from './locales'; +import $i18n from '../../i18n'; const { deepClone, GIAC_CONTENT_METAS } = extra; const metas = deepClone(GIAC_CONTENT_METAS); // @ts-ignore @@ -36,7 +36,7 @@ const registerMeta = ({ schemaData, hasPropertyGraph }) => { const schema = { filterKeys: { - title: formatMessage({ id: 'FilterPanel.meta.filterKeys' }, locales), + title: $i18n.get({ id: 'basic.components.FilterPanel.registerMeta.DefaultFilterField', dm: '默认筛选字段' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', @@ -48,7 +48,7 @@ const registerMeta = ({ schemaData, hasPropertyGraph }) => { }, enableInfoDetect: hasPropertyGraph ? { - title: '智能推荐', + title: $i18n.get({ id: 'basic.components.FilterPanel.registerMeta.SmartRecommendation', dm: '智能推荐' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Switch', @@ -56,21 +56,21 @@ const registerMeta = ({ schemaData, hasPropertyGraph }) => { } : undefined, isFilterIsolatedNodes: { - title: '过滤孤立节点', + title: $i18n.get({ id: 'basic.components.FilterPanel.registerMeta.FilterIsolatedNodes', dm: '过滤孤立节点' }), type: 'boolean', 'x-decorator': 'FormItem', 'x-component': 'Switch', default: true, }, highlightMode: { - title: '高亮模式', + title: $i18n.get({ id: 'basic.components.FilterPanel.registerMeta.HighlightMode', dm: '高亮模式' }), type: 'boolean', 'x-decorator': 'FormItem', 'x-component': 'Switch', default: true, }, filterLogic: { - title: '筛选逻辑', + title: $i18n.get({ id: 'basic.components.FilterPanel.registerMeta.FilteringLogic', dm: '筛选逻辑' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', @@ -78,6 +78,7 @@ const registerMeta = ({ schemaData, hasPropertyGraph }) => { { value: 'and', label: 'and' }, { value: 'or', label: 'or' }, ], + default: 'and', }, histogramOptions: { @@ -85,11 +86,11 @@ const registerMeta = ({ schemaData, hasPropertyGraph }) => { 'x-decorator': 'FormItem', 'x-component': 'FormCollapse.CollapsePanel', 'x-component-props': { - header: '分箱设置', + header: $i18n.get({ id: 'basic.components.FilterPanel.registerMeta.SubBoxSetting', dm: '分箱设置' }), }, properties: { isCustom: { - title: '自定义分箱', + title: $i18n.get({ id: 'basic.components.FilterPanel.registerMeta.CustomSubBox', dm: '自定义分箱' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Switch', @@ -122,21 +123,21 @@ const registerMeta = ({ schemaData, hasPropertyGraph }) => { ], }, min: { - title: '区间最小值', + title: $i18n.get({ id: 'basic.components.FilterPanel.registerMeta.IntervalMinimum', dm: '区间最小值' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'NumberPicker', default: null, }, max: { - title: '区间最大值', + title: $i18n.get({ id: 'basic.components.FilterPanel.registerMeta.IntervalMaximum', dm: '区间最大值' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'NumberPicker', default: null, }, binWidth: { - title: '分箱值', + title: $i18n.get({ id: 'basic.components.FilterPanel.registerMeta.BinValue', dm: '分箱值' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'NumberPicker', diff --git a/packages/gi-assets-basic/src/components/FitCenter/info.ts b/packages/gi-assets-basic/src/components/FitCenter/info.ts index c8f50d96d..7a3c00865 100644 --- a/packages/gi-assets-basic/src/components/FitCenter/info.ts +++ b/packages/gi-assets-basic/src/components/FitCenter/info.ts @@ -1,7 +1,8 @@ +import $i18n from '../../i18n'; const info = { id: 'FitCenter', - name: '视图居中', - desc: '调整画布,使其居中对齐', + name: $i18n.get({ id: 'basic.components.FitCenter.info.ViewCenter', dm: '视图居中' }), + desc: $i18n.get({ id: 'basic.components.FitCenter.info.AdjustTheCanvasToCenter', dm: '调整画布,使其居中对齐' }), icon: 'icon-fit-center', cover: 'http://xxxx.jpg', category: 'canvas-interaction', diff --git a/packages/gi-assets-basic/src/components/FitCenterView/info.ts b/packages/gi-assets-basic/src/components/FitCenterView/info.ts index 01dfe1586..f3b32aa1f 100644 --- a/packages/gi-assets-basic/src/components/FitCenterView/info.ts +++ b/packages/gi-assets-basic/src/components/FitCenterView/info.ts @@ -1,7 +1,11 @@ +import $i18n from '../../i18n'; const info = { id: 'FitCenterView', - name: '自适应居中', - desc: '调整画布,使其自适应居中展示', + name: $i18n.get({ id: 'basic.components.FitCenterView.info.AdaptiveCentering', dm: '自适应居中' }), + desc: $i18n.get({ + id: 'basic.components.FitCenterView.info.AdjustTheCanvasToDisplay', + dm: '调整画布,使其自适应居中展示', + }), icon: 'icon-fit-center', cover: 'http://xxxx.jpg', category: 'canvas-interaction', diff --git a/packages/gi-assets-basic/src/components/FitView/info.ts b/packages/gi-assets-basic/src/components/FitView/info.ts index f6a303568..2880a1f24 100644 --- a/packages/gi-assets-basic/src/components/FitView/info.ts +++ b/packages/gi-assets-basic/src/components/FitView/info.ts @@ -1,7 +1,8 @@ +import $i18n from '../../i18n'; const info = { id: 'FitView', - name: '自适应', - desc: '调整画布,使其自适应 1:1 展示', + name: $i18n.get({ id: 'basic.components.FitView.info.Adaptive', dm: '自适应' }), + desc: $i18n.get({ id: 'basic.components.FitView.info.AdjustTheCanvasToAdapt', dm: '调整画布,使其自适应 1:1 展示' }), icon: 'icon-fit-view', cover: 'http://xxxx.jpg', category: 'canvas-interaction', diff --git a/packages/gi-assets-basic/src/components/ForceSimulation/Component.tsx b/packages/gi-assets-basic/src/components/ForceSimulation/Component.tsx index 213538574..4ba9d472b 100644 --- a/packages/gi-assets-basic/src/components/ForceSimulation/Component.tsx +++ b/packages/gi-assets-basic/src/components/ForceSimulation/Component.tsx @@ -3,6 +3,7 @@ import { handlePinNode } from '../common/handlePinNode'; import type { IGIAC } from '@antv/gi-sdk'; import { extra, useContext } from '@antv/gi-sdk'; +import $i18n from '../../i18n'; const { GIAComponent, deepClone } = extra; @@ -59,10 +60,16 @@ const ForceSimulation: React.FunctionComponent = props => { GIAC.icon = 'icon-play-circle'; GIAC.disabled = true; - GIAC.tooltip = '该功能仅在力导布局下才可使用'; + GIAC.tooltip = $i18n.get({ + id: 'basic.components.ForceSimulation.Component.ThisFunctionCanOnlyBe', + dm: '该功能仅在力导布局下才可使用', + }); if (isForce) { GIAC.disabled = false; - GIAC.tooltip = '重启力导布局,点击画布可以暂停力导'; + GIAC.tooltip = $i18n.get({ + id: 'basic.components.ForceSimulation.Component.RestartTheForceGuideLayout', + dm: '重启力导布局,点击画布可以暂停力导', + }); } return ; diff --git a/packages/gi-assets-basic/src/components/ForceSimulation/info.ts b/packages/gi-assets-basic/src/components/ForceSimulation/info.ts index a69284334..766266066 100644 --- a/packages/gi-assets-basic/src/components/ForceSimulation/info.ts +++ b/packages/gi-assets-basic/src/components/ForceSimulation/info.ts @@ -1,7 +1,8 @@ +import $i18n from '../../i18n'; const info = { id: 'ForceSimulation', - name: '力导控制器', - desc: '可以停止/重启力导布局', + name: $i18n.get({ id: 'basic.components.ForceSimulation.info.ForceGuideController', dm: '力导控制器' }), + desc: $i18n.get({ id: 'basic.components.ForceSimulation.info.YouCanStopOrRestart', dm: '可以停止/重启力导布局' }), icon: 'icon-play-circle', cover: 'http://xxxx.jpg', category: 'system-interaction', diff --git a/packages/gi-assets-basic/src/components/ForceSimulation/registerMeta.ts b/packages/gi-assets-basic/src/components/ForceSimulation/registerMeta.ts index db8eff068..db613b50b 100644 --- a/packages/gi-assets-basic/src/components/ForceSimulation/registerMeta.ts +++ b/packages/gi-assets-basic/src/components/ForceSimulation/registerMeta.ts @@ -1,5 +1,6 @@ import { extra } from '@antv/gi-sdk'; import info from './info'; +import $i18n from '../../i18n'; const { deepClone, GIAC_METAS } = extra; const metas = deepClone(GIAC_METAS); metas.GIAC.properties.GIAC.properties.title.default = info.name; @@ -10,14 +11,17 @@ metas.GIAC.properties.GIAC.properties.tooltipPlacement.default = 'right'; export default () => { return { autoPin: { - title: '固定拖拽后的节点', + title: $i18n.get({ + id: 'basic.components.ForceSimulation.registerMeta.FixedDraggedNode', + dm: '固定拖拽后的节点', + }), type: 'boolean', 'x-component': 'Switch', 'x-decorator': 'FormItem', default: true, }, dragNodeMass: { - title: '固定的质量', + title: $i18n.get({ id: 'basic.components.ForceSimulation.registerMeta.FixedMass', dm: '固定的质量' }), 'x-component': 'NumberPicker', 'x-decorator': 'FormItem', type: 'number', diff --git a/packages/gi-assets-basic/src/components/GrailLayout/Component.tsx b/packages/gi-assets-basic/src/components/GrailLayout/Component.tsx index 4c02cb053..9e34e0d17 100644 --- a/packages/gi-assets-basic/src/components/GrailLayout/Component.tsx +++ b/packages/gi-assets-basic/src/components/GrailLayout/Component.tsx @@ -22,7 +22,6 @@ interface IContainersVisible { const GrailLayout: React.FC = props => { const { graph } = useContext(); - const { ComponentCfgMap, assets, GISDK_ID, containers = [], children } = props; const { diff --git a/packages/gi-assets-basic/src/components/GrailLayout/index.tsx b/packages/gi-assets-basic/src/components/GrailLayout/index.tsx index bff21b624..b4b281ff8 100644 --- a/packages/gi-assets-basic/src/components/GrailLayout/index.tsx +++ b/packages/gi-assets-basic/src/components/GrailLayout/index.tsx @@ -2,11 +2,14 @@ import Component from './Component'; import './index.less'; import registerMeta from './registerMeta'; -/** index.md 中解析得到默认值,也可用户手动修改 */ +/** index.md 中解析得到默认值,也可用户手动修改 */ import $i18n from '../../i18n'; const info = { id: 'GrailLayout', - name: '圣杯布局', - desc: '支持左、右、下三个方向资产布局', + name: $i18n.get({ id: 'basic.components.GrailLayout.HolyGrailLayout', dm: '圣杯布局' }), + desc: $i18n.get({ + id: 'basic.components.GrailLayout.SupportsAssetLayoutInThe', + dm: '支持左、右、下三个方向资产布局', + }), icon: 'icon-layout', cover: 'http://xxxx.jpg', category: 'container-components', diff --git a/packages/gi-assets-basic/src/components/GrailLayout/registerMeta.ts b/packages/gi-assets-basic/src/components/GrailLayout/registerMeta.ts index d4304f7e3..597f52f0f 100644 --- a/packages/gi-assets-basic/src/components/GrailLayout/registerMeta.ts +++ b/packages/gi-assets-basic/src/components/GrailLayout/registerMeta.ts @@ -1,3 +1,4 @@ +import $i18n from '../../i18n'; const registerMeta = context => { const { GIAC_CONTENT_ITEMS = [] } = context; @@ -5,9 +6,9 @@ const registerMeta = context => { containers: [ { id: 'GI_CONTAINER_LEFT', - name: '左侧容器', + name: $i18n.get({ id: 'basic.components.GrailLayout.registerMeta.LeftContainer', dm: '左侧容器' }), GI_CONTAINER: { - title: '集成组件', + title: $i18n.get({ id: 'basic.components.GrailLayout.registerMeta.IntegratedComponents', dm: '集成组件' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', @@ -18,14 +19,17 @@ const registerMeta = context => { default: [], }, visible: { - title: '默认展开左侧容器', + title: $i18n.get({ + id: 'basic.components.GrailLayout.registerMeta.ByDefaultTheLeftContainer', + dm: '默认展开左侧容器', + }), type: 'boolean', 'x-decorator': 'FormItem', 'x-component': 'Switch', default: true, }, width: { - title: '左侧宽度', + title: $i18n.get({ id: 'basic.components.GrailLayout.registerMeta.LeftWidth', dm: '左侧宽度' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Input', @@ -35,9 +39,9 @@ const registerMeta = context => { }, { id: 'GI_CONTAINER_RIGHT', - name: '右侧容器', + name: $i18n.get({ id: 'basic.components.GrailLayout.registerMeta.RightContainer', dm: '右侧容器' }), GI_CONTAINER: { - title: '集成组件', + title: $i18n.get({ id: 'basic.components.GrailLayout.registerMeta.IntegratedComponents', dm: '集成组件' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', @@ -48,14 +52,17 @@ const registerMeta = context => { default: [], }, visible: { - title: '默认展开右侧容器', + title: $i18n.get({ + id: 'basic.components.GrailLayout.registerMeta.ByDefaultTheContainerOn', + dm: '默认展开右侧容器', + }), type: 'boolean', 'x-decorator': 'FormItem', 'x-component': 'Switch', default: true, }, width: { - title: '右侧宽度', + title: $i18n.get({ id: 'basic.components.GrailLayout.registerMeta.RightWidth', dm: '右侧宽度' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Input', @@ -65,9 +72,9 @@ const registerMeta = context => { }, { id: 'GI_CONTAINER_BOTTOM', - name: '底部容器', + name: $i18n.get({ id: 'basic.components.GrailLayout.registerMeta.BottomContainer', dm: '底部容器' }), GI_CONTAINER: { - title: '集成组件', + title: $i18n.get({ id: 'basic.components.GrailLayout.registerMeta.IntegratedComponents', dm: '集成组件' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', @@ -78,14 +85,17 @@ const registerMeta = context => { default: [], }, visible: { - title: '默认展开底部容器', + title: $i18n.get({ + id: 'basic.components.GrailLayout.registerMeta.ByDefaultTheBottomContainer', + dm: '默认展开底部容器', + }), type: 'boolean', 'x-decorator': 'FormItem', 'x-component': 'Switch', default: true, }, height: { - title: '底部高度', + title: $i18n.get({ id: 'basic.components.GrailLayout.registerMeta.BottomHeight', dm: '底部高度' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Input', @@ -95,9 +105,9 @@ const registerMeta = context => { }, { id: 'GI_CONTAINER_TOP', - name: '顶部容器', + name: $i18n.get({ id: 'basic.components.GrailLayout.registerMeta.TopContainer', dm: '顶部容器' }), GI_CONTAINER: { - title: '集成组件', + title: $i18n.get({ id: 'basic.components.GrailLayout.registerMeta.IntegratedComponents', dm: '集成组件' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', @@ -108,14 +118,17 @@ const registerMeta = context => { default: [], }, visible: { - title: '默认展开顶部容器', + title: $i18n.get({ + id: 'basic.components.GrailLayout.registerMeta.ByDefaultTheTopContainer', + dm: '默认展开顶部容器', + }), type: 'boolean', 'x-decorator': 'FormItem', 'x-component': 'Switch', default: false, }, height: { - title: '顶部高度', + title: $i18n.get({ id: 'basic.components.GrailLayout.registerMeta.TopHeight', dm: '顶部高度' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Input', diff --git a/packages/gi-assets-basic/src/components/GrailLayout/useComponents.tsx b/packages/gi-assets-basic/src/components/GrailLayout/useComponents.tsx index fa2153de6..f87574f1f 100644 --- a/packages/gi-assets-basic/src/components/GrailLayout/useComponents.tsx +++ b/packages/gi-assets-basic/src/components/GrailLayout/useComponents.tsx @@ -1,6 +1,7 @@ import { Icon, useContext } from '@antv/gi-sdk'; import { Empty } from 'antd'; import React from 'react'; +import $i18n from '../../i18n'; const useComponents = (GI_CONTAINER, ComponentCfgMap, assets, visible) => { return React.useMemo(() => { @@ -28,7 +29,10 @@ const useComponents = (GI_CONTAINER, ComponentCfgMap, assets, visible) => { transform: 'translate(-50%, -50%)', left: '50%', }} - description="当前容器中无可用资产,请在配置面板中集成" + description={$i18n.get({ + id: 'basic.components.GrailLayout.useComponents.NoAssetsAreAvailableIn', + dm: '当前容器中无可用资产,请在配置面板中集成', + })} > ); } diff --git a/packages/gi-assets-basic/src/components/GroupBar/info.ts b/packages/gi-assets-basic/src/components/GroupBar/info.ts index d76424653..becc49448 100644 --- a/packages/gi-assets-basic/src/components/GroupBar/info.ts +++ b/packages/gi-assets-basic/src/components/GroupBar/info.ts @@ -1,7 +1,11 @@ +import $i18n from '../../i18n'; const info = { id: 'GroupBar', - name: '分组操作栏', - desc: '分组操作栏,分组形式集成资产', + name: $i18n.get({ id: 'basic.components.GroupBar.info.GroupOperationColumn', dm: '分组操作栏' }), + desc: $i18n.get({ + id: 'basic.components.GroupBar.info.GroupOperationsColumnGroupAssets', + dm: '分组操作栏,分组形式集成资产', + }), icon: 'icon-tabs', cover: 'http://xxxx.jpg', category: 'container-components', diff --git a/packages/gi-assets-basic/src/components/GroupBar/registerMeta.ts b/packages/gi-assets-basic/src/components/GroupBar/registerMeta.ts index 413a7d072..633b293e7 100644 --- a/packages/gi-assets-basic/src/components/GroupBar/registerMeta.ts +++ b/packages/gi-assets-basic/src/components/GroupBar/registerMeta.ts @@ -1,3 +1,4 @@ +import $i18n from '../../i18n'; const driverItem = { type: 'void', 'x-decorator': 'FormItem', @@ -11,7 +12,7 @@ const driverItem = { type: 'object', 'x-component': 'FormCollapse.CollapsePanel', 'x-component-props': { - header: '分割线配置' + header: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.SplitLineConfiguration', dm: '分割线配置' }), }, properties: { remove: { @@ -20,12 +21,12 @@ const driverItem = { style: { position: 'absolute', right: 14, - top: 15 - } - } + top: 15, + }, + }, }, position: { - title: '位置', + title: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.Location', dm: '位置' }), 'x-decorator': 'FormItem', 'x-component': 'Select', 'x-component-props': { @@ -34,42 +35,42 @@ const driverItem = { default: 'End', enum: [ { - label: '开始', - value: 'Start' + label: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.Start', dm: '开始' }), + value: 'Start', }, { - label: '结尾', - value: 'End' - } - ] + label: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.End', dm: '结尾' }), + value: 'End', + }, + ], }, start: { - title: '起始边距', + title: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.StartMargin', dm: '起始边距' }), 'x-decorator': 'FormItem', 'x-component': 'NumberPicker', - default: 0 + default: 0, }, end: { - title: '结束边距', + title: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.EndMargin', dm: '结束边距' }), 'x-decorator': 'FormItem', 'x-component': 'NumberPicker', - default: 0 + default: 0, }, color: { - title: '颜色', + title: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.Color', dm: '颜色' }), 'x-decorator': 'FormItem', 'x-component': 'ColorInput', - default: '#eee' + default: '#eee', }, size: { - title: '线宽', + title: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.LineWidth', dm: '线宽' }), 'x-decorator': 'FormItem', 'x-component': 'NumberPicker', - default: 1 - } - } - } - } + default: 1, + }, + }, + }, + }, }; const drivers = { type: 'array', @@ -80,36 +81,37 @@ const drivers = { addGroup: { type: 'void', 'x-component': 'ArrayItems.Addition', - title: '添加分割线' - } - } + title: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.AddSplitLine', dm: '添加分割线' }), + }, + }, }; export const createGroupsMeta = ({ GIAC_ITEMS = [], GIAC_CONTENT_ITEMS = [] }) => { return { - title: '分组', + title: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.Grouping', dm: '分组' }), type: 'array', 'x-component': 'ArrayCollapse', 'x-component-props': {}, enum: [...GIAC_ITEMS, ...GIAC_CONTENT_ITEMS], default: [ { - components: [] - } + components: [], + }, ], + properties: { addGroup: { type: 'void', 'x-component': 'ArrayCollapse.Addition', - title: '添加分组' - } + title: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.AddGroup', dm: '添加分组' }), + }, }, items: { type: 'object', - title: '分组配置', + title: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.ClusterSetting', dm: '分组配置' }), 'x-component-props': { style: { - margin: '1px !important' - } + margin: '1px !important', + }, }, properties: { remove: { @@ -117,7 +119,7 @@ export const createGroupsMeta = ({ GIAC_ITEMS = [], GIAC_CONTENT_ITEMS = [] }) = }, components: { type: 'array', - title: '集成组件', + title: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.IntegratedComponents', dm: '集成组件' }), enum: [...GIAC_ITEMS, ...GIAC_CONTENT_ITEMS], 'x-decorator': 'FormItem', 'x-component': 'Select', @@ -127,39 +129,45 @@ export const createGroupsMeta = ({ GIAC_ITEMS = [], GIAC_CONTENT_ITEMS = [] }) = default: [], }, width: { - title: '宽度', + title: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.Width', dm: '宽度' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Input', 'x-component-props': { - placeholder: '字符串或数字类型' + placeholder: $i18n.get({ + id: 'basic.components.GroupBar.registerMeta.StringOrNumericType', + dm: '字符串或数字类型', + }), }, - default: 'auto' + default: 'auto', }, height: { - title: '高度', + title: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.Height', dm: '高度' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Input', 'x-component-props': { - placeholder: '字符串或数字类型' + placeholder: $i18n.get({ + id: 'basic.components.GroupBar.registerMeta.StringOrNumericType', + dm: '字符串或数字类型', + }), }, }, background: { - title: '背景色', + title: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.BackgroundColor', dm: '背景色' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'ColorInput', }, color: { - title: '文字颜色', + title: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.TextColor', dm: '文字颜色' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'ColorInput', - default: '#000' + default: '#000', }, align: { - title: '对齐方式', + title: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.Alignment', dm: '对齐方式' }), 'x-decorator': 'FormItem', 'x-component': 'Select', 'x-component-props': { @@ -168,31 +176,31 @@ export const createGroupsMeta = ({ GIAC_ITEMS = [], GIAC_CONTENT_ITEMS = [] }) = default: 'Left', enum: [ { - label: '左对齐', - value: 'Left' + label: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.LeftAlignment', dm: '左对齐' }), + value: 'Left', }, { - label: '居中对齐', - value: 'Center' + label: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.CenterAlignment', dm: '居中对齐' }), + value: 'Center', }, { - label: '右对齐', - value: 'Right' - } - ] + label: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.RightAlignment', dm: '右对齐' }), + value: 'Right', + }, + ], }, - drivers - } - } - } -} -export default (context) => { - const { GIAC_ITEMS = [],GIAC_CONTENT_ITEMS = [] } = context; + drivers, + }, + }, + }; +}; +export default context => { + const { GIAC_ITEMS = [], GIAC_CONTENT_ITEMS = [] } = context; return { GI_CONTAINER: { - title: '集成组件', + title: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.IntegratedComponents', dm: '集成组件' }), type: 'array', - enum: [...GIAC_ITEMS,...GIAC_CONTENT_ITEMS], + enum: [...GIAC_ITEMS, ...GIAC_CONTENT_ITEMS], 'x-decorator': 'FormItem', 'x-component': 'Select', 'x-component-props': { @@ -201,49 +209,49 @@ export default (context) => { default: [], }, background: { - title: '背景色', + title: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.BackgroundColor', dm: '背景色' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'ColorInput', }, suspend: { - title: '悬浮', + title: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.Suspension', dm: '悬浮' }), type: 'boolean', 'x-decorator': 'FormItem', 'x-component': 'Switch', - default: false + default: false, }, position: { - title: '位置', + title: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.Location', dm: '位置' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', default: 'Top', enum: [ { - label: '顶部', - value: 'Top' + label: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.Top', dm: '顶部' }), + value: 'Top', }, { - label: '底部', - value: 'Bottom' + label: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.Bottom', dm: '底部' }), + value: 'Bottom', }, { - label: '左侧', - value: 'Left' + label: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.LeftSide', dm: '左侧' }), + value: 'Left', }, { - label: '右侧', - value: 'Right' - } - ] + label: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.RightSide', dm: '右侧' }), + value: 'Right', + }, + ], }, size: { - title: '大小', + title: $i18n.get({ id: 'basic.components.GroupBar.registerMeta.Size', dm: '大小' }), type: 'number', 'x-decorator': 'FormItem', 'x-component': 'NumberPicker', - default: 60 + default: 60, }, left: { title: 'Left', @@ -254,10 +262,10 @@ export default (context) => { dependencies: ['.position'], fulfill: { schema: { - "x-visible": "{{$deps[0] === 'Top' || $deps[0] === 'Bottom'}}" - } - } - } + 'x-visible': "{{$deps[0] === 'Top' || $deps[0] === 'Bottom'}}", + }, + }, + }, }, right: { title: 'Right', @@ -268,10 +276,10 @@ export default (context) => { dependencies: ['.position'], fulfill: { schema: { - "x-visible": "{{$deps[0] === 'Top' || $deps[0] === 'Bottom'}}" - } - } - } + 'x-visible': "{{$deps[0] === 'Top' || $deps[0] === 'Bottom'}}", + }, + }, + }, }, top: { title: 'Top', @@ -282,10 +290,10 @@ export default (context) => { dependencies: ['.position'], fulfill: { schema: { - "x-visible": "{{$deps[0] === 'Left' || $deps[0] === 'Right'}}" - } - } - } + 'x-visible': "{{$deps[0] === 'Left' || $deps[0] === 'Right'}}", + }, + }, + }, }, bottom: { title: 'Bottom', @@ -296,11 +304,11 @@ export default (context) => { dependencies: ['.position'], fulfill: { schema: { - "x-visible": "{{$deps[0] === 'Left' || $deps[0] === 'Right'}}" - } - } - } + 'x-visible': "{{$deps[0] === 'Left' || $deps[0] === 'Right'}}", + }, + }, + }, }, - groups: createGroupsMeta(context) + groups: createGroupsMeta(context), }; }; diff --git a/packages/gi-assets-basic/src/components/Initializer/Component.tsx b/packages/gi-assets-basic/src/components/Initializer/Component.tsx index 590d9f87a..172c80629 100644 --- a/packages/gi-assets-basic/src/components/Initializer/Component.tsx +++ b/packages/gi-assets-basic/src/components/Initializer/Component.tsx @@ -1,6 +1,7 @@ import { GIConfig, useContext, utils } from '@antv/gi-sdk'; import { notification } from 'antd'; import * as React from 'react'; +import $i18n from '../../i18n'; const { isPosition, isStyles } = utils; export type GIService = any; @@ -27,8 +28,14 @@ const Initializer: React.FunctionComponent = props => { if (!initialService) { notification.error({ - message: '画布渲染失败', - description: `缺少 ${serviceId} 服务,请检查相关资产是否加载成功`, + message: $i18n.get({ id: 'basic.components.Initializer.Component.CanvasRenderingFailed', dm: '画布渲染失败' }), + description: $i18n.get( + { + id: 'basic.components.Initializer.Component.TheServiceidServiceIsMissing', + dm: '缺少 {serviceId} 服务,请检查相关资产是否加载成功', + }, + { serviceId: serviceId }, + ), }); initialService = { service: () => { @@ -43,8 +50,17 @@ const Initializer: React.FunctionComponent = props => { } if (!schemaService) { notification.error({ - message: '图模型获取失败', - description: `缺少 ${serviceId} 服务,请检查相关资产是否加载成功`, + message: $i18n.get({ + id: 'basic.components.Initializer.Component.FailedToObtainGraphModel', + dm: '图模型获取失败', + }), + description: $i18n.get( + { + id: 'basic.components.Initializer.Component.TheServiceidServiceIsMissing', + dm: '缺少 {serviceId} 服务,请检查相关资产是否加载成功', + }, + { serviceId: serviceId }, + ), }); schemaService = { service: () => { @@ -73,8 +89,14 @@ const Initializer: React.FunctionComponent = props => { if (nodes.length > largeGraphLimit) { notification.warn({ - message: '加载的数据量过大', - description: `建议聚合数据,默认切换到网格布局。您也可以在「资产中心」中加载「大图组件」启用 3D 渲染`, + message: $i18n.get({ + id: 'basic.components.Initializer.Component.TheAmountOfDataLoaded', + dm: '加载的数据量过大', + }), + description: $i18n.get({ + id: 'basic.components.Initializer.Component.WeRecommendThatYouAggregate', + dm: '建议聚合数据,默认切换到网格布局。您也可以在「资产中心」中加载「大图组件」启用 3D 渲染', + }), }); } updateContext(draft => { diff --git a/packages/gi-assets-basic/src/components/Initializer/info.ts b/packages/gi-assets-basic/src/components/Initializer/info.ts index fc2ede5e1..fb3d565b9 100644 --- a/packages/gi-assets-basic/src/components/Initializer/info.ts +++ b/packages/gi-assets-basic/src/components/Initializer/info.ts @@ -1,7 +1,11 @@ +import $i18n from '../../i18n'; const info = { id: 'Initializer', - name: '初始化器', - desc: '必选!初始化查询图数据与图模型', + name: $i18n.get({ id: 'basic.components.Initializer.info.Initializer', dm: '初始化器' }), + desc: $i18n.get({ + id: 'basic.components.Initializer.info.RequiredInitializeQueryGraphData', + dm: '必选!初始化查询图数据与图模型', + }), // icon: 'icon-export', cover: 'http://xxxx.jpg', category: 'system-interaction', diff --git a/packages/gi-assets-basic/src/components/Initializer/registerMeta.ts b/packages/gi-assets-basic/src/components/Initializer/registerMeta.ts index 6fa47e956..fb5a6660b 100644 --- a/packages/gi-assets-basic/src/components/Initializer/registerMeta.ts +++ b/packages/gi-assets-basic/src/components/Initializer/registerMeta.ts @@ -1,5 +1,6 @@ import { utils } from '@antv/gi-sdk'; import info from './info'; +import $i18n from '../../i18n'; export default context => { const { services, engineId } = context; @@ -12,7 +13,7 @@ export default context => { ); return { serviceId: { - title: '初始化查询', + title: $i18n.get({ id: 'basic.components.Initializer.registerMeta.InitializeAQuery', dm: '初始化查询' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', @@ -22,7 +23,7 @@ export default context => { default: defaultInitializerService, }, schemaServiceId: { - title: '查询图模型', + title: $i18n.get({ id: 'basic.components.Initializer.registerMeta.QueryGraphModel', dm: '查询图模型' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', @@ -34,7 +35,7 @@ export default context => { // 注意⚠️:GI_INITIALIZER 是必须的属性字段,千万不要漏掉 GI_INITIALIZER: { - title: '默认启动', + title: $i18n.get({ id: 'basic.components.Initializer.registerMeta.DefaultStartup', dm: '默认启动' }), type: 'boolean', 'x-decorator': 'FormItem', 'x-component': 'Switch', @@ -44,14 +45,14 @@ export default context => { default: true, }, aggregate: { - title: '汇总边', + title: $i18n.get({ id: 'basic.components.Initializer.registerMeta.SummaryEdge', dm: '汇总边' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Switch', default: false, }, transByFieldMapping: { - title: '开启字段映射', + title: $i18n.get({ id: 'basic.components.Initializer.registerMeta.EnableFieldMapping', dm: '开启字段映射' }), type: 'boolean', 'x-decorator': 'FormItem', 'x-component': 'Switch', diff --git a/packages/gi-assets-basic/src/components/LassoSelect/info.ts b/packages/gi-assets-basic/src/components/LassoSelect/info.ts index 7e1d98406..500e93f52 100644 --- a/packages/gi-assets-basic/src/components/LassoSelect/info.ts +++ b/packages/gi-assets-basic/src/components/LassoSelect/info.ts @@ -1,7 +1,11 @@ +import $i18n from '../../i18n'; const info = { id: 'LassoSelect', - name: '自由圈选', - desc: '可通过拉索工具,自由圈选画布元素', + name: $i18n.get({ id: 'basic.components.LassoSelect.info.FreeSelection', dm: '自由圈选' }), + desc: $i18n.get({ + id: 'basic.components.LassoSelect.info.YouCanUseTheCable', + dm: '可通过拉索工具,自由圈选画布元素', + }), icon: 'icon-lasso', cover: 'http://xxxx.jpg', category: 'canvas-interaction', diff --git a/packages/gi-assets-basic/src/components/LassoSelect/registerMeta.ts b/packages/gi-assets-basic/src/components/LassoSelect/registerMeta.ts index 7112b4608..62f7cd8cf 100644 --- a/packages/gi-assets-basic/src/components/LassoSelect/registerMeta.ts +++ b/packages/gi-assets-basic/src/components/LassoSelect/registerMeta.ts @@ -1,11 +1,15 @@ import { extra } from '@antv/gi-sdk'; import info from './info'; +import $i18n from '../../i18n'; const { deepClone, GIAC_METAS } = extra; const metas = deepClone(GIAC_METAS); metas.GIAC.properties.GIAC.properties.title.default = info.name; metas.GIAC.properties.GIAC.properties.icon.default = info.icon; -metas.GIAC.properties.GIAC.properties.tooltip.default = '按住Shift,点击画布即可自由圈选'; +metas.GIAC.properties.GIAC.properties.tooltip.default = $i18n.get({ + id: 'basic.components.LassoSelect.registerMeta.HoldDownShiftAndClick', + dm: '按住Shift,点击画布即可自由圈选', +}); metas.GIAC.properties.GIAC.properties.isShowTitle.default = false; export default () => { return metas; diff --git a/packages/gi-assets-basic/src/components/LayoutSwitch/Component.tsx b/packages/gi-assets-basic/src/components/LayoutSwitch/Component.tsx index 58bd107a7..70887b35f 100644 --- a/packages/gi-assets-basic/src/components/LayoutSwitch/Component.tsx +++ b/packages/gi-assets-basic/src/components/LayoutSwitch/Component.tsx @@ -3,6 +3,7 @@ import { Icon, extra, useContext, utils } from '@antv/gi-sdk'; import { LayoutConfig } from '@antv/gi-sdk/lib/typing'; import { Card, Popover, Radio, Space } from 'antd'; import React, { useEffect, useMemo } from 'react'; +import $i18n from '../../i18n'; const { GIAComponent } = extra; @@ -41,8 +42,14 @@ const LayoutSwitch: React.FunctionComponent = props => { updateHistory({ componentId: 'LayoutSwitch', type: 'configure', - subType: '布局切换', - statement: `布局 ${layoutProps.type}`, + subType: $i18n.get({ id: 'basic.components.LayoutSwitch.Component.LayoutSwitching', dm: '布局切换' }), + statement: $i18n.get( + { + id: 'basic.components.LayoutSwitch.Component.LayoutLayoutpropstype', + dm: '布局 {layoutPropsType}', + }, + { layoutPropsType: layoutProps.type }, + ), success, errorMsg, params: layoutProps, @@ -100,7 +107,10 @@ const LayoutSwitch: React.FunctionComponent = props => { }, [layouts]); const content = ( - + {Radios} ); diff --git a/packages/gi-assets-basic/src/components/LayoutSwitch/info.ts b/packages/gi-assets-basic/src/components/LayoutSwitch/info.ts index 33d838c06..92a4fede6 100644 --- a/packages/gi-assets-basic/src/components/LayoutSwitch/info.ts +++ b/packages/gi-assets-basic/src/components/LayoutSwitch/info.ts @@ -1,7 +1,8 @@ +import $i18n from '../../i18n'; const info = { id: 'LayoutSwitch', - name: '布局切换', - desc: '一键切换布局', + name: $i18n.get({ id: 'basic.components.LayoutSwitch.info.LayoutSwitching', dm: '布局切换' }), + desc: $i18n.get({ id: 'basic.components.LayoutSwitch.info.SwitchLayoutWithOneClick', dm: '一键切换布局' }), icon: 'icon-layout', cover: 'http://xxxx.jpg', category: 'canvas-interaction', diff --git a/packages/gi-assets-basic/src/components/LayoutSwitch/registerMeta.ts b/packages/gi-assets-basic/src/components/LayoutSwitch/registerMeta.ts index 4f39e4fae..ce4f03101 100644 --- a/packages/gi-assets-basic/src/components/LayoutSwitch/registerMeta.ts +++ b/packages/gi-assets-basic/src/components/LayoutSwitch/registerMeta.ts @@ -1,12 +1,16 @@ import { extra } from '@antv/gi-sdk'; import info from './info'; +import $i18n from '../../i18n'; const { deepClone, GIAC_METAS } = extra; const metas = deepClone(GIAC_METAS); metas.GIAC.properties.GIAC.properties.title.default = info.name; metas.GIAC.properties.GIAC.properties.icon.default = info.icon; metas.GIAC.properties.GIAC.properties.isShowTooltip.default = false; -metas.GIAC.properties.GIAC.properties.tooltip.default = '一键切换画布布局'; +metas.GIAC.properties.GIAC.properties.tooltip.default = $i18n.get({ + id: 'basic.components.LayoutSwitch.registerMeta.SwitchCanvasLayoutWithOne', + dm: '一键切换画布布局', +}); metas.GIAC.properties.GIAC.properties.isShowTitle.default = false; export default () => { return metas; diff --git a/packages/gi-assets-basic/src/components/Loading/info.ts b/packages/gi-assets-basic/src/components/Loading/info.ts index fef5d2301..0733316ce 100644 --- a/packages/gi-assets-basic/src/components/Loading/info.ts +++ b/packages/gi-assets-basic/src/components/Loading/info.ts @@ -1,7 +1,11 @@ +import $i18n from '../../i18n'; const info = { id: 'Loading', - name: '加载动画', - desc: '异步加载数据时,可展示加载动画', + name: $i18n.get({ id: 'basic.components.Loading.info.LoadAnimation', dm: '加载动画' }), + desc: $i18n.get({ + id: 'basic.components.Loading.info.WhenLoadingDataAsynchronouslyThe', + dm: '异步加载数据时,可展示加载动画', + }), icon: 'icon-loading', cover: 'http://xxxx.jpg', category: 'system-interaction', diff --git a/packages/gi-assets-basic/src/components/MiniMap/index.tsx b/packages/gi-assets-basic/src/components/MiniMap/index.tsx index bf6aa3cce..20e9475a2 100755 --- a/packages/gi-assets-basic/src/components/MiniMap/index.tsx +++ b/packages/gi-assets-basic/src/components/MiniMap/index.tsx @@ -1,12 +1,13 @@ import { Components } from '@antv/graphin'; import registerMeta from './registerMeta'; +import $i18n from '../../i18n'; const { MiniMap } = Components; /** index.md 中解析得到默认值,也可用户手动修改 */ const info = { id: 'MiniMap', - name: '小地图', - desc: '启用后,可在小地图上展示信息', + name: $i18n.get({ id: 'basic.components.MiniMap.SmallMap', dm: '小地图' }), + desc: $i18n.get({ id: 'basic.components.MiniMap.WhenEnabledInformationCanBe', dm: '启用后,可在小地图上展示信息' }), icon: 'icon-minimap', cover: 'http://xxxx.jpg', category: 'system-interaction', diff --git a/packages/gi-assets-basic/src/components/NeighborsQuery/Component.tsx b/packages/gi-assets-basic/src/components/NeighborsQuery/Component.tsx index 667a25ff5..ac723336f 100644 --- a/packages/gi-assets-basic/src/components/NeighborsQuery/Component.tsx +++ b/packages/gi-assets-basic/src/components/NeighborsQuery/Component.tsx @@ -2,6 +2,7 @@ import { useContext, utils } from '@antv/gi-sdk'; import { Menu } from 'antd'; import React, { useEffect, useRef } from 'react'; +import $i18n from '../../i18n'; const { SubMenu } = Menu; type ControlledValues = { @@ -72,7 +73,15 @@ const QueryNeighbors: React.FunctionComponent = props => { }; if (!propNodes) { nodes = ids.map(id => graph.findById(id)?.getModel()).filter(Boolean); - if (!nodes?.length) handleUpateHistory(historyProps, false, '当前画布中未找到指定的扩散起始节点'); + if (!nodes?.length) + handleUpateHistory( + historyProps, + false, + $i18n.get({ + id: 'basic.components.NeighborsQuery.Component.TheSpecifiedDiffusionStartNode', + dm: '当前画布中未找到指定的扩散起始节点', + }), + ); } try { const result = await service({ @@ -114,8 +123,9 @@ const QueryNeighbors: React.FunctionComponent = props => { updateHistory({ componentId: 'NeighborsQuery', type: 'analyse', - subType: '邻居查询', - statement: `查询 ${params.startIds.join(', ')} 的邻居`, + subType: $i18n.get({ id: 'basic.components.NeighborsQuery.Component.NeighborQuery', dm: '邻居查询' }), + statement1: `查询 ${params.startIds.join(', ')} 的邻居`, + statement: $i18n.get({ id: 'basic.components.NeighborsQuery.Component.NeighborQueryOfStarts', dm: `查询 ${params.startIds.join(', ')} 的邻居` }, { startIds: params.startIds.join(', ') },), success, errorMsg, params, @@ -158,9 +168,14 @@ const QueryNeighbors: React.FunctionComponent = props => { }; }, [isFocus]); - const ChineseIndex = ['一', '二', '三']; + const ChineseIndex = [ + $i18n.get({ id: 'basic.components.NeighborsQuery.Component.One', dm: '一' }), + $i18n.get({ id: 'basic.components.NeighborsQuery.Component.Ii', dm: '二' }), + $i18n.get({ id: 'basic.components.NeighborsQuery.Component.Three', dm: '三' }), + ]; const menuItem = Array.from({ length: Number(degree) }).map((_item, idx) => { - const name = ChineseIndex[idx] + '度扩展'; + const name = + ChineseIndex[idx] + $i18n.get({ id: 'basic.components.NeighborsQuery.Component.DegreeExtension', dm: '度扩展' }); const sep = idx + 1; return ( @@ -171,7 +186,12 @@ const QueryNeighbors: React.FunctionComponent = props => { return ( // @ts-ignore - + {menuItem} ); diff --git a/packages/gi-assets-basic/src/components/NeighborsQuery/info.ts b/packages/gi-assets-basic/src/components/NeighborsQuery/info.ts index 5c9553c21..47e0196ae 100644 --- a/packages/gi-assets-basic/src/components/NeighborsQuery/info.ts +++ b/packages/gi-assets-basic/src/components/NeighborsQuery/info.ts @@ -1,11 +1,15 @@ +import $i18n from '../../i18n'; const ASSET_ID = 'NeighborsQuery'; const info = { id: ASSET_ID, category: 'data-query', type: 'GIAC_MENU', - name: '邻居查询', - desc: '集成在右键菜单中,可查询邻居节点', + name: $i18n.get({ id: 'basic.components.NeighborsQuery.info.NeighborQuery', dm: '邻居查询' }), + desc: $i18n.get({ + id: 'basic.components.NeighborsQuery.info.IntegratedInTheRightClick', + dm: '集成在右键菜单中,可查询邻居节点', + }), icon: 'icon-kinship', cover: 'http://xxxx.jpg', services: [ASSET_ID], diff --git a/packages/gi-assets-basic/src/components/NeighborsQuery/registerMeta.ts b/packages/gi-assets-basic/src/components/NeighborsQuery/registerMeta.ts index c9e1edc2b..fd61c4120 100644 --- a/packages/gi-assets-basic/src/components/NeighborsQuery/registerMeta.ts +++ b/packages/gi-assets-basic/src/components/NeighborsQuery/registerMeta.ts @@ -1,5 +1,6 @@ import { utils } from '@antv/gi-sdk'; import info from './info'; +import $i18n from '../../i18n'; interface Service { id: string; @@ -11,7 +12,7 @@ export default context => { return { serviceId: { - title: '数据服务', + title: $i18n.get({ id: 'basic.components.NeighborsQuery.registerMeta.DataService', dm: '数据服务' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', @@ -21,7 +22,7 @@ export default context => { }, }, degree: { - title: '可查询度数', + title: $i18n.get({ id: 'basic.components.NeighborsQuery.registerMeta.QueryableDegrees', dm: '可查询度数' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', @@ -29,29 +30,32 @@ export default context => { options: [ { value: 1, - label: '一度查询', + label: $i18n.get({ id: 'basic.components.NeighborsQuery.registerMeta.OnceQuery', dm: '一度查询' }), }, { value: 2, - label: '二度查询', + label: $i18n.get({ id: 'basic.components.NeighborsQuery.registerMeta.SecondDegreeQuery', dm: '二度查询' }), }, { value: 3, - label: '三度查询', + label: $i18n.get({ id: 'basic.components.NeighborsQuery.registerMeta.ThreeDegreeQuery', dm: '三度查询' }), }, ], }, default: 3, }, isFocus: { - title: '是否聚焦到扩散点', + title: $i18n.get({ + id: 'basic.components.NeighborsQuery.registerMeta.WhetherToFocusOnThe', + dm: '是否聚焦到扩散点', + }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Switch', default: true, }, limit: { - title: '限制数量', + title: $i18n.get({ id: 'basic.components.NeighborsQuery.registerMeta.LimitedQuantity', dm: '限制数量' }), type: 'number', 'x-decorator': 'FormItem', 'x-component': 'NumberPicker', diff --git a/packages/gi-assets-basic/src/components/NodeLegend/info.ts b/packages/gi-assets-basic/src/components/NodeLegend/info.ts index fe1a1bf6d..81c04c2ac 100644 --- a/packages/gi-assets-basic/src/components/NodeLegend/info.ts +++ b/packages/gi-assets-basic/src/components/NodeLegend/info.ts @@ -1,7 +1,11 @@ +import $i18n from '../../i18n'; const info = { id: 'NodeLegend', - name: '节点图例', - desc: '启用后可展示节点的图例信息', + name: $i18n.get({ id: 'basic.components.NodeLegend.info.NodeLegend', dm: '节点图例' }), + desc: $i18n.get({ + id: 'basic.components.NodeLegend.info.WhenEnabledTheLegendInformation', + dm: '启用后可展示节点的图例信息', + }), icon: 'icon-legend', cover: 'http://xxxx.jpg', category: 'data-analysis', diff --git a/packages/gi-assets-basic/src/components/NodeLegend/registerMeta.tsx b/packages/gi-assets-basic/src/components/NodeLegend/registerMeta.tsx index c802a7c7e..12a81b5c5 100644 --- a/packages/gi-assets-basic/src/components/NodeLegend/registerMeta.tsx +++ b/packages/gi-assets-basic/src/components/NodeLegend/registerMeta.tsx @@ -1,4 +1,5 @@ import { PLACEMENT_OPTIONS } from '../const'; +import $i18n from '../../i18n'; const registerMeta = context => { const { data, schemaData } = context; let keys = ['id']; @@ -17,7 +18,7 @@ const registerMeta = context => { const schema = { sortKey: { - title: '映射字段', + title: $i18n.get({ id: 'basic.components.NodeLegend.registerMeta.MappingField', dm: '映射字段' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', @@ -25,14 +26,14 @@ const registerMeta = context => { enum: options, }, textColor: { - title: '字体颜色', + title: $i18n.get({ id: 'basic.components.NodeLegend.registerMeta.FontColor', dm: '字体颜色' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'ColorInput', default: '#ddd', }, placement: { - title: '组件位置', + title: $i18n.get({ id: 'basic.components.NodeLegend.registerMeta.ComponentLocation', dm: '组件位置' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', @@ -40,7 +41,7 @@ const registerMeta = context => { default: 'LB', }, offset: { - title: '偏移量', + title: $i18n.get({ id: 'basic.components.NodeLegend.registerMeta.Offset', dm: '偏移量' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Offset', diff --git a/packages/gi-assets-basic/src/components/OperatorBar/index.tsx b/packages/gi-assets-basic/src/components/OperatorBar/index.tsx index af1fc4503..b6e857524 100644 --- a/packages/gi-assets-basic/src/components/OperatorBar/index.tsx +++ b/packages/gi-assets-basic/src/components/OperatorBar/index.tsx @@ -1,11 +1,14 @@ import Component from './Component'; import registerMeta from './registerMeta'; -/** index.md 中解析得到默认值,也可用户手动修改 */ +/** index.md 中解析得到默认值,也可用户手动修改 */ import $i18n from '../../i18n'; const info = { id: 'OperatorBar', - name: '操作栏', - desc: '业务操作栏,可集成众多分析组件', + name: $i18n.get({ id: 'basic.components.OperatorBar.ActionBar', dm: '操作栏' }), + desc: $i18n.get({ + id: 'basic.components.OperatorBar.BusinessActionBarWhichCan', + dm: '业务操作栏,可集成众多分析组件', + }), icon: 'icon-tabs', cover: 'http://xxxx.jpg', category: 'container-components', diff --git a/packages/gi-assets-basic/src/components/OperatorBar/registerMeta.ts b/packages/gi-assets-basic/src/components/OperatorBar/registerMeta.ts index 91dbc913b..83a8f4be0 100644 --- a/packages/gi-assets-basic/src/components/OperatorBar/registerMeta.ts +++ b/packages/gi-assets-basic/src/components/OperatorBar/registerMeta.ts @@ -1,4 +1,5 @@ import { extra } from '@antv/gi-sdk'; +import $i18n from '../../i18n'; const { deepClone, GI_CONTAINER_METAS } = extra; const metas = deepClone(GI_CONTAINER_METAS); @@ -12,14 +13,19 @@ const registerMeta = context => { const GIAC_TRANS = GIAC_ITEMS.map(c => { return { ...c, - label: c.label + ' (建议集成在工具栏) ', + label: + c.label + + $i18n.get({ + id: 'basic.components.OperatorBar.registerMeta.WeRecommendThatYouIntegrate', + dm: '(建议集成在工具栏)', + }), }; }); return { /** 分类信息 */ GI_CONTAINER: { - title: '集成组件', + title: $i18n.get({ id: 'basic.components.OperatorBar.registerMeta.IntegratedComponents', dm: '集成组件' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', diff --git a/packages/gi-assets-basic/src/components/OperatorHeader/index.tsx b/packages/gi-assets-basic/src/components/OperatorHeader/index.tsx index 3c1c74f7c..9967037c7 100644 --- a/packages/gi-assets-basic/src/components/OperatorHeader/index.tsx +++ b/packages/gi-assets-basic/src/components/OperatorHeader/index.tsx @@ -1,11 +1,11 @@ import Component from './Component'; import registerMeta from './registerMeta'; -/** index.md 中解析得到默认值,也可用户手动修改 */ +/** index.md 中解析得到默认值,也可用户手动修改 */ import $i18n from '../../i18n'; const info = { id: 'OperatorHeader', - name: '操作头栏', - desc: '操作头栏', + name: $i18n.get({ id: 'basic.components.OperatorHeader.OperationHeaderBar', dm: '操作头栏' }), + desc: $i18n.get({ id: 'basic.components.OperatorHeader.OperationHeaderBar', dm: '操作头栏' }), cover: 'http://xxxx.jpg', category: 'container-components', type: 'GICC', diff --git a/packages/gi-assets-basic/src/components/OperatorHeader/registerMeta.ts b/packages/gi-assets-basic/src/components/OperatorHeader/registerMeta.ts index e30910ccc..f85775a42 100644 --- a/packages/gi-assets-basic/src/components/OperatorHeader/registerMeta.ts +++ b/packages/gi-assets-basic/src/components/OperatorHeader/registerMeta.ts @@ -1,9 +1,10 @@ import { extra } from '@antv/gi-sdk'; +import $i18n from '../../i18n'; const { deepClone, GI_CONTAINER_METAS } = extra; const metas = deepClone(GI_CONTAINER_METAS); //@ts-ignore metas.gap = { - name: '间隔', + name: $i18n.get({ id: 'basic.components.OperatorHeader.registerMeta.Interval', dm: '间隔' }), type: 'text', default: '0px', }; @@ -12,13 +13,13 @@ const registerMeta = context => { return { /** 分类信息 */ GI_CONTAINER: { - name: '集成组件', + name: $i18n.get({ id: 'basic.components.OperatorHeader.registerMeta.IntegratedComponents', dm: '集成组件' }), type: 'TagsSelect', default: [], options: GI_CONTAINER_INDEXS, }, leftContainer: { - name: '左侧组件', + name: $i18n.get({ id: 'basic.components.OperatorHeader.registerMeta.LeftComponent', dm: '左侧组件' }), type: 'TagsSelect', default: [], options: GI_CONTAINER_INDEXS, @@ -27,7 +28,7 @@ const registerMeta = context => { }, }, centerContainer: { - name: '中间组件', + name: $i18n.get({ id: 'basic.components.OperatorHeader.registerMeta.IntermediateComponent', dm: '中间组件' }), type: 'TagsSelect', default: [], options: GI_CONTAINER_INDEXS, @@ -36,7 +37,7 @@ const registerMeta = context => { }, }, rightContainer: { - name: '右侧组件', + name: $i18n.get({ id: 'basic.components.OperatorHeader.registerMeta.RightComponent', dm: '右侧组件' }), type: 'TagsSelect', default: [], options: GI_CONTAINER_INDEXS, diff --git a/packages/gi-assets-basic/src/components/OverView/Component.tsx b/packages/gi-assets-basic/src/components/OverView/Component.tsx index 8d9c8b800..6af030e59 100755 --- a/packages/gi-assets-basic/src/components/OverView/Component.tsx +++ b/packages/gi-assets-basic/src/components/OverView/Component.tsx @@ -3,6 +3,7 @@ import { Alert, Col, Row, Statistic } from 'antd'; import * as React from 'react'; import FilterPanel from './Filter'; import './index.less'; +import $i18n from '../../i18n'; export interface LoadingProps { limit: number; @@ -25,20 +26,35 @@ const Overview: React.FunctionComponent = props => { draft.largeGraphLimit = limit; }); }, [limit]); - const title = `为了画布渲染性能 与 用户高效分析,对超过 ${limit} 节点做了展示限制展示,可在属性面板中自定义。您可以通过下方的筛选面板,根据统计分析结果选择展示`; + const title = $i18n.get( + { + id: 'basic.components.OverView.Component.InOrderToAnalyzeCanvas', + dm: '为了画布渲染性能 与 用户高效分析,对超过 {limit} 节点做了展示限制展示,可在属性面板中自定义。您可以通过下方的筛选面板,根据统计分析结果选择展示', + }, + { limit: limit }, + ); const statistic = largeGraphData || source; return (
- + - + - + diff --git a/packages/gi-assets-basic/src/components/OverView/Filter.tsx b/packages/gi-assets-basic/src/components/OverView/Filter.tsx index d4d2025fd..bc5ff73f0 100644 --- a/packages/gi-assets-basic/src/components/OverView/Filter.tsx +++ b/packages/gi-assets-basic/src/components/OverView/Filter.tsx @@ -9,6 +9,7 @@ import '../FilterPanel/index.less'; import { IFilterCriteria } from '../FilterPanel/type'; import { filterGraphData } from '../FilterPanel/utils'; import Interpretation from './Interpretation'; +import $i18n from '../../i18n'; const { isStyles } = utils; @@ -148,7 +149,7 @@ const FilterPanel: React.FunctionComponent = props => {
{Object.values(filterOptions).map(filterCriter => { diff --git a/packages/gi-assets-basic/src/components/OverView/Interpretation.tsx b/packages/gi-assets-basic/src/components/OverView/Interpretation.tsx index a24bc50b1..5add257c0 100644 --- a/packages/gi-assets-basic/src/components/OverView/Interpretation.tsx +++ b/packages/gi-assets-basic/src/components/OverView/Interpretation.tsx @@ -4,6 +4,7 @@ import { Button, Col, List, Popover, Row, Statistic, Tag, Tooltip } from 'antd'; import * as React from 'react'; import downloadCsv from '../common/downloadCsv'; import { IFilterCriteria } from '../FilterPanel/type'; +import $i18n from '../../i18n'; interface interpretationProps { filterLogic: 'and' | 'or'; filterOptions: { [id: string]: IFilterCriteria }; @@ -45,33 +46,44 @@ const interpretation: React.FunctionComponent = props => { if (item.analyzerType === 'HISTOGRAM') { const tmp = item.range?.map(e => e.join('~')); - value = tmp?.join(' 或 '); + value = tmp?.join($i18n.get({ id: 'basic.components.OverView.Interpretation.Or', dm: '或' })); //value = JSON.stringify(item.range) } return ( {type} RULE - {item.prop} 为 {value} + {item.prop} + {$i18n.get({ id: 'basic.components.OverView.Interpretation.For', dm: '为' })} + {value} ); }} /> ); + return (
-
数据操作
+
+ {$i18n.get({ id: 'basic.components.OverView.Interpretation.DataOperations', dm: '数据操作' })} +
- + @@ -81,10 +93,16 @@ const interpretation: React.FunctionComponent = props => {
- + - +
diff --git a/packages/gi-assets-basic/src/components/OverView/info.ts b/packages/gi-assets-basic/src/components/OverView/info.ts index 20e8a1947..012a5cb9f 100644 --- a/packages/gi-assets-basic/src/components/OverView/info.ts +++ b/packages/gi-assets-basic/src/components/OverView/info.ts @@ -1,7 +1,8 @@ +import $i18n from '../../i18n'; const info = { id: 'Overview', - name: '大图概览', - desc: '大图概览', + name: $i18n.get({ id: 'basic.components.OverView.info.BigPictureOverview', dm: '大图概览' }), + desc: $i18n.get({ id: 'basic.components.OverView.info.BigPictureOverview', dm: '大图概览' }), icon: 'icon-dashboard', cover: 'http://xxxx.jpg', category: 'system-interaction', diff --git a/packages/gi-assets-basic/src/components/OverView/registerMeta.ts b/packages/gi-assets-basic/src/components/OverView/registerMeta.ts index b296c587d..57afff5e4 100755 --- a/packages/gi-assets-basic/src/components/OverView/registerMeta.ts +++ b/packages/gi-assets-basic/src/components/OverView/registerMeta.ts @@ -1,5 +1,6 @@ import { extra } from '@antv/gi-sdk'; import info from './info'; +import $i18n from '../../i18n'; const { deepClone, GIAC_CONTENT_METAS } = extra; const metas = deepClone(GIAC_CONTENT_METAS); metas.GIAC_CONTENT.properties.GIAC_CONTENT.properties.title.default = info.name; @@ -9,14 +10,17 @@ metas.GIAC_CONTENT.properties.GIAC_CONTENT.properties.containerWidth.default = ' export default () => { return { limit: { - title: '限制展示数量(节点)', + title: $i18n.get({ + id: 'basic.components.OverView.registerMeta.LimitTheNumberOfDisplays', + dm: '限制展示数量(节点)', + }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'NumberPicker', default: 600, }, filterLogic: { - title: '筛选逻辑', + title: $i18n.get({ id: 'basic.components.OverView.registerMeta.FilteringLogic', dm: '筛选逻辑' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', @@ -24,6 +28,7 @@ export default () => { { value: 'and', label: 'and' }, { value: 'or', label: 'or' }, ], + default: 'and', }, ...metas, diff --git a/packages/gi-assets-basic/src/components/PathAnalysis/Component.tsx b/packages/gi-assets-basic/src/components/PathAnalysis/Component.tsx index 5b1790c0b..e74ddea1c 100644 --- a/packages/gi-assets-basic/src/components/PathAnalysis/Component.tsx +++ b/packages/gi-assets-basic/src/components/PathAnalysis/Component.tsx @@ -10,6 +10,7 @@ import PanelExtra from './PanelExtra'; import { IHighlightElement, IState } from './typing'; import { getPathByWeight } from './utils'; import { findShortestPath } from '@antv/algorithm'; +import $i18n from '../../i18n'; const { Panel } = Collapse; @@ -74,8 +75,14 @@ const PathAnalysis: React.FC = props => { const history = { componentId: 'PathAnalysis', type: 'analyse', - subType: '路径', - statement: `起点: ${source}, 终点: ${target}`, + subType: $i18n.get({ id: 'basic.components.PathAnalysis.Component.Path', dm: '路径' }), + statement: $i18n.get( + { + id: 'basic.components.PathAnalysis.Component.StartPointSourceEndPoint', + dm: '起点: {source}, 终点: {target}', + }, + { source: source, target: target }, + ), params: { source, target, @@ -85,11 +92,26 @@ const PathAnalysis: React.FC = props => { try { const { allPath: allNodePath, allEdgePath }: any = findShortestPath(graphData, source, target, direction); if (!allNodePath?.length) { - let info = '无符合条件的路径'; + let info = $i18n.get({ + id: 'basic.components.PathAnalysis.Component.NoPathThatMeetsThe', + dm: '无符合条件的路径', + }); if (direction) { - info = `${info},可尝试将“是否有向”设置为“无向”,或改变起点与终点`; + info = $i18n.get( + { + id: 'basic.components.PathAnalysis.Component.InfoYouCanTryTo', + dm: '{info},可尝试将“是否有向”设置为“无向”,或改变起点与终点', + }, + { info: info }, + ); } else { - info = `${info},可尝试改变起点与终点`; + info = $i18n.get( + { + id: 'basic.components.PathAnalysis.Component.InfoYouCanTryTo.1', + dm: '{info},可尝试改变起点与终点', + }, + { info: info }, + ); } message.info(info); updateHistory({ @@ -296,12 +318,23 @@ const PathAnalysis: React.FC = props => { = props => { /> - - + + @@ -380,6 +431,7 @@ const PathAnalysis: React.FC = props => { {state.isAnalysis && state.allNodePath.length > 0 && ( )} + @@ -398,7 +450,7 @@ const PathAnalysis: React.FC = props => { return ( } @@ -415,6 +467,7 @@ const PathAnalysis: React.FC = props => { })} )} + {state.isAnalysis && state.nodePath.length === 0 && }
diff --git a/packages/gi-assets-basic/src/components/PathAnalysis/FilterRule.tsx b/packages/gi-assets-basic/src/components/PathAnalysis/FilterRule.tsx index 3fecdb786..89d9920dc 100644 --- a/packages/gi-assets-basic/src/components/PathAnalysis/FilterRule.tsx +++ b/packages/gi-assets-basic/src/components/PathAnalysis/FilterRule.tsx @@ -3,6 +3,7 @@ import { useContext, utils } from '@antv/gi-sdk'; import { Button, Form, Popover, Select } from 'antd'; import React, { useMemo } from 'react'; import { IState } from './typing'; +import $i18n from '../../i18n'; export interface FileRuleProps { children: React.FC; } @@ -15,15 +16,15 @@ export interface IFilterRuleContentProps { const options = [ { value: 'All-Path', - label: '所有路径', + label: $i18n.get({ id: 'basic.components.PathAnalysis.FilterRule.AllPaths', dm: '所有路径' }), }, { value: 'Shortest-Path', - label: '加权最短路径', + label: $i18n.get({ id: 'basic.components.PathAnalysis.FilterRule.WeightedShortestPath', dm: '加权最短路径' }), }, { value: 'Edge-Type-Filter', - label: '边类型过滤', + label: $i18n.get({ id: 'basic.components.PathAnalysis.FilterRule.EdgeTypeFiltering', dm: '边类型过滤' }), }, ]; @@ -69,11 +70,13 @@ const FilterRuleContent: React.FC = props => { return (
- + {weightProperties.map(prop => { return {prop}; @@ -81,8 +84,9 @@ const FilterRuleContent: React.FC = props => { )} + {filterRule.type === 'Edge-Type-Filter' && ( - + + - + {/** @ts-ignore */} - +
diff --git a/packages/gi-assets-basic/src/components/Save/info.ts b/packages/gi-assets-basic/src/components/Save/info.ts index 6d8fe2339..ee10db586 100644 --- a/packages/gi-assets-basic/src/components/Save/info.ts +++ b/packages/gi-assets-basic/src/components/Save/info.ts @@ -1,8 +1,9 @@ +import $i18n from '../../i18n'; const ASSET_ID = 'Save'; const info = { id: 'Save', - name: '保存分享', - desc: '保存画布,并分享给其他人', + name: $i18n.get({ id: 'basic.components.Save.info.SaveShare', dm: '保存分享' }), + desc: $i18n.get({ id: 'basic.components.Save.info.SaveTheCanvasAndShare', dm: '保存画布,并分享给其他人' }), icon: 'icon-save', cover: 'http://xxxx.jpg', category: 'workbook', diff --git a/packages/gi-assets-basic/src/components/Save/registerMeta.ts b/packages/gi-assets-basic/src/components/Save/registerMeta.ts index 330d16a64..d4f13122d 100644 --- a/packages/gi-assets-basic/src/components/Save/registerMeta.ts +++ b/packages/gi-assets-basic/src/components/Save/registerMeta.ts @@ -1,5 +1,6 @@ import { extra, utils } from '@antv/gi-sdk'; import info from './info'; +import $i18n from '../../i18n'; const { deepClone, GIAC_CONTENT_METAS } = extra; const metas = deepClone(GIAC_CONTENT_METAS); @@ -12,7 +13,7 @@ export default ({ services }) => { const serviceOptions = utils.getServiceOptions(services, info.services[0]); return { serviceId: { - title: '保存服务', + title: $i18n.get({ id: 'basic.components.Save.registerMeta.SaveService', dm: '保存服务' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', diff --git a/packages/gi-assets-basic/src/components/SegmentedLayout/info.ts b/packages/gi-assets-basic/src/components/SegmentedLayout/info.ts index bc4c815f9..e1e961020 100644 --- a/packages/gi-assets-basic/src/components/SegmentedLayout/info.ts +++ b/packages/gi-assets-basic/src/components/SegmentedLayout/info.ts @@ -1,7 +1,8 @@ +import $i18n from '../../i18n'; const info = { id: 'SegmentedLayout', // up and down layout - name: '分段布局', - desc: '分段器布局', + name: $i18n.get({ id: 'basic.components.SegmentedLayout.info.SegmentLayout', dm: '分段布局' }), + desc: $i18n.get({ id: 'basic.components.SegmentedLayout.info.SectionalizerLayout', dm: '分段器布局' }), icon: 'icon-pic-center', cover: 'http://xxxx.jpg', category: 'container-components', diff --git a/packages/gi-assets-basic/src/components/SegmentedLayout/registerMeta.ts b/packages/gi-assets-basic/src/components/SegmentedLayout/registerMeta.ts index 0f8f8d07d..28646895c 100644 --- a/packages/gi-assets-basic/src/components/SegmentedLayout/registerMeta.ts +++ b/packages/gi-assets-basic/src/components/SegmentedLayout/registerMeta.ts @@ -1,13 +1,17 @@ +import $i18n from '../../i18n'; const registerMeta = context => { const { GIAC_CONTENT_ITEMS } = context; return { containers: [ { id: 'GI_CONTAINER_SIDE', - name: '侧边容器', + name: $i18n.get({ id: 'basic.components.SegmentedLayout.registerMeta.SideContainer', dm: '侧边容器' }), required: true, GI_CONTAINER: { - title: '集成组件', + title: $i18n.get({ + id: 'basic.components.SegmentedLayout.registerMeta.IntegratedComponents', + dm: '集成组件', + }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', @@ -19,7 +23,7 @@ const registerMeta = context => { }, width: { type: 'number', - title: '容器宽度', + title: $i18n.get({ id: 'basic.components.SegmentedLayout.registerMeta.ContainerWidth', dm: '容器宽度' }), 'x-component': 'NumberPicker', 'x-decorator': 'FormItem', default: 360, diff --git a/packages/gi-assets-basic/src/components/SegmentedLayout/useComponents.tsx b/packages/gi-assets-basic/src/components/SegmentedLayout/useComponents.tsx index 9358715df..1aa73c2d4 100644 --- a/packages/gi-assets-basic/src/components/SegmentedLayout/useComponents.tsx +++ b/packages/gi-assets-basic/src/components/SegmentedLayout/useComponents.tsx @@ -1,5 +1,6 @@ import { Empty } from 'antd'; import React from 'react'; +import $i18n from '../../i18n'; const useComponents = (GI_CONTAINER, ComponentCfgMap, assets) => { return React.useMemo(() => { @@ -17,7 +18,14 @@ const useComponents = (GI_CONTAINER, ComponentCfgMap, assets) => { id: 'empty', icon: 'icon-empty', props: {}, - children: , + children: ( + + ), }, ]; } diff --git a/packages/gi-assets-basic/src/components/SelectExchangeMenuItem/Component.tsx b/packages/gi-assets-basic/src/components/SelectExchangeMenuItem/Component.tsx index b4c67c63e..594416150 100644 --- a/packages/gi-assets-basic/src/components/SelectExchangeMenuItem/Component.tsx +++ b/packages/gi-assets-basic/src/components/SelectExchangeMenuItem/Component.tsx @@ -3,6 +3,7 @@ import React from 'react'; import { Menu } from 'antd'; import type { ContextMenuValue } from '@antv/graphin'; import { GraphData } from '@antv/g6'; +import $i18n from '../../i18n'; export interface IProps { contextmenu: ContextMenuValue; @@ -13,25 +14,28 @@ const SelectExchangeMenuItem: React.FunctionComponent = props => { const { graph } = useContext(); // 输入当前被选择的节点,实现 节点+边 的反选效果 - const exchangeSelectContents = React.useCallback((nodeIds: any[]) => { - const graphData = graph.save() as GraphData; - const selectedNodeMap: any = {}; - // 遍历所有节点。清空状态 + 将每个节点的“selected状态”设置为相反值 - graphData.nodes?.forEach((n: any) => { - graph.clearItemStates(n.id!); - const finalStatus = !nodeIds.includes(n.id!) ; - if(finalStatus){ - selectedNodeMap[n.id!] = n; - } - graph.setItemState(n.id!, 'selected', finalStatus); - }); - // 遍历所有边。清空状态 + 当source和target对应的节点都被选中时,边被选中 - graphData.edges?.forEach((edge) => { - graph.clearItemStates(edge.id!); - let finalStatus = selectedNodeMap[edge.source!] && selectedNodeMap[edge.target!]; - graph.setItemState(edge.id!, 'selected', !!finalStatus); - }); - },[graph]); + const exchangeSelectContents = React.useCallback( + (nodeIds: any[]) => { + const graphData = graph.save() as GraphData; + const selectedNodeMap: any = {}; + // 遍历所有节点。清空状态 + 将每个节点的“selected状态”设置为相反值 + graphData.nodes?.forEach((n: any) => { + graph.clearItemStates(n.id!); + const finalStatus = !nodeIds.includes(n.id!); + if (finalStatus) { + selectedNodeMap[n.id!] = n; + } + graph.setItemState(n.id!, 'selected', finalStatus); + }); + // 遍历所有边。清空状态 + 当source和target对应的节点都被选中时,边被选中 + graphData.edges?.forEach(edge => { + graph.clearItemStates(edge.id!); + let finalStatus = selectedNodeMap[edge.source!] && selectedNodeMap[edge.target!]; + graph.setItemState(edge.id!, 'selected', !!finalStatus); + }); + }, + [graph], + ); const handleClick = React.useCallback(() => { contextmenu?.onClose(); @@ -39,14 +43,14 @@ const SelectExchangeMenuItem: React.FunctionComponent = props => { graph.setItemState(contextmenu.item, 'selected', true); } const nodeIds = (graph.findAllByState('node', 'selected') || []).map(n => n.getID()); - exchangeSelectContents(nodeIds) + exchangeSelectContents(nodeIds); }, [contextmenu, graph]); return ( - 反选节点 + {$i18n.get({ id: 'basic.components.SelectExchangeMenuItem.Component.InverseNodes', dm: '反选节点' })} - ) + ); }; export default SelectExchangeMenuItem; diff --git a/packages/gi-assets-basic/src/components/SelectExchangeMenuItem/info.ts b/packages/gi-assets-basic/src/components/SelectExchangeMenuItem/info.ts index bf28e307d..418df00c7 100644 --- a/packages/gi-assets-basic/src/components/SelectExchangeMenuItem/info.ts +++ b/packages/gi-assets-basic/src/components/SelectExchangeMenuItem/info.ts @@ -1,7 +1,8 @@ +import $i18n from '../../i18n'; const info = { id: 'SelectExchangeMenuItem', - name: '反选', - desc: '反选已选择节点', + name: $i18n.get({ id: 'basic.components.SelectExchangeMenuItem.info.Inverse', dm: '反选' }), + desc: $i18n.get({ id: 'basic.components.SelectExchangeMenuItem.info.InverseSelectedNodes', dm: '反选已选择节点' }), icon: 'icon-revert-select', // 临时 cover: 'http://xxxx.jpg', category: 'canvas-interaction', diff --git a/packages/gi-assets-basic/src/components/SideSelectTabs/QueryContainer.tsx b/packages/gi-assets-basic/src/components/SideSelectTabs/QueryContainer.tsx index 6033b50b3..960eeea8d 100644 --- a/packages/gi-assets-basic/src/components/SideSelectTabs/QueryContainer.tsx +++ b/packages/gi-assets-basic/src/components/SideSelectTabs/QueryContainer.tsx @@ -63,7 +63,6 @@ const QueryContainer: React.FunctionComponent = props => { top: '14px', fontSize: 10, }; - const { children } = props; return (
diff --git a/packages/gi-assets-basic/src/components/SideSelectTabs/info.ts b/packages/gi-assets-basic/src/components/SideSelectTabs/info.ts index 5ab05cda3..c1c146c15 100644 --- a/packages/gi-assets-basic/src/components/SideSelectTabs/info.ts +++ b/packages/gi-assets-basic/src/components/SideSelectTabs/info.ts @@ -1,8 +1,11 @@ -/** index.md 中解析得到默认值,也可用户手动修改 */ +import $i18n from '../../i18n'; /** index.md 中解析得到默认值,也可用户手动修改 */ const info = { id: 'SideSelectTabs', - name: '下拉导航栏', - desc: '侧边下拉导航栏,可集成分析组件', + name: $i18n.get({ id: 'basic.components.SideSelectTabs.info.DropDownNavigationBar', dm: '下拉导航栏' }), + desc: $i18n.get({ + id: 'basic.components.SideSelectTabs.info.SideDropDownNavigationBar', + dm: '侧边下拉导航栏,可集成分析组件', + }), icon: 'icon-sidebar', cover: 'http://xxxx.jpg', category: 'container-components', diff --git a/packages/gi-assets-basic/src/components/SideSelectTabs/registerMeta.ts b/packages/gi-assets-basic/src/components/SideSelectTabs/registerMeta.ts index fe2e99ff4..471f23d96 100644 --- a/packages/gi-assets-basic/src/components/SideSelectTabs/registerMeta.ts +++ b/packages/gi-assets-basic/src/components/SideSelectTabs/registerMeta.ts @@ -1,4 +1,5 @@ import { extra } from '@antv/gi-sdk'; +import $i18n from '../../i18n'; const { deepClone, GI_CONTAINER_METAS } = extra; const metas = deepClone(GI_CONTAINER_METAS); @@ -12,7 +13,7 @@ const registerMeta = context => { const schema = { GI_CONTAINER: { - title: '集成组件', + title: $i18n.get({ id: 'basic.components.SideSelectTabs.registerMeta.IntegratedComponents', dm: '集成组件' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', @@ -25,7 +26,7 @@ const registerMeta = context => { width, offset, placement: { - title: '放置方位', + title: $i18n.get({ id: 'basic.components.SideSelectTabs.registerMeta.PlacementOrientation', dm: '放置方位' }), type: 'string', 'x-decorator': 'FormItem', 'x-component': 'Select', @@ -33,7 +34,7 @@ const registerMeta = context => { options: [ { value: 'LB', - label: '左下 / left', + label: $i18n.get({ id: 'basic.components.SideSelectTabs.registerMeta.LowerLeftLeft', dm: '左下 / left' }), }, ], }, diff --git a/packages/gi-assets-basic/src/components/SideTabs/Component.tsx b/packages/gi-assets-basic/src/components/SideTabs/Component.tsx index bcb960b46..7ed1c8ae4 100755 --- a/packages/gi-assets-basic/src/components/SideTabs/Component.tsx +++ b/packages/gi-assets-basic/src/components/SideTabs/Component.tsx @@ -8,6 +8,7 @@ import './index.less'; import SideContainer from './SideContainer'; import type { ContainerProps } from './typing'; import WrapTab from './WrapTab'; +import $i18n from '../../i18n'; const { TabPane } = Tabs; const defaultVisibleKey = 'side-tabs-default-visible'; export interface SideTabsProps extends ContainerProps { @@ -86,7 +87,10 @@ const SideTabs: React.FunctionComponent = props => { }; const tabBarExtraContent = ( - +