diff --git a/packages/frontend/@n8n/i18n/src/locales/en.json b/packages/frontend/@n8n/i18n/src/locales/en.json index 696d5b93b6..ba9a8fefbb 100644 --- a/packages/frontend/@n8n/i18n/src/locales/en.json +++ b/packages/frontend/@n8n/i18n/src/locales/en.json @@ -1197,6 +1197,7 @@ "ndv.output.branch": "Branch", "ndv.output.executing": "Executing node...", "ndv.output.items": "{count} item | {count} items", + "ndv.output.itemsTotal": "{count} item total | {count} items total", "ndv.output.andSubExecutions": ", {count} sub-execution | , {count} sub-executions", "ndv.output.noOutputData.message": "n8n stops executing the workflow when a node has no output data. You can change this default behaviour via", "ndv.output.noOutputData.message.settings": "Settings", diff --git a/packages/frontend/editor-ui/src/composables/useCanvasMapping.ts b/packages/frontend/editor-ui/src/composables/useCanvasMapping.ts index 0bdbdb7315..cbac6e9b92 100644 --- a/packages/frontend/editor-ui/src/composables/useCanvasMapping.ts +++ b/packages/frontend/editor-ui/src/composables/useCanvasMapping.ts @@ -754,12 +754,18 @@ export function useCanvasMapping({ const { type, index } = parseCanvasConnectionHandleString(connection.sourceHandle); const runDataTotal = nodeExecutionRunDataOutputMapById.value[fromNode.id]?.[type]?.[index]?.total ?? 0; + const hasMultipleRunDataIterations = + (nodeExecutionRunDataOutputMapById.value[fromNode.id]?.[type]?.[index]?.iterations ?? 1) > + 1; return runDataTotal > 0 - ? i18n.baseText('ndv.output.items', { - adjustToNumber: runDataTotal, - interpolate: { count: String(runDataTotal) }, - }) + ? i18n.baseText( + hasMultipleRunDataIterations ? 'ndv.output.itemsTotal' : 'ndv.output.items', + { + adjustToNumber: runDataTotal, + interpolate: { count: String(runDataTotal) }, + }, + ) : ''; }