@huanban/rulego-editor-core 1.4.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -8
- package/dist/ai/ai-chat-options.d.ts +12 -0
- package/dist/api/AIAssistantAPI.d.ts +29 -0
- package/dist/api/AIManager.d.ts +7 -1
- package/dist/api/ApiProvider.d.ts +17 -4
- package/dist/api/DebugSocketClient.d.ts +2 -0
- package/dist/api/GlobalConfigAPI.d.ts +35 -0
- package/dist/api/IoTPointTemplateAPI.d.ts +32 -0
- package/dist/api/MarketplaceAPI.d.ts +39 -0
- package/dist/api/RuleChainAPI.d.ts +23 -4
- package/dist/api/RuleChainVersionsAPI.d.ts +28 -0
- package/dist/api/SkillsAPI.d.ts +31 -0
- package/dist/api/UserAPI.d.ts +39 -0
- package/dist/api/extended-api-shared.d.ts +25 -0
- package/dist/api/index.d.ts +19 -2
- package/dist/api/public-api.test-d.d.ts +87 -0
- package/dist/api/response-utils.d.ts +1 -0
- package/dist/api/types.d.ts +86 -14
- package/dist/chunks/editor-core-api-BQiYFuIO.js +1157 -0
- package/dist/chunks/editor-core-canvas-nodes-BE9eN51s.js +6921 -0
- package/dist/chunks/editor-core-code-editor-DFm5Owtv.js +660 -0
- package/dist/chunks/{editor-core-default-components-BjF65lar.js → editor-core-default-components-BsNP8ma1.js} +98 -98
- package/dist/chunks/editor-core-dialogs-D9YHvzys.js +12009 -0
- package/dist/chunks/{editor-core-locales-i6o28vm2.js → editor-core-locales-CsqTh7Wh.js} +1723 -11
- package/dist/chunks/{editor-core-node-patches-BJTT3TuX.js → editor-core-node-patches-Dbi8XYxu.js} +633 -184
- package/dist/chunks/{editor-core-node-views-BOaPVdmN.js → editor-core-node-views-C8FQYC3E.js} +39 -29
- package/dist/chunks/editor-core-property-drawers-Bqmp9B_J.js +9562 -0
- package/dist/chunks/editor-core-settings-DcGCJSc7.js +4161 -0
- package/dist/chunks/editor-core-standalone-C7pzm8ZB.js +10013 -0
- package/dist/chunks/{editor-core-styles-DFhXz0vB.js → editor-core-styles-CwjFPfAo.js} +967 -510
- package/dist/chunks/vendor-highlight-acC2fLd8.js +5868 -0
- package/dist/chunks/vendor-logicflow-core-runtime-DpsWXOGl.js +4 -0
- package/dist/chunks/vendor-logicflow-shared-C_kIdBKO.js +4 -0
- package/dist/core/ActionRegistry.d.ts +4 -2
- package/dist/core/DataAdapter.d.ts +17 -1
- package/dist/core/DialogProvider.d.ts +33 -0
- package/dist/core/EditorCore.d.ts +16 -3
- package/dist/core/FieldCapabilityRegistry.d.ts +4 -1
- package/dist/core/FieldChangeRegistry.d.ts +3 -1
- package/dist/core/I18nManager.d.ts +1 -1
- package/dist/core/IdentityProvider.d.ts +32 -0
- package/dist/core/OptionSourceRegistry.d.ts +4 -1
- package/dist/core/PropertyControlRegistry.d.ts +29 -0
- package/dist/core/ThemeManager.d.ts +7 -0
- package/dist/core/anchored-popover.d.ts +16 -0
- package/dist/core/assistant-dsl.d.ts +18 -0
- package/dist/core/business-log-config.d.ts +18 -0
- package/dist/core/clean-snapshot.d.ts +14 -0
- package/dist/core/component-localization.d.ts +17 -0
- package/dist/core/component-palette.d.ts +3 -0
- package/dist/core/connection-status.d.ts +11 -0
- package/dist/core/dialog-styles.d.ts +1 -0
- package/dist/core/editor-capabilities.d.ts +82 -1
- package/dist/core/editor-edge-anchors.d.ts +16 -0
- package/dist/core/endpoint-protocol.d.ts +15 -0
- package/dist/core/expression-preview.d.ts +6 -0
- package/dist/core/field-protocol.d.ts +19 -4
- package/dist/core/global-config.d.ts +47 -0
- package/dist/core/global-search.d.ts +31 -0
- package/dist/core/group-protocol.d.ts +56 -0
- package/dist/core/identity-provider-default.d.ts +32 -0
- package/dist/core/index.d.ts +31 -5
- package/dist/core/keymap.d.ts +10 -0
- package/dist/core/payload-kv.d.ts +7 -0
- package/dist/core/rule-chain-versions.d.ts +143 -0
- package/dist/core/run-analysis.d.ts +126 -0
- package/dist/core/runtime-field-dictionary.d.ts +3 -0
- package/dist/core/save-conflict.d.ts +1 -0
- package/dist/core/server-status.d.ts +1 -0
- package/dist/core/toolbar-icons.d.ts +1 -1
- package/dist/core/variable-completion.d.ts +13 -0
- package/dist/core/websocket-auth.d.ts +2 -0
- package/dist/defaults/analysis-locales.d.ts +241 -0
- package/dist/defaults/component-locale-categories.d.ts +14 -0
- package/dist/defaults/component-locale-data.d.ts +4 -0
- package/dist/defaults/component-locale-en-US.d.ts +10 -0
- package/dist/defaults/component-locale-summaries.d.ts +15 -0
- package/dist/defaults/component-locale-zh-CN.d.ts +10 -0
- package/dist/defaults/editor-shell-locales.d.ts +290 -0
- package/dist/defaults/example-chain.d.ts +2 -0
- package/dist/defaults/field-interaction-locales.d.ts +19 -0
- package/dist/defaults/global-config-locales.d.ts +166 -0
- package/dist/defaults/official-component-fallbacks.d.ts +2 -1
- package/dist/defaults/point-template-locales.d.ts +64 -0
- package/dist/index.cjs +2856 -2086
- package/dist/index.d.ts +33 -10
- package/dist/index.esm.js +1182 -810
- package/dist/index.umd.js +2850 -2080
- package/dist/nodes/UnknownNodeModel.d.ts +12 -1
- package/dist/standalone/HuanbanRulegoEditor.d.ts +145 -13
- package/dist/standalone/auth-fetch.d.ts +1 -0
- package/dist/standalone/auth-ui-defaults.d.ts +15 -0
- package/dist/standalone/code-editor.d.ts +7 -5
- package/dist/standalone/connection-status-binding.d.ts +3 -2
- package/dist/standalone/custom-nodes.d.ts +13 -0
- package/dist/standalone/drawer-locale.d.ts +12 -0
- package/dist/standalone/drawer-unsaved-guard.d.ts +6 -1
- package/dist/standalone/dynamic-field-browse.d.ts +25 -0
- package/dist/standalone/edge-label-quick-editor.d.ts +2 -1
- package/dist/standalone/editor-actions.d.ts +1 -0
- package/dist/standalone/editor-canvas-anchors.d.ts +19 -0
- package/dist/standalone/editor-canvas-shortcuts.d.ts +1 -0
- package/dist/standalone/editor-chain-info.d.ts +1 -0
- package/dist/standalone/editor-debug-data.d.ts +18 -0
- package/dist/standalone/editor-debug-ws.d.ts +2 -0
- package/dist/standalone/editor-delete.d.ts +5 -3
- package/dist/standalone/editor-dialog-provider.d.ts +3 -0
- package/dist/standalone/editor-dialogs.d.ts +25 -2
- package/dist/standalone/editor-global-config.d.ts +44 -0
- package/dist/standalone/editor-group-interactions.d.ts +1 -0
- package/dist/standalone/editor-host-region-styles.d.ts +1 -0
- package/dist/standalone/editor-host-regions.d.ts +53 -0
- package/dist/standalone/editor-login.d.ts +15 -0
- package/dist/standalone/editor-overlays.d.ts +5 -0
- package/dist/standalone/editor-property-drawers.d.ts +3 -1
- package/dist/standalone/editor-run-analysis.d.ts +81 -0
- package/dist/standalone/editor-run-compare.d.ts +20 -0
- package/dist/standalone/editor-run-waterfall.d.ts +11 -0
- package/dist/standalone/editor-toast.d.ts +1 -1
- package/dist/standalone/editor-toolbar-presentation.d.ts +12 -0
- package/dist/standalone/editor-toolbar.d.ts +5 -1
- package/dist/standalone/editor-ui-configuration.d.ts +55 -0
- package/dist/standalone/editor-ui-settings.d.ts +26 -0
- package/dist/standalone/editor-user-menu.d.ts +8 -0
- package/dist/standalone/editor-version-history.d.ts +82 -0
- package/dist/standalone/editor-workspace-shell.d.ts +47 -0
- package/dist/standalone/editor-workspace-styles.d.ts +1 -0
- package/dist/standalone/field-expression-preview.d.ts +12 -0
- package/dist/standalone/group-node.d.ts +19 -3
- package/dist/standalone/icon-utils.d.ts +7 -0
- package/dist/standalone/index.d.ts +17 -5
- package/dist/standalone/keyboard-events.d.ts +3 -0
- package/dist/standalone/multi-select-popover.d.ts +16 -0
- package/dist/standalone/node-copy.d.ts +1 -0
- package/dist/standalone/node-definitions.d.ts +4 -0
- package/dist/standalone/node-renderer-utils.d.ts +21 -0
- package/dist/standalone/node-theme.d.ts +1 -1
- package/dist/standalone/point-template-actions.d.ts +43 -0
- package/dist/standalone/property-field-draft.d.ts +5 -0
- package/dist/standalone/question-list-editor.d.ts +35 -0
- package/dist/standalone/shared-node-manager.d.ts +14 -0
- package/dist/standalone/single-select-popover.d.ts +6 -0
- package/dist/standalone/theme-scope.d.ts +15 -0
- package/dist/standalone/themes.d.ts +4 -0
- package/dist/standalone/variable-completion-dropdown.d.ts +18 -0
- package/dist/types/component.d.ts +22 -1
- package/dist/types/editor.d.ts +41 -0
- package/dist/utils/relation-utils.d.ts +19 -1
- package/dist/version.d.ts +2 -2
- package/package.json +3 -3
- package/vite-chunks.mjs +66 -0
- package/dist/chunks/editor-core-code-editor-CRki2wA_.js +0 -512
- package/dist/chunks/editor-core-dialogs-BMWb0WRN.js +0 -17228
- package/dist/chunks/editor-core-property-drawers-BPh-jj1b.js +0 -7998
- package/dist/chunks/editor-core-standalone-Cls7lcgT.js +0 -11302
- package/dist/chunks/vendor-logicflow-core-runtime-Cp6IBEjB.js +0 -217
- package/dist/chunks/vendor-logicflow-shared-C7YynLDn.js +0 -4
|
@@ -1,4 +1,802 @@
|
|
|
1
|
-
|
|
1
|
+
import { q as R, s as v, t as I, v as S, x as D, y as x } from "./editor-core-canvas-nodes-BE9eN51s.js";
|
|
2
|
+
import { d as A } from "./editor-core-default-components-BsNP8ma1.js";
|
|
3
|
+
import { D as N } from "./editor-core-node-views-C8FQYC3E.js";
|
|
4
|
+
function w(e) {
|
|
5
|
+
const t = {};
|
|
6
|
+
return I(e, (a, n) => (n !== void 0 && (t[a] = n), n)), t;
|
|
7
|
+
}
|
|
8
|
+
const p = Object.fromEntries(A.map((e) => [e.type, w(e)]));
|
|
9
|
+
function b(e, t = "", a = {}) {
|
|
10
|
+
if (typeof e == "string") a[t] = e;
|
|
11
|
+
else if (e && typeof e == "object")
|
|
12
|
+
for (const [n, o] of Object.entries(e)) b(o, t ? `${t}.${n}` : n, a);
|
|
13
|
+
return a;
|
|
14
|
+
}
|
|
15
|
+
const k = R({ component: { nodes: N } }).componentDetails, g = Object.fromEntries(Object.entries(k).map(([e, t]) => [e, b(t)])), C = Object.fromEntries(
|
|
16
|
+
[.../* @__PURE__ */ new Set([...Object.keys(p), ...Object.keys(g)])].map((e) => {
|
|
17
|
+
var t;
|
|
18
|
+
return [
|
|
19
|
+
e,
|
|
20
|
+
{ ...p[e], ...g[e], ...(t = v[e]) == null ? void 0 : t.zh }
|
|
21
|
+
];
|
|
22
|
+
})
|
|
23
|
+
);
|
|
24
|
+
function M(e, t = {}) {
|
|
25
|
+
return Object.fromEntries(Object.entries(C).map(([a, n]) => [
|
|
26
|
+
a,
|
|
27
|
+
Object.fromEntries(Object.entries(n).map(([o, i]) => {
|
|
28
|
+
var r, m, h;
|
|
29
|
+
const s = (r = p[a]) == null ? void 0 : r[o], d = (m = v[a]) == null ? void 0 : m.en, l = ((h = t[a]) == null ? void 0 : h[o]) ?? (o === "label" || o === "desc" ? d == null ? void 0 : d[o] : void 0) ?? e[i] ?? (s && !new RegExp("\\p{Script=Han}", "u").test(s) ? s : i);
|
|
30
|
+
return [o, l];
|
|
31
|
+
}))
|
|
32
|
+
]));
|
|
33
|
+
}
|
|
34
|
+
const f = {
|
|
35
|
+
...S(C),
|
|
36
|
+
componentFieldGroups: { advanced: "高级", advancedConfiguration: "高级配置" }
|
|
37
|
+
}, O = {
|
|
38
|
+
editorUi: {
|
|
39
|
+
title: "功能与显示",
|
|
40
|
+
layout: "界面区域",
|
|
41
|
+
features: "功能开关",
|
|
42
|
+
top: "顶部工具栏",
|
|
43
|
+
canvas: "画布工具栏",
|
|
44
|
+
tabs: "规则链标签页",
|
|
45
|
+
sidebar: "左侧资源栏",
|
|
46
|
+
statusBar: "底部状态栏",
|
|
47
|
+
header: "标题区域",
|
|
48
|
+
iconOnly: "工具栏仅图标",
|
|
49
|
+
sidebarCollapsed: "收起左侧栏",
|
|
50
|
+
hideEdgeLabels: "隐藏连线标签",
|
|
51
|
+
grid: "画布网格",
|
|
52
|
+
mesh: "线网格",
|
|
53
|
+
dot: "点网格",
|
|
54
|
+
position: "画布工具栏位置",
|
|
55
|
+
topRight: "右上",
|
|
56
|
+
topLeft: "左上",
|
|
57
|
+
bottomRight: "右下",
|
|
58
|
+
bottomLeft: "左下",
|
|
59
|
+
topButtons: "顶部按钮",
|
|
60
|
+
canvasButtons: "画布按钮",
|
|
61
|
+
titles: "标题与说明",
|
|
62
|
+
headerTitle: "标题",
|
|
63
|
+
headerDescription: "说明",
|
|
64
|
+
delete: "删除节点与连线",
|
|
65
|
+
contextMenu: "右键菜单",
|
|
66
|
+
commandPalette: "命令面板",
|
|
67
|
+
versionBadge: "版本信息",
|
|
68
|
+
deploy: "上线 / 下线",
|
|
69
|
+
managed: "宿主管理",
|
|
70
|
+
featureOff: "功能未开启",
|
|
71
|
+
applied: "已应用",
|
|
72
|
+
restored: "已恢复宿主设置",
|
|
73
|
+
reset: "恢复宿主设置",
|
|
74
|
+
export: "导出界面配置",
|
|
75
|
+
exported: "配置已导出",
|
|
76
|
+
settingsPages: "设置入口",
|
|
77
|
+
settingsTab: { user: "账号与登录", setting: "系统设置", ai: "AI 助理设置", skills: "全局技能", globalConfig: "全局配置" },
|
|
78
|
+
enabled: "已开启",
|
|
79
|
+
disabled: "已关闭",
|
|
80
|
+
toggleVisibility: "切换入口是否显示,不改变功能权限",
|
|
81
|
+
toggleFeature: "切换此项是否开启",
|
|
82
|
+
noSettings: "暂无可用设置"
|
|
83
|
+
},
|
|
84
|
+
fieldValidation: {
|
|
85
|
+
required: "该项是必须的",
|
|
86
|
+
noVariables: "该字段不支持 ${} 占位符变量",
|
|
87
|
+
pattern: "格式不正确",
|
|
88
|
+
number: "必须是数值类型",
|
|
89
|
+
integer: "必须是整型",
|
|
90
|
+
step: "必须符合步长 {{step}}",
|
|
91
|
+
min: "不能小于 {{min}}",
|
|
92
|
+
max: "不能大于 {{max}}",
|
|
93
|
+
minLength: "长度不能少于 {{min}} 个字符",
|
|
94
|
+
maxLength: "长度不能超过 {{max}} 个字符"
|
|
95
|
+
},
|
|
96
|
+
editorShell: {
|
|
97
|
+
components: "组件",
|
|
98
|
+
resources: "规则链",
|
|
99
|
+
navigation: "编辑器导航",
|
|
100
|
+
newChain: "新建规则链",
|
|
101
|
+
newSubChain: "新建子规则链",
|
|
102
|
+
newName: "新规则链",
|
|
103
|
+
newNamePrompt: "规则链名称",
|
|
104
|
+
refresh: "刷新",
|
|
105
|
+
manage: "管理规则链",
|
|
106
|
+
sharedNodes: "共享节点",
|
|
107
|
+
globalConfig: "全局配置",
|
|
108
|
+
businessLogs: "业务日志",
|
|
109
|
+
versions: "历史版本",
|
|
110
|
+
saveDraft: "保存草稿",
|
|
111
|
+
saveVersion: "保存并上线",
|
|
112
|
+
saveAll: "保存全部",
|
|
113
|
+
saveAndDeployConfirm: "此规则链当前未上线。正式保存将记录新版本并上线,是否继续?",
|
|
114
|
+
draftSaved: "草稿已保存",
|
|
115
|
+
versionSaved: "版本已保存",
|
|
116
|
+
resetSaved: "恢复已保存版本",
|
|
117
|
+
resetConfirm: "恢复已保存的规则链?当前画布和属性面板中未保存的更改将被放弃。",
|
|
118
|
+
resetUnavailable: "当前规则链没有可恢复的保存记录。",
|
|
119
|
+
resetDraftChanged: "读取期间草稿发生变化,未覆盖新的编辑。请重新确认恢复操作。",
|
|
120
|
+
searchChains: "搜索名称、ID 或分类",
|
|
121
|
+
loadMore: "加载更多",
|
|
122
|
+
noChains: "暂无规则链",
|
|
123
|
+
noSearchResults: "没有匹配的规则链",
|
|
124
|
+
configureSource: "请配置 apiBase、workflowFetcher 或 ruleItems",
|
|
125
|
+
loading: "加载中...",
|
|
126
|
+
failed: "请求失败:{{error}}",
|
|
127
|
+
rename: "重命名规则链",
|
|
128
|
+
close: "关闭",
|
|
129
|
+
closeAll: "关闭全部",
|
|
130
|
+
closeOthers: "关闭其他",
|
|
131
|
+
closeRight: "关闭右侧",
|
|
132
|
+
pin: "固定",
|
|
133
|
+
unpin: "取消固定",
|
|
134
|
+
moreTabs: "已打开的规则链",
|
|
135
|
+
unsaved: "未保存",
|
|
136
|
+
closeTitle: "未保存的规则链",
|
|
137
|
+
closeMessage: "“{{name}}”有未保存的更改。",
|
|
138
|
+
saveClose: "保存并关闭",
|
|
139
|
+
discard: "放弃更改",
|
|
140
|
+
cancel: "继续编辑",
|
|
141
|
+
saveFailed: "保存失败,已保留规则链与修改",
|
|
142
|
+
rootChains: "主规则链",
|
|
143
|
+
subChains: "子规则链",
|
|
144
|
+
uncategorized: "未分类",
|
|
145
|
+
collapse: "收起侧栏",
|
|
146
|
+
expand: "展开侧栏",
|
|
147
|
+
searchComponents: "搜索组件",
|
|
148
|
+
clearSearch: "清空搜索",
|
|
149
|
+
documentation: "组件文档",
|
|
150
|
+
recent: "常用组件",
|
|
151
|
+
noComponents: "暂无可用组件",
|
|
152
|
+
inputPort: "允许输入",
|
|
153
|
+
outputPort: "允许输出",
|
|
154
|
+
noInputPort: "不接收输入",
|
|
155
|
+
noOutputPort: "不产生输出",
|
|
156
|
+
selectLanguage: "界面语言",
|
|
157
|
+
selectTheme: "界面主题",
|
|
158
|
+
version: "编辑器版本",
|
|
159
|
+
viewControls: "视图控制",
|
|
160
|
+
runTools: "运行与调试",
|
|
161
|
+
rows: "{{count}} 条",
|
|
162
|
+
loaded: "已加载 {{count}} / {{total}}",
|
|
163
|
+
incompletePage: "服务端重复返回同一页,已停止加载;请检查分页接口。",
|
|
164
|
+
invalidChainResponse: "服务端未返回所选规则链的完整数据,未替换当前画布。",
|
|
165
|
+
removeBindingsConfirm: "确认移除以下已有路由绑定?",
|
|
166
|
+
saveAllResult: "保存完成:成功 {{succeeded}},失败 {{failed}};未保存的修改仍保留。",
|
|
167
|
+
aiDraftChanged: "对话期间画布已有新修改,AI 结果未自动应用。请检查后手动应用。",
|
|
168
|
+
aiReplaceConfirm: "应用此 AI 结果将替换当前规则链草稿。确认应用?",
|
|
169
|
+
aiRemovalConfirm: "此 AI 结果将移除已有节点、连线或路由绑定。确认应用?",
|
|
170
|
+
aiSaveUnverified: "AI 保存结果与服务端回读不一致,未标记为保存成功。",
|
|
171
|
+
addSuccessorNode: "添加后继节点",
|
|
172
|
+
insertNodeOnEdge: "在此连线上插入节点",
|
|
173
|
+
insertLogNode: "插入日志节点"
|
|
174
|
+
}
|
|
175
|
+
}, E = {
|
|
176
|
+
editorUi: {
|
|
177
|
+
title: "Features & Display",
|
|
178
|
+
layout: "Interface regions",
|
|
179
|
+
features: "Features",
|
|
180
|
+
top: "Top toolbar",
|
|
181
|
+
canvas: "Canvas toolbar",
|
|
182
|
+
tabs: "Rule-chain tabs",
|
|
183
|
+
sidebar: "Resource sidebar",
|
|
184
|
+
statusBar: "Status bar",
|
|
185
|
+
header: "Header",
|
|
186
|
+
iconOnly: "Icons only",
|
|
187
|
+
sidebarCollapsed: "Collapse sidebar",
|
|
188
|
+
hideEdgeLabels: "Hide connection labels",
|
|
189
|
+
grid: "Canvas grid",
|
|
190
|
+
mesh: "Lines",
|
|
191
|
+
dot: "Dots",
|
|
192
|
+
position: "Canvas toolbar position",
|
|
193
|
+
topRight: "Top right",
|
|
194
|
+
topLeft: "Top left",
|
|
195
|
+
bottomRight: "Bottom right",
|
|
196
|
+
bottomLeft: "Bottom left",
|
|
197
|
+
topButtons: "Top toolbar buttons",
|
|
198
|
+
canvasButtons: "Canvas buttons",
|
|
199
|
+
titles: "Title & Description",
|
|
200
|
+
headerTitle: "Title",
|
|
201
|
+
headerDescription: "Description",
|
|
202
|
+
delete: "Delete nodes and connections",
|
|
203
|
+
contextMenu: "Context menu",
|
|
204
|
+
commandPalette: "Command palette",
|
|
205
|
+
versionBadge: "Version badge",
|
|
206
|
+
deploy: "Deploy / Stop",
|
|
207
|
+
managed: "Host managed",
|
|
208
|
+
featureOff: "Feature disabled",
|
|
209
|
+
applied: "Applied",
|
|
210
|
+
restored: "Host settings restored",
|
|
211
|
+
reset: "Restore host settings",
|
|
212
|
+
export: "Export interface configuration",
|
|
213
|
+
exported: "Configuration exported",
|
|
214
|
+
settingsPages: "Settings entries",
|
|
215
|
+
settingsTab: { user: "Account & Login", setting: "System settings", ai: "AI assistant settings", skills: "Global skills", globalConfig: "Global configuration" },
|
|
216
|
+
enabled: "Enabled",
|
|
217
|
+
disabled: "Disabled",
|
|
218
|
+
toggleVisibility: "Show or hide this entry without changing feature permissions",
|
|
219
|
+
toggleFeature: "Toggle this setting",
|
|
220
|
+
noSettings: "No settings available"
|
|
221
|
+
},
|
|
222
|
+
fieldValidation: {
|
|
223
|
+
required: "This field is required",
|
|
224
|
+
noVariables: "This field does not accept ${} variables",
|
|
225
|
+
pattern: "Invalid format",
|
|
226
|
+
number: "Must be a number",
|
|
227
|
+
integer: "Must be an integer",
|
|
228
|
+
step: "Must match step {{step}}",
|
|
229
|
+
min: "Must be at least {{min}}",
|
|
230
|
+
max: "Must be at most {{max}}",
|
|
231
|
+
minLength: "Must contain at least {{min}} characters",
|
|
232
|
+
maxLength: "Must contain at most {{max}} characters"
|
|
233
|
+
},
|
|
234
|
+
editorShell: {
|
|
235
|
+
components: "Components",
|
|
236
|
+
resources: "Rule chains",
|
|
237
|
+
navigation: "Editor navigation",
|
|
238
|
+
newChain: "New rule chain",
|
|
239
|
+
newSubChain: "New subchain",
|
|
240
|
+
newName: "New rule chain",
|
|
241
|
+
newNamePrompt: "Rule-chain name",
|
|
242
|
+
refresh: "Refresh",
|
|
243
|
+
manage: "Manage rule chains",
|
|
244
|
+
sharedNodes: "Shared nodes",
|
|
245
|
+
globalConfig: "Global configuration",
|
|
246
|
+
businessLogs: "Business logs",
|
|
247
|
+
versions: "Version history",
|
|
248
|
+
saveDraft: "Save draft",
|
|
249
|
+
saveVersion: "Save and deploy",
|
|
250
|
+
saveAll: "Save all",
|
|
251
|
+
saveAndDeployConfirm: "This rule chain is not running. Saving will record a version and deploy it. Continue?",
|
|
252
|
+
draftSaved: "Draft saved",
|
|
253
|
+
versionSaved: "Version saved",
|
|
254
|
+
resetSaved: "Restore saved version",
|
|
255
|
+
resetConfirm: "Restore the saved rule chain? Unsaved canvas and property edits will be discarded.",
|
|
256
|
+
resetUnavailable: "This rule chain has no saved document to restore.",
|
|
257
|
+
resetDraftChanged: "The draft changed while loading. Your edits were kept; confirm the restore again.",
|
|
258
|
+
searchChains: "Search name, ID or category",
|
|
259
|
+
loadMore: "Load more",
|
|
260
|
+
noChains: "No rule chains",
|
|
261
|
+
noSearchResults: "No matching rule chains",
|
|
262
|
+
configureSource: "Configure apiBase, workflowFetcher or ruleItems",
|
|
263
|
+
loading: "Loading...",
|
|
264
|
+
failed: "Request failed: {{error}}",
|
|
265
|
+
rename: "Rename rule chain",
|
|
266
|
+
close: "Close",
|
|
267
|
+
closeAll: "Close all",
|
|
268
|
+
closeOthers: "Close others",
|
|
269
|
+
closeRight: "Close to the right",
|
|
270
|
+
pin: "Pin",
|
|
271
|
+
unpin: "Unpin",
|
|
272
|
+
moreTabs: "Open rule chains",
|
|
273
|
+
unsaved: "Unsaved",
|
|
274
|
+
closeTitle: "Unsaved rule chain",
|
|
275
|
+
closeMessage: "“{{name}}” has unsaved changes.",
|
|
276
|
+
saveClose: "Save and close",
|
|
277
|
+
discard: "Discard changes",
|
|
278
|
+
cancel: "Keep editing",
|
|
279
|
+
saveFailed: "Save failed. The rule chain and edits were kept.",
|
|
280
|
+
rootChains: "Main rule chains",
|
|
281
|
+
subChains: "Subchains",
|
|
282
|
+
uncategorized: "Uncategorized",
|
|
283
|
+
collapse: "Collapse sidebar",
|
|
284
|
+
expand: "Expand sidebar",
|
|
285
|
+
searchComponents: "Search components",
|
|
286
|
+
clearSearch: "Clear search",
|
|
287
|
+
documentation: "Component documentation",
|
|
288
|
+
recent: "Frequently used",
|
|
289
|
+
noComponents: "No components available",
|
|
290
|
+
inputPort: "Accepts input",
|
|
291
|
+
outputPort: "Produces output",
|
|
292
|
+
noInputPort: "No input",
|
|
293
|
+
noOutputPort: "No output",
|
|
294
|
+
selectLanguage: "Interface language",
|
|
295
|
+
selectTheme: "Interface theme",
|
|
296
|
+
version: "Editor version",
|
|
297
|
+
viewControls: "View controls",
|
|
298
|
+
runTools: "Run and debug",
|
|
299
|
+
rows: "{{count}} items",
|
|
300
|
+
loaded: "Loaded {{count}} / {{total}}",
|
|
301
|
+
incompletePage: "The server repeated a page. Loading stopped; check the pagination API.",
|
|
302
|
+
invalidChainResponse: "The server did not return the selected rule chain. The current canvas was kept.",
|
|
303
|
+
removeBindingsConfirm: "Remove the following existing route bindings?",
|
|
304
|
+
saveAllResult: "Saved: {{succeeded}}; failed: {{failed}}. Unsaved changes have been kept.",
|
|
305
|
+
aiDraftChanged: "The canvas changed during this conversation. Review and apply the AI result manually.",
|
|
306
|
+
aiReplaceConfirm: "Apply this AI result and replace the current rule-chain draft?",
|
|
307
|
+
aiRemovalConfirm: "This AI result removes existing nodes, connections or route bindings. Apply it?",
|
|
308
|
+
aiSaveUnverified: "The AI save result does not match the server readback. It has not been marked as saved.",
|
|
309
|
+
addSuccessorNode: "Add a successor node",
|
|
310
|
+
insertNodeOnEdge: "Insert a node on this connection",
|
|
311
|
+
insertLogNode: "Insert a log node"
|
|
312
|
+
}
|
|
313
|
+
}, P = {
|
|
314
|
+
"common.refresh": "Refresh",
|
|
315
|
+
"common.close": "Close",
|
|
316
|
+
"common.details": "Details",
|
|
317
|
+
"common.loading": "Loading...",
|
|
318
|
+
"common.unknown": "Unknown",
|
|
319
|
+
"common.none": "No differences",
|
|
320
|
+
"common.before": "Before",
|
|
321
|
+
"common.after": "After",
|
|
322
|
+
"common.path": "Field",
|
|
323
|
+
"common.change": "Change",
|
|
324
|
+
"common.added": "Added",
|
|
325
|
+
"common.removed": "Removed",
|
|
326
|
+
"common.changed": "Changed",
|
|
327
|
+
"common.copy": "Copy JSON",
|
|
328
|
+
"common.copied": "JSON copied",
|
|
329
|
+
"common.copyFailed": "Could not copy JSON: {error}",
|
|
330
|
+
"common.fullJson": "Full JSON",
|
|
331
|
+
"common.select": "Select {name}",
|
|
332
|
+
"common.actions": "Actions",
|
|
333
|
+
"common.duration": "Duration",
|
|
334
|
+
"common.error": "Error",
|
|
335
|
+
"common.success": "Success",
|
|
336
|
+
"common.failed": "Failed",
|
|
337
|
+
"version.title": "Version History",
|
|
338
|
+
"version.chainRequired": "Select a saved rule chain to view its history.",
|
|
339
|
+
"version.apiRequired": "Version history requires a configured API URL or a host fetcher.",
|
|
340
|
+
"version.showDrafts": "Show retained drafts",
|
|
341
|
+
"version.version": "Version",
|
|
342
|
+
"version.unnumbered": "Unnumbered",
|
|
343
|
+
"version.current": "Current",
|
|
344
|
+
"version.savedAt": "Saved at",
|
|
345
|
+
"version.source": "Source",
|
|
346
|
+
"version.source.mark": "Version",
|
|
347
|
+
"version.source.save": "Retained draft",
|
|
348
|
+
"version.source.rollback": "Rollback",
|
|
349
|
+
"version.nodes": "Nodes",
|
|
350
|
+
"version.edges": "Connections",
|
|
351
|
+
"version.settings": "Chain settings",
|
|
352
|
+
"version.size": "Size",
|
|
353
|
+
"version.empty": "No versions",
|
|
354
|
+
"version.draftsHidden": "The loaded versions are hidden by the draft filter.",
|
|
355
|
+
"version.loaded": "{loaded} of {total} loaded",
|
|
356
|
+
"version.loadedUnknown": "{loaded} loaded",
|
|
357
|
+
"version.loadMore": "Load earlier versions",
|
|
358
|
+
"version.compare": "Compare selected ({count}/2)",
|
|
359
|
+
"version.comparison": "{older} -> {newer}",
|
|
360
|
+
"version.identical": "The version contents are identical",
|
|
361
|
+
"version.rollback": "Roll back to {version}",
|
|
362
|
+
"version.confirmRollback": "Restore {chainId} to {version}? This replaces the server content, saves and deploys the chain, and creates a new history entry.",
|
|
363
|
+
"version.confirmDirty": "There are local edits to {chainId}. Discard them and reload the persisted rule chain after rollback?",
|
|
364
|
+
"version.rollbackSuccess": "Rolled back to {version}; current content and history have been reloaded.",
|
|
365
|
+
"version.pendingReadback": "The server acknowledged rollback, but reloading or applying the result is incomplete. Retry readback without another rollback.",
|
|
366
|
+
"version.retryReadback": "Retry readback",
|
|
367
|
+
"version.error": "Version operation failed: {error}",
|
|
368
|
+
"version.unauthorized": "Version history access was denied: {error}",
|
|
369
|
+
"version.unsupported": "The server did not provide the requested version resource: {error}",
|
|
370
|
+
"version.invalidResponse": "The server returned an invalid version response: {error}",
|
|
371
|
+
"version.paginationStalled": "Pagination made no progress. Loaded versions are preserved; retry or refresh.",
|
|
372
|
+
"version.draftChanged": "The local draft changed during the operation. It has not been overwritten. Confirm again before reloading.",
|
|
373
|
+
"version.confirmationRequired": "Rollback requires explicit confirmation.",
|
|
374
|
+
"version.readOnly": "Rollback is disabled in this read-only editor.",
|
|
375
|
+
"version.phase.confirming": "Awaiting confirmation...",
|
|
376
|
+
"version.phase.rolling-back": "Rolling back...",
|
|
377
|
+
"version.phase.refreshing": "Reloading current content and history...",
|
|
378
|
+
"version.phase.comparing": "Loading versions for comparison...",
|
|
379
|
+
"run.waterfall": "Execution Waterfall",
|
|
380
|
+
"run.compare": "Run Comparison",
|
|
381
|
+
"run.empty": "No recorded node timing",
|
|
382
|
+
"run.noPair": "Select two existing run records.",
|
|
383
|
+
"run.elapsed": "Recorded span: {duration}",
|
|
384
|
+
"run.slowest": "Slowest",
|
|
385
|
+
"run.offset": "Start offset",
|
|
386
|
+
"run.unfinished": "No output timestamp",
|
|
387
|
+
"run.invalidTiming": "Invalid timing",
|
|
388
|
+
"run.omitted": "{count} logs have no usable node/start timestamp.",
|
|
389
|
+
"run.baseline": "A (baseline)",
|
|
390
|
+
"run.candidate": "B (comparison)",
|
|
391
|
+
"run.selectA": "Baseline run",
|
|
392
|
+
"run.selectB": "Comparison run",
|
|
393
|
+
"run.sameRecord": "Choose two different run records.",
|
|
394
|
+
"run.detailLoading": "Loading run details...",
|
|
395
|
+
"run.loadFailed": "Could not load run details: {error}",
|
|
396
|
+
"run.invalidRecord": "The response is not the requested run record.",
|
|
397
|
+
"run.summary": "Chain-level comparison",
|
|
398
|
+
"run.mixed": "Only one record contains node logs; comparison is limited to chain-level data.",
|
|
399
|
+
"run.summaryOnly": "Neither record contains node logs; comparison is limited to recorded chain summaries.",
|
|
400
|
+
"run.inputDifferent": "The recorded inputs differ. Divergence does not by itself prove a rule-chain change.",
|
|
401
|
+
"run.inputUnknown": "Input equivalence cannot be established from these records.",
|
|
402
|
+
"run.identical": "Recorded node outputs match",
|
|
403
|
+
"run.incomplete": "Some recorded node outputs are missing; equivalence is unknown.",
|
|
404
|
+
"run.firstDivergence": "First difference: {node}",
|
|
405
|
+
"run.node": "Node",
|
|
406
|
+
"run.occurrence": "Occurrence {count}",
|
|
407
|
+
"run.result": "Comparison",
|
|
408
|
+
"run.durationA": "A duration",
|
|
409
|
+
"run.durationB": "B duration",
|
|
410
|
+
"run.delta": "Delta",
|
|
411
|
+
"run.relationA": "A relation",
|
|
412
|
+
"run.relationB": "B relation",
|
|
413
|
+
"run.errorA": "A error",
|
|
414
|
+
"run.errorB": "B error",
|
|
415
|
+
"run.orderChanged": "Execution order differs",
|
|
416
|
+
"run.downstream": "After the first recorded difference",
|
|
417
|
+
"run.inputDiff": "Input differences",
|
|
418
|
+
"run.outputDiff": "Output differences",
|
|
419
|
+
"run.chainOutput": "Recorded chain output differences",
|
|
420
|
+
"run.status.same": "Same",
|
|
421
|
+
"run.status.diverge": "Different",
|
|
422
|
+
"run.status.error": "Error differs",
|
|
423
|
+
"run.status.only-a": "Only A executed",
|
|
424
|
+
"run.status.only-b": "Only B executed",
|
|
425
|
+
"run.status.unknown": "Unknown"
|
|
426
|
+
}, T = {
|
|
427
|
+
"common.refresh": "刷新",
|
|
428
|
+
"common.close": "关闭",
|
|
429
|
+
"common.details": "详情",
|
|
430
|
+
"common.loading": "加载中...",
|
|
431
|
+
"common.unknown": "未知",
|
|
432
|
+
"common.none": "无差异",
|
|
433
|
+
"common.before": "变更前",
|
|
434
|
+
"common.after": "变更后",
|
|
435
|
+
"common.path": "字段",
|
|
436
|
+
"common.change": "变更",
|
|
437
|
+
"common.added": "新增",
|
|
438
|
+
"common.removed": "删除",
|
|
439
|
+
"common.changed": "修改",
|
|
440
|
+
"common.copy": "复制 JSON",
|
|
441
|
+
"common.copied": "JSON 已复制",
|
|
442
|
+
"common.copyFailed": "复制 JSON 失败:{error}",
|
|
443
|
+
"common.fullJson": "完整 JSON",
|
|
444
|
+
"common.select": "选择 {name}",
|
|
445
|
+
"common.actions": "操作",
|
|
446
|
+
"common.duration": "耗时",
|
|
447
|
+
"common.error": "错误",
|
|
448
|
+
"common.success": "成功",
|
|
449
|
+
"common.failed": "失败",
|
|
450
|
+
"version.title": "历史版本",
|
|
451
|
+
"version.chainRequired": "请先选择已保存的规则链。",
|
|
452
|
+
"version.apiRequired": "历史版本需要配置 API 地址或宿主 fetcher。",
|
|
453
|
+
"version.showDrafts": "显示草稿留存",
|
|
454
|
+
"version.version": "版本",
|
|
455
|
+
"version.unnumbered": "未编号",
|
|
456
|
+
"version.current": "当前",
|
|
457
|
+
"version.savedAt": "保存时间",
|
|
458
|
+
"version.source": "来源",
|
|
459
|
+
"version.source.mark": "版本",
|
|
460
|
+
"version.source.save": "草稿留存",
|
|
461
|
+
"version.source.rollback": "回滚留存",
|
|
462
|
+
"version.nodes": "节点",
|
|
463
|
+
"version.edges": "连线",
|
|
464
|
+
"version.settings": "规则链设置",
|
|
465
|
+
"version.size": "大小",
|
|
466
|
+
"version.empty": "暂无历史版本",
|
|
467
|
+
"version.draftsHidden": "当前已加载的版本被草稿筛选隐藏。",
|
|
468
|
+
"version.loaded": "已加载 {loaded} / {total} 条",
|
|
469
|
+
"version.loadedUnknown": "已加载 {loaded} 条",
|
|
470
|
+
"version.loadMore": "加载更早版本",
|
|
471
|
+
"version.compare": "对比选中({count}/2)",
|
|
472
|
+
"version.comparison": "{older} -> {newer}",
|
|
473
|
+
"version.identical": "两个版本内容一致",
|
|
474
|
+
"version.rollback": "回滚到 {version}",
|
|
475
|
+
"version.confirmRollback": "确认将 {chainId} 恢复到 {version}?此操作将覆盖服务端当前内容,保存并部署规则链,并新增一条历史记录。",
|
|
476
|
+
"version.confirmDirty": "{chainId} 存在本地改动。确认放弃这些改动,并在回滚后重新加载已保存的规则链?",
|
|
477
|
+
"version.rollbackSuccess": "已回滚到 {version},当前内容与历史记录已回读。",
|
|
478
|
+
"version.pendingReadback": "服务端已确认回滚,但回读或应用结果尚未完成。请重试回读,不会再次提交回滚。",
|
|
479
|
+
"version.retryReadback": "重试回读",
|
|
480
|
+
"version.error": "版本操作失败:{error}",
|
|
481
|
+
"version.unauthorized": "无权访问历史版本:{error}",
|
|
482
|
+
"version.unsupported": "服务端未提供请求的版本资源:{error}",
|
|
483
|
+
"version.invalidResponse": "服务端返回的版本响应无效:{error}",
|
|
484
|
+
"version.paginationStalled": "分页未返回更多记录。已保留加载结果,可重试或刷新。",
|
|
485
|
+
"version.draftChanged": "操作期间本地草稿发生变化,未覆盖这些改动。请重新确认后再回读。",
|
|
486
|
+
"version.confirmationRequired": "回滚必须经过明确确认。",
|
|
487
|
+
"version.readOnly": "当前编辑器处于只读状态,不能回滚。",
|
|
488
|
+
"version.phase.confirming": "等待确认...",
|
|
489
|
+
"version.phase.rolling-back": "正在回滚...",
|
|
490
|
+
"version.phase.refreshing": "正在回读当前内容与历史记录...",
|
|
491
|
+
"version.phase.comparing": "正在加载对比版本...",
|
|
492
|
+
"run.waterfall": "运行耗时瀑布",
|
|
493
|
+
"run.compare": "运行对比",
|
|
494
|
+
"run.empty": "暂无节点耗时记录",
|
|
495
|
+
"run.noPair": "请选择两条已有运行记录。",
|
|
496
|
+
"run.elapsed": "记录跨度:{duration}",
|
|
497
|
+
"run.slowest": "最慢",
|
|
498
|
+
"run.offset": "开始偏移",
|
|
499
|
+
"run.unfinished": "未收到输出时间戳",
|
|
500
|
+
"run.invalidTiming": "时间数据无效",
|
|
501
|
+
"run.omitted": "{count} 条日志缺少有效节点或开始时间戳。",
|
|
502
|
+
"run.baseline": "A(基准)",
|
|
503
|
+
"run.candidate": "B(对比)",
|
|
504
|
+
"run.selectA": "基准运行",
|
|
505
|
+
"run.selectB": "对比运行",
|
|
506
|
+
"run.sameRecord": "请选择两条不同的运行记录。",
|
|
507
|
+
"run.detailLoading": "正在加载运行详情...",
|
|
508
|
+
"run.loadFailed": "加载运行详情失败:{error}",
|
|
509
|
+
"run.invalidRecord": "响应不是所请求的运行记录。",
|
|
510
|
+
"run.summary": "链级对比",
|
|
511
|
+
"run.mixed": "仅一条记录包含节点日志,本次仅比较链级数据。",
|
|
512
|
+
"run.summaryOnly": "两条记录均无节点日志,本次仅比较已记录的链级摘要。",
|
|
513
|
+
"run.inputDifferent": "两次运行的已记录输入不同,差异本身不能证明规则链发生了修改。",
|
|
514
|
+
"run.inputUnknown": "这些记录无法证明两次运行的输入一致。",
|
|
515
|
+
"run.identical": "已记录的节点输出一致",
|
|
516
|
+
"run.incomplete": "部分节点缺少输出记录,无法判断是否一致。",
|
|
517
|
+
"run.firstDivergence": "首次差异:{node}",
|
|
518
|
+
"run.node": "节点",
|
|
519
|
+
"run.occurrence": "第 {count} 次执行",
|
|
520
|
+
"run.result": "对比结果",
|
|
521
|
+
"run.durationA": "A 耗时",
|
|
522
|
+
"run.durationB": "B 耗时",
|
|
523
|
+
"run.delta": "差值",
|
|
524
|
+
"run.relationA": "A 关系",
|
|
525
|
+
"run.relationB": "B 关系",
|
|
526
|
+
"run.errorA": "A 错误",
|
|
527
|
+
"run.errorB": "B 错误",
|
|
528
|
+
"run.orderChanged": "执行顺序不同",
|
|
529
|
+
"run.downstream": "位于首次已记录差异之后",
|
|
530
|
+
"run.inputDiff": "输入差异",
|
|
531
|
+
"run.outputDiff": "输出差异",
|
|
532
|
+
"run.chainOutput": "已记录的链输出差异",
|
|
533
|
+
"run.status.same": "一致",
|
|
534
|
+
"run.status.diverge": "不同",
|
|
535
|
+
"run.status.error": "错误不同",
|
|
536
|
+
"run.status.only-a": "仅 A 执行",
|
|
537
|
+
"run.status.only-b": "仅 B 执行",
|
|
538
|
+
"run.status.unknown": "未知"
|
|
539
|
+
};
|
|
540
|
+
function F(e) {
|
|
541
|
+
return (typeof e.locale == "function" ? e.locale() : e.locale) || "en-US";
|
|
542
|
+
}
|
|
543
|
+
function j(e = {}) {
|
|
544
|
+
return (t, a) => {
|
|
545
|
+
var c;
|
|
546
|
+
const n = `editor.analysis.${t}`, o = a && Object.fromEntries(Object.entries(a).map(([l, r]) => [l, String(r)])), i = (c = e.t) == null ? void 0 : c.call(e, n, o), s = /^zh(?:-|$)/i.test(F(e)) ? T : P;
|
|
547
|
+
return (i && i !== n && i !== t ? i : s[t]).replace(/\{\{?(\w+)\}?\}/g, (l, r) => (o == null ? void 0 : o[r]) ?? l);
|
|
548
|
+
};
|
|
549
|
+
}
|
|
550
|
+
const L = {
|
|
551
|
+
globalConfig: {
|
|
552
|
+
title: "全局配置",
|
|
553
|
+
add: "新增配置",
|
|
554
|
+
refresh: "刷新",
|
|
555
|
+
key: "键",
|
|
556
|
+
value: "值",
|
|
557
|
+
actions: "操作",
|
|
558
|
+
save: "保存",
|
|
559
|
+
cancel: "取消",
|
|
560
|
+
close: "关闭",
|
|
561
|
+
edit: "编辑",
|
|
562
|
+
remove: "删除",
|
|
563
|
+
revert: "恢复文件值",
|
|
564
|
+
addTitle: "新增全局配置",
|
|
565
|
+
editTitle: "编辑全局配置",
|
|
566
|
+
empty: "暂无全局配置",
|
|
567
|
+
loading: "加载中...",
|
|
568
|
+
overridden: "运行时覆盖",
|
|
569
|
+
inherited: "文件值",
|
|
570
|
+
unknown: "覆盖状态未知",
|
|
571
|
+
overrideTitle: "data/config.json 中的运行时覆盖优先于 config.conf 文件值",
|
|
572
|
+
valuePlaceholder: "请输入值",
|
|
573
|
+
secretPlaceholder: "留空保持原值,输入新值覆盖",
|
|
574
|
+
sensitive: "敏感值,保存后不可查看",
|
|
575
|
+
reference: "变量引用",
|
|
576
|
+
environment: "环境变量引用",
|
|
577
|
+
saved: "已保存",
|
|
578
|
+
noReferences: "当前没有规则链或共享节点引用该键",
|
|
579
|
+
reloadedChains: "已重载规则链({{count}}):{{ids}}",
|
|
580
|
+
reloadedNodes: "已重载共享节点({{count}}):{{ids}}",
|
|
581
|
+
failedChains: "规则链重载失败:{{details}}",
|
|
582
|
+
failedNodes: "共享节点重载失败:{{details}}",
|
|
583
|
+
loadFailed: "加载全局配置失败:{{error}}",
|
|
584
|
+
overridesFailed: "无法读取运行时覆盖,恢复操作不可用:{{error}}",
|
|
585
|
+
saveFailed: "保存失败:{{error}}",
|
|
586
|
+
removeFailed: "删除失败:{{error}}",
|
|
587
|
+
revertFailed: "恢复失败:{{error}}",
|
|
588
|
+
readbackFailed: "变更已提交,但回读配置失败:{{error}}",
|
|
589
|
+
keyRequired: "键名不能为空",
|
|
590
|
+
valueRequired: "值不能为空",
|
|
591
|
+
maskedPlaceholder: "不能使用掩码占位值 ******",
|
|
592
|
+
duplicateKey: "键名已存在,请编辑现有配置",
|
|
593
|
+
invalidResponse: "服务端响应格式不符合配置协议",
|
|
594
|
+
missingApiBase: "请先配置 API 地址或由宿主提供全局配置请求器",
|
|
595
|
+
contextChanged: "服务地址或认证上下文已变更,请刷新后重新编辑",
|
|
596
|
+
unchangedSecret: "值留空,原值保持不变",
|
|
597
|
+
readOnly: "当前编辑器为只读模式",
|
|
598
|
+
busy: "请求尚未完成",
|
|
599
|
+
confirmRemove: "删除全局配置“{{key}}”?引用它的规则链将取不到该值。",
|
|
600
|
+
confirmRevert: "撤销“{{key}}”的运行时覆盖并恢复为 config.conf 文件值?",
|
|
601
|
+
confirmDiscard: "放弃尚未保存的配置修改?",
|
|
602
|
+
confirm: "确认"
|
|
603
|
+
},
|
|
604
|
+
businessLog: {
|
|
605
|
+
nodeTitle: "节点业务日志",
|
|
606
|
+
chainTitle: "日志上报设置",
|
|
607
|
+
before: "执行前模板",
|
|
608
|
+
after: "执行后模板",
|
|
609
|
+
handler: "处理链 ID",
|
|
610
|
+
handlerPlaceholder: "选择或输入处理链 ID",
|
|
611
|
+
chainEnd: "链执行结束时上报",
|
|
612
|
+
clear: "清除配置",
|
|
613
|
+
apply: "应用",
|
|
614
|
+
cancel: "取消",
|
|
615
|
+
close: "关闭",
|
|
616
|
+
templates: "模板变量",
|
|
617
|
+
maskedGlobal: "global 变量在业务日志中掩码为 ***",
|
|
618
|
+
noHandler: "仅记录到运行记录",
|
|
619
|
+
saved: "日志设置已应用,尚未保存规则链",
|
|
620
|
+
missingNode: "节点已不存在,日志设置未应用",
|
|
621
|
+
missingChain: "未找到当前规则链,日志设置未应用",
|
|
622
|
+
changedChain: "当前规则链已切换,请重新打开日志设置",
|
|
623
|
+
changedLog: "日志设置已被其他操作修改,请重新打开",
|
|
624
|
+
applyFailed: "应用日志设置失败:{{error}}",
|
|
625
|
+
listFailed: "处理链列表加载失败,可手动输入 ID:{{error}}",
|
|
626
|
+
unknownHandler: "处理链 {{id}} 不在已加载列表中,请确认它已创建",
|
|
627
|
+
confirmClear: "清除当前日志设置?",
|
|
628
|
+
confirmDiscard: "放弃尚未应用的日志修改?",
|
|
629
|
+
readOnly: "当前编辑器为只读模式",
|
|
630
|
+
loading: "加载处理链..."
|
|
631
|
+
}
|
|
632
|
+
}, B = {
|
|
633
|
+
globalConfig: {
|
|
634
|
+
title: "Global configuration",
|
|
635
|
+
add: "Add configuration",
|
|
636
|
+
refresh: "Refresh",
|
|
637
|
+
key: "Key",
|
|
638
|
+
value: "Value",
|
|
639
|
+
actions: "Actions",
|
|
640
|
+
save: "Save",
|
|
641
|
+
cancel: "Cancel",
|
|
642
|
+
close: "Close",
|
|
643
|
+
edit: "Edit",
|
|
644
|
+
remove: "Delete",
|
|
645
|
+
revert: "Restore file value",
|
|
646
|
+
addTitle: "Add global configuration",
|
|
647
|
+
editTitle: "Edit global configuration",
|
|
648
|
+
empty: "No global configuration",
|
|
649
|
+
loading: "Loading...",
|
|
650
|
+
overridden: "Runtime override",
|
|
651
|
+
inherited: "File value",
|
|
652
|
+
unknown: "Override status unknown",
|
|
653
|
+
overrideTitle: "Runtime values in data/config.json take precedence over config.conf",
|
|
654
|
+
valuePlaceholder: "Enter a value",
|
|
655
|
+
secretPlaceholder: "Leave empty to keep the value, or enter a replacement",
|
|
656
|
+
sensitive: "Sensitive value; not viewable after saving",
|
|
657
|
+
reference: "Variable reference",
|
|
658
|
+
environment: "Environment reference",
|
|
659
|
+
saved: "Saved",
|
|
660
|
+
noReferences: "No rule chains or shared nodes currently reference this key",
|
|
661
|
+
reloadedChains: "Reloaded rule chains ({{count}}): {{ids}}",
|
|
662
|
+
reloadedNodes: "Reloaded shared nodes ({{count}}): {{ids}}",
|
|
663
|
+
failedChains: "Rule-chain reload failures: {{details}}",
|
|
664
|
+
failedNodes: "Shared-node reload failures: {{details}}",
|
|
665
|
+
loadFailed: "Could not load global configuration: {{error}}",
|
|
666
|
+
overridesFailed: "Runtime overrides unavailable; restore is disabled: {{error}}",
|
|
667
|
+
saveFailed: "Save failed: {{error}}",
|
|
668
|
+
removeFailed: "Delete failed: {{error}}",
|
|
669
|
+
revertFailed: "Restore failed: {{error}}",
|
|
670
|
+
readbackFailed: "Changes were submitted, but configuration could not be reloaded: {{error}}",
|
|
671
|
+
keyRequired: "A key is required",
|
|
672
|
+
valueRequired: "A value is required",
|
|
673
|
+
maskedPlaceholder: "The mask placeholder ****** cannot be saved",
|
|
674
|
+
duplicateKey: "This key already exists; edit the existing entry",
|
|
675
|
+
invalidResponse: "The server response does not match the configuration protocol",
|
|
676
|
+
missingApiBase: "Configure an API address or provide a host global-configuration fetcher",
|
|
677
|
+
contextChanged: "The API address or authentication context changed. Refresh before editing.",
|
|
678
|
+
unchangedSecret: "Empty value: the existing secret was kept",
|
|
679
|
+
readOnly: "The editor is read-only",
|
|
680
|
+
busy: "A request is still in progress",
|
|
681
|
+
confirmRemove: 'Delete global configuration "{{key}}"? Rule chains referencing it will no longer have this value.',
|
|
682
|
+
confirmRevert: 'Remove the runtime override for "{{key}}" and restore its config.conf value?',
|
|
683
|
+
confirmDiscard: "Discard unsaved configuration changes?",
|
|
684
|
+
confirm: "Confirm"
|
|
685
|
+
},
|
|
686
|
+
businessLog: {
|
|
687
|
+
nodeTitle: "Node business log",
|
|
688
|
+
chainTitle: "Log reporting",
|
|
689
|
+
before: "Before execution template",
|
|
690
|
+
after: "After execution template",
|
|
691
|
+
handler: "Handler chain ID",
|
|
692
|
+
handlerPlaceholder: "Select or enter a handler chain ID",
|
|
693
|
+
chainEnd: "Report when the chain finishes",
|
|
694
|
+
clear: "Clear configuration",
|
|
695
|
+
apply: "Apply",
|
|
696
|
+
cancel: "Cancel",
|
|
697
|
+
close: "Close",
|
|
698
|
+
templates: "Template variables",
|
|
699
|
+
maskedGlobal: "Global variables are masked as *** in business logs",
|
|
700
|
+
noHandler: "Record in run history only",
|
|
701
|
+
saved: "Log settings applied; the rule chain has not been saved",
|
|
702
|
+
missingNode: "The node no longer exists. Log settings were not applied.",
|
|
703
|
+
missingChain: "No current rule chain. Log settings were not applied.",
|
|
704
|
+
changedChain: "The current rule chain changed. Reopen log settings.",
|
|
705
|
+
changedLog: "Another operation changed these log settings. Reopen the dialog.",
|
|
706
|
+
applyFailed: "Could not apply log settings: {{error}}",
|
|
707
|
+
listFailed: "Could not load handler chains; you can enter an ID: {{error}}",
|
|
708
|
+
unknownHandler: "Handler chain {{id}} is not in the loaded list. Confirm that it exists.",
|
|
709
|
+
confirmClear: "Clear the current log settings?",
|
|
710
|
+
confirmDiscard: "Discard unapplied log settings?",
|
|
711
|
+
readOnly: "The editor is read-only",
|
|
712
|
+
loading: "Loading handler chains..."
|
|
713
|
+
}
|
|
714
|
+
}, U = {
|
|
715
|
+
browse: "浏览地址",
|
|
716
|
+
title: "节点浏览",
|
|
717
|
+
server: "Server",
|
|
718
|
+
load: "加载节点",
|
|
719
|
+
close: "关闭",
|
|
720
|
+
empty: "暂无节点",
|
|
721
|
+
loading: "加载中...",
|
|
722
|
+
noServer: "请填写 Server 地址",
|
|
723
|
+
noApi: "尚未配置 API 服务地址",
|
|
724
|
+
invalid: "节点浏览响应格式不正确"
|
|
725
|
+
}, q = {
|
|
726
|
+
browse: "Browse addresses",
|
|
727
|
+
title: "Browse nodes",
|
|
728
|
+
server: "Server",
|
|
729
|
+
load: "Load nodes",
|
|
730
|
+
close: "Close",
|
|
731
|
+
empty: "No nodes",
|
|
732
|
+
loading: "Loading...",
|
|
733
|
+
noServer: "Enter a server address",
|
|
734
|
+
noApi: "API base URL is not configured",
|
|
735
|
+
invalid: "Invalid node browsing response"
|
|
736
|
+
}, H = {
|
|
737
|
+
title: "预览",
|
|
738
|
+
observed: "按最近一次调试数据代入",
|
|
739
|
+
partial: "仅代入已存在的纯字段路径,其他表达式保持原样"
|
|
740
|
+
}, J = {
|
|
741
|
+
title: "Preview",
|
|
742
|
+
observed: "Using the latest observed debug message",
|
|
743
|
+
partial: "Only existing field paths are substituted; other expressions are unchanged"
|
|
744
|
+
}, W = {
|
|
745
|
+
import: "Import point template",
|
|
746
|
+
saveTemplate: "Save point template",
|
|
747
|
+
id: "Template ID",
|
|
748
|
+
name: "Name",
|
|
749
|
+
protocol: "Protocol",
|
|
750
|
+
category: "Category",
|
|
751
|
+
points: "Points",
|
|
752
|
+
close: "Close",
|
|
753
|
+
cancel: "Cancel",
|
|
754
|
+
save: "Save",
|
|
755
|
+
loading: "Loading templates...",
|
|
756
|
+
saving: "Saving template...",
|
|
757
|
+
empty: "No point templates",
|
|
758
|
+
emptyPoints: "The point table is empty",
|
|
759
|
+
required: "Template ID and name are required",
|
|
760
|
+
unconfigured: "Point template service is not configured (apiBase)",
|
|
761
|
+
invalidResponse: "Invalid point template response",
|
|
762
|
+
httpError: "HTTP {status}",
|
|
763
|
+
loadFailed: "Could not load point templates: {message}",
|
|
764
|
+
saveFailed: "Could not save point template: {message}",
|
|
765
|
+
importFailed: "Could not import point template: {message}",
|
|
766
|
+
apply: "Import template {name}",
|
|
767
|
+
imported: "Imported {count} points from template {name}",
|
|
768
|
+
saved: "Point template saved"
|
|
769
|
+
}, V = {
|
|
770
|
+
import: "从点位模板导入",
|
|
771
|
+
saveTemplate: "保存为点位模板",
|
|
772
|
+
id: "模板ID",
|
|
773
|
+
name: "名称",
|
|
774
|
+
protocol: "协议",
|
|
775
|
+
category: "分类",
|
|
776
|
+
points: "点位数",
|
|
777
|
+
close: "关闭",
|
|
778
|
+
cancel: "取消",
|
|
779
|
+
save: "保存",
|
|
780
|
+
loading: "正在加载模板...",
|
|
781
|
+
saving: "正在保存模板...",
|
|
782
|
+
empty: "暂无点位模板",
|
|
783
|
+
emptyPoints: "当前点位表为空",
|
|
784
|
+
required: "请填写模板ID和名称",
|
|
785
|
+
unconfigured: "点位模板服务未配置(apiBase)",
|
|
786
|
+
invalidResponse: "点位模板响应格式无效",
|
|
787
|
+
httpError: "HTTP {status}",
|
|
788
|
+
loadFailed: "获取点位模板失败:{message}",
|
|
789
|
+
saveFailed: "保存点位模板失败:{message}",
|
|
790
|
+
importFailed: "导入点位模板失败:{message}",
|
|
791
|
+
apply: "导入模板 {name}",
|
|
792
|
+
imported: "已导入模板“{name}”的 {count} 个点位",
|
|
793
|
+
saved: "点位模板已保存"
|
|
794
|
+
}, z = {
|
|
795
|
+
dynamicBrowse: U,
|
|
796
|
+
expressionPreview: H,
|
|
797
|
+
...f,
|
|
798
|
+
...O,
|
|
799
|
+
...L,
|
|
2
800
|
Input: "输入",
|
|
3
801
|
"Input node already exists": "输入节点只能存在一个",
|
|
4
802
|
"At least one input node is required": "画布至少需要保留一个输入端或默认输入节点",
|
|
@@ -44,6 +842,8 @@ const e = {
|
|
|
44
842
|
* 编辑器 UI 文本
|
|
45
843
|
*/
|
|
46
844
|
editor: {
|
|
845
|
+
pointTemplates: V,
|
|
846
|
+
analysis: T,
|
|
47
847
|
/** 工具栏按钮文本 */
|
|
48
848
|
toolbar: {
|
|
49
849
|
save: "保存",
|
|
@@ -696,11 +1496,11 @@ const e = {
|
|
|
696
1496
|
aiSkillUploadTip: "压缩包中每个技能目录需包含 SKILL.md,支持多层目录。",
|
|
697
1497
|
aiSkillFormatGuide: "SKILL.md 格式说明",
|
|
698
1498
|
aiSkillUploadDrop: "拖拽压缩包到此处,或点击选择文件",
|
|
699
|
-
aiSkillUploadHint: "支持 .zip
|
|
1499
|
+
aiSkillUploadHint: "支持 .zip 格式,最大 10MB",
|
|
700
1500
|
aiSkillUploadRemove: "移除",
|
|
701
1501
|
aiSkillUploadSubmit: "上传",
|
|
702
|
-
aiSkillUploadInvalidType: "只支持 .zip
|
|
703
|
-
aiSkillUploadTooLarge: "压缩包不能超过
|
|
1502
|
+
aiSkillUploadInvalidType: "只支持 .zip 格式",
|
|
1503
|
+
aiSkillUploadTooLarge: "压缩包不能超过 10MB",
|
|
704
1504
|
aiSkillUploading: "上传中...",
|
|
705
1505
|
aiSkillUploadSuccess: "成功导入 {{count}} 个技能",
|
|
706
1506
|
aiQuickPromptMqttHttp: "创建一个 MQTT 到 HTTP 的数据转发规则链",
|
|
@@ -1075,6 +1875,7 @@ const e = {
|
|
|
1075
1875
|
relationType: "关系类型",
|
|
1076
1876
|
inputPlaceholder: "请输入参数",
|
|
1077
1877
|
schemaMentionHint: "输入 . 选择规则链入参字段",
|
|
1878
|
+
variableScope: { vars: "规则链变量", global: "全局配置", msg: "消息字段" },
|
|
1078
1879
|
runtimeObserved: "运行实测",
|
|
1079
1880
|
selectOptionRequired: "请选择列表中的有效值",
|
|
1080
1881
|
jsScriptPlaceholder: "请输入 JS 脚本...",
|
|
@@ -1418,6 +2219,9 @@ const e = {
|
|
|
1418
2219
|
},
|
|
1419
2220
|
/** LogicFlow 自定义节点图元 */
|
|
1420
2221
|
customNode: {
|
|
2222
|
+
businessLogConfigured: "业务日志已配置",
|
|
2223
|
+
businessLogBefore: "执行前",
|
|
2224
|
+
businessLogAfter: "执行后",
|
|
1421
2225
|
onlyRightAnchorOut: "只允许从右边的锚点连出",
|
|
1422
2226
|
inputSingleOutput: "Input节点只能允许引出一条边",
|
|
1423
2227
|
externalCannotConnectGroupChild: "外部节点不允许连接组内节点",
|
|
@@ -1732,6 +2536,7 @@ const e = {
|
|
|
1732
2536
|
* value 为显示在 UI 上的中文标签
|
|
1733
2537
|
*/
|
|
1734
2538
|
components: {
|
|
2539
|
+
...f.components,
|
|
1735
2540
|
"start-node": "输入",
|
|
1736
2541
|
// === action ===
|
|
1737
2542
|
delay: "延迟",
|
|
@@ -2039,6 +2844,7 @@ const e = {
|
|
|
2039
2844
|
* 分类名称
|
|
2040
2845
|
*/
|
|
2041
2846
|
category: {
|
|
2847
|
+
...D,
|
|
2042
2848
|
filter: "过滤器",
|
|
2043
2849
|
transform: "转换器",
|
|
2044
2850
|
action: "动作",
|
|
@@ -2099,7 +2905,895 @@ const e = {
|
|
|
2099
2905
|
noUndoAvailable: "没有可撤销的操作",
|
|
2100
2906
|
noRedoAvailable: "没有可重做的操作"
|
|
2101
2907
|
}
|
|
2102
|
-
},
|
|
2908
|
+
}, u = {
|
|
2909
|
+
该项是必须的: "This field is required",
|
|
2910
|
+
必填: "Required",
|
|
2911
|
+
执行命令是必须的: "Command is required",
|
|
2912
|
+
目标节点是必须的: "Target node is required",
|
|
2913
|
+
引用节点是必须的: "Referenced node is required",
|
|
2914
|
+
并发数: "Concurrency",
|
|
2915
|
+
最大请求大小: "Maximum request size",
|
|
2916
|
+
"示例:10M 10K": "Examples: 10M, 10K",
|
|
2917
|
+
协议是必须的: "Protocol is required",
|
|
2918
|
+
无: "None",
|
|
2919
|
+
按行分割: "Split by line",
|
|
2920
|
+
固定长度分割: "Fixed-length packets",
|
|
2921
|
+
自定义分隔符分割: "Custom delimiter",
|
|
2922
|
+
"长度前缀小端序,长度不包含前缀": "Little-endian length prefix, excluding prefix length",
|
|
2923
|
+
"长度前缀大端序,长度不包含前缀": "Big-endian length prefix, excluding prefix length",
|
|
2924
|
+
"长度前缀小端序,长度包含前缀": "Little-endian length prefix, including prefix length",
|
|
2925
|
+
"长度前缀大端序,长度包含前缀 ": "Big-endian length prefix, including prefix length",
|
|
2926
|
+
"长度前缀大端序,长度包含前缀": "Big-endian length prefix, including prefix length",
|
|
2927
|
+
"会话 Key": "Session key",
|
|
2928
|
+
会话Key: "Session key",
|
|
2929
|
+
"设备寻址键,留空使用 RemoteAddr;支持 ${msg.deviceId} 等表达式": "Device addressing key. Leave empty to use RemoteAddr. Supports expressions such as ${msg.deviceId}.",
|
|
2930
|
+
"会话空闲超时(秒)": "Session idle timeout (seconds)",
|
|
2931
|
+
"空闲超过此值关闭连接;0或留空默认1800秒": "Close the connection after this idle period. Zero or empty uses the 1800-second default.",
|
|
2932
|
+
目标: "Target",
|
|
2933
|
+
"共享 endpoint 连接时按 IP/deviceId/* 寻址;支持 ${metadata.xxx}": "Address a shared endpoint connection by IP, deviceId or *. Supports ${metadata.xxx}.",
|
|
2934
|
+
"如 ns=2;s=Temperature;支持 ${msg.xx}": "Example: ns=2;s=Temperature. Supports ${msg.xx}.",
|
|
2935
|
+
SNMP版本: "SNMP version",
|
|
2936
|
+
"按驱动连接时序数据库。": "Connect to a time-series database through the selected driver.",
|
|
2937
|
+
"host:port,多个地址用英文逗号分隔": "host:port. Separate multiple addresses with commas.",
|
|
2938
|
+
"InfluxDB: http://host:8086;PromRemote: HTTP Remote Write 地址": "InfluxDB: http://host:8086. PromRemote: HTTP Remote Write URL.",
|
|
2939
|
+
"TDengine: root:taosdata@http(host:6041)/;TimescaleDB: PostgreSQL 连接串": "TDengine: root:taosdata@http(host:6041)/. TimescaleDB: PostgreSQL connection string.",
|
|
2940
|
+
"数据库/Schema": "Database / schema",
|
|
2941
|
+
"PostgreSQL 连接串": "PostgreSQL connection string",
|
|
2942
|
+
"Schema/库": "Schema / database",
|
|
2943
|
+
"设备寻址键;留空时使用远端地址。支持表达式和多个候选值。": "Device addressing key. Leave empty to use the remote address. Supports expressions and multiple candidate values.",
|
|
2944
|
+
"会话空闲超时(秒)": "Session idle timeout (seconds)",
|
|
2945
|
+
"空闲超过该时长后关闭连接并等待设备重连;0 或留空时由后端使用默认值。": "Close the connection after this idle period and wait for the device to reconnect. Zero or empty uses the backend default.",
|
|
2946
|
+
服务器地址: "Server address",
|
|
2947
|
+
"示例: opc.tcp://localhost:4840": "Example: opc.tcp://localhost:4840",
|
|
2948
|
+
策略: "Policy",
|
|
2949
|
+
模式: "Mode",
|
|
2950
|
+
授权方式: "Authentication method",
|
|
2951
|
+
用户名: "Username",
|
|
2952
|
+
如果授权方式是用户名需要填写: "Required when using username authentication.",
|
|
2953
|
+
密码: "Password",
|
|
2954
|
+
证书文件路径: "Certificate file path",
|
|
2955
|
+
如果授权方式是证书需要填写: "Required when using certificate authentication.",
|
|
2956
|
+
密钥文件路径: "Private key file path",
|
|
2957
|
+
读任务时间配置: "Read schedule",
|
|
2958
|
+
"示例: @every 1m (每隔1分钟) 0 0 0 * * * (凌晨12点触发)": "Examples: @every 1m (every minute), 0 0 0 * * * (midnight)",
|
|
2959
|
+
节点ID列表: "Node IDs",
|
|
2960
|
+
"示例:ns=3;i=1003": "Example: ns=3;i=1003",
|
|
2961
|
+
匿名: "Anonymous",
|
|
2962
|
+
证书: "Certificate",
|
|
2963
|
+
"设备寻址键;留空时使用远端地址。支持表达式,如 ${msg.deviceId}。": "Device addressing key. Leave empty to use the remote address. Supports expressions such as ${msg.deviceId}.",
|
|
2964
|
+
必须是整型: "Must be an integer",
|
|
2965
|
+
"<ul><li>监听mysql表数据变化触发。</li></ul>": "Trigger on changes to MySQL table data.",
|
|
2966
|
+
MYSQL地址: "MySQL address",
|
|
2967
|
+
"示例: 127.0.0.1:3306": "Example: 127.0.0.1:3306",
|
|
2968
|
+
是否全量同步: "Full synchronization",
|
|
2969
|
+
"开启后,每次重启服务都会从第一行开始同步数据,否则只同步增量数据": "When enabled, each service restart synchronizes data from the first row. Otherwise, only incremental changes are synchronized.",
|
|
2970
|
+
"监听数据库,如果空则包含所有表": "Databases to watch (empty includes all tables)",
|
|
2971
|
+
"如:test": "Example: test",
|
|
2972
|
+
"包含表名,如果空则包含所有表": "Included tables (empty includes all)",
|
|
2973
|
+
"如:test.users,支持正则表达式,如:.*\\.canal或test.*": "Example: test.users. Regular expressions are supported, such as .*\\.canal or test.*.",
|
|
2974
|
+
排除表名: "Excluded tables",
|
|
2975
|
+
"如:mysql.component,支持正则表达式,如:mysql\\..*": "Example: mysql.component. Regular expressions are supported, such as mysql\\..*.",
|
|
2976
|
+
mysqldump执行路径: "mysqldump executable path",
|
|
2977
|
+
"如:mysqldump或者/usr/bin/mysqldump": "Examples: mysqldump, /usr/bin/mysqldump",
|
|
2978
|
+
字符集: "Character set",
|
|
2979
|
+
"如:utf8": "Example: utf8",
|
|
2980
|
+
数据库类型: "Database type",
|
|
2981
|
+
"心跳时间,单位秒": "Heartbeat interval (seconds)",
|
|
2982
|
+
"读超时,单位秒": "Read timeout (seconds)",
|
|
2983
|
+
限制同步条数: "Synchronization row limit",
|
|
2984
|
+
"用于批量操作,不处理超过限制数据。0:不限制。其他:超过该值则不处理": "Skip batch operations exceeding this row count. Zero means no limit.",
|
|
2985
|
+
"延迟时间(秒) 弃用": "Delay (seconds, deprecated)",
|
|
2986
|
+
"使用 延迟时间(毫秒) 代替": "Use delay in milliseconds instead.",
|
|
2987
|
+
"延迟时间表达式(秒) 弃用": "Delay expression (seconds, deprecated)",
|
|
2988
|
+
请选择或者输入函数名: "Select or enter a function name",
|
|
2989
|
+
同步不合并执行结果: "Synchronous, do not merge results",
|
|
2990
|
+
同步合并执行结果: "Synchronous, merge results",
|
|
2991
|
+
同步覆盖执行结果: "Synchronous, replace results",
|
|
2992
|
+
异步不合并执行结果: "Asynchronous, do not merge results",
|
|
2993
|
+
不合并执行结果: "Do not merge results",
|
|
2994
|
+
合并执行结果: "Merge results",
|
|
2995
|
+
覆盖执行结果: "Replace results",
|
|
2996
|
+
极简录取规则链: "Simple Admission",
|
|
2997
|
+
自定义准入控制: "Custom admission control",
|
|
2998
|
+
温度转换: "Temperature Conversion",
|
|
2999
|
+
换算系数: "Conversion factor",
|
|
3000
|
+
缓存级别: "Cache scope",
|
|
3001
|
+
规则链: "Rule chain",
|
|
3002
|
+
全局: "Global",
|
|
3003
|
+
键: "Key",
|
|
3004
|
+
"支持通配符,例如:test*,删除以 test 开头的项。可以使用 ${metadata.key} 读取元数据中的变量或者使用 ${msg.key} 读取消息负荷中的变量进行替换": "Supports wildcards, for example test* deletes entries starting with test. Use ${metadata.key} or ${msg.key} to substitute metadata or message values.",
|
|
3005
|
+
合并到当前消息元数据: "Merge into message metadata",
|
|
3006
|
+
合并到当前消息负荷: "Merge into message payload",
|
|
3007
|
+
覆盖原消息负荷: "Replace message payload",
|
|
3008
|
+
默认行为: "Default behavior",
|
|
3009
|
+
走失败链: "Route to Failure",
|
|
3010
|
+
走成功链: "Route to Success",
|
|
3011
|
+
"可以使用 ${metadata.key} 读取元数据中的变量或者使用 ${msg.key} 读取消息负荷中的变量进行替换": "Use ${metadata.key} or ${msg.key} to substitute metadata or message values.",
|
|
3012
|
+
值: "Value",
|
|
3013
|
+
过期时间: "Expiration",
|
|
3014
|
+
"示例:1h(1小时) 1h30m(1小时30分钟) 10m(10分钟) 10s(10秒),如果为空或者0,则表示永不过期": "Examples: 1h, 1h30m, 10m, 10s. Empty or zero means no expiration.",
|
|
3015
|
+
自动: "Automatic",
|
|
3016
|
+
"收件箱 (INBOX)": "Inbox (INBOX)",
|
|
3017
|
+
"已发送 (Sent)": "Sent",
|
|
3018
|
+
"草稿箱 (Drafts)": "Drafts",
|
|
3019
|
+
"垃圾邮件 (Spam)": "Spam",
|
|
3020
|
+
"已删除 (Trash)": "Trash",
|
|
3021
|
+
选择开始日期: "Select start date",
|
|
3022
|
+
选择结束日期: "Select end date",
|
|
3023
|
+
完整内容: "Full content",
|
|
3024
|
+
仅头部: "Headers only",
|
|
3025
|
+
仅正文: "Body only",
|
|
3026
|
+
无操作: "No action",
|
|
3027
|
+
标记已读: "Mark as read",
|
|
3028
|
+
删除: "Delete",
|
|
3029
|
+
移动: "Move",
|
|
3030
|
+
插入: "Insert",
|
|
3031
|
+
查询: "Query",
|
|
3032
|
+
更新: "Update",
|
|
3033
|
+
指标名称: "Metric name",
|
|
3034
|
+
单位: "Unit",
|
|
3035
|
+
操作类型: "Operation type",
|
|
3036
|
+
计数器: "Counter",
|
|
3037
|
+
仪表盘: "Gauge",
|
|
3038
|
+
直方图: "Histogram",
|
|
3039
|
+
指标描述: "Metric description",
|
|
3040
|
+
值表达式: "Value expression",
|
|
3041
|
+
"如:${msg.ipCount}": "Example: ${msg.ipCount}",
|
|
3042
|
+
标签表达式: "Label expression",
|
|
3043
|
+
"如:${msg.labels}": "Example: ${msg.labels}",
|
|
3044
|
+
命令动态参数: "Dynamic command arguments",
|
|
3045
|
+
'支持Expr表达式。如:["myhash2", "field1", "value1"],或者通过变量取值如:msg表示取消息负荷。命令动态参数和命令静态参数,优先取命令动态参数值。': 'Supports Expr expressions such as ["myhash2", "field1", "value1"] or variables such as msg for the message payload. Dynamic arguments take precedence over static arguments.',
|
|
3046
|
+
用户ID: "User ID",
|
|
3047
|
+
个人频道: "Direct channel",
|
|
3048
|
+
群组频道: "Group channel",
|
|
3049
|
+
客服频道: "Customer service channel",
|
|
3050
|
+
社区频道: "Community channel",
|
|
3051
|
+
社区话题频道: "Community topic channel",
|
|
3052
|
+
资讯频道: "News channel",
|
|
3053
|
+
数据频道: "Data channel",
|
|
3054
|
+
频道ID: "Channel ID",
|
|
3055
|
+
"允许使用 ${} 占位符变量。如果是个人频道填用户ID": "Supports ${} placeholders. For a direct channel, enter the user ID.",
|
|
3056
|
+
结果合并到map: "Merge results into a map",
|
|
3057
|
+
"false: 结果为[]WrapperMsg列表; true: 结果合并为Map(JSON合并字段,其他以nodeId为key)": "false: return a []WrapperMsg list. true: merge results into a map, merging JSON fields and using nodeId as the key for other data.",
|
|
3058
|
+
角色: "Role",
|
|
3059
|
+
消息内容: "Message content",
|
|
3060
|
+
"user 为用户输入;assistant 为预设的模型回复,可组合出少样本示例": "user provides user input; assistant provides a preset model response. Combine them to create few-shot examples.",
|
|
3061
|
+
"基于ReAct框架的AI智能体,支持调用工具和技能完成复杂任务": "ReAct-based AI agent that uses tools and skills to complete complex tasks.",
|
|
3062
|
+
API地址: "API URL",
|
|
3063
|
+
"OpenAI 兼容的服务地址,支持 ${} 变量": "OpenAI-compatible service URL. Supports ${} variables.",
|
|
3064
|
+
API密钥: "API key",
|
|
3065
|
+
"服务商 API 密钥,支持 ${} 变量": "Provider API key. Supports ${} variables.",
|
|
3066
|
+
模型: "Model",
|
|
3067
|
+
"选择或输入模型名称,支持 ${} 变量": "Select or enter a model name. Supports ${} variables.",
|
|
3068
|
+
系统提示: "System prompt",
|
|
3069
|
+
"定义智能体的角色、行为规则和回复风格,支持 ${} 变量": "Define the agent role, behavior rules and response style. Supports ${} variables.",
|
|
3070
|
+
内置消息列表: "Preset messages",
|
|
3071
|
+
"输入不含对话时使用的预设对话,适用于定时任务、纯文本触发等场景,支持 ${} 变量": "Preset conversation used when the input has no conversation, such as scheduled tasks or plain-text triggers. Supports ${} variables.",
|
|
3072
|
+
视觉: "Vision",
|
|
3073
|
+
"输入图片 URL,需要模型支持视觉能力,支持 ${} 变量": "Image URLs. Requires a vision-capable model. Supports ${} variables.",
|
|
3074
|
+
大模型参数: "Model parameters",
|
|
3075
|
+
温度: "Temperature",
|
|
3076
|
+
"输出随机性:越高越有创造性,越低越稳定": "Output randomness: higher values increase creativity; lower values improve consistency.",
|
|
3077
|
+
"候选词采样范围,通常与温度二选一调节": "Token sampling range. Usually adjust either this or temperature, not both.",
|
|
3078
|
+
存在惩罚: "Presence penalty",
|
|
3079
|
+
"降低已有话题的重复,鼓励引入新话题": "Reduce repetition of existing topics and encourage new topics.",
|
|
3080
|
+
频率惩罚: "Frequency penalty",
|
|
3081
|
+
降低逐字重复度: "Reduce verbatim repetition.",
|
|
3082
|
+
最大输出长度: "Maximum output tokens",
|
|
3083
|
+
"单次回复的最大 token 数,留空时不发送": "Maximum tokens per response. Omitted when empty.",
|
|
3084
|
+
模型停止输出的标记: "Stop sequences",
|
|
3085
|
+
生成到任一标记即停止: "Stop generation when any sequence is reached.",
|
|
3086
|
+
输出格式: "Output format",
|
|
3087
|
+
"需要结构化输出时选择 JSON 格式,留空使用模型默认": "Select JSON for structured output. Leave empty to use the model default.",
|
|
3088
|
+
保留思考过程: "Keep reasoning",
|
|
3089
|
+
"在输出中保留模型思考过程,仅 text 格式生效": "Keep model reasoning in the output. Applies only to text format.",
|
|
3090
|
+
扩展字段: "Extra fields",
|
|
3091
|
+
"用于传递模型特定参数。值支持 JSON 数字、布尔值、null、数组和对象;普通未加引号文本按字符串保存。": "Model-specific parameters. Values support JSON numbers, booleans, null, arrays and objects. Unquoted plain text is stored as a string.",
|
|
3092
|
+
工具列表: "Tools",
|
|
3093
|
+
配置大模型可调用的工具: "Configure the tools available to the model.",
|
|
3094
|
+
最大重试次数: "Maximum retries",
|
|
3095
|
+
"对 429/5xx/网络错误/超时自动重试,0 使用后端默认次数": "Retry automatically on 429, 5xx, network errors and timeouts. Zero uses the backend default.",
|
|
3096
|
+
AI服务商: "AI provider",
|
|
3097
|
+
"选择AI服务提供商,自动填充API地址和模型列表": "Select an AI provider to populate the API URL and model list.",
|
|
3098
|
+
API地址是必填项: "API URL is required",
|
|
3099
|
+
最大完成长度: "Maximum completion tokens",
|
|
3100
|
+
"用于支持 reasoning tokens 的模型;未填写时不发送。": "For models that support reasoning tokens. Omitted when empty.",
|
|
3101
|
+
候选结果数: "Number of candidates",
|
|
3102
|
+
"为每条输入生成的结果数量;未填写时不发送。": "Number of results to generate per input. Omitted when empty.",
|
|
3103
|
+
流式工具调用判定: "Streaming tool-call detection",
|
|
3104
|
+
"仅在配置工具且使用流式响应时生效。留空由后端使用短窗口自动判断;首段内容优先延迟最低,完整读取兼容后续工具调用。": "Applies only to streaming responses with tools configured. Empty uses a short backend detection window. First-content mode minimizes latency; draining the stream also detects later tool calls.",
|
|
3105
|
+
"自动(默认)": "Automatic (default)",
|
|
3106
|
+
首段内容优先: "Prefer first content",
|
|
3107
|
+
完整读取后判定: "Detect after draining the stream",
|
|
3108
|
+
流式重试模式: "Streaming retry mode",
|
|
3109
|
+
"off 保持实时输出,仅覆盖连接和早期断流;full 会完整缓冲后重放,可覆盖中途断流但首字更慢。": "off keeps real-time output and retries connection or early stream failures. full buffers and replays the entire response to handle mid-stream failures, with higher first-token latency.",
|
|
3110
|
+
"关闭(默认,实时)": "Off (default, real time)",
|
|
3111
|
+
"完整重试(缓冲重放)": "Full retry (buffer and replay)",
|
|
3112
|
+
故障转移端点: "Failover endpoints",
|
|
3113
|
+
"主端点重试耗尽后按顺序切换的备用端点。不配置时不启用故障转移。": "Fallback endpoints tried in order after primary endpoint retries are exhausted. Failover is disabled when none are configured.",
|
|
3114
|
+
"备用 URL": "Fallback URL",
|
|
3115
|
+
支持变量表达式: "Supports variable expressions.",
|
|
3116
|
+
"备用 URL 必填": "Fallback URL is required",
|
|
3117
|
+
留空时沿用主端点: "Leave empty to inherit from the primary endpoint.",
|
|
3118
|
+
留空时沿用主模型: "Leave empty to use the primary model.",
|
|
3119
|
+
模型参数: "Model parameters",
|
|
3120
|
+
"可选的备用端点覆盖参数;留空时继承主端点。只有明确填写的字段才会写入。": "Optional parameter overrides for the fallback endpoint. Empty inherits from the primary endpoint. Only explicitly provided fields are written.",
|
|
3121
|
+
最大长度: "Maximum tokens",
|
|
3122
|
+
扩展参数: "Extra parameters",
|
|
3123
|
+
"模型特定参数;值支持 JSON 类型。": "Model-specific parameters. Values support JSON types.",
|
|
3124
|
+
熔断冷却秒数: "Circuit breaker cooldown (seconds)",
|
|
3125
|
+
"配置故障转移后,主端点熔断的基础冷却时间。0 使用后端默认值;主端点持续故障时后端会逐步延长探测间隔。": "Base cooldown after the primary endpoint circuit opens when failover is configured. Zero uses the backend default. The backend increases the probe interval if failures persist.",
|
|
3126
|
+
可靠性: "Reliability",
|
|
3127
|
+
高级: "Advanced",
|
|
3128
|
+
意图名称: "Intent name",
|
|
3129
|
+
"意图标识,同时作为路由连接类型": "Intent identifier, also used as the routing relation type.",
|
|
3130
|
+
意图描述: "Intent description",
|
|
3131
|
+
"描述意图的含义,帮助模型识别": "Describe the intent to help the model recognize it.",
|
|
3132
|
+
"选择嵌入模型服务商,自动填充API地址和模型列表": "Select an embedding provider to populate the API URL and model list.",
|
|
3133
|
+
"描述意图的含义,用于语义匹配": "Describe the intent for semantic matching.",
|
|
3134
|
+
示例语句: "Example phrases",
|
|
3135
|
+
"该意图的典型示例语句列表,建议3-10条": "Typical example phrases for this intent. Three to ten examples are recommended.",
|
|
3136
|
+
"连接远程 MCP 服务器,调用指定的 MCP 工具并将结果写入消息体": "Connect to a remote MCP server, call the specified tool and write its result to the message body.",
|
|
3137
|
+
"<ul><li>git克隆或者拉取仓库代码</li></ul>": "Clone a Git repository or pull repository changes.",
|
|
3138
|
+
仓库地址: "Repository URL",
|
|
3139
|
+
"示例:https://github.com/rulego/rulego.git": "Enter a Git repository URL.",
|
|
3140
|
+
克隆到本地目录: "Clone directory",
|
|
3141
|
+
默认取元数据中workDir值: "Defaults to workDir in message metadata.",
|
|
3142
|
+
引用名称: "Reference name",
|
|
3143
|
+
"可以是分支名、标签名完整引用名。例如:refs/heads/main。默认取元数据中ref值": "A branch, tag or full reference, for example refs/heads/main. Defaults to ref in message metadata.",
|
|
3144
|
+
认证类型: "Authentication type",
|
|
3145
|
+
"可以是:ssh/password/token": "Supported values: ssh, password, token.",
|
|
3146
|
+
"密码或 token": "Password or token",
|
|
3147
|
+
秘钥文件路径: "Private key file path",
|
|
3148
|
+
代理URL: "Proxy URL",
|
|
3149
|
+
代理用户名: "Proxy username",
|
|
3150
|
+
代理密码: "Proxy password",
|
|
3151
|
+
"<ul><li>git提交,如果文件没变更则转发到失败链</li></ul>": "Commit Git changes. Routes to Failure if no files have changed.",
|
|
3152
|
+
本地目录: "Local directory",
|
|
3153
|
+
添加的文件匹配模式: "File pattern to stage",
|
|
3154
|
+
"必须当前工作区相对目录。例如:/example/*.go": "A path relative to the current working tree, for example /example/*.go.",
|
|
3155
|
+
Git提交: "Commit message",
|
|
3156
|
+
作者信息: "Author",
|
|
3157
|
+
作者名称: "Author name",
|
|
3158
|
+
作者邮箱: "Author email",
|
|
3159
|
+
添加的文件匹配模式是必须的: "File pattern is required",
|
|
3160
|
+
提交消息是必须的: "Commit message is required",
|
|
3161
|
+
标签名称: "Tag name",
|
|
3162
|
+
标签消息: "Tag message",
|
|
3163
|
+
标签名称是必须的: "Tag name is required",
|
|
3164
|
+
标签消息是必须的: "Tag message is required",
|
|
3165
|
+
"<ul><li>获取git提交日志</li></ul>": "Read the Git commit log.",
|
|
3166
|
+
"允许通过变量${msg.xx}获取。默认取${metadata.workDir}值": "Supports ${msg.xx} variables. Defaults to ${metadata.workDir}.",
|
|
3167
|
+
最大日志数量: "Maximum log entries",
|
|
3168
|
+
起始提交时间: "Commit start time",
|
|
3169
|
+
"允许通过变量${msg.xx}获取。yyyy-MM-dd或者yyyy-MM-dd HH:mm:ss 格式示例:2006-01-02 15:04:05": "Supports ${msg.xx} variables. Use yyyy-MM-dd or yyyy-MM-dd HH:mm:ss, for example 2006-01-02 15:04:05.",
|
|
3170
|
+
结束提交时间: "Commit end time",
|
|
3171
|
+
"<ul><li>git推送</li></ul>": "Push Git commits.",
|
|
3172
|
+
本地分支与远程分支映射关系: "Local-to-remote reference mappings",
|
|
3173
|
+
"例如:refs/heads/your-branch:refs/heads/your-branch,多个映射关系与逗号隔开": "Example: refs/heads/your-branch:refs/heads/your-branch. Separate multiple mappings with commas.",
|
|
3174
|
+
代理地址: "Proxy address",
|
|
3175
|
+
"用于监控服务器CPU、内存、磁盘等指标。": "Monitor server CPU, memory, disk and other system metrics.",
|
|
3176
|
+
指标列表: "Metrics",
|
|
3177
|
+
"如果为空,则查询所有指标": "Leave empty to query all metrics.",
|
|
3178
|
+
请选择查询指标: "Select metrics to query",
|
|
3179
|
+
主机信息: "Host information",
|
|
3180
|
+
CPU信息: "CPU information",
|
|
3181
|
+
虚拟内存信息: "Virtual memory",
|
|
3182
|
+
交换内存信息: "Swap memory",
|
|
3183
|
+
磁盘使用情况: "Disk usage",
|
|
3184
|
+
磁盘IO计数器信息: "Disk I/O counters",
|
|
3185
|
+
网络IO计数器信息: "Network I/O counters",
|
|
3186
|
+
网络接口信息: "Network interfaces",
|
|
3187
|
+
"服务器地址,格式为:<mode>://<serial device or host:port> 示例: tcp://hostname-or-ip-address:502; rtu:///dev/ttyUSB0": "Server address in <mode>://<serial device or host:port> format. Examples: tcp://hostname-or-ip-address:502; rtu:///dev/ttyUSB0.",
|
|
3188
|
+
Modbus方法名称: "Modbus method",
|
|
3189
|
+
Modbus命令名称: "Modbus command name",
|
|
3190
|
+
从机编号: "Unit ID",
|
|
3191
|
+
"使用的单元编号(从机编号),格式:uint8,示例:1": "Unit ID as uint8, for example 1.",
|
|
3192
|
+
寄存器地址: "Register address",
|
|
3193
|
+
"寄存器地址,允许使用${}占位符变量,格式:uint16,示例:50或者0x32": "Register address as uint16, for example 50 or 0x32. Supports ${} placeholders.",
|
|
3194
|
+
寄存器数量: "Register count",
|
|
3195
|
+
"寄存器数量,允许使用${}占位符变量,示例:1": "Register count, for example 1. Supports ${} placeholders.",
|
|
3196
|
+
寄存器值: "Register value",
|
|
3197
|
+
"寄存器值,允许使用${}占位符变量。读则不需要提供,如果写入多个与逗号隔开,例如:0x01,0x01 true 51,52": "Register value. Supports ${} placeholders. Not required for reads. Separate multiple write values with commas, for example 0x01,0x01 or 51,52; boolean example: true.",
|
|
3198
|
+
寄存器类型: "Register type",
|
|
3199
|
+
TCP配置: "TCP configuration",
|
|
3200
|
+
超时时间: "Timeout",
|
|
3201
|
+
"设置请求超时值,单位为秒": "Request timeout in seconds.",
|
|
3202
|
+
证书路径: "Certificate path",
|
|
3203
|
+
密钥路径: "Private key path",
|
|
3204
|
+
CA证书路径: "CA certificate path",
|
|
3205
|
+
CA证书文件路径: "CA certificate file path",
|
|
3206
|
+
RTU配置: "RTU configuration",
|
|
3207
|
+
串行波特率: "Serial baud rate",
|
|
3208
|
+
"设置串行链路波特率(仅RTU模式)": "Serial baud rate (RTU mode only).",
|
|
3209
|
+
数据位: "Data bits",
|
|
3210
|
+
"设置串行字符的数据位数(仅RTU模式)": "Number of data bits per serial character (RTU mode only).",
|
|
3211
|
+
校验位: "Parity",
|
|
3212
|
+
"串行链路的校验模式(仅RTU模式)": "Serial parity mode (RTU mode only).",
|
|
3213
|
+
停止位: "Stop bits",
|
|
3214
|
+
"设置串行停止位数(仅RTU模式)": "Number of serial stop bits (RTU mode only).",
|
|
3215
|
+
编码配置: "Encoding configuration",
|
|
3216
|
+
字节序: "Byte order",
|
|
3217
|
+
寄存器的字节序: "Byte order within a register.",
|
|
3218
|
+
字序: "Word order",
|
|
3219
|
+
"32位寄存器的字序": "Word order for 32-bit registers.",
|
|
3220
|
+
读取线圈状态: "Read coils",
|
|
3221
|
+
读取单个线圈状态: "Read a single coil",
|
|
3222
|
+
读取离散输入状态: "Read discrete inputs",
|
|
3223
|
+
读取单个离散输入状态: "Read a single discrete input",
|
|
3224
|
+
读取寄存器: "Read registers",
|
|
3225
|
+
读取单个寄存器: "Read a single register",
|
|
3226
|
+
读取无符号32位整数: "Read unsigned 32-bit integers",
|
|
3227
|
+
读取单个无符号32位整数: "Read a single unsigned 32-bit integer",
|
|
3228
|
+
读取浮点数32位: "Read 32-bit floating-point values",
|
|
3229
|
+
读取单个浮点数32位: "Read a single 32-bit floating-point value",
|
|
3230
|
+
读取无符号64位整数: "Read unsigned 64-bit integers",
|
|
3231
|
+
读取单个无符号64位整数: "Read a single unsigned 64-bit integer",
|
|
3232
|
+
读取浮点数64位: "Read 64-bit floating-point values",
|
|
3233
|
+
读取单个浮点数64位: "Read a single 64-bit floating-point value",
|
|
3234
|
+
读取字节数据: "Read bytes",
|
|
3235
|
+
读取原始字节数据: "Read raw bytes",
|
|
3236
|
+
写入线圈状态: "Write a coil",
|
|
3237
|
+
写入多个线圈状态: "Write multiple coils",
|
|
3238
|
+
写入寄存器: "Write a register",
|
|
3239
|
+
写入多个寄存器: "Write multiple registers",
|
|
3240
|
+
写入无符号32位整数: "Write an unsigned 32-bit integer",
|
|
3241
|
+
写入多个无符号32位整数: "Write multiple unsigned 32-bit integers",
|
|
3242
|
+
写入浮点数32位: "Write a 32-bit floating-point value",
|
|
3243
|
+
写入多个浮点数32位: "Write multiple 32-bit floating-point values",
|
|
3244
|
+
写入无符号64位整数: "Write an unsigned 64-bit integer",
|
|
3245
|
+
写入多个无符号64位整数: "Write multiple unsigned 64-bit integers",
|
|
3246
|
+
写入浮点数64位: "Write a 64-bit floating-point value",
|
|
3247
|
+
写入多个浮点数64位: "Write multiple 64-bit floating-point values",
|
|
3248
|
+
写入字节数据: "Write bytes",
|
|
3249
|
+
写入原始字节数据: "Write raw bytes",
|
|
3250
|
+
保持寄存器0x3: "Holding registers (0x3)",
|
|
3251
|
+
输入寄存器0x4: "Input registers (0x4)",
|
|
3252
|
+
无校验: "No parity",
|
|
3253
|
+
偶校验: "Even parity",
|
|
3254
|
+
奇校验: "Odd parity",
|
|
3255
|
+
大端序: "Big-endian",
|
|
3256
|
+
小端序: "Little-endian",
|
|
3257
|
+
高字在前: "High word first",
|
|
3258
|
+
低字在前: "Low word first",
|
|
3259
|
+
"<ul><li>控制串口连接状态(打开/关闭/DTR/RTS/Flush)。</li></ul>": "Control a serial connection: open, close, DTR, RTS or flush.",
|
|
3260
|
+
串口名: "Serial port",
|
|
3261
|
+
波特率: "Baud rate",
|
|
3262
|
+
操作: "Operation",
|
|
3263
|
+
控制指令: "Control command",
|
|
3264
|
+
请选择端口: "Select a port",
|
|
3265
|
+
"打开 (open)": "Open",
|
|
3266
|
+
"关闭 (close)": "Close",
|
|
3267
|
+
"刷新 (flush)": "Flush",
|
|
3268
|
+
"刷新输入 (flush_in)": "Flush input",
|
|
3269
|
+
"刷新输出 (flush_out)": "Flush output",
|
|
3270
|
+
"<ul><li>从串口读取数据。</li><li>支持按字符、超时或固定长度拆分数据。</li></ul>": "Read data from a serial port. Split by character, timeout or fixed length.",
|
|
3271
|
+
起始字符: "Start character",
|
|
3272
|
+
"可选:等待此字符出现才开始读取": "Optional: wait for this character before reading.",
|
|
3273
|
+
拆分方式: "Split mode",
|
|
3274
|
+
拆分键: "Split delimiter or length",
|
|
3275
|
+
"字符(如\n) 或 长度": "A character (such as \\n) or a length.",
|
|
3276
|
+
"拆分超时(ms)": "Split timeout (ms)",
|
|
3277
|
+
数据类型: "Data type",
|
|
3278
|
+
按字符: "By character",
|
|
3279
|
+
按超时: "By timeout",
|
|
3280
|
+
按长度: "By length",
|
|
3281
|
+
"<ul><li>向串口写入数据。</li><li>支持自动追加字符。</li></ul>": "Write data to a serial port, optionally appending characters.",
|
|
3282
|
+
发送内容: "Payload",
|
|
3283
|
+
"发送内容,支持动态变量替换(如 ${data})。如果为空,则使用当前消息负荷": "Payload to send. Supports variables such as ${data}. Empty uses the current message payload.",
|
|
3284
|
+
追加字符: "Append characters",
|
|
3285
|
+
"发送时自动追加的字符(如\r\n)": "Characters to append when sending, such as \\r\\n.",
|
|
3286
|
+
"<ul><li>写入数据并等待响应。</li><li>支持请求超时和响应拆分。</li></ul>": "Write data and wait for a response. Supports request timeouts and response splitting.",
|
|
3287
|
+
响应起始字符: "Response start character",
|
|
3288
|
+
"可选:等待此字符出现才开始读取响应": "Optional: wait for this character before reading the response.",
|
|
3289
|
+
响应拆分方式: "Response split mode",
|
|
3290
|
+
响应拆分键: "Response delimiter or length",
|
|
3291
|
+
"响应分段超时(ms)": "Response segment timeout (ms)",
|
|
3292
|
+
"请求总超时(ms)": "Total request timeout (ms)",
|
|
3293
|
+
"SQL 不支持 ${} 占位符变量,请直接引用 msg 数据字段": "SQL does not support ${} placeholders. Reference msg data fields directly.",
|
|
3294
|
+
数组输入模式: "Array input mode",
|
|
3295
|
+
"auto:数组逐条进流;columns:将 [{name,value}] 透视为一行宽表,适合跨字段计算。": "auto: stream array items individually. columns: pivot [{name,value}] into a single wide row for cross-field calculations.",
|
|
3296
|
+
"auto 逐条进流(纵表)": "auto: stream individual rows",
|
|
3297
|
+
"columns 透视宽表": "columns: pivot to a wide row",
|
|
3298
|
+
"元数据表(流-表 JOIN)": "Lookup tables (stream-table JOIN)",
|
|
3299
|
+
"表名必须与 SQL 中 JOIN 的表名一致;文件路径或 URL 是静态配置。": "Table names must match the SQL JOIN names. File paths and URLs are static configuration.",
|
|
3300
|
+
表名: "Table name",
|
|
3301
|
+
数据来源: "Data source",
|
|
3302
|
+
内联: "Inline",
|
|
3303
|
+
文件: "File",
|
|
3304
|
+
"内联数据(JSON 数组)": "Inline data (JSON array)",
|
|
3305
|
+
'JSON 数组,每个元素是一行,如 [{"deviceId":"d1","temp":80}]': 'A JSON array with one row per element, for example [{"deviceId":"d1","temp":80}].',
|
|
3306
|
+
"文件路径/URL": "File path or URL",
|
|
3307
|
+
"file 为本地路径;http 为 GET 地址": "file uses a local path; http uses an HTTP GET URL.",
|
|
3308
|
+
格式: "Format",
|
|
3309
|
+
刷新间隔: "Refresh interval",
|
|
3310
|
+
"如 30s;空=默认 1 小时刷新": "Example: 30s. Empty defaults to an hourly refresh.",
|
|
3311
|
+
HTTP请求头: "HTTP headers",
|
|
3312
|
+
'仅 HTTP;JSON 格式,如 {"X-Token":"xxx"}': 'HTTP only. JSON object, for example {"X-Token":"xxx"}.',
|
|
3313
|
+
HTTP超时: "HTTP timeout",
|
|
3314
|
+
"仅 HTTP;如 10s,默认 10s": "HTTP only, for example 10s. Defaults to 10s.",
|
|
3315
|
+
"auto:数组逐条转换并合并输出;columns:将 [{name,value}] 透视为一行宽表后处理。": "auto: transform each array item and combine the output. columns: pivot [{name,value}] into a single wide row before processing.",
|
|
3316
|
+
"auto 逐条转换(纵表)": "auto: transform individual rows",
|
|
3317
|
+
"表名必须与 SQL 中 JOIN 的表名一致;HTTP 表仅在 source=http 时使用请求头和超时。": "Table names must match the SQL JOIN names. Headers and timeouts apply only when source=http.",
|
|
3318
|
+
"<ul><li>Beanstalkd订阅接入端</li><li>连接Beanstalkd Server,订阅消息,获取消息信传递下个节点处理,</li></ul>": "Subscribe to jobs from a Beanstalkd server and forward received messages to the next node.",
|
|
3319
|
+
"Beanstalkd Server地址": "Beanstalkd server address",
|
|
3320
|
+
"示例:127.0.0.1:11300,如果流程中存在多节点操作消息并改变状态时,应使用复用连接(ref://)": "Example: 127.0.0.1:11300. Use a shared connection (ref://) when multiple nodes operate on jobs and change their state.",
|
|
3321
|
+
tube列表: "Tubes",
|
|
3322
|
+
"订阅Job超时时间,单位秒": "Job subscription timeout (seconds)",
|
|
3323
|
+
迭代器: "Iterator",
|
|
3324
|
+
"<ul><li>弃用,使用for组件代替</li><li>遍历msg或者msg中指定字段item值到下一个节点,遍历字段值必须是`数组`或者`{key:value}`类型</li><li>如果item满足jsScript,则会把item数据通过`True`链发到下一个节点,否则通过`False`链发到下一个节点</li><li>如果找不到指定字段、js脚本执行失败或者遍历的对象不是 `数组`或者`{key:value}`,则会把错误信息通过`Failure`链发到下一个节点</li><li>遍历结束后,通过`Success`链把原始msg发送到下一个节点</li></ul>": "Deprecated; use for instead. Iterate over msg or a specified array/map field. Items matching jsScript route to True; others route to False. Missing fields, script errors or invalid iterable types route to Failure. After iteration, the original message routes to Success.",
|
|
3325
|
+
遍历字段: "Iteration field",
|
|
3326
|
+
"如果空,遍历整个msg,支持嵌套方式获取msg字段值,例如items.value、items": "Leave empty to iterate over all of msg. Supports nested paths such as items.value or items.",
|
|
3327
|
+
"} 匹配item的js脚本,可选,如果空则遍历所有item": "} Optional JavaScript predicate for each item. Empty iterates over all items.",
|
|
3328
|
+
命令行: "Command Line",
|
|
3329
|
+
"<ul><li>只执行系统白名单的命令</li></ul>": "Execute only commands allowed by the server command allowlist.",
|
|
3330
|
+
执行命令: "Command",
|
|
3331
|
+
参数: "Arguments",
|
|
3332
|
+
打印标准输出: "Log standard output",
|
|
3333
|
+
替换Data: "Replace data",
|
|
3334
|
+
"把Data替换为标准输出,默认为false": "Replace message data with standard output. Defaults to false.",
|
|
3335
|
+
"<ul><li>Beanstalkd Tube,支持以下操作Put、PeekReady、PeekDelayed、PeekBuried、Kick、Stat、Pause。</li></ul>": "Operate on a Beanstalkd tube: Put, PeekReady, PeekDelayed, PeekBuried, Kick, Stat or Pause.",
|
|
3336
|
+
Tube名称: "Tube name",
|
|
3337
|
+
"Tube名称 允许使用 ${} 占位符变量": "Tube name. Supports ${} placeholders.",
|
|
3338
|
+
命令名称: "Command name",
|
|
3339
|
+
"命令名称,支持Put、PeekReady、PeekDelayed、PeekBuried、Kick、Stat、Pause": "Command: Put, PeekReady, PeekDelayed, PeekBuried, Kick, Stat or Pause.",
|
|
3340
|
+
"body根据命令选填,允许使用 ${} 占位符变量,Put命令参数": "body for Put. Required according to the command. Supports ${} placeholders.",
|
|
3341
|
+
优先级: "Priority",
|
|
3342
|
+
"优先级: pri 允许使用 ${} 占位符变量,Put命令参数": "pri priority for Put. Supports ${} placeholders.",
|
|
3343
|
+
延迟时间: "Delay",
|
|
3344
|
+
"延迟时间: delay 允许使用 ${} 占位符变量,Put命令参数,格式如:“30s”、“5m”": "delay for Put, for example 30s or 5m. Supports ${} placeholders.",
|
|
3345
|
+
Job最大执行秒数: "Job time-to-run (seconds)",
|
|
3346
|
+
"最大执行秒数:ttr 允许使用 ${} 占位符变量,Put命令参数": "ttr maximum execution time in seconds for Put. Supports ${} placeholders.",
|
|
3347
|
+
唤醒的Job数量上限: "Maximum jobs to kick",
|
|
3348
|
+
"Kick命令参数bound 允许使用 ${} 占位符变量": "bound argument for Kick. Supports ${} placeholders.",
|
|
3349
|
+
暂停时间: "Pause duration",
|
|
3350
|
+
"Pause命令参数time 允许使用 ${} 占位符变量,格式如:“30s”、“5m”": "time argument for Pause, for example 30s or 5m. Supports ${} placeholders.",
|
|
3351
|
+
"<ul><li>Beanstalkd消费端,支持以下操作Delete、Release、Bury、KickJob、Touch、Peek、ReserveJob、StatsJob、Stats、ListTubes。</li></ul>": "Beanstalkd worker supporting Delete, Release, Bury, KickJob, Touch, Peek, ReserveJob, StatsJob, Stats and ListTubes.",
|
|
3352
|
+
"命令名称,支持Delete Release Bury KickJob Touch Peek ReserveJob StatsJob Stats ListTubes": "Command: Delete, Release, Bury, KickJob, Touch, Peek, ReserveJob, StatsJob, Stats or ListTubes.",
|
|
3353
|
+
"JobId根据命令选填,允许使用 ${} 占位符变量,Delete、Release、Bury、KickJob、Touch、Peek、ReserveJob、StatsJob命令参数": "JobId for Delete, Release, Bury, KickJob, Touch, Peek, ReserveJob or StatsJob, as required by the command. Supports ${} placeholders.",
|
|
3354
|
+
"优先级: pri 允许使用 ${} 占位符变量,Release、Bury命令参数": "pri priority for Release or Bury. Supports ${} placeholders.",
|
|
3355
|
+
"延迟时间: delay 允许使用 ${} 占位符变量,Release命令参数,格式如:“30s”、“5m”": "delay for Release, for example 30s or 5m. Supports ${} placeholders.",
|
|
3356
|
+
文档加载器: "Document Loader",
|
|
3357
|
+
"加载文件、URL或S3文档": "Load documents from files, URLs or S3.",
|
|
3358
|
+
源类型: "Source type",
|
|
3359
|
+
基础路径: "Base path",
|
|
3360
|
+
文件加载的基础路径: "Base path for loading files.",
|
|
3361
|
+
支持类型: "Supported types",
|
|
3362
|
+
支持的文件扩展名列表: "Supported file extensions.",
|
|
3363
|
+
递归加载: "Load recursively",
|
|
3364
|
+
是否递归加载子目录: "Load documents from subdirectories recursively.",
|
|
3365
|
+
文本分块器: "Text Chunker",
|
|
3366
|
+
将长文档分割为小块: "Split long documents into smaller chunks.",
|
|
3367
|
+
分块策略: "Chunking strategy",
|
|
3368
|
+
分块大小: "Chunk size",
|
|
3369
|
+
每个分块的字符数: "Number of characters per chunk.",
|
|
3370
|
+
重叠大小: "Chunk overlap",
|
|
3371
|
+
分块间的重叠字符数: "Number of overlapping characters between chunks.",
|
|
3372
|
+
分隔符: "Separators",
|
|
3373
|
+
用于分割的字符列表: "Characters used to split the text.",
|
|
3374
|
+
"OpenAI 嵌入": "OpenAI Embeddings",
|
|
3375
|
+
使用OpenAI模型生成文本向量: "Generate text embeddings with an OpenAI model.",
|
|
3376
|
+
API基础URL: "API base URL",
|
|
3377
|
+
模型名称: "Model name",
|
|
3378
|
+
嵌入模型名称: "Embedding model name",
|
|
3379
|
+
消息数据类型: "Message data type",
|
|
3380
|
+
"留空自动判断:合法 JSON 按 JSON,其余按文本;二进制流选 BINARY,强制文本选 TEXT": "Empty detects valid JSON automatically and treats other input as text. Select BINARY for binary streams or TEXT to force plain text.",
|
|
3381
|
+
"自动判断(默认)": "Auto-detect (default)",
|
|
3382
|
+
"TEXT 纯文本": "TEXT: plain text",
|
|
3383
|
+
"BINARY 二进制": "BINARY: binary data",
|
|
3384
|
+
队列名称: "Queue name",
|
|
3385
|
+
"留空使用自动生成的独占临时队列;固定队列名配合持久化并关闭自动删除,可保留离线期间消息": "Empty uses an automatically generated exclusive temporary queue. Use a fixed name with durability enabled and auto-delete disabled to retain messages while offline.",
|
|
3386
|
+
是否独占: "Exclusive queue",
|
|
3387
|
+
"true=队列仅限当前连接使用,连接断开即删除;队列名称为空时强制独占": "true restricts the queue to this connection and deletes it on disconnect. An empty queue name forces exclusive mode.",
|
|
3388
|
+
输出位置: "Output destination",
|
|
3389
|
+
"日志输出的通道,默认双通道": "Log output channels. Defaults to both channels.",
|
|
3390
|
+
"调试控制台 + 服务端日志": "Debug console and server log",
|
|
3391
|
+
仅调试控制台: "Debug console only",
|
|
3392
|
+
仅服务端日志: "Server log only",
|
|
3393
|
+
登录用户UID: "Login user UID",
|
|
3394
|
+
"部分 IMAP 服务器要求以数字 UID 登录;借共享连接时以共享节点配置为准": "Some IMAP servers require a numeric UID for login. Shared connections use the shared node configuration.",
|
|
3395
|
+
消息持久化: "Persistent messages",
|
|
3396
|
+
"true=以持久化模式发布消息;目标队列也须持久化,才能在服务器重启后保留消息": "true publishes persistent messages. The destination queue must also be durable to retain messages after a server restart.",
|
|
3397
|
+
结果输出位置: "Result destination",
|
|
3398
|
+
"留空默认 data,替换消息负荷;写命令建议 metadata,保留负荷并把结果写到 metadata.result": "Empty defaults to data, replacing the message payload. For write commands, metadata preserves the payload and stores the result in metadata.result.",
|
|
3399
|
+
"默认 data(替换 msg 负荷)": "Default: data (replace message payload)",
|
|
3400
|
+
"data(替换 msg 负荷,默认)": "data: replace message payload (default)",
|
|
3401
|
+
"metadata(保留负荷,结果写 result 键)": "metadata: preserve payload, write the result key",
|
|
3402
|
+
"流名称来源(流-流 JOIN)": "Stream name source (stream-stream JOIN)",
|
|
3403
|
+
"仅带 WITHIN 的流-流 JOIN 生效。填元数据键名,如 streamName,或 ${msg.stream} 表达式;结果须与 SQL 流名称一致。留空为单流模式,流-表 JOIN 无需配置": "Applies only to stream-stream JOIN with WITHIN. Enter a metadata key such as streamName or an expression such as ${msg.stream}; its result must match the SQL stream name. Empty uses single-stream mode. Not required for stream-table JOIN.",
|
|
3404
|
+
批量大小: "Batch size",
|
|
3405
|
+
单次处理的文本数量: "Number of texts processed per batch.",
|
|
3406
|
+
"Milvus 索引": "Milvus Indexer",
|
|
3407
|
+
将向量数据写入Milvus数据库: "Write vector data to Milvus.",
|
|
3408
|
+
地址: "Address",
|
|
3409
|
+
Milvus服务器地址: "Milvus server address",
|
|
3410
|
+
集合名称: "Collection name",
|
|
3411
|
+
Milvus集合名称: "Milvus collection name",
|
|
3412
|
+
嵌入配置: "Embedding configuration",
|
|
3413
|
+
嵌入模型配置: "Embedding model configuration",
|
|
3414
|
+
是否启用: "Enabled",
|
|
3415
|
+
"Redis 索引": "Redis Indexer",
|
|
3416
|
+
将向量数据写入Redis数据库: "Write vector data to Redis.",
|
|
3417
|
+
Redis配置: "Redis configuration",
|
|
3418
|
+
Redis连接配置: "Redis connection configuration",
|
|
3419
|
+
数据库编号: "Database number",
|
|
3420
|
+
连接池大小: "Connection pool size",
|
|
3421
|
+
知识类型: "Knowledge type",
|
|
3422
|
+
"知识库类型标识,用于分类,支持模板变量": "Knowledge type identifier for classification. Supports template variables.",
|
|
3423
|
+
索引名称: "Index name",
|
|
3424
|
+
"向量索引名称,支持模板变量": "Vector index name. Supports template variables.",
|
|
3425
|
+
向量字段: "Vector field",
|
|
3426
|
+
向量字段名称: "Vector field name",
|
|
3427
|
+
向量维度: "Vector dimensions",
|
|
3428
|
+
"向量维度,如 OpenAI 通常为 1536": "Number of vector dimensions, for example 1536 for many OpenAI embedding models.",
|
|
3429
|
+
距离类型: "Distance metric",
|
|
3430
|
+
距离计算类型: "Metric used to calculate distance.",
|
|
3431
|
+
向量类型: "Vector type",
|
|
3432
|
+
向量数据类型: "Vector data type",
|
|
3433
|
+
键前缀: "Key prefix",
|
|
3434
|
+
"Redis 键前缀,支持模板变量": "Redis key prefix. Supports template variables.",
|
|
3435
|
+
键表达式: "Key expression",
|
|
3436
|
+
"动态键表达式,支持模板变量": "Dynamic key expression. Supports template variables.",
|
|
3437
|
+
内置向量化配置: "Built-in embedding configuration",
|
|
3438
|
+
启用重试: "Enable retries",
|
|
3439
|
+
重试次数: "Retry count",
|
|
3440
|
+
"重试间隔(ms)": "Retry interval (ms)",
|
|
3441
|
+
高级配置: "Advanced configuration",
|
|
3442
|
+
HNSW算法及存储选项: "HNSW algorithm and storage options",
|
|
3443
|
+
初始容量: "Initial capacity",
|
|
3444
|
+
"HNSW M参数": "HNSW M parameter",
|
|
3445
|
+
元数据字段: "Metadata fields",
|
|
3446
|
+
文本字段: "Text fields",
|
|
3447
|
+
自动创建ID: "Generate IDs automatically",
|
|
3448
|
+
"Milvus 检索": "Milvus Retriever",
|
|
3449
|
+
从Milvus数据库检索向量数据: "Retrieve vector data from Milvus.",
|
|
3450
|
+
返回的最相似结果数量: "Number of most similar results to return.",
|
|
3451
|
+
"Redis 检索": "Redis Retriever",
|
|
3452
|
+
从Redis数据库检索向量数据: "Retrieve vector data from Redis.",
|
|
3453
|
+
"知识库类型标识,用于过滤,支持模板变量": "Knowledge type identifier for filtering. Supports template variables.",
|
|
3454
|
+
返回的结果数量: "Number of results to return.",
|
|
3455
|
+
查询字段: "Query field",
|
|
3456
|
+
"查询文本在消息中的字段名称,支持模板变量": "Message field containing the query text. Supports template variables.",
|
|
3457
|
+
检索高级选项: "Advanced retrieval options",
|
|
3458
|
+
过滤条件: "Filter conditions",
|
|
3459
|
+
温度转换自定义节点: "Custom temperature conversion node",
|
|
3460
|
+
JSON查询: "JSON Query",
|
|
3461
|
+
"对消息数据执行 JSON 查询。": "Query JSON message data.",
|
|
3462
|
+
查询模式: "Query mode",
|
|
3463
|
+
Odoo创建: "Odoo Create",
|
|
3464
|
+
"Odoo CRUD 创建节点。": "Create Odoo records.",
|
|
3465
|
+
数据库: "Database",
|
|
3466
|
+
数据库版本: "Database version",
|
|
3467
|
+
表前缀: "Table prefix",
|
|
3468
|
+
最大批量数量: "Maximum batch size",
|
|
3469
|
+
Odoo更新: "Odoo Update",
|
|
3470
|
+
"Odoo CRUD 更新节点。": "Update Odoo records.",
|
|
3471
|
+
SOAP解析: "SOAP Parse",
|
|
3472
|
+
"解析 SOAP 响应数据。": "Parse SOAP response data.",
|
|
3473
|
+
SOAP请求: "SOAP Request",
|
|
3474
|
+
"发送 SOAP 请求。": "Send a SOAP request.",
|
|
3475
|
+
请求地址: "Request URL",
|
|
3476
|
+
"监听 SNMP Trap/Inform 告警并流入规则链。": "Listen for SNMP Trap/Inform notifications and forward them to the rule chain.",
|
|
3477
|
+
监听地址: "Listen address",
|
|
3478
|
+
"示例: 0.0.0.0:162": "Example: 0.0.0.0:162",
|
|
3479
|
+
团体字: "Community string",
|
|
3480
|
+
"v1/v2c 使用;v3 时不需要": "Used by SNMP v1/v2c; not required for v3.",
|
|
3481
|
+
Modbus从站: "Modbus Server",
|
|
3482
|
+
"监听 Modbus TCP 主站连接并把写入事件送入规则链。": "Accept Modbus TCP client connections and forward write events to the rule chain.",
|
|
3483
|
+
"格式 tcp://host:port": "Format: tcp://host:port",
|
|
3484
|
+
从站地址: "Unit address",
|
|
3485
|
+
"0 表示接受所有主站请求": "Zero accepts all client requests.",
|
|
3486
|
+
最大并发连接数: "Maximum concurrent connections",
|
|
3487
|
+
线圈区大小: "Coil area size",
|
|
3488
|
+
寄存器区大小: "Register area size",
|
|
3489
|
+
HJ212接收: "HJ212 Receiver",
|
|
3490
|
+
"接收 HJ212-2017 污染源在线监控设备上报的数据帧。": "Receive HJ212-2017 data frames from pollution monitoring devices.",
|
|
3491
|
+
"示例: 0.0.0.0:8005": "Example: 0.0.0.0:8005",
|
|
3492
|
+
WebSocket发送: "WebSocket Send",
|
|
3493
|
+
"通过 WebSocket 连接或 endpoint/ws 会话发送消息。": "Send messages through a WebSocket connection or an endpoint/ws session.",
|
|
3494
|
+
服务地址: "Service address",
|
|
3495
|
+
"ws://host:port,或 ref:// 指向 WebSocket 输入端点": "ws://host:port, or ref:// referencing a WebSocket endpoint.",
|
|
3496
|
+
目标会话: "Target session",
|
|
3497
|
+
"ref:// 模式下生效;支持 IP、deviceId、* 和 ${metadata.xxx}": "Applies in ref:// mode. Supports IP addresses, deviceId, * and ${metadata.xxx}.",
|
|
3498
|
+
请求头: "Request headers",
|
|
3499
|
+
"握手 HTTP Header": "HTTP headers for the handshake",
|
|
3500
|
+
子协议: "Subprotocol",
|
|
3501
|
+
"连接超时(秒)": "Connection timeout (seconds)",
|
|
3502
|
+
"跳过 TLS 校验": "Skip TLS verification",
|
|
3503
|
+
消息类型: "Message type",
|
|
3504
|
+
文本: "Text",
|
|
3505
|
+
二进制: "Binary",
|
|
3506
|
+
"心跳间隔(秒)": "Heartbeat interval (seconds)",
|
|
3507
|
+
"0 表示关闭心跳和重连": "Zero disables heartbeat and reconnection.",
|
|
3508
|
+
控制定时器: "Control Timer",
|
|
3509
|
+
"输入持续满足预设时间后输出状态变化。": "Change the output state when the input condition persists for the preset duration.",
|
|
3510
|
+
"TON 延时接通": "TON: on-delay timer",
|
|
3511
|
+
"TOF 延时断开": "TOF: off-delay timer",
|
|
3512
|
+
预设时间: "Preset duration",
|
|
3513
|
+
"如 3s,支持 ${metadata.xx}": "Example: 3s. Supports ${metadata.xx}.",
|
|
3514
|
+
输入模板: "Input template",
|
|
3515
|
+
"如 ${metadata.start};留空取 msg.Data": "Example: ${metadata.start}. Empty uses msg.Data.",
|
|
3516
|
+
输出键: "Output key",
|
|
3517
|
+
"写入 metadata 的键,默认 q": "Metadata key for the output. Defaults to q.",
|
|
3518
|
+
控制看门狗: "Control Watchdog",
|
|
3519
|
+
"超过喂狗超时未收到消息时下发故障安全值。": "Emit a fail-safe value if no message arrives before the watchdog timeout.",
|
|
3520
|
+
喂狗超时: "Watchdog timeout",
|
|
3521
|
+
"如 10s,支持 ${metadata.xx}": "Example: 10s. Supports ${metadata.xx}.",
|
|
3522
|
+
"故障安全值(JSON)": "Fail-safe value (JSON)",
|
|
3523
|
+
通用协议读: "Generic Protocol Read",
|
|
3524
|
+
"按 driver 选择工业协议读取实现。": "Select the industrial protocol reader using driver.",
|
|
3525
|
+
采集驱动: "Read driver",
|
|
3526
|
+
通用协议写: "Generic Protocol Write",
|
|
3527
|
+
"按 driver 选择工业协议写入实现。": "Select the industrial protocol writer using driver.",
|
|
3528
|
+
写入驱动: "Write driver",
|
|
3529
|
+
"0-最多一次": "0: at most once",
|
|
3530
|
+
"1-至少一次": "1: at least once",
|
|
3531
|
+
"2-恰好一次": "2: exactly once",
|
|
3532
|
+
"direct-直连": "direct: direct routing",
|
|
3533
|
+
"fanout-广播": "fanout: broadcast",
|
|
3534
|
+
"headers-头部": "headers: header routing",
|
|
3535
|
+
"topic-主题": "topic: topic routing",
|
|
3536
|
+
"留空使用默认连接池大小;借共享连接时以共享节点配置为准": "Empty uses the default connection pool size. Shared connections use the shared node configuration.",
|
|
3537
|
+
"不能小于 0": "Must be at least 0",
|
|
3538
|
+
"数值范围 1-65535": "Must be between 1 and 65535",
|
|
3539
|
+
"不能小于 1": "Must be at least 1",
|
|
3540
|
+
"standard-标准": "standard: standard quality",
|
|
3541
|
+
"hd-高清": "hd: high definition",
|
|
3542
|
+
"vivid-生动": "vivid",
|
|
3543
|
+
"natural-自然": "natural",
|
|
3544
|
+
"url-图片链接": "url: image URL",
|
|
3545
|
+
"b64_json-内嵌数据": "b64_json: inline data",
|
|
3546
|
+
SSH密钥: "SSH key",
|
|
3547
|
+
DLT645读: "DLT645 Read",
|
|
3548
|
+
"工业协议点位读写;msg.Data 点位列表优先于默认点位表。": "Read or write industrial protocol points. A point list in msg.Data takes precedence over the default point table.",
|
|
3549
|
+
"支持 host:port 或后端协议要求的地址格式": "Use host:port or the address format required by the backend protocol.",
|
|
3550
|
+
"请求超时(秒)": "Request timeout (seconds)",
|
|
3551
|
+
"默认 5 秒": "Defaults to 5 seconds.",
|
|
3552
|
+
点位表: "Point table",
|
|
3553
|
+
"默认点位表;若 msg.Data 带点位列表则优先使用": "Default point table. A point list in msg.Data takes precedence.",
|
|
3554
|
+
名称: "Name",
|
|
3555
|
+
缩放系数: "Scale factor",
|
|
3556
|
+
"工程量 = 原始值 × scale + offset;留空不缩放": "Engineering value = raw value * scale + offset. Empty disables scaling.",
|
|
3557
|
+
偏移量: "Offset",
|
|
3558
|
+
"仅平移时 scale 须显式填 1": "For an offset-only conversion, explicitly set scale to 1.",
|
|
3559
|
+
DLT645写: "DLT645 Write",
|
|
3560
|
+
写入值: "Write value",
|
|
3561
|
+
"支持 ${msg.xx}/${metadata.xx} 模板": "Supports ${msg.xx} and ${metadata.xx} templates.",
|
|
3562
|
+
"EtherNet/IP读": "EtherNet/IP Read",
|
|
3563
|
+
CPU槽位: "CPU slot",
|
|
3564
|
+
"默认 0": "Defaults to 0.",
|
|
3565
|
+
CIP路径: "CIP path",
|
|
3566
|
+
"EtherNet/IP写": "EtherNet/IP Write",
|
|
3567
|
+
IEC104读: "IEC104 Read",
|
|
3568
|
+
"IEC 60870-5-104 总召唤批量采集子站遥信、遥测和遥脉。": "Use IEC 60870-5-104 general interrogation to collect indications, measurements and integrated totals from a station.",
|
|
3569
|
+
子站地址: "Station address",
|
|
3570
|
+
"host:port,默认端口 2404": "host:port. Default port: 2404.",
|
|
3571
|
+
"超时(秒)": "Timeout (seconds)",
|
|
3572
|
+
"默认 5": "Defaults to 5.",
|
|
3573
|
+
采集点位表: "Read point table",
|
|
3574
|
+
"addr=信息体地址(IOA)。若 msg.Data 带点位列表则优先使用。": "addr is the information object address (IOA). A point list in msg.Data takes precedence.",
|
|
3575
|
+
"信息体地址,如 100(遥信)、16385(遥测)": "Information object address, for example 100 (indication) or 16385 (measurement).",
|
|
3576
|
+
类型标识: "Type identifier",
|
|
3577
|
+
"可选,仅说明用途": "Optional; descriptive only.",
|
|
3578
|
+
"M_SP_NA_1 单点遥信": "M_SP_NA_1: single-point information",
|
|
3579
|
+
"M_DP_NA_1 双点遥信": "M_DP_NA_1: double-point information",
|
|
3580
|
+
"M_ME_NA_1 归一化遥测": "M_ME_NA_1: normalized measured value",
|
|
3581
|
+
"M_ME_NB_1 标度化遥测": "M_ME_NB_1: scaled measured value",
|
|
3582
|
+
"M_ME_NC_1 短浮点遥测": "M_ME_NC_1: short floating-point measured value",
|
|
3583
|
+
"M_IT_NA_1 累积量": "M_IT_NA_1: integrated totals",
|
|
3584
|
+
"eng = raw*scale + offset;示例: 原始值放大10倍存储时填 0.1(235→23.5),留空不缩放": "eng = raw*scale + offset. For raw values stored at 10x scale, use 0.1 (235 becomes 23.5). Empty disables scaling.",
|
|
3585
|
+
"示例: -50(raw*0.01-50);仅平移时 scale 须显式填 1": "Example: -50 for raw*0.01-50. For an offset-only conversion, explicitly set scale to 1.",
|
|
3586
|
+
"公共地址(CA)": "Common address (CA)",
|
|
3587
|
+
"ASDU 站址,默认 1": "ASDU station address. Defaults to 1.",
|
|
3588
|
+
IEC104写: "IEC104 Write",
|
|
3589
|
+
"IEC 104 遥控、遥调和设点命令写入子站。": "Send IEC 104 control, regulation and set-point commands to a station.",
|
|
3590
|
+
控制点位表: "Control point table",
|
|
3591
|
+
"type=命令类型,value=命令值。": "type is the command type; value is the command value.",
|
|
3592
|
+
信息体地址: "Information object address",
|
|
3593
|
+
命令类型: "Command type",
|
|
3594
|
+
"单命令 C_SC_NA_1": "Single command: C_SC_NA_1",
|
|
3595
|
+
"双命令 C_DC_NA_1": "Double command: C_DC_NA_1",
|
|
3596
|
+
"标度化设点 C_SE_NB_1": "Scaled set-point: C_SE_NB_1",
|
|
3597
|
+
"短浮点设点 C_SE_NC_1": "Short floating-point set-point: C_SE_NC_1",
|
|
3598
|
+
命令值: "Command value",
|
|
3599
|
+
"单命令 true/false;双命令 1/2;设点为数值": "Single command: true/false. Double command: 1/2. Set-point: numeric value.",
|
|
3600
|
+
MC协议读: "MC Protocol Read",
|
|
3601
|
+
MC协议写: "MC Protocol Write",
|
|
3602
|
+
S7读: "S7 Read",
|
|
3603
|
+
机架号: "Rack number",
|
|
3604
|
+
S7写: "S7 Write",
|
|
3605
|
+
Modbus点位读: "Modbus Point Read",
|
|
3606
|
+
"超时时间(秒)": "Timeout (seconds)",
|
|
3607
|
+
"TCP 请求超时": "TCP request timeout",
|
|
3608
|
+
证书文件: "Certificate file",
|
|
3609
|
+
"TLS 客户端证书文件路径": "TLS client certificate file path",
|
|
3610
|
+
密钥文件: "Private key file",
|
|
3611
|
+
"TLS 客户端私钥文件路径": "TLS client private key file path",
|
|
3612
|
+
CA证书文件: "CA certificate file",
|
|
3613
|
+
"TLS CA 证书文件路径": "TLS CA certificate file path",
|
|
3614
|
+
Modbus点位写: "Modbus Point Write",
|
|
3615
|
+
SNMP读: "SNMP Read",
|
|
3616
|
+
"通过 SNMP v1/v2c/v3 读写点位。": "Read or write points using SNMP v1/v2c/v3.",
|
|
3617
|
+
"安全级别(v3)": "Security level (v3)",
|
|
3618
|
+
"用户名(v3)": "Username (v3)",
|
|
3619
|
+
"认证协议(v3)": "Authentication protocol (v3)",
|
|
3620
|
+
"认证密码(v3)": "Authentication password (v3)",
|
|
3621
|
+
"加密协议(v3)": "Privacy protocol (v3)",
|
|
3622
|
+
"加密密码(v3)": "Privacy password (v3)",
|
|
3623
|
+
"如 1.3.6.1.2.1.1.5.0;支持 ${msg.xx}": "Example: 1.3.6.1.2.1.1.5.0. Supports ${msg.xx}.",
|
|
3624
|
+
"Walk 遍历子树返回多值": "Walk traverses a subtree and returns multiple values.",
|
|
3625
|
+
"Get 精确读": "Get: exact read",
|
|
3626
|
+
"Walk 遍历子树": "Walk: traverse subtree",
|
|
3627
|
+
SNMP写: "SNMP Write",
|
|
3628
|
+
"如 1.3.6.1.2.1.1.6.0;支持 ${msg.xx}": "Example: 1.3.6.1.2.1.1.6.0. Supports ${msg.xx}.",
|
|
3629
|
+
值类型: "Value type",
|
|
3630
|
+
写入需明确数据类型: "An explicit data type is required for writes.",
|
|
3631
|
+
"支持 ${msg.xx}": "Supports ${msg.xx}.",
|
|
3632
|
+
通用时序写: "Generic Time-Series Write",
|
|
3633
|
+
"按驱动连接时序数据库;驱动为空时不虚构连接字段。": "Connect to a time-series database using the selected driver. Connection fields depend on the driver.",
|
|
3634
|
+
驱动后端: "Backend driver",
|
|
3635
|
+
"测点表名(可选)": "Measurement name (optional)",
|
|
3636
|
+
"配置后可把采集点数组映射为时序数据;支持 ${msg.xx}/${metadata.xx}": "Map an array of collected points to time-series data. Supports ${msg.xx} and ${metadata.xx}.",
|
|
3637
|
+
"Tags(可选)": "Tags (optional)",
|
|
3638
|
+
索引维度键值对: "Key-value pairs for indexed dimensions.",
|
|
3639
|
+
Tag名: "Tag name",
|
|
3640
|
+
值模板: "Value template",
|
|
3641
|
+
"如 ${metadata.deviceId}": "Example: ${metadata.deviceId}",
|
|
3642
|
+
"Fields(可选)": "Fields (optional)",
|
|
3643
|
+
"采集点字段到时序字段的映射;留空时按采集点名展开": "Map collected point fields to time-series fields. Empty expands fields using point names.",
|
|
3644
|
+
落盘字段名: "Stored field name",
|
|
3645
|
+
采集点字段名: "Source point field",
|
|
3646
|
+
通用时序查: "Generic Time-Series Query",
|
|
3647
|
+
查询语句: "Query",
|
|
3648
|
+
InfluxDB写: "InfluxDB Write",
|
|
3649
|
+
"时序数据库连接与查询/写入节点。": "Connect to a time-series database to query or write data.",
|
|
3650
|
+
按后端驱动填写连接地址: "Connection address required by the backend driver.",
|
|
3651
|
+
InfluxDB查: "InfluxDB Query",
|
|
3652
|
+
TDengine写: "TDengine Write",
|
|
3653
|
+
TDengine查: "TDengine Query",
|
|
3654
|
+
TimescaleDB写: "TimescaleDB Write",
|
|
3655
|
+
TimescaleDB查: "TimescaleDB Query",
|
|
3656
|
+
"Jev 决策": "Jev Decision",
|
|
3657
|
+
"问一个问题,按答案连线;可附带附加问题一次问完,只记录结果": "Ask a question and route by the answer. Additional questions can be answered in the same request and recorded without affecting routing.",
|
|
3658
|
+
"System One 端点": "System One endpoint",
|
|
3659
|
+
"支持 ${global.xxx} 模板": "Supports ${global.xxx} templates.",
|
|
3660
|
+
输入表达式: "Input expression",
|
|
3661
|
+
"支持 ${msg.key} 和 ${metadata.key},为空时使用消息体数据": "Supports ${msg.key} and ${metadata.key}. Empty uses message body data.",
|
|
3662
|
+
主问题: "Primary question",
|
|
3663
|
+
"对消息提问,答案决定走哪条线": "Ask a question about the message. The answer determines the outgoing route.",
|
|
3664
|
+
主答案形态: "Primary answer type",
|
|
3665
|
+
"类别选多选一,程度强弱选分级,是非判断选是否": "Use choice for categories, score for graded intensity, and yes/no for a binary decision.",
|
|
3666
|
+
"多选一(按胜出选项连线)": "Choice (route by the winning option)",
|
|
3667
|
+
"是否(True/False 两条线)": "Yes/no (True/False routes)",
|
|
3668
|
+
"程度分级(按最接近档位连线)": "Score (route by the closest level)",
|
|
3669
|
+
主选项: "Primary options",
|
|
3670
|
+
"每行名称就是一条连线;档位按顺序作为评分标尺": "Each row name defines a route. Ordered levels form the scoring scale.",
|
|
3671
|
+
选项名: "Option name",
|
|
3672
|
+
同时作为路由连接类型: "Also used as the routing relation type.",
|
|
3673
|
+
选项描述: "Option description",
|
|
3674
|
+
"描述选项的含义,帮助模型判断": "Describe the option to help the model decide.",
|
|
3675
|
+
附加问题: "Additional questions",
|
|
3676
|
+
"一次问完的其他维度,只记录结果,不影响连线": "Other questions answered in the same request. Their results are recorded without affecting routing.",
|
|
3677
|
+
键名: "Key name",
|
|
3678
|
+
类型: "Type",
|
|
3679
|
+
问题: "Question",
|
|
3680
|
+
选项: "Options",
|
|
3681
|
+
结果输出: "Result output",
|
|
3682
|
+
"元数据不改消息体;消息负荷用结果替换消息体": "Metadata output preserves the message body. Payload output replaces the message body with the result.",
|
|
3683
|
+
"元数据 msg.Metadata": "Metadata: msg.Metadata",
|
|
3684
|
+
"消息负荷 msg.Data": "Payload: msg.Data",
|
|
3685
|
+
最低置信度: "Minimum confidence",
|
|
3686
|
+
"把握不足走 Default 线,默认 0.5,负数关闭": "Route to Default when confidence is insufficient. Defaults to 0.5; a negative value disables the threshold.",
|
|
3687
|
+
"Jev 过滤": "Jev Filter",
|
|
3688
|
+
"判断一句话对消息内容是否成立:成立走 True,不成立走 False": "Evaluate a statement against the message content: route to True when it holds, otherwise False.",
|
|
3689
|
+
"成立概率达到 0.5 走 True,否则走 False": "Route to True when the probability is at least 0.5, otherwise False.",
|
|
3690
|
+
BACnet读: "BACnet Read",
|
|
3691
|
+
"BACnet/IP 读取对象属性。addr 使用对象类型:实例[:属性],例如 analog-input:0 或 ai:1:description。": "Read BACnet/IP object properties. addr uses object-type:instance[:property], for example analog-input:0 or ai:1:description.",
|
|
3692
|
+
设备地址: "Device address",
|
|
3693
|
+
"host:port,默认端口 47808": "host:port. Default port: 47808.",
|
|
3694
|
+
"若 msg.Data 带点位列表则优先使用。": "A point list in msg.Data takes precedence.",
|
|
3695
|
+
对象地址: "Object address",
|
|
3696
|
+
"对象类型:实例[:属性],如 analog-input:0、ai:1:description": "object-type:instance[:property], for example analog-input:0 or ai:1:description.",
|
|
3697
|
+
"可选,读取时类型由响应自带": "Optional. Read responses include the value type.",
|
|
3698
|
+
"(自动,按响应)": "Automatic (from response)",
|
|
3699
|
+
倍率: "Scale",
|
|
3700
|
+
"工程量 scale,0=不缩放": "Engineering scale factor. Zero disables scaling.",
|
|
3701
|
+
偏移: "Offset",
|
|
3702
|
+
"工程量 offset": "Engineering offset",
|
|
3703
|
+
BACnet写: "BACnet Write",
|
|
3704
|
+
"BACnet/IP 写入对象属性。输入 msg.Data 可传入 addr、type、value 点位数组。": "Write BACnet/IP object properties. msg.Data may provide a point array containing addr, type and value.",
|
|
3705
|
+
写优先级: "Write priority",
|
|
3706
|
+
"1-16;0 表示省略并使用设备默认优先级": "1-16. Zero omits the priority and uses the device default.",
|
|
3707
|
+
"type 为值类型,value 为写入值。": "type is the value type; value is the value to write.",
|
|
3708
|
+
"对象类型:实例[:属性]": "object-type:instance[:property]",
|
|
3709
|
+
"FLOAT32 浮点(analog)": "FLOAT32: floating point (analog)",
|
|
3710
|
+
"FLOAT64 双精度": "FLOAT64: double precision",
|
|
3711
|
+
"BOOL 开关(binary)": "BOOL: boolean (binary)",
|
|
3712
|
+
"ENUMERATED 多态(multi-state)": "ENUMERATED: multi-state",
|
|
3713
|
+
"STRING 字符串": "STRING: string",
|
|
3714
|
+
"INT32 有符号": "INT32: signed integer",
|
|
3715
|
+
"UINT16 无符号": "UINT16: unsigned integer",
|
|
3716
|
+
FINS读: "FINS Read",
|
|
3717
|
+
"欧姆龙 FINS UDP/TCP 读取 DM/CIO/WR/HR/AR 区的字、位和字符串。D100:20 表示字符串地址和长度。": "Read words, bits and strings from Omron DM/CIO/WR/HR/AR areas over FINS UDP/TCP. D100:20 specifies a string address and length.",
|
|
3718
|
+
PLC地址: "PLC address",
|
|
3719
|
+
"host:port,UDP 默认 9600": "host:port. Default UDP port: 9600.",
|
|
3720
|
+
传输方式: "Transport",
|
|
3721
|
+
"UDP (默认)": "UDP (default)",
|
|
3722
|
+
网络号: "Network number",
|
|
3723
|
+
"FINS 网络号(DA1),默认 0": "FINS network number (DA1). Defaults to 0.",
|
|
3724
|
+
目标节点号: "Destination node number",
|
|
3725
|
+
"目标 FINS 节点号(DA2),默认 0": "Destination FINS node number (DA2). Defaults to 0.",
|
|
3726
|
+
源节点号: "Source node number",
|
|
3727
|
+
"源 FINS 节点号(SA2),默认 0": "Source FINS node number (SA2). Defaults to 0.",
|
|
3728
|
+
单元地址: "Unit address",
|
|
3729
|
+
"单元地址(DA3),默认 0": "Unit address (DA3). Defaults to 0.",
|
|
3730
|
+
"请求超时时间,默认 5": "Request timeout. Defaults to 5.",
|
|
3731
|
+
"如 DM100、CIO10.0、D100:20(字符串)": "Examples: DM100, CIO10.0, D100:20 (string).",
|
|
3732
|
+
"BOOL 位": "BOOL: bit",
|
|
3733
|
+
"eng = raw*scale + offset;留空不缩放": "eng = raw*scale + offset. Empty disables scaling.",
|
|
3734
|
+
"仅平移时 scale 填 1": "For an offset-only conversion, set scale to 1.",
|
|
3735
|
+
"多字类型生效;留空使用设备默认": "Applies to multi-word types. Empty uses the device default.",
|
|
3736
|
+
FINS写: "FINS Write",
|
|
3737
|
+
"欧姆龙 FINS UDP/TCP 写入 DM/CIO/WR/HR/AR 区。字符串使用 D100:20 和 STRING 类型。": "Write to Omron DM/CIO/WR/HR/AR areas over FINS UDP/TCP. For strings, use an address such as D100:20 and the STRING type.",
|
|
3738
|
+
写入点位表: "Write point table",
|
|
3739
|
+
Nacos配置监听: "Nacos Config Listener",
|
|
3740
|
+
"监听 Nacos 配置变更并触发规则链。路由 from.path 填写配置 Data ID,变更内容写入 msg.Data,Data ID 写入 metadata.dataId。": "Trigger the rule chain on Nacos configuration changes. Set router from.path to the configuration Data ID. Updated content goes to msg.Data and the Data ID to metadata.dataId.",
|
|
3741
|
+
Nacos地址: "Nacos address",
|
|
3742
|
+
"例如 127.0.0.1:8848,多个地址用逗号分隔": "Example: 127.0.0.1:8848. Separate multiple addresses with commas.",
|
|
3743
|
+
Nacos地址是必填项: "Nacos address is required",
|
|
3744
|
+
"命名空间 ID,留空使用 public": "Namespace ID. Empty uses public.",
|
|
3745
|
+
"Nacos 请求超时时间,默认 5 秒": "Nacos request timeout. Defaults to 5 seconds.",
|
|
3746
|
+
认证: "Authentication",
|
|
3747
|
+
"Nacos 开源鉴权用户名": "Username for Nacos open-source authentication",
|
|
3748
|
+
"Nacos 开源鉴权密码": "Password for Nacos open-source authentication",
|
|
3749
|
+
"阿里云 Nacos AccessKey": "Alibaba Cloud Nacos AccessKey",
|
|
3750
|
+
"阿里云 Nacos SecretKey": "Alibaba Cloud Nacos SecretKey",
|
|
3751
|
+
私钥文件: "Private key file",
|
|
3752
|
+
"CA 证书文件": "CA certificate file",
|
|
3753
|
+
跳过证书校验: "Skip certificate verification",
|
|
3754
|
+
不建议在生产环境启用: "Not recommended in production.",
|
|
3755
|
+
配置分组: "Configuration group",
|
|
3756
|
+
"默认 DEFAULT_GROUP": "Defaults to DEFAULT_GROUP.",
|
|
3757
|
+
Nacos服务调用: "Nacos Service Call",
|
|
3758
|
+
"通过 Nacos 服务发现定位健康实例并调用微服务。请求路径和请求体支持 ${msg.xx},请求体留空时使用消息内容。": "Discover a healthy instance through Nacos and call the service. Request paths and bodies support ${msg.xx}. An empty body uses the message content.",
|
|
3759
|
+
"例如 127.0.0.1:8848": "Example: 127.0.0.1:8848",
|
|
3760
|
+
服务名: "Service name",
|
|
3761
|
+
"Nacos 注册的服务名": "Service name registered in Nacos",
|
|
3762
|
+
服务名是必填项: "Service name is required",
|
|
3763
|
+
服务分组: "Service group",
|
|
3764
|
+
HTTP方法: "HTTP method",
|
|
3765
|
+
请求路径: "Request path",
|
|
3766
|
+
"支持 ${msg.xx} 变量替换": "Supports ${msg.xx} variable substitution.",
|
|
3767
|
+
请求体: "Request body",
|
|
3768
|
+
"支持 ${msg.xx} 变量替换,留空使用消息内容": "Supports ${msg.xx} variable substitution. Empty uses the message content.",
|
|
3769
|
+
Nacos配置获取: "Nacos Config Get",
|
|
3770
|
+
"从 Nacos 读取配置内容并写入 msg.Data。": "Read configuration from Nacos into msg.Data.",
|
|
3771
|
+
"Nacos 中的配置唯一标识": "Unique configuration identifier in Nacos",
|
|
3772
|
+
"Data ID 是必填项": "Data ID is required",
|
|
3773
|
+
Nacos配置写入: "Nacos Config Set",
|
|
3774
|
+
"全量写入 Nacos 配置,不存在则创建,存在则覆盖。": "Write the complete Nacos configuration, creating it if absent or replacing it if present.",
|
|
3775
|
+
配置内容: "Configuration content",
|
|
3776
|
+
"支持 ${msg.xx} 变量替换,为全量覆盖": "Supports ${msg.xx} variable substitution. Replaces the entire configuration.",
|
|
3777
|
+
配置格式: "Configuration format",
|
|
3778
|
+
工具描述: "Tool description",
|
|
3779
|
+
工具入参JsonSchema: "Tool input JSON Schema",
|
|
3780
|
+
cron表达式: "Cron expression",
|
|
3781
|
+
"通过cron表达式周期触发,如: */10 * * * * *": "Trigger on a cron schedule, for example */10 * * * * *.",
|
|
3782
|
+
"请输入cron表达式如: */10 * * * * *": "Enter a cron expression, for example */10 * * * * *.",
|
|
3783
|
+
路由表名: "Routing table name",
|
|
3784
|
+
"根据表名路由,表名格式:dbName.tableName,如:test.users。*表示所有表": "Route by table name in dbName.tableName format, for example test.users. * matches all tables.",
|
|
3785
|
+
"配置 Data ID": "Configuration Data ID",
|
|
3786
|
+
"Nacos 中的配置唯一标识,多个 Data ID 用逗号分隔": "Unique configuration identifier in Nacos. Separate multiple Data IDs with commas.",
|
|
3787
|
+
"配置 Data ID 是必填项": "Configuration Data ID is required"
|
|
3788
|
+
}, y = {
|
|
3789
|
+
...S(M(u)),
|
|
3790
|
+
componentFieldGroups: { advanced: u.高级, advancedConfiguration: u.高级配置 }
|
|
3791
|
+
}, K = {
|
|
3792
|
+
dynamicBrowse: q,
|
|
3793
|
+
expressionPreview: J,
|
|
3794
|
+
...y,
|
|
3795
|
+
...E,
|
|
3796
|
+
...B,
|
|
2103
3797
|
Input: "Input",
|
|
2104
3798
|
"Input node already exists": "Only one input node can exist",
|
|
2105
3799
|
"At least one input node is required": "At least one input endpoint or default input node is required",
|
|
@@ -2143,6 +3837,8 @@ const e = {
|
|
|
2143
3837
|
},
|
|
2144
3838
|
/** Editor UI texts */
|
|
2145
3839
|
editor: {
|
|
3840
|
+
pointTemplates: W,
|
|
3841
|
+
analysis: P,
|
|
2146
3842
|
toolbar: {
|
|
2147
3843
|
save: "Save",
|
|
2148
3844
|
undo: "Undo",
|
|
@@ -2168,7 +3864,7 @@ const e = {
|
|
|
2168
3864
|
closeSelection: "Close Box Select",
|
|
2169
3865
|
selectionUnavailable: "Box select plugin is unavailable",
|
|
2170
3866
|
componentManage: "Component Manage",
|
|
2171
|
-
switchLang: "
|
|
3867
|
+
switchLang: "Chinese",
|
|
2172
3868
|
switchTheme: "Theme",
|
|
2173
3869
|
searchNode: "Search",
|
|
2174
3870
|
deploy: "Deploy",
|
|
@@ -2787,11 +4483,11 @@ const e = {
|
|
|
2787
4483
|
aiSkillUploadTip: "Each skill directory in the archive must contain SKILL.md. Nested directories are supported.",
|
|
2788
4484
|
aiSkillFormatGuide: "SKILL.md Format",
|
|
2789
4485
|
aiSkillUploadDrop: "Drop an archive here, or click to choose a file",
|
|
2790
|
-
aiSkillUploadHint: "
|
|
4486
|
+
aiSkillUploadHint: "ZIP archives, up to 10MB.",
|
|
2791
4487
|
aiSkillUploadRemove: "Remove",
|
|
2792
4488
|
aiSkillUploadSubmit: "Upload",
|
|
2793
|
-
aiSkillUploadInvalidType: "Only .zip
|
|
2794
|
-
aiSkillUploadTooLarge: "Archive must not exceed
|
|
4489
|
+
aiSkillUploadInvalidType: "Only .zip files are supported",
|
|
4490
|
+
aiSkillUploadTooLarge: "Archive must not exceed 10MB",
|
|
2795
4491
|
aiSkillUploading: "Uploading...",
|
|
2796
4492
|
aiSkillUploadSuccess: "Imported {{count}} skill(s)",
|
|
2797
4493
|
aiQuickPromptMqttHttp: "Create an MQTT to HTTP data forwarding rule chain",
|
|
@@ -3162,6 +4858,7 @@ const e = {
|
|
|
3162
4858
|
relationType: "Relation Type",
|
|
3163
4859
|
inputPlaceholder: "Enter value",
|
|
3164
4860
|
schemaMentionHint: "Type . to select rule chain input fields",
|
|
4861
|
+
variableScope: { vars: "Chain variable", global: "Global configuration", msg: "Message field" },
|
|
3165
4862
|
runtimeObserved: "Observed at runtime",
|
|
3166
4863
|
selectOptionRequired: "Select a valid option from the list",
|
|
3167
4864
|
jsScriptPlaceholder: "Enter JS script...",
|
|
@@ -3500,6 +5197,9 @@ Check:
|
|
|
3500
5197
|
ollama: "Ollama (Local)"
|
|
3501
5198
|
},
|
|
3502
5199
|
customNode: {
|
|
5200
|
+
businessLogConfigured: "Business log configured",
|
|
5201
|
+
businessLogBefore: "Before execution",
|
|
5202
|
+
businessLogAfter: "After execution",
|
|
3503
5203
|
onlyRightAnchorOut: "Only the right anchor can connect out",
|
|
3504
5204
|
inputSingleOutput: "Input can only connect to one outgoing edge",
|
|
3505
5205
|
externalCannotConnectGroupChild: "External nodes cannot connect to nodes inside a group",
|
|
@@ -3795,6 +5495,7 @@ Check:
|
|
|
3795
5495
|
},
|
|
3796
5496
|
/** Component type display names */
|
|
3797
5497
|
components: {
|
|
5498
|
+
...y.components,
|
|
3798
5499
|
"start-node": "Input",
|
|
3799
5500
|
// === action ===
|
|
3800
5501
|
delay: "Delay",
|
|
@@ -4098,6 +5799,7 @@ Check:
|
|
|
4098
5799
|
},
|
|
4099
5800
|
/** Category names */
|
|
4100
5801
|
category: {
|
|
5802
|
+
...x,
|
|
4101
5803
|
filter: "Filter",
|
|
4102
5804
|
transform: "Transform",
|
|
4103
5805
|
action: "Action",
|
|
@@ -4154,6 +5856,16 @@ Check:
|
|
|
4154
5856
|
}
|
|
4155
5857
|
};
|
|
4156
5858
|
export {
|
|
4157
|
-
|
|
4158
|
-
|
|
5859
|
+
B as a,
|
|
5860
|
+
L as b,
|
|
5861
|
+
j as c,
|
|
5862
|
+
U as d,
|
|
5863
|
+
q as e,
|
|
5864
|
+
H as f,
|
|
5865
|
+
F as g,
|
|
5866
|
+
J as h,
|
|
5867
|
+
W as i,
|
|
5868
|
+
K as j,
|
|
5869
|
+
z as l,
|
|
5870
|
+
V as p
|
|
4159
5871
|
};
|