This is an automated email from the ASF dual-hosted git repository. riemer pushed a commit to branch improve-layout-default-colors in repository https://gitbox.apache.org/repos/asf/streampipes.git
commit b558d0044baa6860cb51aa9f837ab7da86385c0d Author: Dominik Riemer <[email protected]> AuthorDate: Tue Sep 30 22:19:32 2025 +0200 Add german translations to pipeline editor --- ui/deployment/i18n/de.json | 116 ++++++++++++++++----- ui/deployment/i18n/en.json | 116 ++++++++++++++++----- .../input-schema-panel.component.html | 4 +- .../custom-output-strategy.component.html | 8 +- .../output-strategy/output-strategy.component.html | 2 +- .../user-defined-output.component.html | 10 +- ...-assembly-options-pipeline-cache.component.html | 18 ++-- ...-assembly-options-pipeline-cache.component.scss | 4 + .../pipeline-assembly-options.component.html | 28 ++--- .../pipeline-element-icon-stand.component.html | 10 +- .../pipeline-element-options.component.html | 10 +- .../pipeline-element-preview.component.html | 4 +- .../components/pipeline/pipeline.component.html | 2 +- .../add-template-dialog.component.html | 4 +- .../compatible-elements.component.html | 2 +- .../dialog/customize/customize.component.html | 17 +-- .../matching-error/matching-error.component.html | 18 ++-- .../missing-elements-for-tutorial.component.html | 14 ++- ui/src/app/editor/editor.component.html | 2 +- ui/src/app/editor/editor.module.ts | 2 + 20 files changed, 278 insertions(+), 113 deletions(-) diff --git a/ui/deployment/i18n/de.json b/ui/deployment/i18n/de.json index 40a7b24452..afd3c49ebb 100644 --- a/ui/deployment/i18n/de.json +++ b/ui/deployment/i18n/de.json @@ -50,6 +50,46 @@ "Stop Pipeline": "Pipeline stoppen", "Modify Pipeline": "Pipeline bearbeiten", "Delete Pipeline": "Pipeline löschen", + "Preparing pipeline editor...": "Pipeline-Editor vorbereiten...", + "The tutorial requires pipeline elements that are not yet installed.": "Für das Lernprogramm werden Pipeline-Elemente benötigt, die noch nicht installiert sind.", + "Install the following pipeline elements and start the tutorial again:": "Installieren Sie die folgenden Pipeline-Elemente und starten Sie das Lernprogramm erneut:", + "The input data stream does not satisfy the requirements specified by the data processor.": "Der Eingabedatenstrom erfüllt nicht die vom Datenprozessor festgelegten Anforderungen.", + "Show Details": "Details anzeigen", + "Hide Details": "Details ausblenden", + "Use template": "Vorlage verwenden", + "Show documentation": "Dokumentation anzeigen", + "Show only recommended settings": "Nur empfohlene Einstellungen anzeigen", + "Save": "Speichern", + "Create template": "Vorlage erstellen", + "Save template": "Vorlage speichern", + "Next": "Weiter", + "Waiting for live data": "Warten auf Live-Daten", + "Configure Element": "Element konfigurieren", + "Delete Element": "Element löschen", + "Compatible Elements": "Kompatible Elemente", + "Help": "Hilfe", + "Find element": "Element finden", + "Create new source": "Neue Quelle erstellen", + "Sort": "Sortieren", + "Group": "Gruppe", + "Save Pipeline": "Pipeline speichern", + "Save pipeline": "Pipeline speichern", + "Auto Layout": "Automatisches Layout", + "Add pipeline element": "Pipeline-Element hinzufügen", + "Add element": "Element hinzufügen", + "Add from template": "Aus Vorlage hinzufügen", + "Clear Assembly Area": "Pipeline-Bereich leeren", + "Saving pipeline modifications": "Änderungen werden gespeichert", + "All pipeline modifications saved.": "Alle Änderungen gespeichert.", + "View Topics": "Topics anzeigen", + "Select output fields": "Ausgabefelder auswählen", + "Use input schema": "Eingabeschema verwenden", + "Runtime name": "Laufzeitname", + "Runtime type": "Laufzeittyp", + "Semantic type": "Semantischer Typ", + "Add field": "Feld hinzufügen", + "Select all": "Alle auswählen", + "Select none": "Keine auswählen", "Field": "Feld", "Settings": "Einstellungen", "Resolution": "Auflösung", @@ -104,8 +144,11 @@ "Visual Map Max": "Visuelle Heatmap Minimum", "Min": "Min", "Max": "Max", + "Display Name": "Anzeigename", "X": "X", + "X Label": "X-Label", "Y": "Y", + "Y Label": "Y-Label", "Warning": "Warnung", "This chart tries to load too much data (#Events:": "Dieses Diagramm versucht, zu viele Daten zu laden (#Events:", "Please change the chart settings or decrease the time range": "Bitte ändern Sie die Diagramm-Einstellungen oder ändern Sie die Zeitintervall", @@ -117,11 +160,9 @@ "More options": "Weitere Optionen", "Download data": "Daten herunterladen", "Edit Chart": "Diagramm bearbeiten", - "Options": "Optionen", "Reset": "Zurücksetzen", "Delete Chart": "Diagramm löschen", "The current data selection can't be displayed by this chart.": "Die aktuelle Auswahl kann in diesem Diagramm nicht angezeigt werden.", - "Select all": "Alle auswählen", "Deselect all": "Alle abwählen", "Field settings": "Feldeinstellungen", "Color": "Farbe", @@ -154,15 +195,13 @@ "Show chart": "Diagramm anzeigen", "Edit chart": "Diagramm bearbeiten", "Manage permissions": "Berechtigungen verwalten", - "Delete chart": "Diagramm löschen", "Clone chart": "Diagramm kopieren", + "Delete chart": "Diagramm löschen", "Chart Name": "Diagrammname", - "Save": "Speichern", "Discard": "Verwerfen", "Data": "Daten", "Visualization": "Visualisierung", "Appearance": "Darstellung", - "Next": "Weiter", "Back": "Zurück", "Create": "Erstellen", "Chart Type": "Diagrammtyp", @@ -207,6 +246,7 @@ "Spread": "Spanne", "Unit": "Einheit", "Background": "Hintergrund", + "Default": "Standard", "Text": "Text", "Dashboard title": "Dashboardtitel", "Title must not be empty": "Titel darf nicht leer sein!", @@ -220,6 +260,7 @@ "View mode": "Ansicht", "Grid": "Raster", "Slides": "Folien", + "Options": "Optionen", "Edit dashboard": "Dashboard bearbeiten", "Show time range selector": "Zeiteinstellungen anzeigen", "Hide time range selector": "Zeiteinstellungen ausblenden", @@ -230,6 +271,7 @@ "New dashboard": "Neues Dashboard", "Dashboards": "Dashboards", "Show dashboard": "Dashboard anzeigen", + "Kiosk mode": "Kiosk-Modus", "Dashboard settings": "Dashboard-Einstellungen", "ID": "ID", "Output Topics": "Output-Topics", @@ -248,7 +290,6 @@ "Show details": "Details anzeigen", "Add all direct children": "Alle direkten Unterknoten hinzufügen", "(waiting for input)": "(warten auf Input)", - "Select none": "Keine auswählen", "Possible placeholders:": "Mögliche Platzhalter:", "Choose existing file": "Vorhandene Datei auswählen", "Upload new file": "Neue Datei hochladen", @@ -268,28 +309,34 @@ "Existing templates": "Vorhandene Vorlagen", "(no templates available)": "(keine Vorlagen verfügbar)", "Store as template": "Als Vorlage speichern", - "Here is a preview of your data:": "Vorschau Ihrer Daten:", - "Runtime Name": "Laufzeitname", - "Field Name": "Feldname", - "no data": "keine Daten", - "Gathering data for live preview...": "Sammeln von Daten für die Live-Vorschau...", - "Preview is currently unavailable.": "Die Vorschau ist derzeit nicht verfügbar.", - "(no documentation available)": "(keine Dokumentation verfügbar)", "You can perform a forced stop, which will stop and reset the pipeline status.": "Sie können einen erzwungenen Stopp durchführen, der die Pipeline anhält und zurücksetzt.", - "Show Details": "Details anzeigen", - "Hide Details": "Details ausblenden", "Force stop": "Stopp erzwingen", "Owner": "Eigentümer", "Public Element": "Öffentliches Element", + "visible to registered users": "sichtbar für registrierte Benutzer", "Users": "Nutzer", "Authorized Users": "Autorisierte Nutzer", "User selection": "Auswahl der Nutzer", "Groups": "Gruppen", "Authorized Groups": "Autorisierte Gruppen", "Group selection": "Auswahl der Gruppe", + "Public Link": "Öffentlicher Link", + "Allow anonymous access through public link": "Anonymen Zugang über einen öffentlichen Link ermöglichen", + "URL": "URL", "(no log messages available)": "(keine Protokollmeldungen verfügbar)", "Site label is required": "Standort-Label ist erforderlich", "This site already exists": "Standort existiert bereits", + "Start Sync": "Sync starten", + "Data Retention Action": "Datenaufbewahrungsaktion", + "delete": "löschen", + "save": "speichern", + "save and delete": "speichern und löschen", + "Data Retention Intervals": "Datenaufbewahrungsintervalle", + "Export Settings": "Einstellungen exportieren", + "Download Format": "Download-Format", + "Delimiter": "Trennzeichen", + "Select Provider": "Anbieter auswählen", + "local": "lokal", "success": "Erfolg", "error": "Fehler", "waiting": "Warten", @@ -297,17 +344,32 @@ "Deleting pipeline...": "Löschen der Pipeline...", "Stopping pipeline...": "Pipeline stoppen...", "Gauge": "Gauge", + "The current value displayed in a gauge": "Der aktuelle Wert, der im Gauge-Chart angezeigt wird", "Table": "Tabelle", + "A table displaying the data in rows and columns": "Eine Tabelle, die Daten in Zeilen und Spalten anzeigt", "Traffic Light": "Ampel", + "A traffic light that shows if a value is above/below a threshold": "Eine Ampel, die anzeigt, ob ein Wert über/unter einem Schwellenwert liegt", + "A simple red/green status light": "Eine einfache rot/grüne Statuslampe", "Map": "Karte", + "A map visualization for spatial coordinates": "Eine Kartenvisualisierung für räumliche Koordinaten", "Time-Series Heatmap": "Zeitreihen-Heatmap", + "A heatmap that shows values mapped to a color range": "Eine Heatmap, die einem Farbbereich zugeordnete Werte anzeigt", + "A heatmap that lets you map specific values to a color": "Eine Heatmap, mit der Sie bestimmte Werte einer Farbe zuordnen können", "Time Series Chart": "Zeitreihen-Diagramm", + "A simple chart that shows values on a value/time graph": "Ein einfaches Diagramm, das Werte in einem Wert/Zeit-Diagramm anzeigt", "Image": "Bild", + "Display an image": "Ein Bild anzeigen", "Indicator": "Indikator", + "The current value displayed as a number": "Der aktuelle Wert wird als Zahl angezeigt", + "Display points on an x/y plane": "Punkte in einer x/y-Ebene anzeigen", "Histogram": "Histogramm", + "Shows the distribution of numerical data": "Zeigt die Verteilung der numerischen Daten", "Pie": "Kreisdiagramm", + "A pie chart that shows the frequency of specific values": "Ein Kreisdiagramm, das die Häufigkeit bestimmter Werte anzeigt", "Value Distribution Heatmap": "Wertverteilung-Heatmap", + "A chart that shows the distribution of numerical data as a heatmap": "Ein Diagramm, das die Verteilung von numerischen Daten als Heatmap darstellt", "2D Density Contour": "2D-Dichteverteilung", + "A chart that shows data points as dots on an x/y plane and highlights similar points": "Ein Diagramm, das Datenpunkte als Punkte auf einer x/y-Ebene darstellt und ähnliche Punkte hervorhebt", "No Warning Range defined": "Kein Warnbereich definiert", "Current Warning Range: ": "Aktueller Warnbereich: ", "to": "zu", @@ -338,19 +400,10 @@ "This is a test": "Dies ist ein Test", "Error in line {{rowNumber}}. Value for \"{{property}}\" is not supported.": "Fehler in Zeile {{Zeilennummer}}. Wert für \"{{Eigenschaft}}\" wird nicht unterstützt.", "Error in line {{rowNumber}}. Value for \"{{property}}\" is not set.": "Fehler in Zeile {{Zeilennummer}}. Wert für \"{{Eigenschaft}}\" ist nicht gesetzt.", - "Timestamp": "Zeitstempel", - "Number": "Nummer", - "Boolean": "Boolean", - "List": "Liste", - "Nested": "Verschachtelt", - "TOPICS": "TOPICS", - "CODE": "CODE", "Select Data": "Daten auswählen", "Previous": "Zurück", "Download": "Download", "Select Format": "Format auswählen", - "Download Format": "Download-Format", - "Delimiter": "Trennzeichen", "Excel template": "Excel Vorlage", "Use uploaded file template": "Hochgeladene Vorlage verwenden", "Choose template": "Vorlage auswählen", @@ -378,6 +431,14 @@ "No more information": "Keine weiteren Informationen", "Full details": "Alle Einzelheiten", "Full stack trace": "Vollständiger Stack-Trace", + "Here is a preview of your data:": "Vorschau Ihrer Daten:", + "Runtime Name": "Laufzeitname", + "Field Name": "Feldname", + "no data": "keine Daten", + "Gathering data for live preview...": "Sammeln von Daten für die Live-Vorschau...", + "Preview is currently unavailable.": "Die Vorschau ist derzeit nicht verfügbar.", + "(no documentation available)": "(keine Dokumentation verfügbar)", + "Show input fields": "Eingabefelder anzeigen", "No assets found - use assets to better organize resources!": "Keine Assets gefunden - verwenden Sie Assets, um Ressourcen besser zu organisieren!", "Manage assets": "Assets verwalten", "Asset Browser": "Asset-Browser", @@ -411,6 +472,13 @@ "1 min": "1 Minute", "5 min": "5 Minuten", "30 min": "30 Minuten", + "Timestamp": "Zeitstempel", + "Number": "Nummer", + "Boolean": "Boolean", + "List": "Liste", + "Nested": "Verschachtelt", + "Preview": "Vorschau", + "Documentation": "Dokumentation", "Error Details": "Fehler-Details", "Resources": "Ressourcen", "All {{allResourcesAlias}}": "Alle {{allResourcesAlias}}", diff --git a/ui/deployment/i18n/en.json b/ui/deployment/i18n/en.json index 78e13a4db4..ec3ee1c10a 100644 --- a/ui/deployment/i18n/en.json +++ b/ui/deployment/i18n/en.json @@ -50,6 +50,46 @@ "Stop Pipeline": null, "Modify Pipeline": null, "Delete Pipeline": null, + "Preparing pipeline editor...": null, + "The tutorial requires pipeline elements that are not yet installed.": null, + "Install the following pipeline elements and start the tutorial again:": null, + "The input data stream does not satisfy the requirements specified by the data processor.": null, + "Show Details": null, + "Hide Details": null, + "Use template": null, + "Show documentation": null, + "Show only recommended settings": null, + "Save": null, + "Create template": null, + "Save template": null, + "Next": null, + "Waiting for live data": null, + "Configure Element": null, + "Delete Element": null, + "Compatible Elements": null, + "Help": null, + "Find element": null, + "Create new source": null, + "Sort": null, + "Group": null, + "Save Pipeline": null, + "Save pipeline": null, + "Auto Layout": null, + "Add pipeline element": null, + "Add element": null, + "Add from template": null, + "Clear Assembly Area": null, + "Saving pipeline modifications": null, + "All pipeline modifications saved.": null, + "View Topics": null, + "Select output fields": null, + "Use input schema": null, + "Runtime name": null, + "Runtime type": null, + "Semantic type": null, + "Add field": null, + "Select all": null, + "Select none": null, "Field": null, "Settings": null, "Resolution": null, @@ -104,8 +144,11 @@ "Visual Map Max": null, "Min": null, "Max": null, + "Display Name": null, "X": null, + "X Label": null, "Y": null, + "Y Label": null, "Warning": null, "This chart tries to load too much data (#Events:": null, "Please change the chart settings or decrease the time range": null, @@ -117,11 +160,9 @@ "More options": null, "Download data": null, "Edit Chart": null, - "Options": null, "Reset": null, "Delete Chart": null, "The current data selection can't be displayed by this chart.": null, - "Select all": null, "Deselect all": null, "Field settings": null, "Color": null, @@ -154,15 +195,13 @@ "Show chart": null, "Edit chart": null, "Manage permissions": null, - "Delete chart": null, "Clone chart": null, + "Delete chart": null, "Chart Name": null, - "Save": null, "Discard": null, "Data": null, "Visualization": null, "Appearance": null, - "Next": null, "Back": null, "Create": null, "Chart Type": null, @@ -207,6 +246,7 @@ "Spread": null, "Unit": null, "Background": null, + "Default": null, "Text": null, "Dashboard title": null, "Title must not be empty": null, @@ -220,6 +260,7 @@ "View mode": null, "Grid": null, "Slides": null, + "Options": null, "Edit dashboard": null, "Show time range selector": null, "Hide time range selector": null, @@ -230,6 +271,7 @@ "New dashboard": null, "Dashboards": null, "Show dashboard": null, + "Kiosk mode": null, "Dashboard settings": null, "ID": null, "Output Topics": null, @@ -248,7 +290,6 @@ "Show details": null, "Add all direct children": null, "(waiting for input)": null, - "Select none": null, "Possible placeholders:": null, "Choose existing file": null, "Upload new file": null, @@ -268,28 +309,34 @@ "Existing templates": null, "(no templates available)": null, "Store as template": null, - "Here is a preview of your data:": null, - "Runtime Name": null, - "Field Name": null, - "no data": null, - "Gathering data for live preview...": null, - "Preview is currently unavailable.": null, - "(no documentation available)": null, "You can perform a forced stop, which will stop and reset the pipeline status.": null, - "Show Details": null, - "Hide Details": null, "Force stop": null, "Owner": null, "Public Element": null, + "visible to registered users": null, "Users": null, "Authorized Users": null, "User selection": null, "Groups": null, "Authorized Groups": null, "Group selection": null, + "Public Link": null, + "Allow anonymous access through public link": null, + "URL": null, "(no log messages available)": null, "Site label is required": null, "This site already exists": null, + "Start Sync": null, + "Data Retention Action": null, + "delete": null, + "save": null, + "save and delete": null, + "Data Retention Intervals": null, + "Export Settings": null, + "Download Format": null, + "Delimiter": null, + "Select Provider": null, + "local": null, "success": null, "error": null, "waiting": null, @@ -297,17 +344,32 @@ "Deleting pipeline...": null, "Stopping pipeline...": null, "Gauge": null, + "The current value displayed in a gauge": null, "Table": null, + "A table displaying the data in rows and columns": null, "Traffic Light": null, + "A traffic light that shows if a value is above/below a threshold": null, + "A simple red/green status light": null, "Map": null, + "A map visualization for spatial coordinates": null, "Time-Series Heatmap": null, + "A heatmap that shows values mapped to a color range": null, + "A heatmap that lets you map specific values to a color": null, "Time Series Chart": null, + "A simple chart that shows values on a value/time graph": null, "Image": null, + "Display an image": null, "Indicator": null, + "The current value displayed as a number": null, + "Display points on an x/y plane": null, "Histogram": null, + "Shows the distribution of numerical data": null, "Pie": null, + "A pie chart that shows the frequency of specific values": null, "Value Distribution Heatmap": null, + "A chart that shows the distribution of numerical data as a heatmap": null, "2D Density Contour": null, + "A chart that shows data points as dots on an x/y plane and highlights similar points": null, "No Warning Range defined": null, "Current Warning Range: ": null, "to": null, @@ -338,19 +400,10 @@ "This is a test": null, "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.", - "Timestamp": null, - "Number": null, - "Boolean": null, - "List": null, - "Nested": null, - "TOPICS": null, - "CODE": null, "Select Data": null, "Previous": null, "Download": null, "Select Format": null, - "Download Format": null, - "Delimiter": null, "Excel template": null, "Use uploaded file template": null, "Choose template": null, @@ -378,6 +431,14 @@ "No more information": null, "Full details": null, "Full stack trace": null, + "Here is a preview of your data:": null, + "Runtime Name": null, + "Field Name": null, + "no data": null, + "Gathering data for live preview...": null, + "Preview is currently unavailable.": null, + "(no documentation available)": null, + "Show input fields": null, "No assets found - use assets to better organize resources!": null, "Manage assets": null, "Asset Browser": null, @@ -411,6 +472,13 @@ "1 min": null, "5 min": null, "30 min": null, + "Timestamp": null, + "Number": null, + "Boolean": null, + "List": null, + "Nested": null, + "Preview": null, + "Documentation": null, "Error Details": null, "Resources": null, "All {{allResourcesAlias}}": "All {{allResourcesAlias}}", diff --git a/ui/projects/streampipes/shared-ui/src/lib/components/input-schema-panel/input-schema-panel.component.html b/ui/projects/streampipes/shared-ui/src/lib/components/input-schema-panel/input-schema-panel.component.html index e6ed4c98b3..f013606dbf 100644 --- a/ui/projects/streampipes/shared-ui/src/lib/components/input-schema-panel/input-schema-panel.component.html +++ b/ui/projects/streampipes/shared-ui/src/lib/components/input-schema-panel/input-schema-panel.component.html @@ -22,7 +22,9 @@ <mat-expansion-panel-header> <mat-panel-title ><mat-icon color="accent">list</mat-icon - ><b> Show input fields</b></mat-panel-title + ><b + > {{ 'Show input fields' | translate }}</b + ></mat-panel-title > </mat-expansion-panel-header> @for (inputStream of inputStreams; track $index) { diff --git a/ui/src/app/editor/components/output-strategy/custom-output/custom-output-strategy.component.html b/ui/src/app/editor/components/output-strategy/custom-output/custom-output-strategy.component.html index 4ee0c5678c..c87e3ee42c 100644 --- a/ui/src/app/editor/components/output-strategy/custom-output/custom-output-strategy.component.html +++ b/ui/src/app/editor/components/output-strategy/custom-output/custom-output-strategy.component.html @@ -16,7 +16,7 @@ ~ --> <div fxFlex="100" fxLayout="column"> - <div fxFlex="100" fxLayout="row" fxLayoutAlign="start center"> + <div fxFlex="100" fxLayout="row" fxLayoutAlign="start center" class="mb-10"> <h5 style="margin-right: 10px"> {{ selectedElement.inputStreams[0].name || '' }} </h5> @@ -25,10 +25,10 @@ mat-flat-button class="small-button" (click)="selectAll(collectedPropertiesFirstStream)" - style="margin-right: 10px; margin-left: 10px" + style="margin-right: 10px" [disabled]="restrictedEditMode" > - Select all + {{ 'Select all' | translate }} </button> <button mat-flat-button @@ -36,7 +36,7 @@ (click)="deselectAll(collectedPropertiesFirstStream)" [disabled]="restrictedEditMode" > - Select none + {{ 'Select none' | translate }} </button> </div> <div *ngFor="let property of collectedPropertiesFirstStream; let i = index"> diff --git a/ui/src/app/editor/components/output-strategy/output-strategy.component.html b/ui/src/app/editor/components/output-strategy/output-strategy.component.html index ce736ced76..515d9da71a 100644 --- a/ui/src/app/editor/components/output-strategy/output-strategy.component.html +++ b/ui/src/app/editor/components/output-strategy/output-strategy.component.html @@ -19,7 +19,7 @@ <div fxFlex="100" fxLayout="column" *ngIf="customizableOutputStrategy"> <div fxFlex="100" fxLayout="column" class="static-property-panel"> <div fxFlex="100" fxLayout="column"> - <b>Select output</b> + <b>{{ 'Select output fields' | translate }}</b> </div> <div fxFlex="100"> <div diff --git a/ui/src/app/editor/components/output-strategy/user-defined-output/user-defined-output.component.html b/ui/src/app/editor/components/output-strategy/user-defined-output/user-defined-output.component.html index 9ae453b2fd..5b459a3def 100644 --- a/ui/src/app/editor/components/output-strategy/user-defined-output/user-defined-output.component.html +++ b/ui/src/app/editor/components/output-strategy/user-defined-output/user-defined-output.component.html @@ -33,7 +33,7 @@ [disabled]="restrictedEditMode" data-cy="use-input-schema" > - Use input schema + {{ 'Use input schema' | translate }} </button> </div> @@ -45,7 +45,7 @@ > <div fxLayout="column" fxFlex="30"> <mat-form-field fxFlex color="accent"> - <mat-label>Runtime name</mat-label> + <mat-label>{{ 'Runtime name' | translate }}</mat-label> <input [(ngModel)]="ep.runtimeName" data-cy="runtime-name" @@ -56,7 +56,7 @@ </div> <div fxLayout="column" fxFlex="30"> <mat-form-field class="example-full-width" color="accent"> - <mat-label>Runtime type</mat-label> + <mat-label>{{ 'Runtime type' | translate }}</mat-label> <mat-select [(ngModel)]="ep.runtimeType" [disabled]="restrictedEditMode" @@ -73,7 +73,7 @@ </div> <div fxLayout="column" fxFlex="30"> <mat-form-field fxFlex color="accent"> - <mat-label>Semantic type</mat-label> + <mat-label>{{ 'Semantic type' | translate }}</mat-label> <input [(ngModel)]="ep.semanticType" [disabled]="restrictedEditMode" @@ -103,7 +103,7 @@ data-cy="add-field" > <mat-icon class="icon">add</mat-icon> - <span>Add field</span> + <span>{{ 'Add field' | translate }}</span> </button> </div> </div> diff --git a/ui/src/app/editor/components/pipeline-assembly/pipeline-assembly-options/pipeline-assembly-options-pipeline-cache/pipeline-assembly-options-pipeline-cache.component.html b/ui/src/app/editor/components/pipeline-assembly/pipeline-assembly-options/pipeline-assembly-options-pipeline-cache/pipeline-assembly-options-pipeline-cache.component.html index 7a450fafce..f5f1ce844a 100644 --- a/ui/src/app/editor/components/pipeline-assembly/pipeline-assembly-options/pipeline-assembly-options-pipeline-cache/pipeline-assembly-options-pipeline-cache.component.html +++ b/ui/src/app/editor/components/pipeline-assembly/pipeline-assembly-options/pipeline-assembly-options-pipeline-cache/pipeline-assembly-options-pipeline-cache.component.html @@ -34,13 +34,17 @@ [diameter]="15" *ngIf="pipelineCacheRunning" ></mat-spinner> - <span - > {{ - pipelineCacheRunning - ? ' Saving pipeline modifications' - : 'All pipeline modifications saved.' - }}</span - > + @if (pipelineCacheRunning) { + <span class="modification-status" + >' {{ + 'Saving pipeline modifications' | translate + }}</span + > + } @else { + <span class="modification-status">{{ + 'All pipeline modifications saved.' | translate + }}</span> + } </div> </div> </div> diff --git a/ui/src/app/editor/components/pipeline-assembly/pipeline-assembly-options/pipeline-assembly-options-pipeline-cache/pipeline-assembly-options-pipeline-cache.component.scss b/ui/src/app/editor/components/pipeline-assembly/pipeline-assembly-options/pipeline-assembly-options-pipeline-cache/pipeline-assembly-options-pipeline-cache.component.scss index 28eafec0a9..706ee88f21 100644 --- a/ui/src/app/editor/components/pipeline-assembly/pipeline-assembly-options/pipeline-assembly-options-pipeline-cache/pipeline-assembly-options-pipeline-cache.component.scss +++ b/ui/src/app/editor/components/pipeline-assembly/pipeline-assembly-options/pipeline-assembly-options-pipeline-cache/pipeline-assembly-options-pipeline-cache.component.scss @@ -24,3 +24,7 @@ height: 100%; margin-left: 15px; } + +.modification-status { + font-size: var(--mat-sys-body-medium-size); +} diff --git a/ui/src/app/editor/components/pipeline-assembly/pipeline-assembly-options/pipeline-assembly-options.component.html b/ui/src/app/editor/components/pipeline-assembly/pipeline-assembly-options/pipeline-assembly-options.component.html index 7e555b4488..aee6656d67 100644 --- a/ui/src/app/editor/components/pipeline-assembly/pipeline-assembly-options/pipeline-assembly-options.component.html +++ b/ui/src/app/editor/components/pipeline-assembly/pipeline-assembly-options/pipeline-assembly-options.component.html @@ -19,7 +19,7 @@ <div fxFlex="100" fxLayout="row" fxLayoutAlign="start center"> <button mat-flat-button - matTooltip="Save Pipeline" + [matTooltip]="'Save Pipeline' | translate" [matTooltipPosition]="'above'" [disabled]="!pipelineValidationService.pipelineValid" (click)="savePipelineEmitter.emit()" @@ -28,57 +28,61 @@ > <div fxLayoutAlign="start center" fxLayout="row"> <i class="material-icons">save</i> - <span> Save pipeline</span> + <span> {{ 'Save pipeline' | translate }}</span> </div> </button> <span class="assembly-options-divider"></span> <button mat-flat-button class="mat-basic" - matTooltip="Data Preview" + [matTooltip]="'Data Preview' | translate" matTooltipPosition="above" (click)="togglePreviewEmitter.emit()" [disabled]="isPipelineAssemblyEmpty()" > <div fxLayoutAlign="start center" fxLayout="row"> <i class="material-icons">visibility</i> - <span *ngIf="!previewModeActive"> Enable live preview</span> - <span *ngIf="previewModeActive"> Disable live preview</span> + <span *ngIf="!previewModeActive" + > {{ 'Enable live preview' | translate }}</span + > + <span *ngIf="previewModeActive" + > {{ 'Disable live preview' | translate }}</span + > </div> </button> <span class="assembly-options-divider"></span> <button mat-flat-button class="mat-basic" - matTooltip="Auto Layout" + [matTooltip]="'Auto Layout' | translate" [matTooltipPosition]="'above'" (click)="autoLayout()" > <i class="material-icons">settings_overscan</i> - <span> Auto Layout</span> + <span> {{ 'Auto Layout' | translate }}</span> </button> <span class="assembly-options-divider"></span> <button mat-flat-button - matTooltip="Add pipeline element" + [matTooltip]="'Add pipeline element' | translate" class="mat-basic mr-10" [matTooltipPosition]="'above'" (click)="openDiscoverDialog()" data-cy="sp-editor-add-pipeline-element" > <i class="material-icons">add</i> - <span> Add element</span> + <span> {{ 'Add element' | translate }}</span> </button> <button mat-flat-button class="mat-basic" - matTooltip="Add template" + [matTooltip]="'Add from template' | translate" [matTooltipPosition]="'above'" (click)="openAddTemplateDialog()" data-cy="sp-editor-add-template" > <i class="material-icons">add</i> - <span> Add template</span> + <span> {{ 'Add from template' | translate }}</span> </button> <sp-pipeline-assembly-options-pipeline-cache [rawPipelineModel]="rawPipelineModel" @@ -89,7 +93,7 @@ <span fxFlex></span> <button mat-icon-button - matTooltip="Clear Assembly Area" + [matTooltip]="'Clear Assembly Area' | translate" [matTooltipPosition]="'above'" [disabled]="editorService.pipelineAssemblyEmpty" (click)="showClearAssemblyConfirmDialog($event)" diff --git a/ui/src/app/editor/components/pipeline-element-icon-stand/pipeline-element-icon-stand.component.html b/ui/src/app/editor/components/pipeline-element-icon-stand/pipeline-element-icon-stand.component.html index f0519002b6..8ac914d86f 100644 --- a/ui/src/app/editor/components/pipeline-element-icon-stand/pipeline-element-icon-stand.component.html +++ b/ui/src/app/editor/components/pipeline-element-icon-stand/pipeline-element-icon-stand.component.html @@ -40,7 +40,7 @@ matInput type="text" (keyup)="makeDraggable()" - placeholder="Find element" + [placeholder]="'Find element' | translate" [(ngModel)]="elementFilter" /> <mat-icon matPrefix color="accent">search</mat-icon> @@ -79,7 +79,7 @@ <span fxFlex></span> <button mat-icon-button - matTooltip="Create new source" + [matTooltip]="'Create new source' | translate" (click)="navigateToConnect()" *ngIf="availableType.title === availableTypes[0].title" > @@ -112,7 +112,7 @@ class="panel-options" > <small - >Sort: <a + >{{ 'Sort' | translate }}: <a (click)="changeSorting(availableType, 'group')" class="sort-option" [ngClass]=" @@ -120,7 +120,7 @@ ? 'sort-selected' : 'sort-unselected' " - >Group</a + >{{ 'Group' | translate }}</a > | <a (click)="changeSorting(availableType, 'name')" @@ -130,7 +130,7 @@ ? 'sort-selected' : 'sort-unselected' " - >Name</a + >{{ 'Name' | translate }}</a ></small > </div> diff --git a/ui/src/app/editor/components/pipeline-element-options/pipeline-element-options.component.html b/ui/src/app/editor/components/pipeline-element-options/pipeline-element-options.component.html index 5f01b2a65f..e01d71c7ba 100644 --- a/ui/src/app/editor/components/pipeline-element-options/pipeline-element-options.component.html +++ b/ui/src/app/editor/components/pipeline-element-options/pipeline-element-options.component.html @@ -33,7 +33,7 @@ <button class="options-icon-button" mat-icon-button - matTooltip="Configure Element" + [matTooltip]="'Configure Element' | translate" [matTooltipPosition]="'above'" (click)="customizeElement(pipelineElement)" data-cy="settings-pipeline-element-button" @@ -49,7 +49,7 @@ <button class="options-icon-button" mat-icon-button - matTooltip="Configure Element" + [matTooltip]="'Configure Element' | translate" [matTooltipPosition]="'above'" (click)="openCustomizeStreamDialog()" > @@ -60,7 +60,7 @@ <button class="options-icon-button" mat-icon-button - matTooltip="Delete Element" + [matTooltip]="'Delete Element' | translate" [matTooltipPosition]="'above'" (click)="removeElement(pipelineElement)" > @@ -75,7 +75,7 @@ <button class="options-icon-button" mat-icon-button - matTooltip="Compatible Elements" + [matTooltip]="'Compatible Elements' | translate" [matTooltipPosition]="'below'" [disabled]=" !possibleElements || possibleElements.length === 0 @@ -95,7 +95,7 @@ <span class="options-button help-button" style="z-index: 10"> <button class="options-icon-button" - matTooltip="Help" + [matTooltip]="'Help' | translate" [matTooltipPosition]="'below'" mat-icon-button (click)="openHelpDialog()" diff --git a/ui/src/app/editor/components/pipeline-element-preview/pipeline-element-preview.component.html b/ui/src/app/editor/components/pipeline-element-preview/pipeline-element-preview.component.html index a58235feaa..edb0adc689 100644 --- a/ui/src/app/editor/components/pipeline-element-preview/pipeline-element-preview.component.html +++ b/ui/src/app/editor/components/pipeline-element-preview/pipeline-element-preview.component.html @@ -24,7 +24,9 @@ fxLayoutAlign="center center" > <mat-spinner [diameter]="20" color="accent"></mat-spinner> - <span class="preview-table mt-10">Waiting for live data...</span> + <span class="preview-table mt-10" + >{{ 'Waiting for live data' | translate }}...</span + > </div> <table class="row-border hover preview-table" *ngIf="runtimeData"> <tbody id="preview-data-rows-id"> diff --git a/ui/src/app/editor/components/pipeline/pipeline.component.html b/ui/src/app/editor/components/pipeline/pipeline.component.html index 8b77b5b017..63673beb9c 100644 --- a/ui/src/app/editor/components/pipeline/pipeline.component.html +++ b/ui/src/app/editor/components/pipeline/pipeline.component.html @@ -46,7 +46,7 @@ <button class="topics-icon-button" mat-icon-button - matTooltip="View Topics" + [matTooltip]="'View Topics' | translate" [matTooltipPosition]="'above'" (click)="openTopicsDialog(pipelineElementConfig)" > diff --git a/ui/src/app/editor/dialog/add-template-dialog/add-template-dialog.component.html b/ui/src/app/editor/dialog/add-template-dialog/add-template-dialog.component.html index 059742c958..d816cb849b 100644 --- a/ui/src/app/editor/dialog/add-template-dialog/add-template-dialog.component.html +++ b/ui/src/app/editor/dialog/add-template-dialog/add-template-dialog.component.html @@ -28,9 +28,9 @@ </div> <mat-divider></mat-divider> <div class="sp-dialog-actions"> - <button mat-flat-button color="accent">Next</button> + <button mat-flat-button color="accent">{{ 'Next' | translate }}</button> <button mat-button mat-flat-button class="mat-basic" (click)="close()"> - Cancel + {{ 'Cancel' | translate }} </button> </div> </div> diff --git a/ui/src/app/editor/dialog/compatible-elements/compatible-elements.component.html b/ui/src/app/editor/dialog/compatible-elements/compatible-elements.component.html index 548a071960..601414709c 100644 --- a/ui/src/app/editor/dialog/compatible-elements/compatible-elements.component.html +++ b/ui/src/app/editor/dialog/compatible-elements/compatible-elements.component.html @@ -61,7 +61,7 @@ <mat-divider></mat-divider> <div class="sp-dialog-actions"> <button mat-button mat-flat-button class="mat-basic" (click)="hide()"> - Cancel + {{ 'Cancel' | translate }} </button> </div> </div> diff --git a/ui/src/app/editor/dialog/customize/customize.component.html b/ui/src/app/editor/dialog/customize/customize.component.html index 4a9e1452f1..8eef9babd3 100644 --- a/ui/src/app/editor/dialog/customize/customize.component.html +++ b/ui/src/app/editor/dialog/customize/customize.component.html @@ -34,7 +34,7 @@ color="accent" appearance="outline" > - <mat-label>Use template</mat-label> + <mat-label>{{ 'Use template' | translate }}</mat-label> <mat-select (selectionChange)="loadTemplate($event)" [(value)]="selectedTemplate" @@ -56,14 +56,14 @@ color="accent" [disabled]="!pipelineElement.payload.includesAssets" > - Show documentation + {{ 'Show documentation' | translate }} </mat-slide-toggle> <span> </span> <mat-slide-toggle [(ngModel)]="displayRecommended" color="accent" > - Show only recommended settings + {{ 'Show only recommended settings' | translate }} </mat-slide-toggle> </div> </div> @@ -159,7 +159,8 @@ [disabled]="!formValid" data-cy="sp-element-configuration-save" > - <i class="material-icons">save</i><span> Save</span> + <i class="material-icons">save</i + ><span> {{ 'Save' | translate }}</span> </button> <button mat-button @@ -168,7 +169,7 @@ (click)="close()" data-cy="cancel-customize" > - Cancel + {{ 'Cancel' | translate }} </button> <div fxFlex></div> <button @@ -180,7 +181,7 @@ (click)="triggerTemplateMode()" > <i class="material-icons">add_circle_outline</i - ><span> Create template</span> + ><span> {{ 'Create template' | translate }}</span> </button> </div> <div fxLayout="row" *ngIf="templateMode"> @@ -194,7 +195,7 @@ data-cy="save-template" > <i class="material-icons">save</i - ><span> Save template</span> + ><span> {{ 'Save template' | translate }}</span> </button> <button mat-button @@ -202,7 +203,7 @@ class="mat-basic" (click)="cancelTemplateMode()" > - Cancel + {{ 'Cancel' | translate }} </button> </div> </div> diff --git a/ui/src/app/editor/dialog/matching-error/matching-error.component.html b/ui/src/app/editor/dialog/matching-error/matching-error.component.html index bd64a3fff0..0d4ed3be4d 100644 --- a/ui/src/app/editor/dialog/matching-error/matching-error.component.html +++ b/ui/src/app/editor/dialog/matching-error/matching-error.component.html @@ -19,10 +19,12 @@ <div class="sp-dialog-container"> <div class="sp-dialog-content p-15"> <div> - <h4>These elements can't be connected.</h4> + <h4>{{ 'These elements can't be connected.' | translate }}</h4> <h4> - The input data stream does not satisfy the requirements - specified by the data processor. + {{ + 'The input data stream does not satisfy the requirements + specified by the data processor.' | translate + }} </h4> <button mat-button @@ -30,8 +32,12 @@ type="button" class="md-accent" > - <div *ngIf="!statusDetailsVisible">Show Details</div> - <div *ngIf="statusDetailsVisible">Hide Details</div> + <div *ngIf="!statusDetailsVisible"> + {{ 'Show Details' | translate }} + </div> + <div *ngIf="statusDetailsVisible"> + {{ 'Hide Details' | translate }} + </div> </button> <div *ngIf="statusDetailsVisible"> <div *ngFor="let entry of notifications"> @@ -54,7 +60,7 @@ <mat-divider></mat-divider> <div class="sp-dialog-actions actions-align-right"> <button mat-button mat-flat-button class="mat-basic" (click)="close()"> - Close + {{ 'Close' | translate }} </button> </div> </div> diff --git a/ui/src/app/editor/dialog/missing-elements-for-tutorial/missing-elements-for-tutorial.component.html b/ui/src/app/editor/dialog/missing-elements-for-tutorial/missing-elements-for-tutorial.component.html index 9f5f00b5f0..a15965fc66 100644 --- a/ui/src/app/editor/dialog/missing-elements-for-tutorial/missing-elements-for-tutorial.component.html +++ b/ui/src/app/editor/dialog/missing-elements-for-tutorial/missing-elements-for-tutorial.component.html @@ -21,12 +21,16 @@ <div fxFlex="100" fxLayout="column"> <div fxFlex="100" fxLayout="column"> <h4> - The tutorial requires pipeline elements that are not yet - installed. + {{ + 'The tutorial requires pipeline elements that are not yet installed.' + | translate + }} </h4> <h5> - Install the following pipeline elements and start the - tutorial again: + {{ + 'Install the following pipeline elements and start the tutorial again:' + | translate + }} </h5> <div *ngFor="let missingElement of missingElementsForTutorial"> <li> @@ -40,7 +44,7 @@ <mat-divider></mat-divider> <div class="sp-dialog-actions actions-align-right"> <button mat-button mat-flat-button class="mat-basic" (click)="close()"> - Close + {{ 'Close' | translate }} </button> </div> </div> diff --git a/ui/src/app/editor/editor.component.html b/ui/src/app/editor/editor.component.html index b334d81895..68bdb90284 100644 --- a/ui/src/app/editor/editor.component.html +++ b/ui/src/app/editor/editor.component.html @@ -28,7 +28,7 @@ color="accent" mode="indeterminate" ></mat-spinner> - <p>Preparing pipeline editor...</p> + <p>{{ 'Preparing pipeline editor...' | translate }}</p> </div> <div *ngIf="allElementsLoaded" diff --git a/ui/src/app/editor/editor.module.ts b/ui/src/app/editor/editor.module.ts index 3e5e86eee4..f9c735cef7 100644 --- a/ui/src/app/editor/editor.module.ts +++ b/ui/src/app/editor/editor.module.ts @@ -83,6 +83,7 @@ import { DroppedPipelineElementComponent } from './components/pipeline/dropped-p import { AddTemplateDialogComponent } from './dialog/add-template-dialog/add-template-dialog.component'; import { TemplateSelectionComponent } from './dialog/add-template-dialog/template-selection/template-selection.component'; import { SharedUiModule } from '@streampipes/shared-ui'; +import { TranslatePipe } from '@ngx-translate/core'; @NgModule({ imports: [ @@ -123,6 +124,7 @@ import { SharedUiModule } from '@streampipes/shared-ui'; ReactiveFormsModule, PlatformServicesModule, SharedUiModule, + TranslatePipe, ], declarations: [ AddTemplateDialogComponent,
