@revenexx/studio-integrations 1.2.0 → 1.4.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/CHANGELOG.md +581 -0
- package/dist/module.json +1 -1
- package/dist/runtime/components/Integrations/CanvasShortcutsDialog.d.vue.ts +9 -0
- package/dist/runtime/components/Integrations/CanvasShortcutsDialog.vue +53 -0
- package/dist/runtime/components/Integrations/CanvasShortcutsDialog.vue.d.ts +9 -0
- package/dist/runtime/components/Integrations/EditorTip.vue +2 -15
- package/dist/runtime/components/Integrations/NodeConfigDynamicSchema.vue +10 -2
- package/dist/runtime/components/Integrations/NodeConfigField.d.vue.ts +15 -1
- package/dist/runtime/components/Integrations/NodeConfigField.vue +158 -49
- package/dist/runtime/components/Integrations/NodeConfigField.vue.d.ts +15 -1
- package/dist/runtime/components/Integrations/NodeInspector.d.vue.ts +5 -1
- package/dist/runtime/components/Integrations/NodeInspector.vue +136 -81
- package/dist/runtime/components/Integrations/NodeInspector.vue.d.ts +5 -1
- package/dist/runtime/components/Integrations/NodeVersionMoveDialog.d.vue.ts +21 -0
- package/dist/runtime/components/Integrations/NodeVersionMoveDialog.vue +133 -0
- package/dist/runtime/components/Integrations/NodeVersionMoveDialog.vue.d.ts +21 -0
- package/dist/runtime/components/Integrations/RunDetailPanel.vue +80 -33
- package/dist/runtime/components/Integrations/StateNamespaceCreateDialog.d.vue.ts +16 -0
- package/dist/runtime/components/Integrations/StateNamespaceCreateDialog.vue +111 -0
- package/dist/runtime/components/Integrations/StateNamespaceCreateDialog.vue.d.ts +16 -0
- package/dist/runtime/components/Integrations/TemplateCard.d.vue.ts +0 -4
- package/dist/runtime/components/Integrations/TemplateCard.vue +3 -6
- package/dist/runtime/components/Integrations/TemplateCard.vue.d.ts +0 -4
- package/dist/runtime/components/Integrations/TemplateInstallStep.d.vue.ts +25 -0
- package/dist/runtime/components/Integrations/TemplateInstallStep.vue +198 -0
- package/dist/runtime/components/Integrations/TemplateInstallStep.vue.d.ts +25 -0
- package/dist/runtime/components/Integrations/WorkflowContextMenu.d.vue.ts +2 -2
- package/dist/runtime/components/Integrations/WorkflowContextMenu.vue +22 -40
- package/dist/runtime/components/Integrations/WorkflowContextMenu.vue.d.ts +2 -2
- package/dist/runtime/components/Integrations/WorkflowCreateDialog.vue +94 -65
- package/dist/runtime/components/Integrations/WorkflowEditor.d.vue.ts +36 -2
- package/dist/runtime/components/Integrations/WorkflowEditor.vue +200 -54
- package/dist/runtime/components/Integrations/WorkflowEditor.vue.d.ts +36 -2
- package/dist/runtime/components/Integrations/WorkflowRunReplayPanel.d.vue.ts +6 -2
- package/dist/runtime/components/Integrations/WorkflowRunReplayPanel.vue +4 -106
- package/dist/runtime/components/Integrations/WorkflowRunReplayPanel.vue.d.ts +6 -2
- package/dist/runtime/components/Integrations/WorkflowStateNamespacesDialog.d.vue.ts +13 -0
- package/dist/runtime/components/Integrations/WorkflowStateNamespacesDialog.vue +216 -0
- package/dist/runtime/components/Integrations/WorkflowStateNamespacesDialog.vue.d.ts +13 -0
- package/dist/runtime/components/Integrations/WorkflowsTable.vue +22 -11
- package/dist/runtime/composables/useCanvasShortcuts.d.ts +34 -0
- package/dist/runtime/composables/useCanvasShortcuts.js +11 -8
- package/dist/runtime/composables/useCredentialTypes.js +3 -9
- package/dist/runtime/composables/useIntegrationsCredentials.js +6 -14
- package/dist/runtime/composables/useIntegrationsNodes.js +2 -2
- package/dist/runtime/composables/useIntegrationsRuns.js +8 -13
- package/dist/runtime/composables/useIntegrationsSecrets.js +5 -5
- package/dist/runtime/composables/useIntegrationsTemplates.js +10 -8
- package/dist/runtime/composables/useIntegrationsTriggers.js +1 -4
- package/dist/runtime/composables/useIntegrationsWorkflows.js +11 -7
- package/dist/runtime/data/canvasShortcuts.d.ts +208 -0
- package/dist/runtime/data/canvasShortcuts.js +68 -0
- package/dist/runtime/data/integrationNodeCatalog.d.ts +25 -0
- package/dist/runtime/data/integrationNodeCatalog.js +8 -0
- package/dist/runtime/data/nodeVersionMove.d.ts +72 -0
- package/dist/runtime/data/nodeVersionMove.js +65 -0
- package/dist/runtime/i18n/messages/de.json +83 -20
- package/dist/runtime/i18n/messages/en.json +83 -20
- package/dist/runtime/pages/integrations/templates/[slug].vue +22 -132
- package/dist/runtime/pages/integrations/workflows/[id].vue +158 -53
- package/dist/runtime/pages/integrations/workflows/index.vue +23 -4
- package/dist/runtime/types/integrations.d.ts +44 -1
- package/dist/runtime/utils/apiEnvelope.d.ts +27 -0
- package/dist/runtime/utils/apiEnvelope.js +20 -0
- package/dist/runtime/utils/buildSettle.d.ts +68 -0
- package/dist/runtime/utils/buildSettle.js +29 -0
- package/dist/runtime/utils/configDefaults.d.ts +18 -0
- package/dist/runtime/utils/configDefaults.js +7 -0
- package/dist/runtime/utils/errorPathAdvice.d.ts +60 -0
- package/dist/runtime/utils/errorPathAdvice.js +19 -0
- package/dist/runtime/utils/notify.d.ts +2 -2
- package/dist/runtime/utils/runEnvelope.d.ts +12 -0
- package/dist/runtime/utils/runEnvelope.js +2 -1
- package/dist/runtime/utils/selectOptions.d.ts +48 -0
- package/dist/runtime/utils/selectOptions.js +19 -0
- package/dist/runtime/utils/settingCondition.d.ts +48 -0
- package/dist/runtime/utils/settingCondition.js +84 -0
- package/dist/runtime/utils/shortcutLabel.d.ts +40 -0
- package/dist/runtime/utils/shortcutLabel.js +48 -0
- package/dist/runtime/utils/stateNamespaceName.d.ts +23 -0
- package/dist/runtime/utils/stateNamespaceName.js +8 -0
- package/package.json +1 -1
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
function hasValue(config, key) {
|
|
2
|
+
if (!(key in config)) return false;
|
|
3
|
+
const v = config[key];
|
|
4
|
+
return v !== void 0 && v !== null && v !== "";
|
|
5
|
+
}
|
|
6
|
+
function byKey(manifest) {
|
|
7
|
+
const map = /* @__PURE__ */ new Map();
|
|
8
|
+
for (const f of manifest?.config ?? []) {
|
|
9
|
+
if (f && typeof f.key === "string" && f.key) map.set(f.key, f);
|
|
10
|
+
}
|
|
11
|
+
return map;
|
|
12
|
+
}
|
|
13
|
+
function shapeOf(field) {
|
|
14
|
+
if (!field) return "";
|
|
15
|
+
return JSON.stringify([
|
|
16
|
+
field.type,
|
|
17
|
+
(field.options ?? []).map((o) => o.value),
|
|
18
|
+
(field.properties ?? []).map((p) => [p.key, p.type]),
|
|
19
|
+
field.items ? [field.items.key, field.items.type, (field.items.properties ?? []).map((p) => [p.key, p.type])] : null
|
|
20
|
+
]);
|
|
21
|
+
}
|
|
22
|
+
export function planVersionMove(from, to, config) {
|
|
23
|
+
const current = config ?? {};
|
|
24
|
+
const sourceFields = byKey(from);
|
|
25
|
+
const targetFields = byKey(to);
|
|
26
|
+
const targetHasDynamicSchema = (to?.config ?? []).some((f) => f?.type === "dynamic-schema");
|
|
27
|
+
const carried = [];
|
|
28
|
+
const dropped = [];
|
|
29
|
+
const review = [];
|
|
30
|
+
const nextConfig = {};
|
|
31
|
+
for (const key of Object.keys(current)) {
|
|
32
|
+
if (!hasValue(current, key)) {
|
|
33
|
+
nextConfig[key] = current[key];
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
const target = targetFields.get(key);
|
|
37
|
+
if (!target) {
|
|
38
|
+
if (targetHasDynamicSchema) {
|
|
39
|
+
nextConfig[key] = current[key];
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
dropped.push({ key, field: sourceFields.get(key) ?? null });
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
nextConfig[key] = current[key];
|
|
46
|
+
const source = sourceFields.get(key);
|
|
47
|
+
if (!source || shapeOf(source) === shapeOf(target)) carried.push({ key, field: target });
|
|
48
|
+
else review.push({ key, field: target, reason: "changed" });
|
|
49
|
+
}
|
|
50
|
+
for (const [key, field] of targetFields) {
|
|
51
|
+
if (field.default !== void 0 && !(key in current)) nextConfig[key] = field.default;
|
|
52
|
+
if (field.required !== true) continue;
|
|
53
|
+
if (field.default !== void 0) continue;
|
|
54
|
+
if (hasValue(current, key)) continue;
|
|
55
|
+
review.push({ key, field, reason: "nowRequired" });
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
carried,
|
|
59
|
+
dropped,
|
|
60
|
+
review,
|
|
61
|
+
nextConfig,
|
|
62
|
+
lossless: dropped.length === 0 && review.length === 0,
|
|
63
|
+
comparable: from !== null && from !== void 0
|
|
64
|
+
};
|
|
65
|
+
}
|
|
@@ -71,9 +71,9 @@
|
|
|
71
71
|
"integration.canvas.node.action.duplicate": "Duplizieren",
|
|
72
72
|
"integration.canvas.node.action.duplicateAria": "Node duplizieren",
|
|
73
73
|
"integration.canvas.node.badge.invalidConfig": "Konfiguration unvollständig — {n} Einstellung muss noch behoben werden: {fields} | Konfiguration unvollständig — {n} Einstellungen müssen noch behoben werden: {fields}",
|
|
74
|
+
"integration.canvas.node.badge.loopBody": "Schleife — am Ausgang „Element“ hängt noch nichts, es wiederholt sich also nichts | Schleife — wiederholt den einen Schritt am Ausgang „Element“, einmal pro Element | Schleife — wiederholt die {n} Schritte am Ausgang „Element“, einmal pro Element",
|
|
74
75
|
"integration.canvas.node.badge.noBuiltCode": "Version {version} ist nicht einsatzbereit — dieser Schritt lässt sich nicht testen",
|
|
75
76
|
"integration.canvas.node.badge.repeats": "Wiederholt sich — läuft einmal pro Element von {iterators} | Wiederholt sich — läuft einmal pro Element jeder der {n} Schleifen, in denen er liegt: {iterators}",
|
|
76
|
-
"integration.canvas.node.badge.loopBody": "Schleife — am Ausgang „Element“ hängt noch nichts, es wiederholt sich also nichts | Schleife — wiederholt den einen Schritt am Ausgang „Element“, einmal pro Element | Schleife — wiederholt die {n} Schritte am Ausgang „Element“, einmal pro Element",
|
|
77
77
|
"integration.canvas.node.handle.input": "Eingang",
|
|
78
78
|
"integration.canvas.node.meta.versionTitle": "Version {version}",
|
|
79
79
|
"integration.canvas.node.note.heading": "Notiz",
|
|
@@ -91,6 +91,20 @@
|
|
|
91
91
|
"integration.canvas.palette.search.placeholderGroup": "In {group} suchen…",
|
|
92
92
|
"integration.canvas.palette.title.addNode": "Node hinzufügen",
|
|
93
93
|
"integration.canvas.palette.version.selectAria": "Einzufügende Version für {name}",
|
|
94
|
+
"integration.canvas.shortcuts.dialog.description": "Die Tasten, die dieser Canvas beantwortet. Keine davon löst aus, solange ein Dialog offen ist oder der Cursor in einem Feld steht.",
|
|
95
|
+
"integration.canvas.shortcuts.dialog.title": "Tastenkürzel",
|
|
96
|
+
"integration.canvas.shortcuts.group.canvas": "Canvas",
|
|
97
|
+
"integration.canvas.shortcuts.group.nodes": "Nodes",
|
|
98
|
+
"integration.canvas.shortcuts.group.selection": "Auswahl",
|
|
99
|
+
"integration.canvas.shortcuts.group.view": "Ansicht",
|
|
100
|
+
"integration.canvas.shortcuts.group.workflow": "Workflow",
|
|
101
|
+
"integration.canvas.shortcuts.item.delete": "Auswahl löschen",
|
|
102
|
+
"integration.canvas.shortcuts.item.group": "Auswahl gruppieren",
|
|
103
|
+
"integration.canvas.shortcuts.item.overview": "Diese Tastenkürzel anzeigen",
|
|
104
|
+
"integration.canvas.shortcuts.item.state": "Was sich dieser Workflow merkt",
|
|
105
|
+
"integration.canvas.shortcuts.item.toggleActive": "Workflow aktivieren oder pausieren",
|
|
106
|
+
"integration.canvas.shortcuts.item.zoomReset": "Zoom auf 100 %",
|
|
107
|
+
"integration.canvas.shortcuts.or": "oder",
|
|
94
108
|
"integration.canvas.sticky.action.delete": "Notiz löschen",
|
|
95
109
|
"integration.canvas.sticky.action.resize": "Größe ändern",
|
|
96
110
|
"integration.canvas.sticky.state.emptyHint": "Zum Bearbeiten doppelklicken",
|
|
@@ -327,7 +341,8 @@
|
|
|
327
341
|
"integration.editor.action.more.aria": "Weitere Aktionen für diesen Workflow",
|
|
328
342
|
"integration.editor.action.more.label": "Aktionen",
|
|
329
343
|
"integration.editor.action.pause.title": "Workflow pausieren",
|
|
330
|
-
"integration.editor.action.retry": "Erneut
|
|
344
|
+
"integration.editor.action.retry": "Erneut ausführen",
|
|
345
|
+
"integration.editor.action.retry.title": "Führt den Workflow in seinem aktuell gespeicherten Stand aus, mit dem Trigger-Payload dieses Runs.",
|
|
331
346
|
"integration.editor.action.save.label": "Speichern",
|
|
332
347
|
"integration.editor.action.save.saving": "Wird gespeichert…",
|
|
333
348
|
"integration.editor.action.state.label": "Workflow-Status",
|
|
@@ -362,6 +377,13 @@
|
|
|
362
377
|
"integration.editor.dropGhost.label": "Loslassen zum Hinzufügen",
|
|
363
378
|
"integration.editor.emptyState.hint": "Ziehen Sie einen Trigger und eine Aktion aus dem Panel links.",
|
|
364
379
|
"integration.editor.emptyState.title": "Leere Arbeitsfläche",
|
|
380
|
+
"integration.editor.errorPath.action.stop": "Fehlerausgang stoppen lassen",
|
|
381
|
+
"integration.editor.errorPath.advice": "{n} Node leitet Fehler auf einen Ausgang, an dem nichts hängt — der Fehler wird dort nicht behandelt. | {n} Nodes leiten Fehler auf einen Ausgang, an dem nichts hängt — der Fehler wird dort nicht behandelt.",
|
|
382
|
+
"integration.editor.errorPath.ariaFix": "Ausgang „{port}“ von {label} auf Stop und Fehler legen",
|
|
383
|
+
"integration.editor.errorPath.ariaReveal": "{label} auf der Canvas zeigen — der Ausgang „{port}“ ist nicht verbunden",
|
|
384
|
+
"integration.editor.errorPath.message": "{label} fehlgeschlagen: ${{ nodes.{nodeId}.outputs.{port}.message }}",
|
|
385
|
+
"integration.editor.errorPath.more": "…und {n} weitere",
|
|
386
|
+
"integration.editor.errorPath.toast.added": "Stop und Fehler an {label} gehängt — noch nicht gespeichert.",
|
|
365
387
|
"integration.editor.event.toast.noneReceived": "Noch kein {topic}-Event empfangen.",
|
|
366
388
|
"integration.editor.executionMode.async.hint": "Runs werden immer in die Warteschlange gestellt; der Trigger antwortet sofort.",
|
|
367
389
|
"integration.editor.executionMode.async.label": "Nur asynchron",
|
|
@@ -419,8 +441,8 @@
|
|
|
419
441
|
"integration.editor.runPayload.action.sampleEvent": "Beispiel-Event",
|
|
420
442
|
"integration.editor.runPayload.action.sampleEvent.titleAvailable": "Beispiel-Payload aus dem Katalog einfügen",
|
|
421
443
|
"integration.editor.runPayload.action.sampleEvent.titleUnavailable": "Der Event-Katalog enthält kein Beispiel für dieses Topic.",
|
|
422
|
-
"integration.editor.runPayload.dialog.description": "Startet einen manuellen Run
|
|
423
|
-
"integration.editor.runPayload.dialog.title": "
|
|
444
|
+
"integration.editor.runPayload.dialog.description": "Startet einen manuellen Run dieses Workflows. Was er zurückgibt, erscheint hier, sobald er beendet ist.",
|
|
445
|
+
"integration.editor.runPayload.dialog.title": "Workflow ausführen",
|
|
424
446
|
"integration.editor.runPayload.prefill.label": "Vorbelegen mit",
|
|
425
447
|
"integration.editor.runView.details": "Details",
|
|
426
448
|
"integration.editor.runView.replay": "Replay",
|
|
@@ -455,6 +477,8 @@
|
|
|
455
477
|
"integration.editor.tool.select": "Auswählen",
|
|
456
478
|
"integration.editor.tool.settings.label": "Einstellungen",
|
|
457
479
|
"integration.editor.tool.settings.tooltip": "Workflow-Einstellungen",
|
|
480
|
+
"integration.editor.tool.state.label": "Zustand",
|
|
481
|
+
"integration.editor.tool.state.tooltip": "Was sich dieser Workflow zwischen Läufen merkt",
|
|
458
482
|
"integration.editor.tool.tidyUp": "Aufräumen",
|
|
459
483
|
"integration.editor.tool.variables.label": "Variablen",
|
|
460
484
|
"integration.editor.tool.variables.tooltip": "Workflow-Variablen",
|
|
@@ -529,8 +553,8 @@
|
|
|
529
553
|
"integration.nodeConfig.dynamicSchema.reloading": "Felder werden neu geladen…",
|
|
530
554
|
"integration.nodeConfig.dynamicSchema.resolving": "Felder werden geladen…",
|
|
531
555
|
"integration.nodeConfig.expression.badge.title": "Akzeptiert ${{ … }}-Ausdrücke",
|
|
532
|
-
"integration.nodeConfig.expression.insertTitle": "Ausdruck einfügen",
|
|
533
556
|
"integration.nodeConfig.expression.insertAria": "Ausdruck einfügen — verfügbare Daten für diese Einstellung",
|
|
557
|
+
"integration.nodeConfig.expression.insertTitle": "Ausdruck einfügen",
|
|
534
558
|
"integration.nodeConfig.expression.picker.aria": "Verfügbare Daten für diese Einstellung",
|
|
535
559
|
"integration.nodeConfig.expression.picker.empty": "Nichts entspricht „{query}“.",
|
|
536
560
|
"integration.nodeConfig.expression.picker.filterAria": "Verfügbare Daten filtern",
|
|
@@ -596,6 +620,11 @@
|
|
|
596
620
|
"integration.nodeConfig.resolve.error.generic": "Auflösung fehlgeschlagen",
|
|
597
621
|
"integration.nodeConfig.secretRef.placeholder": "Secret auswählen",
|
|
598
622
|
"integration.nodeConfig.select.placeholder": "Auswählen",
|
|
623
|
+
"integration.nodeConfig.state.action.new": "Neuen Namespace deklarieren…",
|
|
624
|
+
"integration.nodeConfig.state.create.description": "Er wird den Deklarationen dieses Workflows als {role}-Namespace hinzugefügt und hier ausgewählt.",
|
|
625
|
+
"integration.nodeConfig.state.create.title": "Zustands-Namespace deklarieren",
|
|
626
|
+
"integration.nodeConfig.state.empty": "Dieser Workflow deklariert davon noch keinen.",
|
|
627
|
+
"integration.nodeConfig.state.placeholder": "Namespace wählen…",
|
|
599
628
|
"integration.nodeConfig.validation.max": "Muss ≤ {max} sein",
|
|
600
629
|
"integration.nodeConfig.validation.maxLength": "Darf höchstens {max} Zeichen lang sein",
|
|
601
630
|
"integration.nodeConfig.validation.min": "Muss ≥ {min} sein",
|
|
@@ -641,9 +670,9 @@
|
|
|
641
670
|
"integration.nodeInspector.notice.versionNotReady.upgrade": "Version {version} dieses Nodes ist nicht mehr einsatzbereit. Um den Node weiter zu verwenden, ist ein Upgrade auf Version {ready} notwendig.",
|
|
642
671
|
"integration.nodeInspector.output.description": "Was nachgelagerte Nodes von diesem erhalten. Deklariert vom Node-Typ; wird mit echten Werten gefüllt, sobald der Schritt gelaufen ist.",
|
|
643
672
|
"integration.nodeInspector.output.loopBody.heading": "Der Schleifenkörper",
|
|
644
|
-
"integration.nodeInspector.output.loopBody.size": "Am Ausgang „Element“ hängt noch nichts, diese Schleife wiederholt also nichts. | Ein Schritt hängt am Ausgang „Element“ und läuft einmal pro Element. | {n} Schritte hängen am Ausgang „Element“ und laufen jeder einmal pro Element.",
|
|
645
|
-
"integration.nodeInspector.output.loopBody.names": "Diese wiederholen sich: {names}",
|
|
646
673
|
"integration.nodeInspector.output.loopBody.joined": "Einer davon hängt zugleich hinter der Schleife, am Ausgang „Fertig“ — er wiederholt sich also mit dem Schleifenkörper, statt einmal zu laufen: {names} | {n} davon hängen zugleich hinter der Schleife, am Ausgang „Fertig“ — sie wiederholen sich also mit dem Schleifenkörper, statt einmal zu laufen: {names}",
|
|
674
|
+
"integration.nodeInspector.output.loopBody.names": "Diese wiederholen sich: {names}",
|
|
675
|
+
"integration.nodeInspector.output.loopBody.size": "Am Ausgang „Element“ hängt noch nichts, diese Schleife wiederholt also nichts. | Ein Schritt hängt am Ausgang „Element“ und läuft einmal pro Element. | {n} Schritte hängen am Ausgang „Element“ und laufen jeder einmal pro Element.",
|
|
647
676
|
"integration.nodeInspector.output.pin.editAction": "Angeheftetes Beispiel bearbeiten",
|
|
648
677
|
"integration.nodeInspector.output.pin.editorAria": "Angeheftete Beispielausgabe",
|
|
649
678
|
"integration.nodeInspector.output.pin.hint": "Ein angeheftetes Beispiel steht anstelle von Run-Daten, während Sie nachgelagerte Felder zuordnen.",
|
|
@@ -800,6 +829,20 @@
|
|
|
800
829
|
"integration.nodeInspector.trigger.webhook.username.hint": "Optional — legt den Basic-Auth-Benutzernamen fest. Das Passwort ist das Endpoint-Secret.",
|
|
801
830
|
"integration.nodeInspector.trigger.webhook.username.label": "Benutzername",
|
|
802
831
|
"integration.nodeInspector.trigger.webhook.username.placeholder": "Beliebiger Benutzername",
|
|
832
|
+
"integration.nodeInspector.version.available": "Version {version} ist verfügbar.",
|
|
833
|
+
"integration.nodeInspector.version.change": "Version wechseln",
|
|
834
|
+
"integration.nodeInspector.version.move.confirm": "Version wechseln",
|
|
835
|
+
"integration.nodeInspector.version.move.description": "Der Schritt behält seine Verbindungen, seinen Namen und seine Notiz. Es ändert sich die Version — und jede Einstellung, die es in der gewählten Version nicht gibt.",
|
|
836
|
+
"integration.nodeInspector.version.move.dropped": "Wird entfernt",
|
|
837
|
+
"integration.nodeInspector.version.move.lossless": "Alle Einstellungen kommen unverändert mit.",
|
|
838
|
+
"integration.nodeInspector.version.move.notComparable": "Version {version} liegt nicht mehr im Katalog, deshalb lässt sich nicht vergleichen, was sich zwischen beiden unterscheidet. Unten steht, was ankommt — nicht, was geprüft wurde.",
|
|
839
|
+
"integration.nodeInspector.version.move.reason.changed": "hat sich zwischen den Versionen geändert",
|
|
840
|
+
"integration.nodeInspector.version.move.reason.nowRequired": "erforderlich und noch nicht ausgefüllt",
|
|
841
|
+
"integration.nodeInspector.version.move.review": "Danach prüfen",
|
|
842
|
+
"integration.nodeInspector.version.move.same": "Auf dieser Version steht der Schritt bereits.",
|
|
843
|
+
"integration.nodeInspector.version.move.targetAria": "Version, auf die dieser Schritt wechselt",
|
|
844
|
+
"integration.nodeInspector.version.move.title": "Version dieses Schritts wechseln",
|
|
845
|
+
"integration.nodeInspector.version.moveTo": "Auf Version {version} wechseln",
|
|
803
846
|
"integration.nodes.category.action": "Aktionen",
|
|
804
847
|
"integration.nodes.category.control": "Ablaufsteuerung",
|
|
805
848
|
"integration.nodes.category.io": "I/O",
|
|
@@ -808,7 +851,7 @@
|
|
|
808
851
|
"integration.nodes.error.loadFailed": "Nodes konnten nicht geladen werden.",
|
|
809
852
|
"integration.replay.badge.live": "Live",
|
|
810
853
|
"integration.replay.badge.snapshot": "Momentaufnahme",
|
|
811
|
-
"integration.replay.canvas.pickRun": "Run
|
|
854
|
+
"integration.replay.canvas.pickRun": "Kein Run ausgewählt",
|
|
812
855
|
"integration.replay.canvas.runLabel": "Run #{id}",
|
|
813
856
|
"integration.replay.debug.emptyHint": "Status, Zeiten und Payloads des aktiven Schritts erscheinen hier, während die Wiedergabe den Run durchläuft.",
|
|
814
857
|
"integration.replay.debug.field.attempt": "Versuch",
|
|
@@ -824,13 +867,8 @@
|
|
|
824
867
|
"integration.replay.debug.stepCounter": "Schritt {current} / {total}",
|
|
825
868
|
"integration.replay.debug.titleFallback": "Debug",
|
|
826
869
|
"integration.replay.error.loadStepsFailed": "Die Run-Schritte konnten nicht geladen werden.",
|
|
827
|
-
"integration.replay.runsList.description": "Klicken Sie sich durch die Runs, um sie auf dem Canvas abzuspielen.",
|
|
828
|
-
"integration.replay.runsList.empty": "Noch keine Runs — im Editor auf Run klicken.",
|
|
829
|
-
"integration.replay.runsList.heading": "Runs",
|
|
830
|
-
"integration.replay.runsList.loadMore": "Ältere Runs laden",
|
|
831
870
|
"integration.replay.state.noSteps": "Für diesen Run wurden keine Schritte aufgezeichnet.",
|
|
832
|
-
"integration.replay.state.pickRunHint": "
|
|
833
|
-
"integration.replay.toast.loadRunsFailed": "Die Runs konnten nicht geladen werden.",
|
|
871
|
+
"integration.replay.state.pickRunHint": "Kein Run zum Abspielen.",
|
|
834
872
|
"integration.replay.transport.action.next": "Weiter",
|
|
835
873
|
"integration.replay.transport.action.pause": "Pause",
|
|
836
874
|
"integration.replay.transport.action.play": "Abspielen",
|
|
@@ -841,11 +879,9 @@
|
|
|
841
879
|
"integration.runs.action.back": "Zurück",
|
|
842
880
|
"integration.runs.action.cancel": "Run stoppen",
|
|
843
881
|
"integration.runs.action.resume": "Fortsetzen",
|
|
844
|
-
"integration.runs.action.retry": "Erneut ausführen",
|
|
845
882
|
"integration.runs.action.terminate": "Terminieren",
|
|
846
883
|
"integration.runs.confirm.cancel": "Diesen Run stoppen?",
|
|
847
884
|
"integration.runs.confirm.resume": "Diesen Run fortsetzen?",
|
|
848
|
-
"integration.runs.confirm.retry": "Diesen Run wiederholen?",
|
|
849
885
|
"integration.runs.confirm.terminate": "Diesen Run terminieren?",
|
|
850
886
|
"integration.runs.detail.error.details.expired": "Verlauf ist nicht mehr verfügbar (Aufbewahrung abgelaufen, kein Snapshot vorhanden).",
|
|
851
887
|
"integration.runs.detail.error.details.generic": "Temporal-Details konnten nicht geladen werden.",
|
|
@@ -877,15 +913,13 @@
|
|
|
877
913
|
"integration.runs.detail.stackTrace.hint": "Laden, um den aktuellen Call-Stack beim laufenden Worker abzufragen.",
|
|
878
914
|
"integration.runs.detail.stackTrace.loading": "Worker wird abgefragt…",
|
|
879
915
|
"integration.runs.detail.stackTrace.title": "Stacktrace",
|
|
880
|
-
"integration.runs.detail.steps.action.hidePayloads": "Payloads ausblenden",
|
|
881
|
-
"integration.runs.detail.steps.action.showPayloads": "Payloads anzeigen",
|
|
882
916
|
"integration.runs.detail.steps.attemptLabel": "Versuch",
|
|
883
917
|
"integration.runs.detail.steps.branchLabel": "Branch",
|
|
884
918
|
"integration.runs.detail.steps.empty": "Noch keine Schritte erfasst.",
|
|
885
919
|
"integration.runs.detail.steps.field.input": "Eingabe",
|
|
886
920
|
"integration.runs.detail.steps.field.output": "Ausgabe",
|
|
887
921
|
"integration.runs.detail.steps.loading": "Schritte werden geladen…",
|
|
888
|
-
"integration.runs.detail.steps.
|
|
922
|
+
"integration.runs.detail.steps.payloadsLoading": "Eingabe und Ausgabe dieses Schritts werden geladen…",
|
|
889
923
|
"integration.runs.detail.steps.title": "Schritte",
|
|
890
924
|
"integration.runs.detail.timeline.label.activity": "Aktivität",
|
|
891
925
|
"integration.runs.detail.timeline.label.timer": "Timer",
|
|
@@ -1061,6 +1095,7 @@
|
|
|
1061
1095
|
"integration.templates.detail.install.secretsDescriptionSuffix": ".",
|
|
1062
1096
|
"integration.templates.detail.install.secretsHeader": "Secrets",
|
|
1063
1097
|
"integration.templates.detail.install.selectLater": "Später auswählen",
|
|
1098
|
+
"integration.templates.detail.install.state.loading": "Es wird geprüft, was diese Vorlage benötigt…",
|
|
1064
1099
|
"integration.templates.detail.install.submit": "Installieren",
|
|
1065
1100
|
"integration.templates.detail.install.submitting": "Wird eingerichtet…",
|
|
1066
1101
|
"integration.templates.detail.publisher.kind.community": "Community",
|
|
@@ -1140,13 +1175,13 @@
|
|
|
1140
1175
|
"integration.workflows.create.field.trigger.label": "Trigger",
|
|
1141
1176
|
"integration.workflows.create.tab.blank": "Leer starten",
|
|
1142
1177
|
"integration.workflows.create.tab.template": "Aus Vorlage starten",
|
|
1178
|
+
"integration.workflows.create.template.backToPicker": "Zurück zu den Vorlagen",
|
|
1143
1179
|
"integration.workflows.create.template.browseAll": "Gesamten Vorlagenkatalog durchsuchen",
|
|
1144
1180
|
"integration.workflows.create.template.empty": "Noch keine Vorlagen im Katalog.",
|
|
1145
1181
|
"integration.workflows.create.template.noMatch": "Keine Treffer für „{query}“.",
|
|
1146
1182
|
"integration.workflows.create.template.search.aria": "Vorlagen durchsuchen",
|
|
1147
1183
|
"integration.workflows.create.template.search.placeholder": "Vorlagen durchsuchen…",
|
|
1148
1184
|
"integration.workflows.create.template.state.loading": "Vorlagen werden geladen…",
|
|
1149
|
-
"integration.workflows.create.toast.templateError": "Der Workflow konnte nicht aus dieser Vorlage erstellt werden.",
|
|
1150
1185
|
"integration.workflows.delete.action.deleting": "Wird gelöscht…",
|
|
1151
1186
|
"integration.workflows.delete.dialog.description": "und der gesamte Revisionsverlauf werden endgültig gelöscht.",
|
|
1152
1187
|
"integration.workflows.delete.dialog.title": "Workflow löschen?",
|
|
@@ -1188,6 +1223,34 @@
|
|
|
1188
1223
|
"integration.workflows.settings.section.appearance": "Aussehen",
|
|
1189
1224
|
"integration.workflows.settings.section.execution": "Ausführung",
|
|
1190
1225
|
"integration.workflows.settings.section.metadata": "Metadaten",
|
|
1226
|
+
"integration.workflows.state.action.add": "Deklarieren",
|
|
1227
|
+
"integration.workflows.state.action.done": "Fertig",
|
|
1228
|
+
"integration.workflows.state.action.remove": "Deklaration entfernen",
|
|
1229
|
+
"integration.workflows.state.action.remove.hint": "Das Entfernen nimmt diesem Workflow den Zugriff. Die gespeicherten Einträge bleiben bestehen.",
|
|
1230
|
+
"integration.workflows.state.dialog.description": "Was sich dieser Workflow zwischen Läufen merken darf. Er erreicht ausschließlich die hier deklarierten Namespaces — alles andere wird beim Lauf abgewiesen.",
|
|
1231
|
+
"integration.workflows.state.dialog.title": "Zustands-Namespaces",
|
|
1232
|
+
"integration.workflows.state.error.invalidName": "Kleinbuchstaben, Ziffern und . - _, beginnend mit einem Buchstaben — zum Beispiel article oder crm.customers.",
|
|
1233
|
+
"integration.workflows.state.error.nameExists": "Dieser Workflow deklariert diesen Namespace bereits.",
|
|
1234
|
+
"integration.workflows.state.field.newName.label": "Namespace deklarieren",
|
|
1235
|
+
"integration.workflows.state.field.newName.placeholder": "article",
|
|
1236
|
+
"integration.workflows.state.field.newRole.label": "Rolle",
|
|
1237
|
+
"integration.workflows.state.field.newVisibility.label": "Sichtbar für",
|
|
1238
|
+
"integration.workflows.state.field.visibility.label": "Sichtbar für",
|
|
1239
|
+
"integration.workflows.state.role.cursor.hint": "Merkt sich, wie weit ein inkrementeller Import gelesen hat. Es rückt nur vor, wenn der Lauf sauber endet.",
|
|
1240
|
+
"integration.workflows.state.role.cursor.label": "Lesezeichen",
|
|
1241
|
+
"integration.workflows.state.role.dedupe.hint": "Markiert Verarbeitetes, damit eine wiederholte Zustellung nicht doppelt gebucht wird.",
|
|
1242
|
+
"integration.workflows.state.role.dedupe.label": "Dublettenschutz",
|
|
1243
|
+
"integration.workflows.state.role.digest.hint": "Merkt sich den zuletzt geschriebenen Stand, damit unveränderte Datensätze übersprungen werden.",
|
|
1244
|
+
"integration.workflows.state.role.digest.label": "Prüfsumme",
|
|
1245
|
+
"integration.workflows.state.role.fixed": "Die Rolle steht mit der Deklaration fest: Einträge, die mit einer Bedeutung geschrieben wurden, lassen sich nicht mit einer anderen lesen.",
|
|
1246
|
+
"integration.workflows.state.role.mapping.hint": "Verknüpft je eine ID auf beiden Seiten, damit ein späterer Lauf weiß, ob er anlegen oder aktualisieren muss.",
|
|
1247
|
+
"integration.workflows.state.role.mapping.label": "Zuordnung",
|
|
1248
|
+
"integration.workflows.state.row.aria": "Zustands-Namespace {namespace}",
|
|
1249
|
+
"integration.workflows.state.empty": "Dieser Workflow merkt sich noch nichts zwischen Läufen.",
|
|
1250
|
+
"integration.workflows.state.visibility.private.hint": "Nur dieser Workflow liest und schreibt ihn, und er wird mit dem Workflow gelöscht.",
|
|
1251
|
+
"integration.workflows.state.visibility.private.label": "Diesen Workflow",
|
|
1252
|
+
"integration.workflows.state.visibility.shared.hint": "Jeder Workflow dieses Mandanten liest und schreibt diese Einträge, und der Namespace bleibt bestehen, wenn dieser Workflow gelöscht wird.",
|
|
1253
|
+
"integration.workflows.state.visibility.shared.label": "Alle Workflows",
|
|
1191
1254
|
"integration.workflows.table.action.groupByTags": "Nach Tags gruppieren",
|
|
1192
1255
|
"integration.workflows.table.column.build": "Build",
|
|
1193
1256
|
"integration.workflows.table.column.lastRun": "Letzter Run",
|
|
@@ -71,9 +71,9 @@
|
|
|
71
71
|
"integration.canvas.node.action.duplicate": "Duplicate",
|
|
72
72
|
"integration.canvas.node.action.duplicateAria": "Duplicate node",
|
|
73
73
|
"integration.canvas.node.badge.invalidConfig": "Config incomplete — {n} setting still needs fixing: {fields} | Config incomplete — {n} settings still need fixing: {fields}",
|
|
74
|
+
"integration.canvas.node.badge.loopBody": "Loop — nothing is wired to Item yet, so nothing repeats | Loop — repeats the one step wired to Item, once per element | Loop — repeats the {n} steps wired to Item, once per element",
|
|
74
75
|
"integration.canvas.node.badge.noBuiltCode": "Version {version} is not ready to use — this step cannot be tested",
|
|
75
76
|
"integration.canvas.node.badge.repeats": "Repeats — runs once per element of {iterators} | Repeats — runs once per element of each of the {n} loops it sits inside: {iterators}",
|
|
76
|
-
"integration.canvas.node.badge.loopBody": "Loop — nothing is wired to Item yet, so nothing repeats | Loop — repeats the one step wired to Item, once per element | Loop — repeats the {n} steps wired to Item, once per element",
|
|
77
77
|
"integration.canvas.node.handle.input": "Input",
|
|
78
78
|
"integration.canvas.node.meta.versionTitle": "Version {version}",
|
|
79
79
|
"integration.canvas.node.note.heading": "Note",
|
|
@@ -91,6 +91,20 @@
|
|
|
91
91
|
"integration.canvas.palette.search.placeholderGroup": "Search in {group}…",
|
|
92
92
|
"integration.canvas.palette.title.addNode": "Add node",
|
|
93
93
|
"integration.canvas.palette.version.selectAria": "Version to insert for {name}",
|
|
94
|
+
"integration.canvas.shortcuts.dialog.description": "The keys this canvas answers. None of them fires while a dialog is open or the cursor is in a field.",
|
|
95
|
+
"integration.canvas.shortcuts.dialog.title": "Keyboard shortcuts",
|
|
96
|
+
"integration.canvas.shortcuts.group.canvas": "Canvas",
|
|
97
|
+
"integration.canvas.shortcuts.group.nodes": "Nodes",
|
|
98
|
+
"integration.canvas.shortcuts.group.selection": "Selection",
|
|
99
|
+
"integration.canvas.shortcuts.group.view": "View",
|
|
100
|
+
"integration.canvas.shortcuts.group.workflow": "Workflow",
|
|
101
|
+
"integration.canvas.shortcuts.item.delete": "Delete the selection",
|
|
102
|
+
"integration.canvas.shortcuts.item.group": "Group the selection",
|
|
103
|
+
"integration.canvas.shortcuts.item.overview": "Show these shortcuts",
|
|
104
|
+
"integration.canvas.shortcuts.item.state": "What this workflow remembers",
|
|
105
|
+
"integration.canvas.shortcuts.item.toggleActive": "Activate or pause the workflow",
|
|
106
|
+
"integration.canvas.shortcuts.item.zoomReset": "Zoom to 100%",
|
|
107
|
+
"integration.canvas.shortcuts.or": "or",
|
|
94
108
|
"integration.canvas.sticky.action.delete": "Delete note",
|
|
95
109
|
"integration.canvas.sticky.action.resize": "Resize",
|
|
96
110
|
"integration.canvas.sticky.state.emptyHint": "Double-click to edit",
|
|
@@ -327,7 +341,8 @@
|
|
|
327
341
|
"integration.editor.action.more.aria": "More actions for this workflow",
|
|
328
342
|
"integration.editor.action.more.label": "Actions",
|
|
329
343
|
"integration.editor.action.pause.title": "Pause this workflow",
|
|
330
|
-
"integration.editor.action.retry": "
|
|
344
|
+
"integration.editor.action.retry": "Run again",
|
|
345
|
+
"integration.editor.action.retry.title": "Runs the workflow as it is saved now, with this run's trigger payload.",
|
|
331
346
|
"integration.editor.action.save.label": "Save",
|
|
332
347
|
"integration.editor.action.save.saving": "Saving…",
|
|
333
348
|
"integration.editor.action.state.label": "Workflow status",
|
|
@@ -362,6 +377,13 @@
|
|
|
362
377
|
"integration.editor.dropGhost.label": "Drop to add",
|
|
363
378
|
"integration.editor.emptyState.hint": "Drag a trigger and an action from the panel on the left.",
|
|
364
379
|
"integration.editor.emptyState.title": "Empty canvas",
|
|
380
|
+
"integration.editor.errorPath.action.stop": "Stop the run on error",
|
|
381
|
+
"integration.editor.errorPath.advice": "{n} node routes failures to an output with nothing attached — nothing handles the failure there. | {n} nodes route failures to an output with nothing attached — nothing handles the failure there.",
|
|
382
|
+
"integration.editor.errorPath.ariaFix": "Route {label}'s \"{port}\" output to Stop and Error",
|
|
383
|
+
"integration.editor.errorPath.ariaReveal": "Show {label} on the canvas — its \"{port}\" output is not connected",
|
|
384
|
+
"integration.editor.errorPath.message": "{label} failed: ${{ nodes.{nodeId}.outputs.{port}.message }}",
|
|
385
|
+
"integration.editor.errorPath.more": "…and {n} more",
|
|
386
|
+
"integration.editor.errorPath.toast.added": "Stop and Error attached to {label} — not saved yet.",
|
|
365
387
|
"integration.editor.event.toast.noneReceived": "No {topic} event received yet.",
|
|
366
388
|
"integration.editor.executionMode.async.hint": "Runs are always queued; the trigger returns immediately.",
|
|
367
389
|
"integration.editor.executionMode.async.label": "Async only",
|
|
@@ -419,8 +441,8 @@
|
|
|
419
441
|
"integration.editor.runPayload.action.sampleEvent": "Sample event",
|
|
420
442
|
"integration.editor.runPayload.action.sampleEvent.titleAvailable": "Insert the catalogue sample payload",
|
|
421
443
|
"integration.editor.runPayload.action.sampleEvent.titleUnavailable": "The event catalogue has no sample for this topic.",
|
|
422
|
-
"integration.editor.runPayload.dialog.description": "Starts a manual run
|
|
423
|
-
"integration.editor.runPayload.dialog.title": "Run
|
|
444
|
+
"integration.editor.runPayload.dialog.description": "Starts a manual run of this workflow. What it returns is shown here when it ends.",
|
|
445
|
+
"integration.editor.runPayload.dialog.title": "Run workflow",
|
|
424
446
|
"integration.editor.runPayload.prefill.label": "Prefill",
|
|
425
447
|
"integration.editor.runView.details": "Details",
|
|
426
448
|
"integration.editor.runView.replay": "Replay",
|
|
@@ -455,6 +477,8 @@
|
|
|
455
477
|
"integration.editor.tool.select": "Select",
|
|
456
478
|
"integration.editor.tool.settings.label": "Settings",
|
|
457
479
|
"integration.editor.tool.settings.tooltip": "Workflow settings",
|
|
480
|
+
"integration.editor.tool.state.label": "State",
|
|
481
|
+
"integration.editor.tool.state.tooltip": "What this workflow remembers between runs",
|
|
458
482
|
"integration.editor.tool.tidyUp": "Tidy up",
|
|
459
483
|
"integration.editor.tool.variables.label": "Variables",
|
|
460
484
|
"integration.editor.tool.variables.tooltip": "Workflow variables",
|
|
@@ -529,8 +553,8 @@
|
|
|
529
553
|
"integration.nodeConfig.dynamicSchema.reloading": "reloading fields…",
|
|
530
554
|
"integration.nodeConfig.dynamicSchema.resolving": "Resolving fields…",
|
|
531
555
|
"integration.nodeConfig.expression.badge.title": "Accepts ${{ … }} expressions",
|
|
532
|
-
"integration.nodeConfig.expression.insertTitle": "Insert expression",
|
|
533
556
|
"integration.nodeConfig.expression.insertAria": "Insert expression — available data for this setting",
|
|
557
|
+
"integration.nodeConfig.expression.insertTitle": "Insert expression",
|
|
534
558
|
"integration.nodeConfig.expression.picker.aria": "Available data for this setting",
|
|
535
559
|
"integration.nodeConfig.expression.picker.empty": "Nothing matches “{query}”.",
|
|
536
560
|
"integration.nodeConfig.expression.picker.filterAria": "Filter available data",
|
|
@@ -596,6 +620,11 @@
|
|
|
596
620
|
"integration.nodeConfig.resolve.error.generic": "Resolve failed",
|
|
597
621
|
"integration.nodeConfig.secretRef.placeholder": "Pick a secret",
|
|
598
622
|
"integration.nodeConfig.select.placeholder": "Pick one",
|
|
623
|
+
"integration.nodeConfig.state.action.new": "Declare a new namespace…",
|
|
624
|
+
"integration.nodeConfig.state.create.description": "It is added to this workflow's declarations as a {role} namespace and selected here.",
|
|
625
|
+
"integration.nodeConfig.state.create.title": "Declare a state namespace",
|
|
626
|
+
"integration.nodeConfig.state.empty": "This workflow declares none of this kind yet.",
|
|
627
|
+
"integration.nodeConfig.state.placeholder": "Choose a namespace…",
|
|
599
628
|
"integration.nodeConfig.validation.max": "Must be ≤ {max}",
|
|
600
629
|
"integration.nodeConfig.validation.maxLength": "Must be at most {max} characters",
|
|
601
630
|
"integration.nodeConfig.validation.min": "Must be ≥ {min}",
|
|
@@ -641,9 +670,9 @@
|
|
|
641
670
|
"integration.nodeInspector.notice.versionNotReady.upgrade": "Version {version} of this node is no longer usable. To keep using this step, it has to be upgraded to version {ready}.",
|
|
642
671
|
"integration.nodeInspector.output.description": "What downstream nodes receive from this one. Declared by the node type; filled with real values once the step has run.",
|
|
643
672
|
"integration.nodeInspector.output.loopBody.heading": "The loop body",
|
|
644
|
-
"integration.nodeInspector.output.loopBody.size": "Nothing is wired to Item yet, so this loop repeats nothing. | One step is wired to Item and runs once per element. | {n} steps are wired to Item and each runs once per element.",
|
|
645
|
-
"integration.nodeInspector.output.loopBody.names": "These repeat: {names}",
|
|
646
673
|
"integration.nodeInspector.output.loopBody.joined": "One of them is wired after the loop as well, on the Done side — so it repeats with the body rather than running once: {names} | {n} of them are wired after the loop as well, on the Done side — so they repeat with the body rather than running once: {names}",
|
|
674
|
+
"integration.nodeInspector.output.loopBody.names": "These repeat: {names}",
|
|
675
|
+
"integration.nodeInspector.output.loopBody.size": "Nothing is wired to Item yet, so this loop repeats nothing. | One step is wired to Item and runs once per element. | {n} steps are wired to Item and each runs once per element.",
|
|
647
676
|
"integration.nodeInspector.output.pin.editAction": "Edit pinned sample",
|
|
648
677
|
"integration.nodeInspector.output.pin.editorAria": "Pinned sample output",
|
|
649
678
|
"integration.nodeInspector.output.pin.hint": "A pinned sample stands in for run data while you map downstream fields.",
|
|
@@ -800,6 +829,20 @@
|
|
|
800
829
|
"integration.nodeInspector.trigger.webhook.username.hint": "Optional — pins the Basic-auth username. The password is the endpoint secret.",
|
|
801
830
|
"integration.nodeInspector.trigger.webhook.username.label": "Username",
|
|
802
831
|
"integration.nodeInspector.trigger.webhook.username.placeholder": "Any username",
|
|
832
|
+
"integration.nodeInspector.version.available": "Version {version} is available.",
|
|
833
|
+
"integration.nodeInspector.version.change": "Change version",
|
|
834
|
+
"integration.nodeInspector.version.move.confirm": "Change version",
|
|
835
|
+
"integration.nodeInspector.version.move.description": "The step keeps its connections, its name and its note. What changes is the version — and any setting the chosen version does not have.",
|
|
836
|
+
"integration.nodeInspector.version.move.dropped": "Will be removed",
|
|
837
|
+
"integration.nodeInspector.version.move.lossless": "Every setting travels unchanged.",
|
|
838
|
+
"integration.nodeInspector.version.move.notComparable": "Version {version} is no longer in the catalogue, so what differs between the two cannot be compared. The list below is what arrives, not what was checked.",
|
|
839
|
+
"integration.nodeInspector.version.move.reason.changed": "changed between the versions",
|
|
840
|
+
"integration.nodeInspector.version.move.reason.nowRequired": "required, and not answered yet",
|
|
841
|
+
"integration.nodeInspector.version.move.review": "Worth checking afterwards",
|
|
842
|
+
"integration.nodeInspector.version.move.same": "This is the version the step is already on.",
|
|
843
|
+
"integration.nodeInspector.version.move.targetAria": "Version to change this step to",
|
|
844
|
+
"integration.nodeInspector.version.move.title": "Change this step's version",
|
|
845
|
+
"integration.nodeInspector.version.moveTo": "Change to version {version}",
|
|
803
846
|
"integration.nodes.category.action": "Actions",
|
|
804
847
|
"integration.nodes.category.control": "Control flow",
|
|
805
848
|
"integration.nodes.category.io": "I/O",
|
|
@@ -808,7 +851,7 @@
|
|
|
808
851
|
"integration.nodes.error.loadFailed": "Could not load nodes.",
|
|
809
852
|
"integration.replay.badge.live": "Live",
|
|
810
853
|
"integration.replay.badge.snapshot": "Snapshot",
|
|
811
|
-
"integration.replay.canvas.pickRun": "
|
|
854
|
+
"integration.replay.canvas.pickRun": "No run selected",
|
|
812
855
|
"integration.replay.canvas.runLabel": "Run #{id}",
|
|
813
856
|
"integration.replay.debug.emptyHint": "The active step's status, timings and payloads land here while the replay walks the run.",
|
|
814
857
|
"integration.replay.debug.field.attempt": "Attempt",
|
|
@@ -824,13 +867,8 @@
|
|
|
824
867
|
"integration.replay.debug.stepCounter": "Step {current} / {total}",
|
|
825
868
|
"integration.replay.debug.titleFallback": "Debug",
|
|
826
869
|
"integration.replay.error.loadStepsFailed": "Could not load the run steps.",
|
|
827
|
-
"integration.replay.runsList.description": "Click through the executions to replay them on the canvas.",
|
|
828
|
-
"integration.replay.runsList.empty": "No runs yet — trigger one from the editor's Run button.",
|
|
829
|
-
"integration.replay.runsList.heading": "Runs",
|
|
830
|
-
"integration.replay.runsList.loadMore": "Load older runs",
|
|
831
870
|
"integration.replay.state.noSteps": "No steps recorded for this run.",
|
|
832
|
-
"integration.replay.state.pickRunHint": "
|
|
833
|
-
"integration.replay.toast.loadRunsFailed": "Could not load the runs.",
|
|
871
|
+
"integration.replay.state.pickRunHint": "No run to replay.",
|
|
834
872
|
"integration.replay.transport.action.next": "Next",
|
|
835
873
|
"integration.replay.transport.action.pause": "Pause",
|
|
836
874
|
"integration.replay.transport.action.play": "Play",
|
|
@@ -841,11 +879,9 @@
|
|
|
841
879
|
"integration.runs.action.back": "Back",
|
|
842
880
|
"integration.runs.action.cancel": "Cancel run",
|
|
843
881
|
"integration.runs.action.resume": "Resume",
|
|
844
|
-
"integration.runs.action.retry": "Retry",
|
|
845
882
|
"integration.runs.action.terminate": "Terminate",
|
|
846
883
|
"integration.runs.confirm.cancel": "Cancel this run?",
|
|
847
884
|
"integration.runs.confirm.resume": "Resume this run?",
|
|
848
|
-
"integration.runs.confirm.retry": "Retry this run?",
|
|
849
885
|
"integration.runs.confirm.terminate": "Terminate this run?",
|
|
850
886
|
"integration.runs.detail.error.details.expired": "History is no longer available (retention expired and no snapshot).",
|
|
851
887
|
"integration.runs.detail.error.details.generic": "Could not load Temporal details.",
|
|
@@ -877,15 +913,13 @@
|
|
|
877
913
|
"integration.runs.detail.stackTrace.hint": "Load to query the running worker for its current call stack.",
|
|
878
914
|
"integration.runs.detail.stackTrace.loading": "Querying worker…",
|
|
879
915
|
"integration.runs.detail.stackTrace.title": "Stack Trace",
|
|
880
|
-
"integration.runs.detail.steps.action.hidePayloads": "Hide payloads",
|
|
881
|
-
"integration.runs.detail.steps.action.showPayloads": "Show payloads",
|
|
882
916
|
"integration.runs.detail.steps.attemptLabel": "attempt",
|
|
883
917
|
"integration.runs.detail.steps.branchLabel": "branch",
|
|
884
918
|
"integration.runs.detail.steps.empty": "No steps projected yet.",
|
|
885
919
|
"integration.runs.detail.steps.field.input": "Input",
|
|
886
920
|
"integration.runs.detail.steps.field.output": "Output",
|
|
887
921
|
"integration.runs.detail.steps.loading": "Loading steps…",
|
|
888
|
-
"integration.runs.detail.steps.
|
|
922
|
+
"integration.runs.detail.steps.payloadsLoading": "Loading this step's input and output…",
|
|
889
923
|
"integration.runs.detail.steps.title": "Steps",
|
|
890
924
|
"integration.runs.detail.timeline.label.activity": "Activity",
|
|
891
925
|
"integration.runs.detail.timeline.label.timer": "Timer",
|
|
@@ -1061,6 +1095,7 @@
|
|
|
1061
1095
|
"integration.templates.detail.install.secretsDescriptionSuffix": "page.",
|
|
1062
1096
|
"integration.templates.detail.install.secretsHeader": "Secrets",
|
|
1063
1097
|
"integration.templates.detail.install.selectLater": "Select later",
|
|
1098
|
+
"integration.templates.detail.install.state.loading": "Checking what this template needs…",
|
|
1064
1099
|
"integration.templates.detail.install.submit": "Install",
|
|
1065
1100
|
"integration.templates.detail.install.submitting": "Setting up…",
|
|
1066
1101
|
"integration.templates.detail.publisher.kind.community": "Community",
|
|
@@ -1140,13 +1175,13 @@
|
|
|
1140
1175
|
"integration.workflows.create.field.trigger.label": "Trigger",
|
|
1141
1176
|
"integration.workflows.create.tab.blank": "Start blank",
|
|
1142
1177
|
"integration.workflows.create.tab.template": "Start from template",
|
|
1178
|
+
"integration.workflows.create.template.backToPicker": "Back to templates",
|
|
1143
1179
|
"integration.workflows.create.template.browseAll": "Browse the full template catalogue",
|
|
1144
1180
|
"integration.workflows.create.template.empty": "No templates in the catalogue yet.",
|
|
1145
1181
|
"integration.workflows.create.template.noMatch": "Nothing matches “{query}”.",
|
|
1146
1182
|
"integration.workflows.create.template.search.aria": "Search templates",
|
|
1147
1183
|
"integration.workflows.create.template.search.placeholder": "Search templates…",
|
|
1148
1184
|
"integration.workflows.create.template.state.loading": "Loading templates…",
|
|
1149
|
-
"integration.workflows.create.toast.templateError": "Could not create the workflow from this template.",
|
|
1150
1185
|
"integration.workflows.delete.action.deleting": "Deleting…",
|
|
1151
1186
|
"integration.workflows.delete.dialog.description": "and all its revision history will be permanently deleted.",
|
|
1152
1187
|
"integration.workflows.delete.dialog.title": "Delete workflow?",
|
|
@@ -1188,6 +1223,34 @@
|
|
|
1188
1223
|
"integration.workflows.settings.section.appearance": "Appearance",
|
|
1189
1224
|
"integration.workflows.settings.section.execution": "Execution",
|
|
1190
1225
|
"integration.workflows.settings.section.metadata": "Metadata",
|
|
1226
|
+
"integration.workflows.state.action.add": "Declare",
|
|
1227
|
+
"integration.workflows.state.action.done": "Done",
|
|
1228
|
+
"integration.workflows.state.action.remove": "Remove declaration",
|
|
1229
|
+
"integration.workflows.state.action.remove.hint": "Removing the declaration takes this workflow's access away. The stored entries stay where they are.",
|
|
1230
|
+
"integration.workflows.state.dialog.description": "What this workflow may remember between runs. It can only reach the namespaces declared here — anything else is refused when the workflow runs.",
|
|
1231
|
+
"integration.workflows.state.dialog.title": "State namespaces",
|
|
1232
|
+
"integration.workflows.state.error.invalidName": "Use lowercase letters, digits and . - _, starting with a letter — for example article or crm.customers.",
|
|
1233
|
+
"integration.workflows.state.error.nameExists": "This workflow already declares that namespace.",
|
|
1234
|
+
"integration.workflows.state.field.newName.label": "Declare a namespace",
|
|
1235
|
+
"integration.workflows.state.field.newName.placeholder": "article",
|
|
1236
|
+
"integration.workflows.state.field.newRole.label": "Role",
|
|
1237
|
+
"integration.workflows.state.field.newVisibility.label": "Visible to",
|
|
1238
|
+
"integration.workflows.state.field.visibility.label": "Visible to",
|
|
1239
|
+
"integration.workflows.state.role.cursor.hint": "Remembers how far an incremental import read. It only moves on when the run finishes cleanly.",
|
|
1240
|
+
"integration.workflows.state.role.cursor.label": "Cursor",
|
|
1241
|
+
"integration.workflows.state.role.dedupe.hint": "Marks something as already processed, so a repeated delivery is not booked twice.",
|
|
1242
|
+
"integration.workflows.state.role.dedupe.label": "Dedupe",
|
|
1243
|
+
"integration.workflows.state.role.digest.hint": "Remembers what was last written, so unchanged records can be skipped.",
|
|
1244
|
+
"integration.workflows.state.role.digest.label": "Digest",
|
|
1245
|
+
"integration.workflows.state.role.fixed": "The role is fixed once the namespace is declared: entries written with one meaning cannot be read back with another.",
|
|
1246
|
+
"integration.workflows.state.role.mapping.hint": "Correlates an id on each side, so a later run knows whether to create or update.",
|
|
1247
|
+
"integration.workflows.state.role.mapping.label": "Mapping",
|
|
1248
|
+
"integration.workflows.state.row.aria": "State namespace {namespace}",
|
|
1249
|
+
"integration.workflows.state.empty": "This workflow remembers nothing between runs yet.",
|
|
1250
|
+
"integration.workflows.state.visibility.private.hint": "Only this workflow reads and writes it, and it is deleted along with the workflow.",
|
|
1251
|
+
"integration.workflows.state.visibility.private.label": "This workflow",
|
|
1252
|
+
"integration.workflows.state.visibility.shared.hint": "Every workflow in this tenant reads and writes these entries, and the namespace stays when this workflow is deleted.",
|
|
1253
|
+
"integration.workflows.state.visibility.shared.label": "Every workflow",
|
|
1191
1254
|
"integration.workflows.table.action.groupByTags": "Group by tags",
|
|
1192
1255
|
"integration.workflows.table.column.build": "Build",
|
|
1193
1256
|
"integration.workflows.table.column.lastRun": "Last run",
|