@masterteam/flowplus-workflow 0.0.3 → 0.0.5

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.
@@ -1,582 +1,596 @@
1
- {
2
- "flowplus": {
3
- "studio": {
4
- "title": "Workflow Studio",
5
- "subtitle": "Design, validate, and ship FlowPlus2 processes.",
6
- "createProcess": "Create process",
7
- "search": "Search workflows",
8
- "filterAll": "All",
9
- "filterDraft": "Draft",
10
- "filterPublished": "Published",
11
- "filterInvalid": "Invalid",
12
- "filterArchived": "Archived",
13
- "clearFilters": "Clear filters",
14
- "retry": "Retry",
15
- "loadMore": "Load more",
16
- "emptyTitle": "No workflows yet",
17
- "emptyHint": "Create your first process to get started.",
18
- "emptyFilteredTitle": "No workflows matched these filters",
19
- "emptyFilteredHint": "Try a different status or search term.",
20
- "loading": "Loading workflows...",
21
- "errorForbidden": "You do not have access to this tenant's automations.",
22
- "errorUnavailable": "Automation Engine list is unavailable in this environment.",
23
- "errorGeneric": "Failed to load workflows."
24
- },
25
- "create": {
26
- "title": "Create process",
27
- "nameEn": "Name (English)",
28
- "nameAr": "Name (Arabic)",
29
- "descEn": "Description (English)",
30
- "descAr": "Description (Arabic)",
31
- "trigger": "Start trigger",
32
- "triggerManual": "Manual",
33
- "triggerWebhook": "Webhook",
34
- "triggerProcess": "Process",
35
- "triggerBuilderHint": "Create the automation first, then add and manage triggers from the builder trigger flow.",
36
- "primaryResource": "Primary resource",
37
- "primaryResourceNone": "None",
38
- "template": "Template",
39
- "templateBlank": "Blank",
40
- "templateBlankHint": "Start from an empty automation and add the first trigger in the builder.",
41
- "templateApproval": "Approval workflow",
42
- "templateDataCollection": "Data collection",
43
- "templateApi": "API automation",
44
- "templateParallel": "Parallel approval",
45
- "templateUnavailableHint": "New automations currently start blank. Additional starter templates will plug in here when the backend exposes template bootstrap.",
46
- "cancel": "Cancel",
47
- "create": "Create and open builder"
48
- },
49
- "topbar": {
50
- "draft": "Draft",
51
- "published": "Published",
52
- "saved": "Saved",
53
- "saving": "Saving",
54
- "unsaved": "Unsaved",
55
- "error": "Error",
56
- "validate": "Validate",
57
- "test": "Test run",
58
- "publish": "Publish",
59
- "unpublish": "Unpublish",
60
- "duplicate": "Duplicate",
61
- "export": "Export",
62
- "archive": "Archive",
63
- "settings": "Settings",
64
- "versionHistory": "Version history"
65
- },
66
- "palette": {
67
- "search": "Search nodes...",
1
+ {
2
+ "flowplus": {
3
+ "studio": {
4
+ "title": "Workflow Studio",
5
+ "subtitle": "Design, validate, and ship FlowPlus2 processes.",
6
+ "createProcess": "Create process",
7
+ "search": "Search workflows",
8
+ "filterAll": "All",
9
+ "filterDraft": "Draft",
10
+ "filterPublished": "Published",
11
+ "filterInvalid": "Invalid",
12
+ "filterArchived": "Archived",
13
+ "clearFilters": "Clear filters",
14
+ "retry": "Retry",
15
+ "loadMore": "Load more",
16
+ "emptyTitle": "No workflows yet",
17
+ "emptyHint": "Create your first process to get started.",
18
+ "emptyFilteredTitle": "No workflows matched these filters",
19
+ "emptyFilteredHint": "Try a different status or search term.",
20
+ "loading": "Loading workflows...",
21
+ "errorForbidden": "You do not have access to this tenant's automations.",
22
+ "errorUnavailable": "Automation Engine list is unavailable in this environment.",
23
+ "errorGeneric": "Failed to load workflows."
24
+ },
25
+ "create": {
26
+ "title": "Create process",
27
+ "nameEn": "Name (English)",
28
+ "nameAr": "Name (Arabic)",
29
+ "descEn": "Description (English)",
30
+ "descAr": "Description (Arabic)",
31
+ "trigger": "Start trigger",
32
+ "triggerManual": "Manual",
33
+ "triggerWebhook": "Webhook",
34
+ "triggerProcess": "Process",
35
+ "triggerBuilderHint": "Create the automation first, then add and manage triggers from the builder trigger flow.",
36
+ "primaryResource": "Primary resource",
37
+ "primaryResourceNone": "None",
38
+ "template": "Template",
39
+ "templateBlank": "Blank",
40
+ "templateBlankHint": "Start from an empty automation and add the first trigger in the builder.",
41
+ "templateApproval": "Approval workflow",
42
+ "templateDataCollection": "Data collection",
43
+ "templateApi": "API automation",
44
+ "templateParallel": "Parallel approval",
45
+ "templateUnavailableHint": "New automations currently start blank. Additional starter templates will plug in here when the backend exposes template bootstrap.",
46
+ "cancel": "Cancel",
47
+ "create": "Create and open builder"
48
+ },
49
+ "topbar": {
50
+ "draft": "Draft",
51
+ "published": "Published",
52
+ "saved": "Saved",
53
+ "saving": "Saving",
54
+ "unsaved": "Unsaved",
55
+ "error": "Error",
56
+ "validate": "Validate",
57
+ "test": "Test run",
58
+ "publish": "Publish",
59
+ "unpublish": "Unpublish",
60
+ "duplicate": "Duplicate",
61
+ "export": "Export",
62
+ "archive": "Archive",
63
+ "settings": "Settings",
64
+ "versionHistory": "Version history"
65
+ },
66
+ "palette": {
67
+ "search": "Search nodes...",
68
68
  "rail": "Node finder",
69
69
  "toggle": "Open node finder",
70
+ "variables": "Workflow variables",
71
+ "executionFiles": "Files",
70
72
  "title": "What happens next?",
71
73
  "back": "Back",
72
74
  "addAnotherTrigger": "Add another trigger",
73
75
  "addAnotherTriggerDesc": "Triggers start your workflow. Workflows can have multiple triggers.",
76
+ "disabledBackendProvider": "Not available from backend catalog.",
74
77
  "categories": {
75
78
  "Trigger": "Triggers",
76
79
  "Human": "Human",
80
+ "Human review": "Human review",
81
+ "Convert to File": "Convert to File",
77
82
  "Forms": "Forms",
78
- "Automation": "Automation",
79
- "Apps": "Apps",
80
- "Logic": "Logic",
81
- "FlowControl": "Flow control",
82
- "Subworkflow": "Sub-workflows",
83
- "System": "System",
84
- "logic": "Logic",
85
- "external": "External",
86
- "timing": "Timing",
83
+ "Automation": "Automation",
84
+ "Apps": "Apps",
85
+ "Logic": "Logic",
86
+ "FlowControl": "Flow control",
87
+ "Subworkflow": "Sub-workflows",
88
+ "System": "System",
89
+ "logic": "Logic",
90
+ "external": "External",
91
+ "timing": "Timing",
87
92
  "human": "Human",
93
+ "humanReview": "Human review",
94
+ "convertToFile": "Convert to File",
88
95
  "flowplus": "FlowPlus",
89
- "webhook": "Webhook"
90
- },
91
- "categoryDesc": {
96
+ "webhook": "Webhook"
97
+ },
98
+ "categoryDesc": {
92
99
  "Human": "Human input and approval steps.",
100
+ "Human review": "Send a review request and wait for a response.",
101
+ "Convert to File": "Create runtime files from data without embedding file bytes in execution JSON.",
93
102
  "Forms": "Collect data with forms.",
94
- "Automation": "API calls, plugins and automations.",
95
- "Apps": "Run an action in a connected app.",
96
- "Logic": "Branch, route and conditions.",
97
- "FlowControl": "Parallel, join and flow control.",
98
- "Workflow": "Invoke other workflows.",
99
- "Parallel": "Fan out and join parallel branches.",
100
- "Subworkflow": "Invoke other workflows.",
101
- "System": "System steps.",
102
- "logic": "Branch, route and condition steps.",
103
- "external": "Call external systems and APIs.",
104
- "timing": "Waits, timers and schedule-aware steps.",
103
+ "Automation": "API calls, plugins and automations.",
104
+ "Apps": "Run an action in a connected app.",
105
+ "Logic": "Branch, route and conditions.",
106
+ "FlowControl": "Parallel, join and flow control.",
107
+ "Workflow": "Invoke other workflows.",
108
+ "Parallel": "Fan out and join parallel branches.",
109
+ "Subworkflow": "Invoke other workflows.",
110
+ "System": "System steps.",
111
+ "logic": "Branch, route and condition steps.",
112
+ "external": "Call external systems and APIs.",
113
+ "timing": "Waits, timers and schedule-aware steps.",
105
114
  "human": "Human input and approval steps.",
115
+ "humanReview": "Send a review request and wait for a response.",
116
+ "convertToFile": "Create runtime files from data without embedding file bytes in execution JSON.",
106
117
  "flowplus": "FlowPlus-native workflow actions.",
107
- "webhook": "Inbound webhook and response handling."
108
- }
109
- },
110
- "starter": {
111
- "title": "Start your workflow",
112
- "subtitle": "Choose how this process begins. You can change it any time.",
113
- "addTrigger": "Add trigger",
114
- "orPick": "Or pick one",
115
- "suggestion": {
116
- "manual": "Manual",
117
- "form": "Form / User input",
118
- "webhook": "Webhook"
119
- }
120
- },
121
- "trigger": {
122
- "picker": {
123
- "title": "Choose a trigger",
124
- "searchPlaceholder": "Search triggers..."
125
- },
126
- "node": {
127
- "hint": "Click + to add the first step",
128
- "addFirstStep": "Add first step",
129
- "reconnectStart": "Reconnect start",
130
- "executeWorkflow": "Execute workflow",
131
- "running": "Execution is already in progress for this trigger.",
132
- "enable": "Enable trigger",
133
- "disable": "Disable trigger",
134
- "delete": "Delete trigger",
135
- "configure": "Configure trigger",
136
- "unlink": "Unlink start node",
137
- "startNode": "Start node",
138
- "noStartNode": "No start node",
139
- "addFromCanvas": "Add and manage triggers from the builder canvas"
140
- }
141
- },
142
- "canvas": {
143
- "emptyTitle": "Start your workflow",
144
- "emptyHint": "Click the center to add a trigger.",
145
- "zoomIn": "Zoom in",
146
- "zoomOut": "Zoom out",
147
- "fitView": "Fit to view",
148
- "fitScreen": "Fit to screen",
149
- "resetZoom": "Reset zoom",
150
- "autoLayout": "Auto layout",
151
- "minimap": "Toggle minimap",
152
- "toggleMinimap": "Toggle minimap",
153
- "validate": "Validate",
154
- "undo": "Undo",
155
- "redo": "Redo",
156
- "commandPalette": "Command palette",
157
- "shortcuts": "Keyboard shortcuts",
158
- "addNote": "Add note",
159
- "noteActions": "Note actions",
160
- "editNote": "Edit note",
161
- "duplicateNote": "Duplicate note",
162
- "deleteNote": "Delete note",
163
- "resizeNote": "Resize note",
164
- "notePlaceholder": "Write a note..."
165
- },
166
- "quickAdd": {
167
- "title": "Add next step",
168
- "insertTitle": "Insert step",
169
- "searchPlaceholder": "Search step types..."
170
- },
171
- "commandPalette": {
172
- "title": "Command palette",
173
- "placeholder": "Type a command or step type...",
174
- "actions": "Commands",
175
- "addStep": "Add step",
176
- "noMatches": "No matches",
177
- "navigate": "navigate",
178
- "select": "select",
179
- "close": "close"
180
- },
181
- "edge": {
182
- "editCondition": "Edit condition",
183
- "insertStep": "Insert step",
184
- "delete": "Delete connection",
185
- "deleteTitle": "Delete connection?",
186
- "deleteHint": "The two steps will no longer be linked.",
187
- "assignTitle": "Insert step into connection?",
188
- "assignHint": "\"{name}\" will be wired in between these two steps.",
189
- "assignHintDetailed": "\"{name}\" will be inserted between \"{source}\" and \"{target}\". This rewires the existing connection and may change execution order.",
190
- "assignAccept": "Insert step"
191
- },
192
- "nodeType": {
193
- "trigger": "Trigger",
194
- "userInput": "User input",
195
- "automated": "Automation",
196
- "plugin": "Plugin",
197
- "appAction": "App action",
198
- "fromProcess": "Subworkflow",
199
- "startParallel": "Start parallel",
200
- "joinParallel": "Join parallel",
201
- "approvalCommit": "Approval commit"
202
- },
203
- "node": {
204
- "addNext": "Add next step",
205
- "details": "Configure",
206
- "duplicate": "Duplicate",
207
- "delete": "Delete",
208
- "deleteTitle": "Delete step?",
209
- "deleteHint": "Connections to and from this step will also be removed.",
210
- "actionsCount": "{n} actions",
211
- "outputsCount": "{n} outputs",
212
- "mappingsCount": "{n} mappings",
213
- "branchesCount": "{n} branches",
214
- "formBound": "Form bound",
215
- "sla": "SLA {n}h",
216
- "fireAndForget": "Fire and forget",
217
- "systemFinalize": "System commit",
218
- "openChild": "Open child workflow",
219
- "initial": "Initial",
220
- "creating": "Adding step..."
221
- },
222
- "inspector": {
223
- "noSelection": "Select a step or connection",
224
- "noSelectionHint": "Choose an element on the canvas to configure it.",
225
- "close": "Close inspector",
226
- "workflowHeader": "Workflow settings",
227
- "connectionHeader": "Connection",
228
- "tabs": {
229
- "overview": "Overview",
230
- "configure": "Configure",
231
- "issues": "Issues",
232
- "inputs": "Inputs",
233
- "outputs": "Outputs",
234
- "mappings": "Mappings",
235
- "form": "Form",
236
- "routing": "Routing",
237
- "actor": "Actor",
238
- "actions": "Actions",
239
- "permissions": "Permissions",
240
- "advanced": "Advanced",
241
- "json": "JSON",
242
- "debug": "Debug",
243
- "request": "Request",
244
- "auth": "Authentication",
245
- "headers": "Headers",
246
- "query": "Query",
247
- "body": "Body",
248
- "branches": "Branches",
249
- "joinPolicy": "Join policy",
250
- "completion": "Completion"
251
- },
252
- "fields": {
253
- "nameEn": "Name (EN)",
254
- "nameAr": "Name (AR)",
255
- "descriptionEn": "Description (EN)",
256
- "descriptionAr": "Description (AR)",
257
- "key": "Step key",
258
- "type": "Type",
259
- "sla": "SLA (hours)",
260
- "tags": "Tags"
261
- },
262
- "userInput": {
263
- "group": "Group",
264
- "groupHint": "Choose the group that should receive this task.",
265
- "groupKey": "Group key",
266
- "groupKeyHint": "Identifier of the actor group (e.g. dept-finance).",
267
- "groupLookupEmpty": "No groups were returned. Enter the group identifier manually if needed.",
268
- "selectGroup": "Select group",
269
- "role": "Role",
270
- "roleHint": "Choose the role that should receive this task.",
271
- "roleKey": "Role key",
272
- "roleKeyHint": "Enter the role identifier when role lookup data is not available.",
273
- "roleLookupEmpty": "No roles were returned for this workflow resource. Enter the role identifier manually.",
274
- "roleLookupNeedsResource": "Role lookup needs a primary resource on the workflow. Until then, enter the role identifier manually.",
275
- "selectRole": "Select role",
276
- "user": "User",
277
- "userHint": "Search for a direct assignee by name or username.",
278
- "userKey": "User",
279
- "userKeyHint": "Direct assignee user name or identifier.",
280
- "propertyPath": "Property path",
281
- "propertyPathHint": "Context path that resolves to a user, e.g. properties.assignee.id.",
282
- "expression": "Expression",
283
- "groupSelection": "Group selection",
284
- "noTargetNeeded": "No target value is required for this actor type."
285
- },
286
- "appAction": {
287
- "app": "App",
288
- "appFallback": "App code",
289
- "action": "Action",
290
- "failure": "Failure behavior",
291
- "rawConfig": "Raw config JSON (advanced)"
292
- },
293
- "plugin": {
294
- "plugin": "Plugin",
295
- "waitForCompletion": "Wait for completion",
296
- "inputMappings": "Input mappings",
297
- "outputMappings": "Output mappings",
298
- "addMapping": "Add mapping",
299
- "addOutput": "Add output",
300
- "targetPathHint": "Target context path"
301
- },
302
- "subworkflow": {
303
- "target": "Target workflow",
304
- "waitForCompletion": "Wait for completion",
305
- "propertyMappings": "Property mappings",
306
- "contextMappings": "Context mappings",
307
- "parentPath": "Parent context path",
308
- "childPath": "Child context path",
309
- "addMapping": "Add property mapping",
310
- "addContextMapping": "Add context mapping"
311
- },
312
- "automated": {
313
- "method": "Method",
314
- "timeout": "Timeout (s)",
315
- "headers": "Headers",
316
- "query": "Query parameters",
317
- "body": "Body",
318
- "outputs": "Outputs",
319
- "responsePath": "Response path (e.g. data.id)",
320
- "contextTarget": "Context target path",
321
- "addHeader": "Add header",
322
- "addQuery": "Add query parameter",
323
- "addOutput": "Add output mapping"
324
- },
325
- "join": {
326
- "policy": "Join policy",
327
- "threshold": "Threshold",
328
- "aggregationTarget": "Aggregation target path",
329
- "aggregationStrategy": "Aggregation strategy"
330
- },
331
- "connection": {
332
- "title": "Connection settings",
333
- "priority": "Priority",
334
- "labelEn": "Label (EN)",
335
- "selectedActions": "Selected actions",
336
- "selectedActionsHint": "Comma-separated action keys (e.g. Approve, Return)",
337
- "expression": "Expression / formula",
338
- "save": "Save changes",
339
- "cancel": "Cancel"
340
- },
341
- "workflow": {
342
- "triggers": "Triggers",
343
- "addTrigger": "Add trigger",
344
- "triggerType": "Trigger type",
345
- "triggerName": "Trigger name",
346
- "triggerEnabled": "Enabled",
347
- "noTriggers": "No triggers configured yet.",
348
- "resources": "Resources",
349
- "noResources": "This workflow declares no resource bindings.",
350
- "variables": "Variables",
351
- "secretConfigured": "secret set",
352
- "secretMissing": "no secret"
353
- },
354
- "modal": {
355
- "stepSubtitleFallback": "Configure this step with live context, mappings, and runtime preview.",
356
- "viewSchema": "Schema",
357
- "viewJson": "JSON",
358
- "comesFrom": "from",
359
- "goesTo": "to",
360
- "flowStart": "Workflow start",
361
- "flowEnd": "Branch end",
362
- "dragHint": "Drag a value onto any field to map it.",
363
- "noOutputData": "No output data",
364
- "noOutputHint": "Execute this step to see what it returns, or pin sample data.",
365
- "executeStep": "Execute step",
366
- "setMockData": "or set mock data",
367
- "editOutput": "Edit output",
368
- "cancel": "Cancel",
369
- "save": "Save",
370
- "mockInvalid": "That isn't valid JSON. Fix it and try again.",
371
- "mockPinned": "Pinned mock data",
372
- "edit": "Edit",
373
- "clear": "Clear",
374
- "workflowSubtitle": "Manage workflow metadata, triggers, and publish readiness in one place.",
375
- "connectionSubtitle": "Review routing conditions, selected actions, and connection formulas.",
376
- "inputsTitle": "Input",
377
- "inputsHint": "What this selection reads from the workflow before it executes.",
378
- "outputsTitle": "Output",
379
- "outputsHint": "What this selection emits back into the workflow after it runs.",
380
- "configuredInputs": "Configured inputs",
381
- "noConfiguredInputs": "No explicit input bindings are configured yet.",
382
- "availableData": "Available data",
383
- "noInputData": "No input data",
384
- "noAvailableData": "No context catalog is available for this selection yet.",
385
- "configuredOutputs": "Configured outputs",
386
- "noConfiguredOutputs": "No explicit output bindings are configured yet.",
387
- "outputSchema": "Output schema",
388
- "noOutputSchema": "No structured output schema is available for this step yet.",
389
- "runtimePreview": "Runtime preview",
390
- "runtimePreviewHint": "Run the workflow until this step and inspect the last inputs / outputs the engine returned.",
391
- "noStepResult": "Run to this step to inspect its latest inputs and outputs.",
392
- "lastRun": "Last run",
393
- "runStep": "Run to step",
394
- "close": "Close editor",
395
- "autoSave": "Changes auto-save",
396
- "done": "Done",
397
- "publishReady": "Ready",
398
- "publishBlocked": "Blocked",
399
- "workflowHealth": "Workflow health",
400
- "connectionSummary": "Connection summary",
401
- "source": "Source",
402
- "target": "Target",
403
- "readyBadge": "Ready",
404
- "issueBadge": "{{count}} issues",
405
- "disabled": "Disabled",
406
- "errorsLabel": "Errors",
407
- "warningsLabel": "Warnings",
408
- "publishLabel": "Publish",
409
- "required": "Required",
410
- "approvalCommitInputHint": "This system step finalizes an approved request and does not take custom user input.",
411
- "approvalCommitOutputHint": "This system step writes commit metadata and closes the approved path.",
412
- "parallelOutputHint": "Parallel branches fan out from this node; each outgoing connection becomes a branch output."
413
- }
414
- },
415
- "bottom": {
416
- "problems": "Problems",
417
- "testRun": "Test run",
418
- "context": "Context",
419
- "expand": "Expand diagnostics",
420
- "collapse": "Collapse diagnostics",
421
- "close": "Close diagnostics",
422
- "contextPath": "Path",
423
- "contextType": "Type",
424
- "contextSource": "Source",
425
- "contextAvail": "Availability",
426
- "contextOk": "Available",
427
- "contextEmpty": "Context catalog is not loaded yet for this workflow.",
428
- "logs": "Execution logs",
429
- "raw": "Raw"
430
- },
431
- "runtime": {
432
- "startTitle": "Start process",
433
- "taskTitle": "Task action",
434
- "taskHint": "Request #{{requestId}} · Step #{{stepId}}",
435
- "workflowIdHint": "Workflow #{{id}} (workflow-first start)",
436
- "contextMissing": "Provide a workflowId in the path or moduleKey + operationKey as query params.",
437
- "submit": "Submit",
438
- "submitting": "Submitting…",
439
- "execute": "Execute",
440
- "executing": "Executing…",
441
- "noFormRequired": "No form is required for this operation.",
442
- "action": "Action",
443
- "comment": "Comment",
444
- "formAdapterMissingTitle": "Runtime form host not configured",
445
- "formAdapterMissingHint": "The host application can register one via provideFlowplusRuntimeFormHost(). Until then, values can be edited as JSON for developer use only.",
446
- "debugValuesJson": "Property values (JSON, developer mode)"
447
- },
448
- "validation": {
449
- "valid": "Valid",
450
- "invalid": "Invalid",
451
- "warnings": "{{count}} warnings",
452
- "errors": "{{count}} errors",
453
- "noIssues": "No issues found. Workflow is ready."
454
- },
455
- "publish": {
456
- "confirmTitle": "Publish workflow?",
457
- "confirmHint": "Published workflows become available to users immediately.",
458
- "unpublishConfirmTitle": "Unpublish workflow?",
459
- "unpublishConfirmHint": "Users will no longer be able to start new runs of this workflow.",
460
- "warningsTitle": "Publish with warnings?",
461
- "warningsHint": "There are non-blocking warnings. You can fix them later.",
462
- "publish": "Publish",
463
- "cancel": "Cancel",
464
- "commitLayout": "Save layout"
465
- },
466
- "context": {
467
- "pickerPlaceholder": "Search data...",
468
- "sources": {
469
- "Property": "Form properties",
470
- "Trigger": "Trigger payload",
471
- "Variable": "Variables",
472
- "StepOutput": "Previous steps",
473
- "StepAction": "Step actions",
474
- "System": "System",
475
- "Resource": "Resources",
476
- "Environment": "Environment",
477
- "Actor": "Actor",
478
- "Branch": "Branch outputs",
479
- "Request": "Request",
480
- "Subprocess": "Subprocess",
481
- "UserAction": "User actions",
482
- "Metadata": "Metadata",
483
- "Context": "Context"
484
- },
485
- "availabilityWarning": "This value may not be available before this step runs.",
486
- "secret": "Secret",
487
- "type": "Type"
488
- },
489
- "testRun": {
490
- "title": "Test run",
491
- "triggerInput": "Trigger input",
492
- "pinnedContext": "Pinned context",
493
- "runOptions": "Run options",
494
- "mode": "Mode",
495
- "modeValidate": "Validate only",
496
- "modeDry": "Dry run",
497
- "modeSandbox": "Sandbox execute",
498
- "modeUntil": "Run until step...",
499
- "run": "Run",
500
- "running": "Running...",
501
- "stepResults": "Step results",
502
- "errors": "Errors",
503
- "snapshot": "Context snapshot",
504
- "unavailableTitle": "Test run is not available",
505
- "unavailableHint": "The backend test-run endpoint is not yet enabled for this workflow.",
506
- "colStep": "Step",
507
- "colStatus": "Status",
508
- "colDuration": "Duration"
509
- },
510
- "execution": {
511
- "title": "Automation executions",
512
- "subtitle": "Inspect runs, waits, node attempts, timeline events, and operator actions.",
513
- "refresh": "Refresh",
514
- "queued": "Queued",
515
- "running": "Running",
516
- "waiting": "Waiting",
517
- "failed": "Failed",
518
- "status": "Status",
519
- "correlation": "Correlation",
520
- "waitingOnly": "Waiting",
521
- "failuresOnly": "Failures",
522
- "empty": "No executions found.",
523
- "execution": "Execution",
524
- "started": "Started",
525
- "selected": "Selected execution",
526
- "retry": "Retry",
527
- "cancel": "Cancel",
528
- "nodeRuns": "Node runs",
529
- "node": "Node",
530
- "attempts": "Attempts",
531
- "inspect": "Inspect",
532
- "timeline": "Timeline",
533
- "waits": "Waits",
534
- "noWaits": "No open waits.",
535
- "resumePayload": "Resume payload",
536
- "resume": "Resume",
537
- "decide": "Decision",
538
- "nodeData": "Node data",
539
- "noNodeData": "Select a node run to inspect summary data.",
540
- "selectExecution": "Select an execution to inspect."
541
- },
542
- "debugger": {
543
- "title": "Workflow run debugger",
544
- "summary": "Summary",
545
- "summaryHint": "Use the tabs above to inspect a running process.",
546
- "graph": "Graph playback",
547
- "context": "Context",
548
- "contextUnavailable": "Context snapshot unavailable",
549
- "timeline": "Timeline",
550
- "timelineUnavailable": "Timeline unavailable",
551
- "lineage": "Lineage",
552
- "lineageUnavailable": "Lineage unavailable",
553
- "events": "Engine events",
554
- "eventsUnavailable": "Engine events unavailable",
555
- "replay": "Replay",
556
- "raw": "Raw",
557
- "adminOnly": "Admin only",
558
- "error_forbidden": "You don't have permission to view this debug endpoint.",
559
- "error_unavailable": "This debug endpoint is not enabled on the backend.",
560
- "error_error": "The debug endpoint returned an error."
561
- },
562
- "actions": {
563
- "approve": "Approve",
564
- "reject": "Reject",
565
- "return": "Return",
566
- "resubmit": "Resubmit",
567
- "terminate": "Terminate",
568
- "delete": "Delete"
569
- },
570
- "common": {
571
- "ok": "OK",
572
- "cancel": "Cancel",
573
- "save": "Save",
574
- "delete": "Delete",
575
- "edit": "Edit",
576
- "preview": "Preview",
577
- "loading": "Loading...",
578
- "empty": "Empty",
579
- "comingSoon": "Coming soon"
580
- }
581
- }
582
- }
118
+ "webhook": "Inbound webhook and response handling."
119
+ }
120
+ },
121
+ "variables": {
122
+ "header": "Workflow variables"
123
+ },
124
+ "starter": {
125
+ "title": "Start your workflow",
126
+ "subtitle": "Choose how this process begins. You can change it any time.",
127
+ "addTrigger": "Add trigger",
128
+ "orPick": "Or pick one",
129
+ "suggestion": {
130
+ "manual": "Manual",
131
+ "form": "Form / User input",
132
+ "webhook": "Webhook"
133
+ }
134
+ },
135
+ "trigger": {
136
+ "picker": {
137
+ "title": "Choose a trigger",
138
+ "searchPlaceholder": "Search triggers..."
139
+ },
140
+ "node": {
141
+ "hint": "Click + to add the first step",
142
+ "addFirstStep": "Add first step",
143
+ "reconnectStart": "Reconnect start",
144
+ "executeWorkflow": "Execute workflow",
145
+ "running": "Execution is already in progress for this trigger.",
146
+ "enable": "Enable trigger",
147
+ "disable": "Disable trigger",
148
+ "delete": "Delete trigger",
149
+ "configure": "Configure trigger",
150
+ "unlink": "Unlink start node",
151
+ "startNode": "Start node",
152
+ "noStartNode": "No start node",
153
+ "addFromCanvas": "Add and manage triggers from the builder canvas"
154
+ }
155
+ },
156
+ "canvas": {
157
+ "emptyTitle": "Start your workflow",
158
+ "emptyHint": "Click the center to add a trigger.",
159
+ "zoomIn": "Zoom in",
160
+ "zoomOut": "Zoom out",
161
+ "fitView": "Fit to view",
162
+ "fitScreen": "Fit to screen",
163
+ "resetZoom": "Reset zoom",
164
+ "autoLayout": "Auto layout",
165
+ "minimap": "Toggle minimap",
166
+ "toggleMinimap": "Toggle minimap",
167
+ "validate": "Validate",
168
+ "undo": "Undo",
169
+ "redo": "Redo",
170
+ "commandPalette": "Command palette",
171
+ "shortcuts": "Keyboard shortcuts",
172
+ "addNote": "Add note",
173
+ "noteActions": "Note actions",
174
+ "editNote": "Edit note",
175
+ "duplicateNote": "Duplicate note",
176
+ "deleteNote": "Delete note",
177
+ "resizeNote": "Resize note",
178
+ "notePlaceholder": "Write a note..."
179
+ },
180
+ "quickAdd": {
181
+ "title": "Add next step",
182
+ "insertTitle": "Insert step",
183
+ "searchPlaceholder": "Search step types..."
184
+ },
185
+ "commandPalette": {
186
+ "title": "Command palette",
187
+ "placeholder": "Type a command or step type...",
188
+ "actions": "Commands",
189
+ "addStep": "Add step",
190
+ "noMatches": "No matches",
191
+ "navigate": "navigate",
192
+ "select": "select",
193
+ "close": "close"
194
+ },
195
+ "edge": {
196
+ "editCondition": "Edit condition",
197
+ "insertStep": "Insert step",
198
+ "delete": "Delete connection",
199
+ "deleteTitle": "Delete connection?",
200
+ "deleteHint": "The two steps will no longer be linked.",
201
+ "assignTitle": "Insert step into connection?",
202
+ "assignHint": "\"{name}\" will be wired in between these two steps.",
203
+ "assignHintDetailed": "\"{name}\" will be inserted between \"{source}\" and \"{target}\". This rewires the existing connection and may change execution order.",
204
+ "assignAccept": "Insert step"
205
+ },
206
+ "nodeType": {
207
+ "trigger": "Trigger",
208
+ "userInput": "User input",
209
+ "automated": "Automation",
210
+ "plugin": "Plugin",
211
+ "appAction": "App action",
212
+ "fromProcess": "Subworkflow",
213
+ "startParallel": "Start parallel",
214
+ "joinParallel": "Join parallel",
215
+ "approvalCommit": "Approval commit"
216
+ },
217
+ "node": {
218
+ "addNext": "Add next step",
219
+ "details": "Configure",
220
+ "duplicate": "Duplicate",
221
+ "delete": "Delete",
222
+ "deleteTitle": "Delete step?",
223
+ "deleteHint": "Connections to and from this step will also be removed.",
224
+ "actionsCount": "{n} actions",
225
+ "outputsCount": "{n} outputs",
226
+ "mappingsCount": "{n} mappings",
227
+ "branchesCount": "{n} branches",
228
+ "formBound": "Form bound",
229
+ "sla": "SLA {n}h",
230
+ "fireAndForget": "Fire and forget",
231
+ "systemFinalize": "System commit",
232
+ "openChild": "Open child workflow",
233
+ "initial": "Initial",
234
+ "creating": "Adding step..."
235
+ },
236
+ "inspector": {
237
+ "noSelection": "Select a step or connection",
238
+ "noSelectionHint": "Choose an element on the canvas to configure it.",
239
+ "close": "Close inspector",
240
+ "workflowHeader": "Workflow settings",
241
+ "connectionHeader": "Connection",
242
+ "tabs": {
243
+ "overview": "Overview",
244
+ "configure": "Configure",
245
+ "issues": "Issues",
246
+ "inputs": "Inputs",
247
+ "outputs": "Outputs",
248
+ "mappings": "Mappings",
249
+ "form": "Form",
250
+ "routing": "Routing",
251
+ "actor": "Actor",
252
+ "actions": "Actions",
253
+ "permissions": "Permissions",
254
+ "advanced": "Advanced",
255
+ "json": "JSON",
256
+ "debug": "Debug",
257
+ "request": "Request",
258
+ "auth": "Authentication",
259
+ "headers": "Headers",
260
+ "query": "Query",
261
+ "body": "Body",
262
+ "branches": "Branches",
263
+ "joinPolicy": "Join policy",
264
+ "completion": "Completion"
265
+ },
266
+ "fields": {
267
+ "nameEn": "Name (EN)",
268
+ "nameAr": "Name (AR)",
269
+ "descriptionEn": "Description (EN)",
270
+ "descriptionAr": "Description (AR)",
271
+ "key": "Step key",
272
+ "type": "Type",
273
+ "sla": "SLA (hours)",
274
+ "tags": "Tags"
275
+ },
276
+ "userInput": {
277
+ "group": "Group",
278
+ "groupHint": "Choose the group that should receive this task.",
279
+ "groupKey": "Group key",
280
+ "groupKeyHint": "Identifier of the actor group (e.g. dept-finance).",
281
+ "groupLookupEmpty": "No groups were returned. Enter the group identifier manually if needed.",
282
+ "selectGroup": "Select group",
283
+ "role": "Role",
284
+ "roleHint": "Choose the role that should receive this task.",
285
+ "roleKey": "Role key",
286
+ "roleKeyHint": "Enter the role identifier when role lookup data is not available.",
287
+ "roleLookupEmpty": "No roles were returned for this workflow resource. Enter the role identifier manually.",
288
+ "roleLookupNeedsResource": "Role lookup needs a primary resource on the workflow. Until then, enter the role identifier manually.",
289
+ "selectRole": "Select role",
290
+ "user": "User",
291
+ "userHint": "Search for a direct assignee by name or username.",
292
+ "userKey": "User",
293
+ "userKeyHint": "Direct assignee user name or identifier.",
294
+ "propertyPath": "Property path",
295
+ "propertyPathHint": "Context path that resolves to a user, e.g. properties.assignee.id.",
296
+ "expression": "Expression",
297
+ "groupSelection": "Group selection",
298
+ "noTargetNeeded": "No target value is required for this actor type."
299
+ },
300
+ "appAction": {
301
+ "app": "App",
302
+ "appFallback": "App code",
303
+ "action": "Action",
304
+ "failure": "Failure behavior",
305
+ "rawConfig": "Raw config JSON (advanced)"
306
+ },
307
+ "plugin": {
308
+ "plugin": "Plugin",
309
+ "waitForCompletion": "Wait for completion",
310
+ "inputMappings": "Input mappings",
311
+ "outputMappings": "Output mappings",
312
+ "addMapping": "Add mapping",
313
+ "addOutput": "Add output",
314
+ "targetPathHint": "Target context path"
315
+ },
316
+ "subworkflow": {
317
+ "target": "Target workflow",
318
+ "waitForCompletion": "Wait for completion",
319
+ "propertyMappings": "Property mappings",
320
+ "contextMappings": "Context mappings",
321
+ "parentPath": "Parent context path",
322
+ "childPath": "Child context path",
323
+ "addMapping": "Add property mapping",
324
+ "addContextMapping": "Add context mapping"
325
+ },
326
+ "automated": {
327
+ "method": "Method",
328
+ "timeout": "Timeout (s)",
329
+ "headers": "Headers",
330
+ "query": "Query parameters",
331
+ "body": "Body",
332
+ "outputs": "Outputs",
333
+ "responsePath": "Response path (e.g. data.id)",
334
+ "contextTarget": "Context target path",
335
+ "addHeader": "Add header",
336
+ "addQuery": "Add query parameter",
337
+ "addOutput": "Add output mapping"
338
+ },
339
+ "join": {
340
+ "policy": "Join policy",
341
+ "threshold": "Threshold",
342
+ "aggregationTarget": "Aggregation target path",
343
+ "aggregationStrategy": "Aggregation strategy"
344
+ },
345
+ "connection": {
346
+ "title": "Connection settings",
347
+ "priority": "Priority",
348
+ "labelEn": "Label (EN)",
349
+ "selectedActions": "Selected actions",
350
+ "selectedActionsHint": "Comma-separated action keys (e.g. Approve, Return)",
351
+ "expression": "Expression / formula",
352
+ "save": "Save changes",
353
+ "cancel": "Cancel"
354
+ },
355
+ "workflow": {
356
+ "triggers": "Triggers",
357
+ "addTrigger": "Add trigger",
358
+ "triggerType": "Trigger type",
359
+ "triggerName": "Trigger name",
360
+ "triggerEnabled": "Enabled",
361
+ "noTriggers": "No triggers configured yet.",
362
+ "resources": "Resources",
363
+ "noResources": "This workflow declares no resource bindings.",
364
+ "variables": "Variables",
365
+ "secretConfigured": "secret set",
366
+ "secretMissing": "no secret"
367
+ },
368
+ "modal": {
369
+ "stepSubtitleFallback": "Configure this step with live context, mappings, and runtime preview.",
370
+ "viewSchema": "Schema",
371
+ "viewJson": "JSON",
372
+ "comesFrom": "from",
373
+ "goesTo": "to",
374
+ "flowStart": "Workflow start",
375
+ "flowEnd": "Branch end",
376
+ "dragHint": "Drag a value onto any field to map it.",
377
+ "noOutputData": "No output data",
378
+ "noOutputHint": "Execute this step to see what it returns, or pin sample data.",
379
+ "executeStep": "Execute step",
380
+ "setMockData": "or set mock data",
381
+ "editOutput": "Edit output",
382
+ "cancel": "Cancel",
383
+ "save": "Save",
384
+ "mockInvalid": "That isn't valid JSON. Fix it and try again.",
385
+ "mockPinned": "Pinned mock data",
386
+ "edit": "Edit",
387
+ "clear": "Clear",
388
+ "workflowSubtitle": "Manage workflow metadata, triggers, and publish readiness in one place.",
389
+ "connectionSubtitle": "Review routing conditions, selected actions, and connection formulas.",
390
+ "inputsTitle": "Input",
391
+ "inputsHint": "What this selection reads from the workflow before it executes.",
392
+ "outputsTitle": "Output",
393
+ "outputsHint": "What this selection emits back into the workflow after it runs.",
394
+ "configuredInputs": "Configured inputs",
395
+ "noConfiguredInputs": "No explicit input bindings are configured yet.",
396
+ "availableData": "Available data",
397
+ "noInputData": "No input data",
398
+ "noAvailableData": "No context catalog is available for this selection yet.",
399
+ "configuredOutputs": "Configured outputs",
400
+ "noConfiguredOutputs": "No explicit output bindings are configured yet.",
401
+ "outputSchema": "Output schema",
402
+ "noOutputSchema": "No structured output schema is available for this step yet.",
403
+ "runtimePreview": "Runtime preview",
404
+ "runtimePreviewHint": "Run the workflow until this step and inspect the last inputs / outputs the engine returned.",
405
+ "noStepResult": "Run to this step to inspect its latest inputs and outputs.",
406
+ "lastRun": "Last run",
407
+ "runStep": "Run to step",
408
+ "close": "Close editor",
409
+ "autoSave": "Changes auto-save",
410
+ "done": "Done",
411
+ "publishReady": "Ready",
412
+ "publishBlocked": "Blocked",
413
+ "workflowHealth": "Workflow health",
414
+ "connectionSummary": "Connection summary",
415
+ "source": "Source",
416
+ "target": "Target",
417
+ "readyBadge": "Ready",
418
+ "issueBadge": "{{count}} issues",
419
+ "disabled": "Disabled",
420
+ "errorsLabel": "Errors",
421
+ "warningsLabel": "Warnings",
422
+ "publishLabel": "Publish",
423
+ "required": "Required",
424
+ "approvalCommitInputHint": "This system step finalizes an approved request and does not take custom user input.",
425
+ "approvalCommitOutputHint": "This system step writes commit metadata and closes the approved path.",
426
+ "parallelOutputHint": "Parallel branches fan out from this node; each outgoing connection becomes a branch output."
427
+ }
428
+ },
429
+ "bottom": {
430
+ "problems": "Problems",
431
+ "testRun": "Run",
432
+ "context": "Data",
433
+ "expand": "Expand diagnostics",
434
+ "collapse": "Collapse diagnostics",
435
+ "close": "Close diagnostics",
436
+ "contextPath": "Path",
437
+ "contextType": "Type",
438
+ "contextSource": "Source",
439
+ "contextAvail": "Availability",
440
+ "contextOk": "Available",
441
+ "contextEmpty": "Context catalog is not loaded yet for this workflow.",
442
+ "logs": "Execution logs",
443
+ "raw": "Debug"
444
+ },
445
+ "runtime": {
446
+ "startTitle": "Start process",
447
+ "taskTitle": "Task action",
448
+ "taskHint": "Request #{{requestId}} · Step #{{stepId}}",
449
+ "workflowIdHint": "Workflow #{{id}} (workflow-first start)",
450
+ "contextMissing": "Provide a workflowId in the path or moduleKey + operationKey as query params.",
451
+ "submit": "Submit",
452
+ "submitting": "Submitting…",
453
+ "execute": "Execute",
454
+ "executing": "Executing…",
455
+ "noFormRequired": "No form is required for this operation.",
456
+ "action": "Action",
457
+ "comment": "Comment",
458
+ "formAdapterMissingTitle": "Runtime form host not configured",
459
+ "formAdapterMissingHint": "The host application can register one via provideFlowplusRuntimeFormHost(). Until then, values can be edited as JSON for developer use only.",
460
+ "debugValuesJson": "Property values (JSON, developer mode)"
461
+ },
462
+ "validation": {
463
+ "valid": "Valid",
464
+ "invalid": "Invalid",
465
+ "warnings": "{{count}} warnings",
466
+ "errors": "{{count}} errors",
467
+ "noIssues": "No issues found. Workflow is ready."
468
+ },
469
+ "publish": {
470
+ "confirmTitle": "Publish workflow?",
471
+ "confirmHint": "Published workflows become available to users immediately.",
472
+ "unpublishConfirmTitle": "Unpublish workflow?",
473
+ "unpublishConfirmHint": "Users will no longer be able to start new runs of this workflow.",
474
+ "warningsTitle": "Publish with warnings?",
475
+ "warningsHint": "There are non-blocking warnings. You can fix them later.",
476
+ "publish": "Publish",
477
+ "cancel": "Cancel",
478
+ "commitLayout": "Save layout"
479
+ },
480
+ "context": {
481
+ "pickerPlaceholder": "Search data...",
482
+ "sources": {
483
+ "Property": "Form properties",
484
+ "Trigger": "Trigger payload",
485
+ "Variable": "Variables",
486
+ "StepOutput": "Previous steps",
487
+ "StepAction": "Step actions",
488
+ "System": "System",
489
+ "Resource": "Resources",
490
+ "Environment": "Environment",
491
+ "Actor": "Actor",
492
+ "Branch": "Branch outputs",
493
+ "Request": "Request",
494
+ "Subprocess": "Subprocess",
495
+ "UserAction": "User actions",
496
+ "Metadata": "Metadata",
497
+ "Context": "Context"
498
+ },
499
+ "availabilityWarning": "This value may not be available before this step runs.",
500
+ "secret": "Secret",
501
+ "type": "Type"
502
+ },
503
+ "testRun": {
504
+ "title": "Test run",
505
+ "triggerInput": "Trigger input",
506
+ "pinnedContext": "Pinned context",
507
+ "runOptions": "Run options",
508
+ "mode": "Mode",
509
+ "modeValidate": "Validate only",
510
+ "modeDry": "Dry run",
511
+ "modeSandbox": "Sandbox execute",
512
+ "modeUntil": "Run until step...",
513
+ "run": "Run",
514
+ "running": "Running...",
515
+ "stepResults": "Step results",
516
+ "errors": "Errors",
517
+ "snapshot": "Context snapshot",
518
+ "unavailableTitle": "Test run is not available",
519
+ "unavailableHint": "The backend test-run endpoint is not yet enabled for this workflow.",
520
+ "colStep": "Step",
521
+ "colStatus": "Status",
522
+ "colDuration": "Duration"
523
+ },
524
+ "execution": {
525
+ "title": "Automation executions",
526
+ "subtitle": "Inspect runs, waits, node attempts, timeline events, and operator actions.",
527
+ "refresh": "Refresh",
528
+ "queued": "Queued",
529
+ "running": "Running",
530
+ "waiting": "Waiting",
531
+ "failed": "Failed",
532
+ "status": "Status",
533
+ "correlation": "Correlation",
534
+ "waitingOnly": "Waiting",
535
+ "failuresOnly": "Failures",
536
+ "empty": "No executions found.",
537
+ "execution": "Execution",
538
+ "started": "Started",
539
+ "selected": "Selected execution",
540
+ "retry": "Retry",
541
+ "cancel": "Cancel",
542
+ "nodeRuns": "Node runs",
543
+ "node": "Node",
544
+ "attempts": "Attempts",
545
+ "inspect": "Inspect",
546
+ "timeline": "Timeline",
547
+ "waits": "Waits",
548
+ "noWaits": "No open waits.",
549
+ "resumePayload": "Resume payload",
550
+ "resume": "Resume",
551
+ "decide": "Decision",
552
+ "nodeData": "Node data",
553
+ "noNodeData": "Select a node run to inspect summary data.",
554
+ "selectExecution": "Select an execution to inspect."
555
+ },
556
+ "debugger": {
557
+ "title": "Workflow run debugger",
558
+ "summary": "Summary",
559
+ "summaryHint": "Use the tabs above to inspect a running process.",
560
+ "graph": "Graph playback",
561
+ "context": "Context",
562
+ "contextUnavailable": "Context snapshot unavailable",
563
+ "timeline": "Timeline",
564
+ "timelineUnavailable": "Timeline unavailable",
565
+ "lineage": "Lineage",
566
+ "lineageUnavailable": "Lineage unavailable",
567
+ "events": "Engine events",
568
+ "eventsUnavailable": "Engine events unavailable",
569
+ "replay": "Replay",
570
+ "raw": "Raw",
571
+ "adminOnly": "Admin only",
572
+ "error_forbidden": "You don't have permission to view this debug endpoint.",
573
+ "error_unavailable": "This debug endpoint is not enabled on the backend.",
574
+ "error_error": "The debug endpoint returned an error."
575
+ },
576
+ "actions": {
577
+ "approve": "Approve",
578
+ "reject": "Reject",
579
+ "return": "Return",
580
+ "resubmit": "Resubmit",
581
+ "terminate": "Terminate",
582
+ "delete": "Delete"
583
+ },
584
+ "common": {
585
+ "ok": "OK",
586
+ "cancel": "Cancel",
587
+ "save": "Save",
588
+ "delete": "Delete",
589
+ "edit": "Edit",
590
+ "preview": "Preview",
591
+ "loading": "Loading...",
592
+ "empty": "Empty",
593
+ "comingSoon": "Coming soon"
594
+ }
595
+ }
596
+ }