This is an automated email from the ASF dual-hosted git repository.

zehnder pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/streampipes.git


The following commit(s) were added to refs/heads/dev by this push:
     new 6d13945c00 3860 translation in connect (#3873)
6d13945c00 is described below

commit 6d13945c0060870cbebba1b0f787ce099c0d1c5f
Author: Jacqueline Höllig <[email protected]>
AuthorDate: Mon Oct 27 17:06:55 2025 +0100

    3860 translation in connect (#3873)
    
    Co-authored-by: Dominik Riemer <[email protected]>
---
 ui/deployment/i18n/de.json                         | 47 +++++++++++++++++--
 ui/deployment/i18n/en.json                         | 41 ++++++++++++++++-
 .../event-schema-preview.component.html            |  9 ++--
 .../event-schema/event-schema.component.html       |  6 +--
 .../schema-editor-header.component.html            |  4 +-
 .../start-adapter-configuration.component.html     | 10 ++---
 .../start-adapter-configuration.component.ts       |  6 ++-
 .../existing-adapters.component.ts                 | 20 ++++++---
 .../adapter-started-dialog.component.html          |  2 +-
 .../adapter-started-dialog.component.ts            | 16 +++++--
 ...adapter-started-update-migration.component.html | 38 ++++++++++------
 .../delete-adapter-dialog.component.html           | 52 +++++++++++++++-------
 .../all-adapter-actions-dialog.component.html      | 39 +++++++++++-----
 .../all-adapter-actions-dialog.component.ts        | 14 +++---
 14 files changed, 229 insertions(+), 75 deletions(-)

diff --git a/ui/deployment/i18n/de.json b/ui/deployment/i18n/de.json
index 56e0f1f775..ea4c2c3ee3 100644
--- a/ui/deployment/i18n/de.json
+++ b/ui/deployment/i18n/de.json
@@ -245,7 +245,7 @@
   "Edit chart": "Diagramm bearbeiten",
   "Clone chart": "Diagramm kopieren",
   "Delete chart": "Diagramm löschen",
-  "The desired chart was not found!": null,
+  "The desired chart was not found!": "Die gewünschte Karte wurde nicht 
gefunden!",
   "Chart Name": "Diagrammname",
   "Add to Asset": "Zu Asset hinzufügen",
   "Add To Asset": "Zu Asset hinzufügen",
@@ -315,7 +315,7 @@
   "Deep clone (also clone widgets)": "Tiefes Klonen (auch Widgets klonen)",
   "Modify chart configurations": "Ändern von Diagrammkonfigurationen",
   "Clone": "Klonen",
-  "The desired dashboard was not found!": null,
+  "The desired dashboard was not found!": "Das gewünschte Dashboard wurde 
nicht gefunden!",
   "This dashboard is empty and doesn't contain any charts.": "Dieses Dashboard 
ist leer und hat keine Diagramm zum Anzeigen.",
   "View mode": "Ansicht",
   "Slides": "Folien",
@@ -381,6 +381,27 @@
   "Allow anonymous access through public link": "Anonymen Zugang über einen 
öffentlichen Link ermöglichen",
   "URL": "URL",
   "(no log messages available)": "(keine Protokollmeldungen verfügbar)",
+  "You are about to start the following adapters:": "Sie sind dabei, die 
folgenden Adapter zu starten:",
+  "You are about to stop the following adapters:": "Sie sind dabei, die 
folgenden Adapter zu stoppen:",
+  "Press 'Next' to start the process.": "Auf \"Weiter\" drücken, um den 
Vorgang zu starten.",
+  "Starting adapter": "Start Adapter",
+  "Stopping adapter": "Stop Adapter",
+  "Sorry, there are no adapters that are currently idle": "Es gibt leider 
keine Adapter, die derzeit im Leerlauf sind.",
+  "Sorry, there are no adapters that are currently running": "Leider gibt es 
keine Adapter, die derzeit laufen",
+  "The adapter is currently used by these pipelines:": "Der Adapter wird 
derzeit von diesen Pipelines verwendet:",
+  "(if you don't see those pipelines, they are created by other users)": 
"(wenn Sie diese Pipelines nicht sehen, werden sie von anderen Benutzern 
erstellt)",
+  "You need to delete those pipelines first before deleting the adapter.": 
"Sie müssen diese Pipelines zuerst löschen, bevor Sie den Adapter löschen 
können.",
+  "Do you want to delete all associated pipelines and the adapter?": "Möchten 
Sie alle zugehörigen Pipelines und den Adapter löschen?",
+  "Unable to delete all associated pipelines because you are not the owner of 
the following pipelines: ": "Sie können nicht alle zugehörigen Pipelines 
löschen, da Sie nicht der Eigentümer der folgenden Pipelines sind:",
+  "Do you really want to delete adapter ": "Wollen Sie den Adapter wirklich 
löschen",
+  "Delete adapter": "Adapter löschen",
+  "This adapter is used by": "Dieser Adapter wird verwendet von",
+  "pipeline": "Pipeline",
+  "pipelines": "Pipelines",
+  "will be automatically migrated": "wird automatisch migriert",
+  "will be stopped and needs manual review": "wird gestoppt und muss manuell 
überprüft werden",
+  "Please check and possibly modify existing dashboards and data views 
afterwards.": "Bitte überprüfen Sie die bestehenden Dashboards und 
Datenansichten und ändern Sie diese gegebenenfalls.",
+  "Update adapter and migrate pipelines": "Adapter aktualisieren und Pipelines 
migrieren",
   "Adapters": "Adapter",
   "New adapter": "Neuer Adapter",
   "Start all adapters": "Alle Adapter starten",
@@ -392,13 +413,18 @@
   "Create adapter": "Adapter erstellen",
   "Docs": "Doku",
   "Refresh": "Neu laden",
-  "The desired adapter was not found!": null,
+  "The desired adapter was not found!": "Der gewünschte Adapter wurde nicht 
gefunden!",
   "Last published message": "Zuletzt veröffentlichte Nachricht",
   "Published messages": "Nachrichten",
   "Adapter running": "Adapter läuft",
   "Adapter stopped": "Adapter gestoppt",
   "Configure fields": "Felder konfigurieren",
   "Start adapter": "Adapter starten",
+  "Adapter settings": "Adapter-Einstellungen",
+  "Adapter Name": "Name des Adapters",
+  "Adapter Description": "Adapter Beschreibung",
+  "Run adapter": "Adapter ausführen",
+  "Start adapter now": "Adapter jetzt starten",
   "Add Adapter to an existing Asset": "Adapter zu einem bestehenden Asset 
hinzufügen",
   "Remove Duplicates": "Duplikate entfernen",
   "Avoid duplicated events within a certain time interval": "Vermeidung von 
doppelten Datenpunkte innerhalb eines bestimmten Zeitintervalls",
@@ -414,6 +440,11 @@
   "Show code to programmatically deploy this adapter over the API": "Code 
anzeigen, um diesen Adapter programmatisch über die API einzusetzen",
   "Start Adapter": "Start Adapter",
   "Update Adapter": "Adapter aktualisieren",
+  "Add static value": "Statischen Wert hinzufügen",
+  "Add timestamp": "Zeitstempel hinzufügen",
+  "Original (Parsed)": "Original (geparst)",
+  "Result": "Ergebnis",
+  "Update result preview": "Ergebnisvorschau aktualisieren",
   "Measurement": "Messwert",
   "Dimension": "Dimension",
   "Header": "Header",
@@ -639,7 +670,6 @@
   "You are about to {{ action }} the following elements:": "Folgende Elemente 
{{ action }}:",
   "install": "installieren",
   "uninstall": "deinstallieren",
-  "Press 'Next' to start the process.": "Auf \"Weiter\" drücken, um den 
Vorgang zu starten.",
   "{{action}} {{ current }} of {{ total }} ({{ name }})...{{ status }}": 
"{{action}} {{ current }} von {{ total }} ({{name}})...{{ status }}",
   "Installing": "Installation von",
   "Uninstalling": "Deinstallation von",
@@ -764,13 +794,22 @@
   "Error in line {{rowNumber}}. Value for \"{{property}}\" is not supported.": 
"Fehler in Zeile {{rowNumber}}. Wert für \"{{property}}\" wird nicht 
unterstützt.",
   "Error in line {{rowNumber}}. Value for \"{{property}}\" is not set.": 
"Fehler in Zeile {{rowNumber}}. Wert für \"{{property}}\" ist nicht gesetzt.",
   "Resources": "Ressourcen",
+  "Checking migrations for adapter {{adapterName}}": "Migrationen für Adapter 
{{adapterName}} prüfen",
   "Updating adapter {{adapterName}}": "Aktualisieren des Adapters 
{{adapterName}}",
   "Creating adapter {{adapterName}}": "Adapter erstellen {{adapterName}}",
+  "Your new data stream is now available in the pipeline editor.": "Ihr neuer 
Datenstrom ist nun im Pipeline-Editor verfügbar.",
   "Starting adapter {{adapterName}}": "Adapter starten {{adapterName}}",
   "Your Assets were successfully added.": "Assets erfolgreich hinzugefügt.",
   "Your Assets were successfully deleted.": "Assets erfolgreich gelöscht.",
+  "Creating pipeline to persist data stream": "Erstellen einer Pipeline zum 
Speichern der Daten",
+  "Adapter status": "Status des Adapters",
+  "Reset adapter state": "Adapterstatus zurücksetzen",
+  "Manage permissions for adapter ": "Berechtigungen für Adapter verwalten",
+  "Delete Adapter": "Adapter löschen",
   "Edit adapter: ": "Adapter bearbeiten:",
   "New adapter: ": "Neuer Adapter:",
+  "Edit adapter": "Adapter bearbeiten",
+  "Adapter generation": "Adaptererzeugung",
   "General": "Allgemein",
   "Data Lake": "Data Lake",
   "Export/Import": "Export/Import",
diff --git a/ui/deployment/i18n/en.json b/ui/deployment/i18n/en.json
index 390dd152c6..15e983a5fa 100644
--- a/ui/deployment/i18n/en.json
+++ b/ui/deployment/i18n/en.json
@@ -381,6 +381,27 @@
   "Allow anonymous access through public link": null,
   "URL": null,
   "(no log messages available)": null,
+  "You are about to start the following adapters:": null,
+  "You are about to stop the following adapters:": null,
+  "Press 'Next' to start the process.": null,
+  "Starting adapter": null,
+  "Stopping adapter": null,
+  "Sorry, there are no adapters that are currently idle": null,
+  "Sorry, there are no adapters that are currently running": null,
+  "The adapter is currently used by these pipelines:": null,
+  "(if you don't see those pipelines, they are created by other users)": null,
+  "You need to delete those pipelines first before deleting the adapter.": 
null,
+  "Do you want to delete all associated pipelines and the adapter?": null,
+  "Unable to delete all associated pipelines because you are not the owner of 
the following pipelines: ": null,
+  "Do you really want to delete adapter ": null,
+  "Delete adapter": null,
+  "This adapter is used by": null,
+  "pipeline": null,
+  "pipelines": null,
+  "will be automatically migrated": null,
+  "will be stopped and needs manual review": null,
+  "Please check and possibly modify existing dashboards and data views 
afterwards.": null,
+  "Update adapter and migrate pipelines": null,
   "Adapters": null,
   "New adapter": null,
   "Start all adapters": null,
@@ -399,6 +420,11 @@
   "Adapter stopped": null,
   "Configure fields": null,
   "Start adapter": null,
+  "Adapter settings": null,
+  "Adapter Name": null,
+  "Adapter Description": null,
+  "Run adapter": null,
+  "Start adapter now": null,
   "Add Adapter to an existing Asset": null,
   "Remove Duplicates": null,
   "Avoid duplicated events within a certain time interval": null,
@@ -414,6 +440,11 @@
   "Show code to programmatically deploy this adapter over the API": null,
   "Start Adapter": null,
   "Update Adapter": null,
+  "Add static value": null,
+  "Add timestamp": null,
+  "Original (Parsed)": null,
+  "Result": null,
+  "Update result preview": null,
   "Measurement": null,
   "Dimension": null,
   "Header": null,
@@ -639,7 +670,6 @@
   "You are about to {{ action }} the following elements:": "You are about to 
{{ action }} the following elements:",
   "install": null,
   "uninstall": null,
-  "Press 'Next' to start the process.": null,
   "{{action}} {{ current }} of {{ total }} ({{ name }})...{{ status }}": 
"{{action}} {{ current }} of {{ total }} ({{name}})...{{ status }}",
   "Installing": null,
   "Uninstalling": null,
@@ -764,13 +794,22 @@
   "Error in line {{rowNumber}}. Value for \"{{property}}\" is not supported.": 
"Error in line {{rowNumber}}. Value for \"{{property}}\" is not supported.",
   "Error in line {{rowNumber}}. Value for \"{{property}}\" is not set.": 
"Error in line {{rowNumber}}. Value for \"{{property}}\" is not set.",
   "Resources": null,
+  "Checking migrations for adapter {{adapterName}}": "Checking migrations for 
adapter {{adapterName}}",
   "Updating adapter {{adapterName}}": "Updating adapter {{adapterName}}",
   "Creating adapter {{adapterName}}": "Creating adapter {{adapterName}}",
+  "Your new data stream is now available in the pipeline editor.": null,
   "Starting adapter {{adapterName}}": "Starting adapter {{adapterName}}",
   "Your Assets were successfully added.": null,
   "Your Assets were successfully deleted.": null,
+  "Creating pipeline to persist data stream": null,
+  "Adapter status": null,
+  "Reset adapter state": null,
+  "Manage permissions for adapter ": null,
+  "Delete Adapter": null,
   "Edit adapter: ": null,
   "New adapter: ": null,
+  "Edit adapter": null,
+  "Adapter generation": null,
   "General": null,
   "Data Lake": null,
   "Export/Import": null,
diff --git 
a/ui/src/app/connect/components/adapter-configuration/schema-editor/event-schema-preview/event-schema-preview.component.html
 
b/ui/src/app/connect/components/adapter-configuration/schema-editor/event-schema-preview/event-schema-preview.component.html
index 41ae59c67b..ce5c681420 100644
--- 
a/ui/src/app/connect/components/adapter-configuration/schema-editor/event-schema-preview/event-schema-preview.component.html
+++ 
b/ui/src/app/connect/components/adapter-configuration/schema-editor/event-schema-preview/event-schema-preview.component.html
@@ -18,7 +18,10 @@
 
 <div fxFlex="100" fxLayout="row" fxLayoutGap="15px">
     <div fxFlex="50" fxLayout="column">
-        <sp-basic-inner-panel [showTitle]="true" panelTitle="Original 
(Parsed)">
+        <sp-basic-inner-panel
+            [showTitle]="true"
+            [panelTitle]="'Original (Parsed)' | translate"
+        >
             <pre
                 [innerHTML]="originalField | jsonpretty"
                 class="preview-text"
@@ -30,7 +33,7 @@
     <div fxFlex="50" fxLayout="column">
         <sp-basic-inner-panel
             [showTitle]="true"
-            panelTitle="Result"
+            [panelTitle]="'Result' | translate"
             fxFlex="100"
             data-cy="connect-schema-update-preview"
         >
@@ -43,7 +46,7 @@
                     (click)="updateEventPreview()"
                 >
                     <mat-icon>refresh</mat-icon>
-                    <span>&nbsp;Update result preview</span>
+                    <span>&nbsp;{{ 'Update result preview' | translate 
}}</span>
                 </button>
             </div>
             <pre
diff --git 
a/ui/src/app/connect/components/adapter-configuration/schema-editor/event-schema/event-schema.component.html
 
b/ui/src/app/connect/components/adapter-configuration/schema-editor/event-schema/event-schema.component.html
index 70e7834eed..dec5b2b438 100644
--- 
a/ui/src/app/connect/components/adapter-configuration/schema-editor/event-schema/event-schema.component.html
+++ 
b/ui/src/app/connect/components/adapter-configuration/schema-editor/event-schema/event-schema.component.html
@@ -128,10 +128,10 @@
 
 <div fxLayoutAlign="end" class="mt-10">
     <button class="mat-basic" mat-flat-button (click)="removeSelection()">
-        Cancel
+        {{ 'Cancel' | translate }}
     </button>
     <button class="mat-basic stepper-button" mat-flat-button 
(click)="goBack()">
-        Back
+        {{ 'Back' | translate }}
     </button>
     <button
         class="stepper-button"
@@ -142,6 +142,6 @@
         (click)="clickNext()"
         [disabled]="!validEventSchema"
     >
-        Next
+        {{ 'Next' | translate }}
     </button>
 </div>
diff --git 
a/ui/src/app/connect/components/adapter-configuration/schema-editor/schema-editor-header/schema-editor-header.component.html
 
b/ui/src/app/connect/components/adapter-configuration/schema-editor/schema-editor-header/schema-editor-header.component.html
index f76e01795b..4e7c8d2e09 100644
--- 
a/ui/src/app/connect/components/adapter-configuration/schema-editor/schema-editor-header/schema-editor-header.component.html
+++ 
b/ui/src/app/connect/components/adapter-configuration/schema-editor/schema-editor-header/schema-editor-header.component.html
@@ -26,7 +26,7 @@
             [matMenuTriggerFor]="staticValueMenu"
         >
             <mat-icon>add</mat-icon>
-            <span>&nbsp;Add static value</span>
+            <span>&nbsp;{{ 'Add static value' | translate }}</span>
         </button>
         <mat-menu #staticValueMenu="matMenu">
             <div
@@ -71,7 +71,7 @@
             (click)="addTimestampProperty()"
         >
             <mat-icon>access_time</mat-icon>
-            <span>&nbsp;Add timestamp</span>
+            <span>&nbsp;{{ 'Add timestamp' | translate }}</span>
         </button>
     </div>
     <div fxLayout="row" fxLayoutAlign="end center">
diff --git 
a/ui/src/app/connect/components/adapter-configuration/start-adapter-configuration/start-adapter-configuration.component.html
 
b/ui/src/app/connect/components/adapter-configuration/start-adapter-configuration/start-adapter-configuration.component.html
index 843ac4bc7d..20b14171b6 100644
--- 
a/ui/src/app/connect/components/adapter-configuration/start-adapter-configuration/start-adapter-configuration.component.html
+++ 
b/ui/src/app/connect/components/adapter-configuration/start-adapter-configuration/start-adapter-configuration.component.html
@@ -18,7 +18,7 @@
 
 <div [formGroup]="startAdapterForm" fxLayout="column" fxFlex="100">
     <sp-basic-inner-panel
-        panelTitle="Adapter settings"
+        [panelTitle]="'Adapter settings' | translate"
         outerMargin="20px 0px 10px 0px"
     >
         <div fxFlex="100">
@@ -28,7 +28,7 @@
                         formControlName="adapterName"
                         matInput
                         id="input-AdapterName"
-                        placeholder="Adapter Name"
+                        [placeholder]="'Adapter Name' | translate"
                         data-cy="sp-adapter-name"
                         required
                         (blur)="triggerTutorialAdapterNameAssigned()"
@@ -83,7 +83,7 @@
                         matInput
                         id="input-AdapterDescription"
                         [ngModelOptions]="{ standalone: true }"
-                        placeholder="Adapter Description"
+                        [placeholder]="'Adapter Description' | translate"
                         [(ngModel)]="adapterDescription.description"
                     />
                 </mat-form-field>
@@ -93,8 +93,8 @@
 
     <div fxFlex="100" fxLayout="column">
         <sp-adapter-options-panel
-            optionTitle="Run adapter"
-            optionDescription="Start adapter now"
+            [optionTitle]="'Run adapter' | translate"
+            [optionDescription]="'Start adapter now' | translate"
             optionIcon="play_arrow"
             dataCy="start-adapter-now-checkbox"
             *ngIf="!isEditMode"
diff --git 
a/ui/src/app/connect/components/adapter-configuration/start-adapter-configuration/start-adapter-configuration.component.ts
 
b/ui/src/app/connect/components/adapter-configuration/start-adapter-configuration/start-adapter-configuration.component.ts
index f38436f3b8..6c69a048f6 100644
--- 
a/ui/src/app/connect/components/adapter-configuration/start-adapter-configuration/start-adapter-configuration.component.ts
+++ 
b/ui/src/app/connect/components/adapter-configuration/start-adapter-configuration/start-adapter-configuration.component.ts
@@ -36,6 +36,7 @@ import { ShepherdService } from 
'../../../../services/tour/shepherd.service';
 import { TimestampPipe } from '../../../filter/timestamp.pipe';
 import { TransformationRuleService } from 
'../../../services/transformation-rule.service';
 import { ValidateName } from 
'../../../../core-ui/static-properties/input.validator';
+import { TranslateService } from '@ngx-translate/core';
 
 @Component({
     selector: 'sp-start-adapter-configuration',
@@ -108,6 +109,7 @@ export class StartAdapterConfigurationComponent implements 
OnInit {
         private _formBuilder: UntypedFormBuilder,
         private timestampPipe: TimestampPipe,
         private transformationRuleService: TransformationRuleService,
+        private translateService: TranslateService,
     ) {}
 
     ngOnInit(): void {
@@ -176,7 +178,7 @@ export class StartAdapterConfigurationComponent implements 
OnInit {
         this.checkAndApplyStreamRules();
         const dialogRef = this.dialogService.open(AdapterStartedDialog, {
             panelType: PanelType.STANDARD_PANEL,
-            title: 'Adapter edit',
+            title: this.translateService.instant('Edit adapter'),
             width: '70vw',
             data: {
                 adapter: this.adapterDescription,
@@ -197,7 +199,7 @@ export class StartAdapterConfigurationComponent implements 
OnInit {
 
         const dialogRef = this.dialogService.open(AdapterStartedDialog, {
             panelType: PanelType.STANDARD_PANEL,
-            title: 'Adapter generation',
+            title: this.translateService.instant('Adapter generation'),
             width: '70vw',
             data: {
                 adapter: this.adapterDescription,
diff --git 
a/ui/src/app/connect/components/existing-adapters/existing-adapters.component.ts
 
b/ui/src/app/connect/components/existing-adapters/existing-adapters.component.ts
index 1ca9ff7d61..8758e518fd 100644
--- 
a/ui/src/app/connect/components/existing-adapters/existing-adapters.component.ts
+++ 
b/ui/src/app/connect/components/existing-adapters/existing-adapters.component.ts
@@ -45,6 +45,7 @@ import { AdapterFilterPipe } from 
'../../filter/adapter-filter.pipe';
 import { SpConnectRoutes } from '../../connect.routes';
 import { Subscription, zip } from 'rxjs';
 import { ShepherdService } from '../../../services/tour/shepherd.service';
+import { TranslateService } from '@ngx-translate/core';
 
 @Component({
     selector: 'sp-existing-adapters',
@@ -97,6 +98,7 @@ export class ExistingAdaptersComponent implements OnInit, 
OnDestroy {
         private breadcrumbService: SpBreadcrumbService,
         private adapterMonitoringService: AdapterMonitoringService,
         private shepherdService: ShepherdService,
+        private translate: TranslateService,
     ) {}
 
     ngOnInit(): void {
@@ -155,7 +157,9 @@ export class ExistingAdaptersComponent implements OnInit, 
OnDestroy {
         const dialogRef: DialogRef<AllAdapterActionsComponent> =
             this.dialogService.open(AllAdapterActionsComponent, {
                 panelType: PanelType.STANDARD_PANEL,
-                title: (action ? 'Start' : 'Stop') + ' all adapters',
+                title: action
+                    ? this.translate.instant('Start all adapters')
+                    : this.translate.instant('Stop all adapters'),
                 width: '70vw',
                 data: {
                     adapters: this.existingAdapters,
@@ -182,13 +186,15 @@ export class ExistingAdaptersComponent implements OnInit, 
OnDestroy {
             SpExceptionDetailsDialogComponent,
             {
                 panelType: PanelType.STANDARD_PANEL,
-                title: 'Adapter Status',
+                title: this.translate.instant('Adapter status'),
                 width: '70vw',
                 data: {
                     message: message,
                     title: title,
                     additionalButton: !startAction,
-                    additionalButtonText: 'Reset adapter state',
+                    additionalButtonText: this.translate.instant(
+                        'Reset adapter state',
+                    ),
                 },
             },
         );
@@ -223,12 +229,14 @@ export class ExistingAdaptersComponent implements OnInit, 
OnDestroy {
             ObjectPermissionDialogComponent,
             {
                 panelType: PanelType.SLIDE_IN_PANEL,
-                title: 'Manage permissions',
+                title: this.translate.instant('Manage permissions'),
                 width: '50vw',
                 data: {
                     objectInstanceId: adapter.correspondingDataStreamElementId,
                     headerTitle:
-                        'Manage permissions for adapter ' + adapter.name,
+                        this.translate.instant(
+                            'Manage permissions for adapter ',
+                        ) + adapter.name,
                 },
             },
         );
@@ -252,7 +260,7 @@ export class ExistingAdaptersComponent implements OnInit, 
OnDestroy {
         const dialogRef: DialogRef<DeleteAdapterDialogComponent> =
             this.dialogService.open(DeleteAdapterDialogComponent, {
                 panelType: PanelType.STANDARD_PANEL,
-                title: 'Delete Adapter',
+                title: this.translate.instant('Delete Adapter'),
                 width: '70vw',
                 data: {
                     adapter: adapter,
diff --git 
a/ui/src/app/connect/dialog/adapter-started/adapter-started-dialog.component.html
 
b/ui/src/app/connect/dialog/adapter-started/adapter-started-dialog.component.html
index 8d0560d4e7..6b7d2fe38c 100644
--- 
a/ui/src/app/connect/dialog/adapter-started/adapter-started-dialog.component.html
+++ 
b/ui/src/app/connect/dialog/adapter-started/adapter-started-dialog.component.html
@@ -64,7 +64,7 @@
             mat-flat-button
             (click)="onCloseConfirm()"
         >
-            Close
+            {{ 'Close' | translate }}
         </button>
     </div>
 </div>
diff --git 
a/ui/src/app/connect/dialog/adapter-started/adapter-started-dialog.component.ts 
b/ui/src/app/connect/dialog/adapter-started/adapter-started-dialog.component.ts
index 01e28d48d0..66eefc0b93 100644
--- 
a/ui/src/app/connect/dialog/adapter-started/adapter-started-dialog.component.ts
+++ 
b/ui/src/app/connect/dialog/adapter-started/adapter-started-dialog.component.ts
@@ -124,7 +124,12 @@ export class AdapterStartedDialog implements OnInit {
     }
 
     initAdapterUpdatePreflight(): void {
-        this.loadingText = `Checking migrations for adapter 
${this.adapter.name}`;
+        this.loadingText = this.translateService.instant(
+            'Checking migrations for adapter {{adapterName}}',
+            {
+                adapterName: this.adapter.name,
+            },
+        );
         this.loading = true;
         this.adapterService
             .performPipelineMigrationPreflight(this.adapter)
@@ -229,8 +234,9 @@ export class AdapterStartedDialog implements OnInit {
     }
 
     startAdapter(adapterElementId: string, showPreview = false) {
-        const successMessage =
-            'Your new data stream is now available in the pipeline editor.';
+        const successMessage = this.translateService.instant(
+            'Your new data stream is now available in the pipeline editor.',
+        );
         if (this.startAdapterNow) {
             this.adapterElementId = adapterElementId;
             this.loadingText = this.translateService.instant(
@@ -379,7 +385,9 @@ export class AdapterStartedDialog implements OnInit {
     }
 
     private startSaveInDataLakePipeline(adapterElementId: string) {
-        this.loadingText = 'Creating pipeline to persist data stream';
+        this.loadingText = this.translateService.instant(
+            'Creating pipeline to persist data stream',
+        );
         this.adapterService.getAdapter(adapterElementId).subscribe(adapter => {
             this.pipelineTemplateService
                 .findById('sp-internal-persist')
diff --git 
a/ui/src/app/connect/dialog/adapter-started/adapter-started-update-migration/adapter-started-update-migration.component.html
 
b/ui/src/app/connect/dialog/adapter-started/adapter-started-update-migration/adapter-started-update-migration.component.html
index a93933eb79..1ae8060b1c 100644
--- 
a/ui/src/app/connect/dialog/adapter-started/adapter-started-update-migration/adapter-started-update-migration.component.html
+++ 
b/ui/src/app/connect/dialog/adapter-started/adapter-started-update-migration/adapter-started-update-migration.component.html
@@ -17,17 +17,23 @@
   -->
 
 <div fxLayout="column" fxLayoutAlign="start center">
-    <h4>
-        This adapter is used by
-        {{ adapterPipelineUpdateInfos.length }} pipelines.
-    </h4>
+    @if (adapterPipelineUpdateInfos.length > 1) {
+        <h4>
+            {{ 'This adapter is used by' | translate }}
+            {{ adapterPipelineUpdateInfos.length }}
+            {{ 'pipeline' | translate }}.
+        </h4>
+    } @else {
+        {{ 'This adapter is used by' | translate }}
+        {{ adapterPipelineUpdateInfos.length }} {{ 'pipelines' | translate }}. 
‚
+    }
     <div class="migration-infos">
         <div *ngFor="let updateInfo of adapterPipelineUpdateInfos">
             <div *ngIf="updateInfo.canAutoMigrate" fxLayoutAlign="start 
center">
-                <i class="material-icons">check</i>&nbsp;Pipeline&nbsp;<b>{{
-                    updateInfo.pipelineName
-                }}</b
-                >&nbsp;will be automatically migrated.
+                <i class="material-icons">check</i>&nbsp;{{
+                    'Pipeline' | translate
+                }}&nbsp;<b>{{ updateInfo.pipelineName }}</b
+                >&nbsp;{{ 'will be automatically migrated' | translate }}.
             </div>
             <div
                 *ngIf="!updateInfo.canAutoMigrate"
@@ -38,15 +44,21 @@
                     data-cy="sp-connect-adapter-edit-warning"
                     >warning</i
                 >
-                &nbsp;Pipeline&nbsp;<b>{{ updateInfo.pipelineName }}</b
-                >&nbsp;will be stopped and needs manual review.
+                &nbsp;{{ 'Pipeline' | translate }}&nbsp;<b>{{
+                    updateInfo.pipelineName
+                }}</b
+                >&nbsp;{{
+                    'will be stopped and needs manual review' | translate
+                }}.
             </div>
         </div>
     </div>
     <div class="migration-infos" fxLayoutAlign="start center">
         <i class="material-icons">warning</i>
-        Please check and possibly modify existing dashboards and data views
-        afterwards.
+        {{
+            'Please check and possibly modify existing dashboards and data 
views afterwards.'
+                | translate
+        }}
     </div>
     <div>
         <button
@@ -56,7 +68,7 @@
             (click)="startUpdateEmitter.emit()"
             data-cy="btn-update-adapter-migrate-pipelines"
         >
-            Update adapter and migrate pipelines
+            {{ 'Update adapter and migrate pipelines' | translate }}
         </button>
     </div>
 </div>
diff --git 
a/ui/src/app/connect/dialog/delete-adapter-dialog/delete-adapter-dialog.component.html
 
b/ui/src/app/connect/dialog/delete-adapter-dialog/delete-adapter-dialog.component.html
index d1dd29a579..2fa6a748b2 100644
--- 
a/ui/src/app/connect/dialog/delete-adapter-dialog/delete-adapter-dialog.component.html
+++ 
b/ui/src/app/connect/dialog/delete-adapter-dialog/delete-adapter-dialog.component.html
@@ -34,20 +34,29 @@
                 class="info-text"
             >
                 <p>
-                    The adapter is currently used by these pipelines:
+                    {{
+                        'The adapter is currently used by these pipelines:'
+                            | translate
+                    }}
                     <b>{{ namesOfPipelinesUsingAdapter }}</b
                     ><br />
-                    (if you don't see those pipelines, they are created by 
other
-                    users)
+                    {{
+                        "(if you don't see those pipelines, they are created 
by other users)"
+                            | translate
+                    }}
                 </p>
                 <p>
-                    You need to delete those pipelines first before deleting 
the
-                    adapter.
+                    {{
+                        'You need to delete those pipelines first before 
deleting the adapter.'
+                            | translate
+                    }}
                 </p>
                 <p>
-                    <b
-                        >Do you want to delete all associated pipelines and the
-                        adapter?</b
+                    <b>
+                        {{
+                            'Do you want to delete all associated pipelines 
and the adapter?'
+                                | translate
+                        }}</b
                     >
                 </p>
             </div>
@@ -82,9 +91,15 @@
         >
             <b>
                 <h4>
-                    Unable to delete all associated pipelines because you are
-                    not the owner of the following pipelines:
-                    {{ namesOfPipelinesNotOwnedByUser }}
+                    <p>
+                        {{
+                            'Unable to delete all associated pipelines because 
you are not the owner of the following pipelines: '
+                                | translate
+                        }}
+                    </p>
+                    <p>
+                        <b>{{ namesOfPipelinesNotOwnedByUser }}</b>
+                    </p>
                 </h4>
             </b>
         </div>
@@ -92,10 +107,17 @@
             <div fxFlex="100" fxLayoutAlign="center center" fxLayout="column">
                 <b
                     ><h4>
-                        Do you really want to delete adapter {{ adapter.name 
}}?
+                        {{
+                            'Do you really want to delete adapter ' | translate
+                        }}
+                        {{ adapter.name }} ?
                     </h4></b
                 >
-                <b><h5>This operation cannot be undone.</h5></b>
+                <b
+                    ><h5>
+                        {{ 'This operation cannot be undone.' | translate }}
+                    </h5></b
+                >
             </div>
 
             <div fxFlex="100" fxLayoutAlign="center center" fxLayout="column">
@@ -106,7 +128,7 @@
                     (click)="deleteAdapter(false)"
                     data-cy="delete-adapter-confirmation"
                 >
-                    Delete adapter
+                    {{ 'Delete adapter' | translate }}
                 </button>
             </div>
         </div>
@@ -137,7 +159,7 @@
             class="mat-basic"
             (click)="close(false)"
         >
-            Close
+            {{ 'Close' | translate }}
         </button>
     </div>
 </div>
diff --git 
a/ui/src/app/connect/dialog/start-all-adapters/all-adapter-actions-dialog.component.html
 
b/ui/src/app/connect/dialog/start-all-adapters/all-adapter-actions-dialog.component.html
index 1f007ffbff..ac8f6e8a65 100644
--- 
a/ui/src/app/connect/dialog/start-all-adapters/all-adapter-actions-dialog.component.html
+++ 
b/ui/src/app/connect/dialog/start-all-adapters/all-adapter-actions-dialog.component.html
@@ -26,13 +26,22 @@
                 *ngIf="page === 'preview'"
             >
                 <h4>
-                    You are about to {{ action ? 'start' : 'stop' }} the
-                    following adapters:
+                    {{
+                        action
+                            ? ('You are about to start the following adapters:'
+                              | translate)
+                            : ('You are about to stop the following adapters:'
+                              | translate)
+                    }}
                 </h4>
                 <div *ngFor="let adapter of adaptersToModify">
                     <h5>{{ adapter.name }}</h5>
                 </div>
-                <h5><b>Press 'Next' to start the process.</b></h5>
+                <h5>
+                    <b>{{
+                        "Press 'Next' to start the process." | translate
+                    }}</b>
+                </h5>
             </div>
             <div
                 fxFlex="100"
@@ -42,16 +51,26 @@
             >
                 <div *ngFor="let status of actionStatus">
                     <h4>
-                        {{ action ? 'Starting adapter ' : 'Stopping adapter' }}
-                        {{ status.id + 1 }} of {{ adaptersToModify.length }} 
({{
-                            status.name
-                        }})...{{ status.status }}
+                        {{
+                            action
+                                ? ('Starting adapter' | translate)
+                                : ('Stopping adapter' | translate)
+                        }}
+                        {{ status.id + 1 }} {{ 'of' | translate }}
+                        {{ adaptersToModify.length }} ({{ status.name }})...{{
+                            status.status
+                        }}
                     </h4>
                 </div>
                 <div *ngIf="adaptersToModify.length === 0">
                     <h4>
-                        Sorry, there are no adapters that are currently
-                        {{ action ? 'idle.' : 'running.' }}
+                        {{
+                            action
+                                ? ('Sorry, there are no adapters that are 
currently idle'
+                                  | translate)
+                                : ('Sorry, there are no adapters that are 
currently running'
+                                  | translate)
+                        }}.
                     </h4>
                 </div>
             </div>
@@ -66,7 +85,7 @@
             (click)="close(false)"
             style="margin-right: 10px"
         >
-            Cancel
+            {{ 'Cancel' | translate }}
         </button>
         <button
             mat-button
diff --git 
a/ui/src/app/connect/dialog/start-all-adapters/all-adapter-actions-dialog.component.ts
 
b/ui/src/app/connect/dialog/start-all-adapters/all-adapter-actions-dialog.component.ts
index aada5a6417..aca8a9cd14 100644
--- 
a/ui/src/app/connect/dialog/start-all-adapters/all-adapter-actions-dialog.component.ts
+++ 
b/ui/src/app/connect/dialog/start-all-adapters/all-adapter-actions-dialog.component.ts
@@ -22,6 +22,7 @@ import {
     AdapterDescription,
     AdapterService,
 } from '@streampipes/platform-services';
+import { TranslateService } from '@ngx-translate/core';
 
 @Component({
     selector: 'sp-start-all-adapters-dialog',
@@ -45,19 +46,20 @@ export class AllAdapterActionsComponent implements OnInit {
     constructor(
         private dialogRef: DialogRef<AllAdapterActionsComponent>,
         private adapterService: AdapterService,
+        private translate: TranslateService,
     ) {
         this.adaptersToModify = [];
         this.actionStatus = [];
         this.actionFinished = false;
         this.page = 'preview';
-        this.nextButton = 'Next';
+        this.nextButton = this.translate.instant('Next');
         this.actionRunning = false;
     }
 
     ngOnInit() {
         this.getAdaptersToModify();
         if (this.adaptersToModify.length === 0) {
-            this.nextButton = 'Close';
+            this.nextButton = this.translate.instant('Close');
             this.page = 'running';
         }
     }
@@ -88,7 +90,7 @@ export class AllAdapterActionsComponent implements OnInit {
         this.actionStatus.push({
             name: adapter.name,
             id: index,
-            status: 'waiting',
+            status: this.translate.instant('waiting'),
         });
         this.runAdapterAction(adapter, index);
     }
@@ -100,15 +102,15 @@ export class AllAdapterActionsComponent implements OnInit 
{
         observable
             .subscribe(data => {
                 this.actionStatus[index].status = data.success
-                    ? 'success'
-                    : 'error';
+                    ? this.translate.instant('success')
+                    : this.translate.instant('error');
             })
             .add(() => {
                 if (index < this.adaptersToModify.length - 1) {
                     index++;
                     this.initiateAction(this.adaptersToModify[index], index);
                 } else {
-                    this.nextButton = 'Close';
+                    this.nextButton = this.translate.instant('Close');
                     this.actionRunning = false;
                 }
             });


Reply via email to