This is an automated email from the ASF dual-hosted git repository.
mfholz pushed a commit to branch ngx-translate
in repository https://gitbox.apache.org/repos/asf/streampipes.git
The following commit(s) were added to refs/heads/ngx-translate by this push:
new 122ada415f Add german translation to data explorer shared module
new b1ab63554f Merge branch 'ngx-translate' of
https://github.com/apache/streampipes into ngx-translate
122ada415f is described below
commit 122ada415fe3e985129c7172cc62b373c91ff37b
Author: Marcelfrueh <[email protected]>
AuthorDate: Fri Feb 14 14:09:45 2025 +0100
Add german translation to data explorer shared module
---
ui/deployment/i18n/de.json | 129 ++++++++++++++++++---
ui/deployment/i18n/en.json | 121 +++++++++++++++++--
.../data-zoom-config.component.html | 14 ++-
...echarts-widget-appearance-config.component.html | 8 +-
.../select-axis-options-config.component.html | 6 +-
.../select-color-properties-config.component.html | 6 +-
.../time-series-item-config.component.html | 32 +++--
...elect-multiple-properties-config.component.html | 4 +-
.../select-multiple-properties-config.component.ts | 14 ++-
.../visualization-config-outer.component.html | 7 +-
.../data-explorer-chart-container.component.html | 14 +--
.../invalid-configuration.component.html | 8 +-
.../no-data/no-data-in-date-range.component.html | 4 +-
.../too-much-data/too-much-data.component.html | 13 ++-
.../correlation-chart-widget-config.component.html | 6 +-
.../config/gauge-widget-config.component.html | 8 +-
.../config/heatmap-widget-config.component.html | 6 +-
.../histogram-chart-widget-config.component.html | 20 ++--
.../config/image-widget-config.component.html | 2 +-
.../indicator-chart-widget-config.component.html | 6 +-
.../map/config/map-widget-config.component.html | 38 +++---
.../config/pie-chart-widget-config.component.html | 16 +--
.../config/status-widget-config.component.html | 43 ++++---
.../charts/status/status-widget.component.html | 4 +-
.../config/table-widget-config.component.html | 6 +-
.../charts/table/table-widget.component.html | 4 +-
.../time-series-chart-widget-config.component.html | 10 +-
.../traffic-light-widget-config.component.html | 26 +++--
.../traffic-light-widget-config.component.ts | 16 ++-
...alue-heatmap-chart-widget-config.component.html | 8 +-
.../data-explorer-shared.module.ts | 2 +
.../registry/data-explorer-chart-registry.ts | 32 ++---
.../services/data-explorer-shared.service.ts | 10 +-
33 files changed, 464 insertions(+), 179 deletions(-)
diff --git a/ui/deployment/i18n/de.json b/ui/deployment/i18n/de.json
index 1230d708db..46e370ccac 100644
--- a/ui/deployment/i18n/de.json
+++ b/ui/deployment/i18n/de.json
@@ -3,6 +3,101 @@
"Start All Pipelines": "Alle Pipelines starten",
"Stop all pipelines": "Alle Pipelines stoppen",
"Last modified": "Zuletzt geändert",
+ "Field": "Feld",
+ "Settings": "Einstellungen",
+ "Resolution": "Auflösung",
+ "Threshold": "Schwellenwert",
+ "With Threshold being": "Schwellenwert entspricht",
+ "Upper Limit": "Obere Grenze",
+ "Lower Limit": "Untere Grenze",
+ "Warning Range (%)": "Warnbereich (%)",
+ "Show Value in Traffic Light": "Wert anzeigen",
+ "Axes": "Achsen",
+ "left axis": "linke Achse",
+ "right axis": "rechte Achse",
+ "Axis Pointer": "Achsen-Pointer",
+ "Enable": "Aktivieren",
+ "Time": "Zeit",
+ "Select Fields": "Felder auswählen",
+ "Search": "Suche",
+ "Filter": "Filter",
+ "Last seen:": "Zuletzt gesehen:",
+ "Select Value Type": "Größe auswählen",
+ "Numeric Value": "Numerischer Wert",
+ "Boolean Value": "Boolescher Wert",
+ "Interval in seconds in which an event must arrive": "Sekundenintervall, in
dem ein Ereignis eintreffen muss",
+ "Interval [sec]": "Intervall [sec]",
+ "Show Last Seen Timestamp": "Letzten Zeitstempel anzeigen",
+ "Select Mapping": "Mapping auswählen",
+ "True": "Wahr",
+ "False": "Falsch",
+ "Rounding": "Rundung",
+ "Inner Radius": "Innerer Radius",
+ "Add custom color mapping": "Benutzerdefiniertes Mapping hinzufügen",
+ "Add Mapping": "Mapping hinzufügen",
+ "Value": "Wert",
+ "Remove Mapping": "Mapping entfernen",
+ "Fields": "Felder",
+ "Latitude": "Breitengrad",
+ "Longitude": "Längengrad",
+ "Map Zoom": "Karte vergrößern",
+ "Focus map on last event": "Karte auf letztes Ereignis fokussieren",
+ "Marker or Trace": "Markierung oder Spur",
+ "Marker": "Markierung",
+ "Trace": "Spur",
+ "Marker Type": "Markierungsart",
+ "Pin": "Pin",
+ "Car": "Auto",
+ "Tooltip": "Tooltip",
+ "Tooltip Content": "Tooltip-Inhalt",
+ "Show delta indicator": "Delta-Indikator anzeigen",
+ "Auto-compute number of bins": "Automatische Berechnung der Bins",
+ "Number of bins": "Anzahl der Bins",
+ "All values": "Alle Werte",
+ "Minimum value": "Minimaler Wert",
+ "Maximum value": "Maximaler Wert",
+ "Show values as labels": "Werte als Beschriftung anzeigen",
+ "Min": "Min",
+ "Max": "Max",
+ "X": "X",
+ "Y": "Y",
+ "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",
+ "Load anyway": "Trotzdem laden",
+ "(This might crash the browser)": "(Dies kann zum Absturz des Browsers
führen)",
+ "Found no data in selected time range": "Keine Daten im ausgewählten
Zeitintervall gefunden",
+ "Invalid configuration for": "Ungültige Konfiguration für",
+ "This chart is missing required fields - choose another chart type or add
additional fields.": "In diesem Diagramm fehlen erforderliche Felder - wählen
Sie einen anderen Diagrammtyp oder fügen Sie zusätzliche Felder hinzu.",
+ "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",
+ "Label": "Label",
+ "Type": "Typ",
+ "Bar": "Balken",
+ "Line": "Linien",
+ "Scatter": "Streudiagramm",
+ "Scattered Line": "Streudiagramm-Linie",
+ "Axis": "Achse",
+ "Left": "Links",
+ "Right": "Rechts",
+ "Auto-scale {{title}}": "{{title}} automatisch skalieren",
+ "Chart settings": "Diagramm-Einstellungen",
+ "Show legend": "Legende anzeigen",
+ "Show toolbox": "Toolbox anzeigen",
+ "Show tooltip": "Tooltip anzeigen",
+ "Data Zoom": "Zoom",
+ "Active": "Aktiv",
+ "Wheel": "Rad",
+ "Slider": "Slider",
"Charts": "Diagramme",
"New chart": "Neues Diagramm",
"Chart": "Diagramm",
@@ -13,7 +108,6 @@
"Chart Name": "Diagrammname",
"Save": "Speichern",
"Discard": "Verwerfen",
- "Download data": "Daten herunterladen",
"Data": "Daten",
"Visualization": "Visualisierung",
"Appearance": "Darstellung",
@@ -40,36 +134,43 @@
"Limit": "Limit",
"Page": "Seite",
"Aggregated": "Aggregiert",
- "Aggregate raw data by time unit or value.": "Aggregieren von Rohdaten nach
Zeiteinheit oder Wert.",
+ "Aggregate raw data by time unit or value.": "Rohdaten nach Zeiteinheit oder
Wert aggregieren.",
"Auto-Aggregate": "Auto-Aggregiert",
"Single": "Einzeln",
- "Show single data entry.": "Einzelne Dateneingabe anzeigen.",
+ "Show single data entry.": "Einzelne Dateneinträge anzeigen.",
"Add Data Source": "Datenquelle hinzufügen",
"Deactivate browser overload warning": "Warnung vor Browser-Überlastung
deaktivieren",
- "Ignore Events with missing values": "Ignorieren von Ereignissen mit
fehlenden Werten",
+ "Ignore Events with missing values": "Ereignisse mit fehlenden Werten
ignorieren",
"Order": "Sortieren",
"Newest (descending)": "Neueste zuerst (absteigend)",
- "Oldest (ascending)": "Älteste zuerst(aufsteigend)",
+ "Oldest (ascending)": "Älteste zuerst (aufsteigend)",
"Group by": "Gruppieren nach",
- "Select all": "Alle auswählen",
- "Deselect all": "Alle abwählen",
- "Filter": "Filter",
"Add Filter": "Filter hinzufügen",
- "Value": "Wert",
- "Field": "Feld",
- "Fields": "Felder",
"Mean": "Mittelwert",
"First": "Erster",
"Last": "Letzter",
- "Min": "Min",
- "Max": "Max",
"Mode": "Modus",
"Count": "Anzahl",
"Sum": "Summe",
"Unit": "Einheit",
- "Color": "Farbe",
"Background": "Hintergrund",
"Text": "Text",
+ "Gauge": "Gauge",
+ "Table": "Tabelle",
+ "Traffic Light": "Ampel",
+ "Status": "Status",
+ "Map": "Karte",
+ "Time-Series Heatmap": "Zeitreihen-Heatmap",
+ "Time Series Chart": "Zeitreihen-Diagramm",
+ "Image": "Bild",
+ "Indicator": "Indikator",
+ "Histogram": "Histogramm",
+ "Pie": "Kreisdiagramm",
+ "Value Distribution Heatmap": "Wertverteilung-Heatmap",
+ "2D Density Contour": "2D-Dichterverteilung",
+ "No Warning Range defined": "Kein Warnbereich definiert",
+ "Current Warning Range: ": "Aktueller Warnbereich: ",
+ "to": "zu",
"Are you sure you want to delete this chart?": "Sind Sie sicher, dass Sie
dieses Diagramm löschen wollen?",
"The chart will be removed from all dashboards as well. This action cannot
be undone!": "Das Diagramm wird auch aus allen Dashboards entfernt. Diese
Aktion kann nicht rückgängig gemacht werden!",
"Cancel": "Abbrechen",
diff --git a/ui/deployment/i18n/en.json b/ui/deployment/i18n/en.json
index 537766076f..640292da1f 100644
--- a/ui/deployment/i18n/en.json
+++ b/ui/deployment/i18n/en.json
@@ -3,6 +3,101 @@
"Start All Pipelines": null,
"Stop all pipelines": null,
"Last modified": null,
+ "Field": null,
+ "Settings": null,
+ "Resolution": null,
+ "Threshold": null,
+ "With Threshold being": null,
+ "Upper Limit": null,
+ "Lower Limit": null,
+ "Warning Range (%)": null,
+ "Show Value in Traffic Light": null,
+ "Axes": null,
+ "left axis": null,
+ "right axis": null,
+ "Axis Pointer": null,
+ "Enable": null,
+ "Time": null,
+ "Select Fields": null,
+ "Search": null,
+ "Filter": null,
+ "Last seen:": null,
+ "Select Value Type": null,
+ "Numeric Value": null,
+ "Boolean Value": null,
+ "Interval in seconds in which an event must arrive": null,
+ "Interval [sec]": null,
+ "Show Last Seen Timestamp": null,
+ "Select Mapping": null,
+ "True": null,
+ "False": null,
+ "Rounding": null,
+ "Inner Radius": null,
+ "Add custom color mapping": null,
+ "Add Mapping": null,
+ "Value": null,
+ "Remove Mapping": null,
+ "Fields": null,
+ "Latitude": null,
+ "Longitude": null,
+ "Map Zoom": null,
+ "Focus map on last event": null,
+ "Marker or Trace": null,
+ "Marker": null,
+ "Trace": null,
+ "Marker Type": null,
+ "Pin": null,
+ "Car": null,
+ "Tooltip": null,
+ "Tooltip Content": null,
+ "Show delta indicator": null,
+ "Auto-compute number of bins": null,
+ "Number of bins": null,
+ "All values": null,
+ "Minimum value": null,
+ "Maximum value": null,
+ "Show values as labels": null,
+ "Min": null,
+ "Max": null,
+ "X": null,
+ "Y": null,
+ "Warning": null,
+ "This chart tries to load too much data (#Events:": null,
+ "Please change the chart settings or decrease the time range": null,
+ "Load anyway": null,
+ "(This might crash the browser)": null,
+ "Found no data in selected time range": null,
+ "Invalid configuration for": null,
+ "This chart is missing required fields - choose another chart type or add
additional fields.": null,
+ "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,
+ "Label": null,
+ "Type": null,
+ "Bar": null,
+ "Line": null,
+ "Scatter": null,
+ "Scattered Line": null,
+ "Axis": null,
+ "Left": null,
+ "Right": null,
+ "Auto-scale {{title}}": "Auto-scale {{title}}",
+ "Chart settings": null,
+ "Show legend": null,
+ "Show toolbox": null,
+ "Show tooltip": null,
+ "Data Zoom": null,
+ "Active": null,
+ "Wheel": null,
+ "Slider": null,
"Charts": null,
"New chart": null,
"Chart": null,
@@ -13,7 +108,6 @@
"Chart Name": null,
"Save": null,
"Discard": null,
- "Download data": null,
"Data": null,
"Visualization": null,
"Appearance": null,
@@ -51,25 +145,32 @@
"Newest (descending)": null,
"Oldest (ascending)": null,
"Group by": null,
- "Select all": null,
- "Deselect all": null,
- "Filter": null,
"Add Filter": null,
- "Value": null,
- "Field": null,
- "Fields": null,
"Mean": null,
"First": null,
"Last": null,
- "Min": null,
- "Max": null,
"Mode": null,
"Count": null,
"Sum": null,
"Unit": null,
- "Color": null,
"Background": null,
"Text": null,
+ "Gauge": null,
+ "Table": null,
+ "Traffic Light": null,
+ "Status": null,
+ "Map": null,
+ "Time-Series Heatmap": null,
+ "Time Series Chart": null,
+ "Image": null,
+ "Indicator": null,
+ "Histogram": null,
+ "Pie": null,
+ "Value Distribution Heatmap": null,
+ "2D Density Contour": null,
+ "No Warning Range defined": null,
+ "Current Warning Range: ": null,
+ "to": null,
"Are you sure you want to delete this chart?": null,
"The chart will be removed from all dashboards as well. This action cannot
be undone!": null,
"Cancel": null,
diff --git
a/ui/src/app/data-explorer-shared/components/chart-config/data-zoom-config/data-zoom-config.component.html
b/ui/src/app/data-explorer-shared/components/chart-config/data-zoom-config/data-zoom-config.component.html
index c5c4d4a684..a09890aa9e 100644
---
a/ui/src/app/data-explorer-shared/components/chart-config/data-zoom-config/data-zoom-config.component.html
+++
b/ui/src/app/data-explorer-shared/components/chart-config/data-zoom-config/data-zoom-config.component.html
@@ -16,17 +16,17 @@
~
-->
-<sp-configuration-box title="Data Zoom">
+<sp-configuration-box [title]="'Data Zoom' | translate">
<div fxLayout="column">
<mat-checkbox
[(ngModel)]="appearanceConfig.dataZoom.show"
(ngModelChange)="configChangedEmitter.emit()"
- >Active
+ >{{ 'Active' | translate }}
</mat-checkbox>
<div fxFlex="100" fxLayoutAlign="start center" class="ml-10">
<div fxLayoutAlign="start center">
- <span>Type</span>
+ <span>{{ 'Type' | translate }}</span>
</div>
<span fxFlex></span>
<div class="form-field-small w-100" fxLayoutAlign="end center">
@@ -36,8 +36,12 @@
[(ngModel)]="appearanceConfig.dataZoom.type"
[disabled]="!appearanceConfig.dataZoom.show"
>
- <mat-option value="inside">Wheel</mat-option>
- <mat-option value="slider">Slider</mat-option>
+ <mat-option value="inside">{{
+ 'Wheel' | translate
+ }}</mat-option>
+ <mat-option value="slider">{{
+ 'Slider' | translate
+ }}</mat-option>
</mat-select>
</mat-form-field>
</div>
diff --git
a/ui/src/app/data-explorer-shared/components/chart-config/echarts-widget-appearance-config/echarts-widget-appearance-config.component.html
b/ui/src/app/data-explorer-shared/components/chart-config/echarts-widget-appearance-config/echarts-widget-appearance-config.component.html
index 894bdc0a68..db108d83c0 100644
---
a/ui/src/app/data-explorer-shared/components/chart-config/echarts-widget-appearance-config/echarts-widget-appearance-config.component.html
+++
b/ui/src/app/data-explorer-shared/components/chart-config/echarts-widget-appearance-config/echarts-widget-appearance-config.component.html
@@ -16,22 +16,22 @@
~
-->
-<sp-configuration-box title="Chart settings">
+<sp-configuration-box [title]="'Chart settings' | translate">
<div fxLayout="column">
<mat-checkbox
[(ngModel)]="appearanceConfig.chartAppearance.showLegend"
(change)="triggerViewUpdate()"
- >Show legend
+ >{{ 'Show legend' | translate }}
</mat-checkbox>
<mat-checkbox
[(ngModel)]="appearanceConfig.chartAppearance.showToolbox"
(change)="triggerViewUpdate()"
- >Show toolbox
+ >{{ 'Show toolbox' | translate }}
</mat-checkbox>
<mat-checkbox
[(ngModel)]="appearanceConfig.chartAppearance.showTooltip"
(change)="triggerViewUpdate()"
- >Show tooltip
+ >{{ 'Show tooltip' | translate }}
</mat-checkbox>
</div>
</sp-configuration-box>
diff --git
a/ui/src/app/data-explorer-shared/components/chart-config/select-axis-options-config/select-axis-options-config.component.html
b/ui/src/app/data-explorer-shared/components/chart-config/select-axis-options-config/select-axis-options-config.component.html
index da26fd557f..cc2ba04b4e 100644
---
a/ui/src/app/data-explorer-shared/components/chart-config/select-axis-options-config/select-axis-options-config.component.html
+++
b/ui/src/app/data-explorer-shared/components/chart-config/select-axis-options-config/select-axis-options-config.component.html
@@ -20,7 +20,7 @@
<mat-checkbox
[(ngModel)]="axisConfig.autoScaleActive"
(change)="viewRefreshEmitter.emit()"
- >Auto-scale {{ title }}
+ >{{ 'Auto-scale {{title}}' | translate:{ title: title } }}
</mat-checkbox>
<div
fxFlex
@@ -28,7 +28,7 @@
*ngIf="!axisConfig.autoScaleActive"
class="ml-10 mb-10"
>
- <small>Min</small>
+ <small>{{ 'Min' | translate }}</small>
<span fxFlex></span>
<mat-form-field appearance="outline" color="accent" fxFlex="30">
<input
@@ -45,7 +45,7 @@
*ngIf="!axisConfig.autoScaleActive"
class="ml-10 mb-10"
>
- <small>Max</small>
+ <small>{{ 'Max' | translate }}</small>
<span fxFlex></span>
<mat-form-field appearance="outline" color="accent" fxFlex="30">
<input
diff --git
a/ui/src/app/data-explorer-shared/components/chart-config/select-color-properties-config/select-color-properties-config.component.html
b/ui/src/app/data-explorer-shared/components/chart-config/select-color-properties-config/select-color-properties-config.component.html
index 5c0ee3bdb1..f9e720751f 100644
---
a/ui/src/app/data-explorer-shared/components/chart-config/select-color-properties-config/select-color-properties-config.component.html
+++
b/ui/src/app/data-explorer-shared/components/chart-config/select-color-properties-config/select-color-properties-config.component.html
@@ -16,7 +16,7 @@
~
-->
-<sp-configuration-box title="Fields" marginTop="5px">
+<sp-configuration-box [title]="'Fields' | translate" marginTop="5px">
<div header>
<button
mat-button
@@ -26,7 +26,7 @@
style="margin-right: 10px"
(click)="selectAllFields()"
>
- Select all
+ {{ 'Select all' | translate }}
</button>
<button
mat-button
@@ -35,7 +35,7 @@
style="margin-right: 10px"
(click)="deselectAllFields()"
>
- Deselect all
+ {{ 'Deselect all' | translate }}
</button>
</div>
<div
diff --git
a/ui/src/app/data-explorer-shared/components/chart-config/select-color-properties-config/time-series-item-config/time-series-item-config.component.html
b/ui/src/app/data-explorer-shared/components/chart-config/select-color-properties-config/time-series-item-config/time-series-item-config.component.html
index c2ecb55588..947d97ecdc 100644
---
a/ui/src/app/data-explorer-shared/components/chart-config/select-color-properties-config/time-series-item-config/time-series-item-config.component.html
+++
b/ui/src/app/data-explorer-shared/components/chart-config/select-color-properties-config/time-series-item-config/time-series-item-config.component.html
@@ -45,7 +45,7 @@
<button
mat-icon-button
color="accent"
- matTooltip="Field settings"
+ [matTooltip]="'Field settings' | translate"
data-cy="time-series-item-config-toggle"
(click)="toggleExpand()"
[disabled]="!isSelected(field)"
@@ -63,7 +63,9 @@
class="ml-10"
>
<div fxLayout="row" fxFlex="100">
- <div fxFlex="30"><small>Color</small></div>
+ <div fxFlex="30">
+ <small>{{ 'Color' | translate }}</small>
+ </div>
<div fxFlex="70" fxLayoutAlign="start center">
<input
class="color-field"
@@ -89,7 +91,7 @@
</div>
<div fxLayout="row" fxFlex="100">
<div fxFlex="30" fxLayoutAlign="start center">
- <small>Label</small>
+ <small>{{ 'Label' | translate }}</small>
</div>
<div fxFlex="70" fxLayoutAlign="start center">
<mat-form-field
@@ -115,7 +117,7 @@
<div fxLayout="row" fxFlex="100">
<div fxFlex="30" fxLayoutAlign="start center">
- <small>Type</small>
+ <small>{{ 'Type' | translate }}</small>
</div>
<div fxFlex="70" fxLayoutAlign="start center">
<mat-form-field
@@ -133,13 +135,17 @@
"
(selectionChange)="viewRefreshEmitter.emit()"
>
- <mat-option [value]="'bar'">Bar</mat-option>
- <mat-option [value]="'lines'">Line</mat-option>
+ <mat-option [value]="'bar'">{{
+ 'Bar' | translate
+ }}</mat-option>
+ <mat-option [value]="'lines'">{{
+ 'Line' | translate
+ }}</mat-option>
<mat-option [value]="'normal_markers'"
- >Scatter
+ >{{ 'Scatter' | translate }}
</mat-option>
<mat-option [value]="'lines+markers'"
- >Scattered Line
+ >{{ 'Scattered Line' | translate }}
</mat-option>
</mat-select>
</mat-form-field>
@@ -148,7 +154,7 @@
<div fxLayout="row" fxFlex="100">
<div fxFlex="30" fxLayoutAlign="start center">
- <small>Axis</small>
+ <small>{{ 'Axis' | translate }}</small>
</div>
<div fxFlex="70" fxLayoutAlign="start center">
<mat-form-field
@@ -165,8 +171,12 @@
"
(selectionChange)="viewRefreshEmitter.emit()"
>
- <mat-option [value]="'left'">Left</mat-option>
- <mat-option [value]="'right'">Right</mat-option>
+ <mat-option [value]="'left'">{{
+ 'Left' | translate
+ }}</mat-option>
+ <mat-option [value]="'right'">{{
+ 'Right' | translate
+ }}</mat-option>
</mat-select>
</mat-form-field>
</div>
diff --git
a/ui/src/app/data-explorer-shared/components/chart-config/select-multiple-properties-config/select-multiple-properties-config.component.html
b/ui/src/app/data-explorer-shared/components/chart-config/select-multiple-properties-config/select-multiple-properties-config.component.html
index e4e0a6eed8..b8e35cee3e 100644
---
a/ui/src/app/data-explorer-shared/components/chart-config/select-multiple-properties-config/select-multiple-properties-config.component.html
+++
b/ui/src/app/data-explorer-shared/components/chart-config/select-multiple-properties-config/select-multiple-properties-config.component.html
@@ -26,7 +26,7 @@
style="margin-right: 10px"
(click)="selectAllFields()"
>
- Select all
+ {{ 'Select all' | translate }}
</button>
<button
mat-button
@@ -35,7 +35,7 @@
style="margin-right: 10px"
(click)="deselectAllFields()"
>
- Deselect all
+ {{ 'Deselect all' | translate }}
</button>
</div>
<div fxLayout="column" class="field-scroll-panel">
diff --git
a/ui/src/app/data-explorer-shared/components/chart-config/select-multiple-properties-config/select-multiple-properties-config.component.ts
b/ui/src/app/data-explorer-shared/components/chart-config/select-multiple-properties-config/select-multiple-properties-config.component.ts
index a1e391c9ef..ece3364ff7 100644
---
a/ui/src/app/data-explorer-shared/components/chart-config/select-multiple-properties-config/select-multiple-properties-config.component.ts
+++
b/ui/src/app/data-explorer-shared/components/chart-config/select-multiple-properties-config/select-multiple-properties-config.component.ts
@@ -16,8 +16,16 @@
*
*/
-import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
+import {
+ Component,
+ EventEmitter,
+ inject,
+ Input,
+ OnInit,
+ Output,
+} from '@angular/core';
import { DataExplorerField } from '@streampipes/platform-services';
+import { TranslateService } from '@ngx-translate/core';
@Component({
selector: 'sp-select-properties-config',
@@ -28,11 +36,13 @@ export class SelectMultiplePropertiesConfigComponent
implements OnInit {
@Output() changeSelectedProperties: EventEmitter<DataExplorerField[]> =
new EventEmitter();
+ translateService: TranslateService = inject(TranslateService);
+
@Input() availableProperties: DataExplorerField[];
@Input() selectedProperties: DataExplorerField[];
@Input() label: string;
@Input() multiple: boolean;
- @Input() title = 'Fields';
+ @Input() title = this.translateService.instant('Fields');
constructor() {}
diff --git
a/ui/src/app/data-explorer-shared/components/chart-config/visualization-config-outer/visualization-config-outer.component.html
b/ui/src/app/data-explorer-shared/components/chart-config/visualization-config-outer/visualization-config-outer.component.html
index c53b765bea..f648c5af1c 100644
---
a/ui/src/app/data-explorer-shared/components/chart-config/visualization-config-outer/visualization-config-outer.component.html
+++
b/ui/src/app/data-explorer-shared/components/chart-config/visualization-config-outer/visualization-config-outer.component.html
@@ -18,7 +18,12 @@
<div fxFlex="100" class="h-100 form-field-small" fxLayout="column">
<div *ngIf="!configurationValid" fxLayoutAlign="center center">
- <h5>The current data selection can't be displayed by this chart.</h5>
+ <h5>
+ {{
+ "The current data selection can't be displayed by this chart."
+ | translate
+ }}
+ </h5>
</div>
<div fxFlex="100" *ngIf="configurationValid">
<ng-content></ng-content>
diff --git
a/ui/src/app/data-explorer-shared/components/chart-container/data-explorer-chart-container.component.html
b/ui/src/app/data-explorer-shared/components/chart-container/data-explorer-chart-container.component.html
index 41ff1319f9..21edefca05 100644
---
a/ui/src/app/data-explorer-shared/components/chart-container/data-explorer-chart-container.component.html
+++
b/ui/src/app/data-explorer-shared/components/chart-container/data-explorer-chart-container.component.html
@@ -63,8 +63,8 @@
<button
mat-icon-button
[matMenuTriggerFor]="menu"
- aria-label="More options"
- matTooltip="More options"
+ [aria-label]="'More options' | translate"
+ [matTooltip]="'More options' | translate"
*ngIf="!dataViewMode"
[attr.data-cy]="
'more-options-' +
@@ -79,7 +79,7 @@
<mat-menu #menu="matMenu">
<button mat-menu-item (click)="downloadDataAsFile()">
<mat-icon>get_app</mat-icon>
- <span>Download data</span>
+ <span>{{ 'Download data' | translate }}</span>
</button>
<button
mat-menu-item
@@ -94,14 +94,14 @@
"
>
<mat-icon>edit</mat-icon>
- <span>Edit Widget</span>
+ <span>{{ 'Edit Chart' | translate }}</span>
</button>
</mat-menu>
<button
mat-icon-button
[matMenuTriggerFor]="optMenu"
*ngIf="!globalTimeEnabled"
- aria-label="Options"
+ [aria-label]="'Options' | translate"
data-cy="options-data-explorer"
#menuTrigger="matMenuTrigger"
[matTooltip]="tooltipText"
@@ -129,14 +129,14 @@
class="mat-basic"
(click)="resetWidgetTimeSettings()"
>
- Reset
+ {{ 'Reset' | translate }}
</button>
</sp-time-selector-menu>
</mat-menu>
<button
mat-icon-button
(click)="removeWidget()"
- matTooltip="Delete widget"
+ [matTooltip]="'Delete Chart' | translate"
*ngIf="editMode && hasDataExplorerWritePrivileges"
[attr.data-cy]="
'remove-' +
diff --git
a/ui/src/app/data-explorer-shared/components/charts/base/invalid-configuration/invalid-configuration.component.html
b/ui/src/app/data-explorer-shared/components/charts/base/invalid-configuration/invalid-configuration.component.html
index 0496baf80a..b98508dd7c 100644
---
a/ui/src/app/data-explorer-shared/components/charts/base/invalid-configuration/invalid-configuration.component.html
+++
b/ui/src/app/data-explorer-shared/components/charts/base/invalid-configuration/invalid-configuration.component.html
@@ -27,11 +27,13 @@
</div>
<div fxLayout="column" fxLayoutAlign="center center">
<div class="default-text">
- Invalid configuration for {{ widgetTypeLabel }}
+ {{ 'Invalid configuration for' | translate }} {{ widgetTypeLabel }}
</div>
<div class="default-text date-range-text">
- This chart is missing required fields - choose another chart type
or
- add additional fields.
+ {{
+ 'This chart is missing required fields - choose another chart
type or add additional fields.'
+ | translate
+ }}
</div>
</div>
</div>
diff --git
a/ui/src/app/data-explorer-shared/components/charts/base/no-data/no-data-in-date-range.component.html
b/ui/src/app/data-explorer-shared/components/charts/base/no-data/no-data-in-date-range.component.html
index b053ba3187..24d96a8b9d 100644
---
a/ui/src/app/data-explorer-shared/components/charts/base/no-data/no-data-in-date-range.component.html
+++
b/ui/src/app/data-explorer-shared/components/charts/base/no-data/no-data-in-date-range.component.html
@@ -26,7 +26,9 @@
<i class="material-icons warning-icon">warning</i>
</div>
<div fxLayout="column" fxLayoutAlign="center center">
- <div class="default-text">Found no data in selected time range</div>
+ <div class="default-text">
+ {{ 'Found no data in selected time range' | translate }}
+ </div>
<div class="default-text date-range-text">
{{ viewDateRange.startTime | date: 'MM/dd/yyyy HH:mm' }} -
{{ viewDateRange.endTime | date: 'MM/dd/yyyy HH:mm' }}
diff --git
a/ui/src/app/data-explorer-shared/components/charts/base/too-much-data/too-much-data.component.html
b/ui/src/app/data-explorer-shared/components/charts/base/too-much-data/too-much-data.component.html
index e5aa24570d..d70cc400ba 100644
---
a/ui/src/app/data-explorer-shared/components/charts/base/too-much-data/too-much-data.component.html
+++
b/ui/src/app/data-explorer-shared/components/charts/base/too-much-data/too-much-data.component.html
@@ -18,7 +18,7 @@
<div fxLayout="column" fxLayoutAlign="center center" fxFlex="100">
<div fxLayout="row" fxLayoutAlign="center center">
<i class="material-icons" style="margin-top: 8px">warning</i>
- <h2> Warning</h2>
+ <h2> {{ 'Warning' | translate }}</h2>
</div>
<div
fxLayout="column"
@@ -26,11 +26,14 @@
style="margin-top: 10px"
>
<div class="default-text">
- This widget tries to load too much data (#Events:
+ {{ 'This chart tries to load too much data (#Events:' | translate
}}
{{ amountOfEvents }})
</div>
<div class="default-text date-range-text">
- Please change the widget settings or decrease the time range
+ {{
+ 'Please change the chart settings or decrease the time range'
+ | translate
+ }}
</div>
<button
@@ -39,10 +42,10 @@
style="margin-top: 30px"
(click)="loadDataWithTooManyEvents()"
>
- <label>Load anyway</label>
+ <label>{{ 'Load anyway' | translate }}</label>
</button>
<div class="default-text warning-text">
- (This might crash the browser)
+ {{ '(This might crash the browser)' | translate }}
</div>
</div>
</div>
diff --git
a/ui/src/app/data-explorer-shared/components/charts/correlation-chart/config/correlation-chart-widget-config.component.html
b/ui/src/app/data-explorer-shared/components/charts/correlation-chart/config/correlation-chart-widget-config.component.html
index efc25816b8..3e2cfd7ff4 100644
---
a/ui/src/app/data-explorer-shared/components/charts/correlation-chart/config/correlation-chart-widget-config.component.html
+++
b/ui/src/app/data-explorer-shared/components/charts/correlation-chart/config/correlation-chart-widget-config.component.html
@@ -21,7 +21,7 @@
currentlyConfiguredWidget.visualizationConfig.configurationValid
"
>
- <sp-configuration-box title="Fields">
+ <sp-configuration-box [title]="'Fields' | translate">
<div fxLayout="column" fxLayoutGap="10px">
<div
fxLayout="row"
@@ -29,7 +29,7 @@
fxLayoutGap="10px"
fxLayoutAlign="start center"
>
- <small>X</small>
+ <small>{{ 'X' | translate }}</small>
<sp-select-single-property-config
fxFlex
[availableProperties]="fieldProvider.numericFields"
@@ -46,7 +46,7 @@
fxLayoutGap="10px"
fxLayoutAlign="start center"
>
- <small>Y</small>
+ <small>{{ 'Y' | translate }}</small>
<sp-select-single-property-config
fxFlex
[availableProperties]="fieldProvider.numericFields"
diff --git
a/ui/src/app/data-explorer-shared/components/charts/gauge/config/gauge-widget-config.component.html
b/ui/src/app/data-explorer-shared/components/charts/gauge/config/gauge-widget-config.component.html
index 69bcf7b86b..5a7c10e2ab 100644
---
a/ui/src/app/data-explorer-shared/components/charts/gauge/config/gauge-widget-config.component.html
+++
b/ui/src/app/data-explorer-shared/components/charts/gauge/config/gauge-widget-config.component.html
@@ -21,7 +21,7 @@
currentlyConfiguredWidget.visualizationConfig.configurationValid
"
>
- <sp-configuration-box title="Field">
+ <sp-configuration-box [title]="'Field' | translate">
<sp-select-single-property-config
[availableProperties]="fieldProvider.numericFields"
[selectedProperty]="
@@ -32,7 +32,7 @@
</sp-select-single-property-config>
</sp-configuration-box>
<sp-configuration-box
- title="Settings"
+ [title]="'Settings' | translate"
*ngIf="
currentlyConfiguredWidget.visualizationConfig.selectedProperty
?.fieldCharacteristics.numeric
@@ -40,7 +40,7 @@
>
<div fxLayout="column">
<div fxFlex fxLayoutAlign="start center" class="ml-10 mb-10">
- <small>Min</small>
+ <small>{{ 'Min' | translate }}</small>
<span fxFlex></span>
<mat-form-field appearance="outline" color="accent"
fxFlex="30">
<input
@@ -54,7 +54,7 @@
</mat-form-field>
</div>
<div fxFlex fxLayoutAlign="start center" class="ml-10 mb-10">
- <small>Max</small>
+ <small>{{ 'Max' | translate }}</small>
<span fxFlex></span>
<mat-form-field appearance="outline" color="accent"
fxFlex="30">
<input
diff --git
a/ui/src/app/data-explorer-shared/components/charts/heatmap/config/heatmap-widget-config.component.html
b/ui/src/app/data-explorer-shared/components/charts/heatmap/config/heatmap-widget-config.component.html
index 0f05fe2fdc..0a1f9182d7 100644
---
a/ui/src/app/data-explorer-shared/components/charts/heatmap/config/heatmap-widget-config.component.html
+++
b/ui/src/app/data-explorer-shared/components/charts/heatmap/config/heatmap-widget-config.component.html
@@ -21,7 +21,7 @@
currentlyConfiguredWidget.visualizationConfig.configurationValid
"
>
- <sp-configuration-box title="Field">
+ <sp-configuration-box [title]="'Field' | translate">
<sp-select-single-property-config
[availableProperties]="fieldProvider.numericFields"
[selectedProperty]="
@@ -32,13 +32,13 @@
>
</sp-select-single-property-config>
</sp-configuration-box>
- <sp-configuration-box title="Settings">
+ <sp-configuration-box [title]="'Settings' | translate">
<mat-checkbox
[(ngModel)]="
currentlyConfiguredWidget.visualizationConfig.showLabelsProperty
"
(change)="setShowLabelsProperty($event)"
- >Show values as labels
+ >{{ 'Show values as labels' | translate }}
</mat-checkbox>
</sp-configuration-box>
</sp-visualization-config-outer>
diff --git
a/ui/src/app/data-explorer-shared/components/charts/histogram/config/histogram-chart-widget-config.component.html
b/ui/src/app/data-explorer-shared/components/charts/histogram/config/histogram-chart-widget-config.component.html
index 10cd2fed77..f453ad1870 100644
---
a/ui/src/app/data-explorer-shared/components/charts/histogram/config/histogram-chart-widget-config.component.html
+++
b/ui/src/app/data-explorer-shared/components/charts/histogram/config/histogram-chart-widget-config.component.html
@@ -21,7 +21,7 @@
currentlyConfiguredWidget.visualizationConfig.configurationValid
"
>
- <sp-configuration-box title="Field">
+ <sp-configuration-box [title]="'Field' | translate">
<sp-select-single-property-config
[availableProperties]="fieldProvider.allFields"
[selectedProperty]="
@@ -31,7 +31,7 @@
>
</sp-select-single-property-config>
</sp-configuration-box>
- <sp-configuration-box title="Settings">
+ <sp-configuration-box [title]="'Settings' | translate">
<div fxLayoutGap="10px" fxLayout="column">
<mat-checkbox
[(ngModel)]="
@@ -39,7 +39,7 @@
"
(change)="triggerViewRefresh()"
>
- Auto-compute number of bins
+ {{ 'Auto-compute number of bins' | translate }}
</mat-checkbox>
<mat-form-field
fxFlex="100"
@@ -47,7 +47,9 @@
appearance="outline"
*ngIf="!currentlyConfiguredWidget.visualizationConfig.autoBin"
>
- <mat-label><span>Number of bins</span></mat-label>
+ <mat-label
+ ><span>{{ 'Number of bins' | translate }}</span></mat-label
+ >
<input
[(ngModel)]="
currentlyConfiguredWidget.visualizationConfig
@@ -63,7 +65,7 @@
"
(change)="triggerViewRefresh()"
>
- All values
+ {{ 'All values' | translate }}
</mat-checkbox>
<mat-form-field
fxFlex="100"
@@ -73,7 +75,9 @@
!currentlyConfiguredWidget.visualizationConfig.autoDomain
"
>
- <mat-label><span>Minimum value</span></mat-label>
+ <mat-label
+ ><span>{{ 'Minimum value' | translate }}</span></mat-label
+ >
<input
[(ngModel)]="
currentlyConfiguredWidget.visualizationConfig.domainMin
@@ -90,7 +94,9 @@
!currentlyConfiguredWidget.visualizationConfig.autoDomain
"
>
- <mat-label><span>Maximum value</span></mat-label>
+ <mat-label
+ ><span>{{ 'Maximum value' | translate }}</span></mat-label
+ >
<input
[(ngModel)]="
currentlyConfiguredWidget.visualizationConfig.domainMax
diff --git
a/ui/src/app/data-explorer-shared/components/charts/image/config/image-widget-config.component.html
b/ui/src/app/data-explorer-shared/components/charts/image/config/image-widget-config.component.html
index 220a1e1137..7fda73a695 100644
---
a/ui/src/app/data-explorer-shared/components/charts/image/config/image-widget-config.component.html
+++
b/ui/src/app/data-explorer-shared/components/charts/image/config/image-widget-config.component.html
@@ -21,7 +21,7 @@
currentlyConfiguredWidget.visualizationConfig.configurationValid
"
>
- <sp-configuration-box title="Field">
+ <sp-configuration-box [title]="'Field' | translate">
<sp-select-single-property-config
[availableProperties]="imageFields"
[selectedProperty]="
diff --git
a/ui/src/app/data-explorer-shared/components/charts/indicator/config/indicator-chart-widget-config.component.html
b/ui/src/app/data-explorer-shared/components/charts/indicator/config/indicator-chart-widget-config.component.html
index 5dfe471a05..8f3e449f19 100644
---
a/ui/src/app/data-explorer-shared/components/charts/indicator/config/indicator-chart-widget-config.component.html
+++
b/ui/src/app/data-explorer-shared/components/charts/indicator/config/indicator-chart-widget-config.component.html
@@ -21,7 +21,7 @@
currentlyConfiguredWidget.visualizationConfig.configurationValid
"
>
- <sp-configuration-box title="Field">
+ <sp-configuration-box [title]="'Field' | translate">
<sp-select-single-property-config
[availableProperties]="fieldProvider.allFields"
[selectedProperty]="
@@ -31,14 +31,14 @@
>
</sp-select-single-property-config>
</sp-configuration-box>
- <sp-configuration-box title="Settings">
+ <sp-configuration-box [title]="'Settings' | translate">
<mat-checkbox
data-cy="data-explorer-select-delta-checkbox"
(change)="updateDelta($event)"
[(ngModel)]="
currentlyConfiguredWidget.visualizationConfig.showDelta
"
- >Show delta indicator
+ >{{ 'Show delta indicator' | translate }}
</mat-checkbox>
</sp-configuration-box>
</sp-visualization-config-outer>
diff --git
a/ui/src/app/data-explorer-shared/components/charts/map/config/map-widget-config.component.html
b/ui/src/app/data-explorer-shared/components/charts/map/config/map-widget-config.component.html
index d310c414e6..58063ae49f 100644
---
a/ui/src/app/data-explorer-shared/components/charts/map/config/map-widget-config.component.html
+++
b/ui/src/app/data-explorer-shared/components/charts/map/config/map-widget-config.component.html
@@ -22,7 +22,7 @@
"
>
<div fxLayout="column">
- <sp-configuration-box title="Fields">
+ <sp-configuration-box [title]="'Fields' | translate">
<div fxLayout="column" fxLayoutGap="10px">
<div
fxLayout="row"
@@ -30,7 +30,7 @@
fxLayoutGap="10px"
fxLayoutAlign="start center"
>
- <small fxFlex="30">Latitude</small>
+ <small fxFlex="30">{{ 'Latitude' | translate }}</small>
<sp-select-single-property-config
fxFlex
[availableProperties]="fieldProvider.numericFields"
@@ -51,7 +51,7 @@
fxLayoutGap="10px"
fxLayoutAlign="start center"
>
- <small fxFlex="30">Longitude</small>
+ <small fxFlex="30">{{ 'Longitude' | translate }}</small>
<sp-select-single-property-config
fxFlex
[availableProperties]="fieldProvider.numericFields"
@@ -68,7 +68,7 @@
</div>
</div>
</sp-configuration-box>
- <sp-configuration-box title="Settings">
+ <sp-configuration-box [title]="'Settings' | translate">
<div fxLayout="column" fxLayoutGap="10px">
<div
fxLayout="row"
@@ -76,7 +76,7 @@
fxLayoutAlign="start center"
fxFlex="100"
>
- <small fxFlex="30">Map Zoom</small>
+ <small fxFlex="30">{{ 'Map Zoom' | translate }}</small>
<mat-form-field color="accent" appearance="outline" fxFlex>
<mat-label> <span>enter zoom value</span></mat-label>
<input
@@ -102,7 +102,7 @@
.useLastEventCoordinates
"
(change)="setUseLastEventCoordinations($event)"
- >Focus map on last event
+ >{{ 'Focus map on last event' | translate }}
</mat-checkbox>
</div>
@@ -112,7 +112,9 @@
fxLayoutAlign="start center"
fxFlex="100"
>
- <small fxFlex="30">Marker or Trace</small>
+ <small fxFlex="30">{{
+ 'Marker or Trace' | translate
+ }}</small>
<mat-form-field color="accent" appearance="outline" fxFlex>
<!-- <mat-label>Marker or Trace</mat-label> -->
<mat-select
@@ -123,8 +125,12 @@
(selectionChange)="triggerViewRefresh()"
data-cy="data-view-map-select-marker-or-trace"
>
- <mat-option [value]="'marker'">Marker</mat-option>
- <mat-option [value]="'trace'">Trace</mat-option>
+ <mat-option [value]="'marker'">{{
+ 'Marker' | translate
+ }}</mat-option>
+ <mat-option [value]="'trace'">{{
+ 'Trace' | translate
+ }}</mat-option>
</mat-select>
</mat-form-field>
</div>
@@ -139,7 +145,7 @@
.selectedMarkerOrTrace === 'marker'
"
>
- <small fxFlex="30">Marker Type</small>
+ <small fxFlex="30">{{ 'Marker Type' | translate }}</small>
<mat-form-field fxFlex color="accent" appearance="outline">
<mat-select
[(value)]="
@@ -148,8 +154,12 @@
"
(selectionChange)="triggerViewRefresh()"
>
- <mat-option [value]="'pin'">Pin</mat-option>
- <mat-option [value]="'car'">Car</mat-option>
+ <mat-option [value]="'pin'">{{
+ 'Pin' | translate
+ }}</mat-option>
+ <mat-option [value]="'car'">{{
+ 'Car' | translate
+ }}</mat-option>
</mat-select>
</mat-form-field>
</div>
@@ -157,8 +167,8 @@
</sp-configuration-box>
<sp-select-properties-config
- title="Tooltip"
- label="Tooltip Content"
+ [title]="'Tooltip' | translate"
+ [label]="'Tooltip Content' | translate"
multiple="true"
(changeSelectedProperties)="setSelectedToolTipContent($event)"
[availableProperties]="fieldProvider.allFields"
diff --git
a/ui/src/app/data-explorer-shared/components/charts/pie/config/pie-chart-widget-config.component.html
b/ui/src/app/data-explorer-shared/components/charts/pie/config/pie-chart-widget-config.component.html
index 35df275c26..f0fa2e4eef 100644
---
a/ui/src/app/data-explorer-shared/components/charts/pie/config/pie-chart-widget-config.component.html
+++
b/ui/src/app/data-explorer-shared/components/charts/pie/config/pie-chart-widget-config.component.html
@@ -21,7 +21,7 @@
currentlyConfiguredWidget.visualizationConfig.configurationValid
"
>
- <sp-configuration-box title="Field">
+ <sp-configuration-box [title]="'Field' | translate">
<sp-select-single-property-config
[availableProperties]="fieldProvider.allFields"
[selectedProperty]="
@@ -32,7 +32,7 @@
</sp-select-single-property-config>
</sp-configuration-box>
- <sp-configuration-box title="Settings">
+ <sp-configuration-box [title]="'Settings' | translate">
<div fxLayout="column" fxLayoutGap="10px">
<div
fxFlex="100"
@@ -44,7 +44,7 @@
.selectedProperty?.fieldCharacteristics.numeric
"
>
- <small>Rounding</small>
+ <small>{{ 'Rounding' | translate }}</small>
<mat-form-field
appearance="outline"
class="marginColorField"
@@ -73,7 +73,7 @@
fxLayoutAlign="start center"
fxLayoutGap="10px"
>
- <small>Inner Radius</small>
+ <small>{{ 'Inner Radius' | translate }}</small>
<mat-slider min="0" max="80" step="1" fxFlex="65">
<input
matSliderThumb
@@ -103,7 +103,7 @@
(ngModelChange)="showCustomColorMapping($event)"
>
</mat-checkbox>
- <small>Add custom color mapping</small>
+ <small>{{ 'Add custom color mapping' | translate }}</small>
</div>
<div
@@ -114,7 +114,7 @@
>
<button mat-raised-button color="accent"
(click)="addMapping()">
<i class="material-icons">add</i
- ><span> Add Mapping</span>
+ ><span> {{ 'Add Mapping' | translate }}</span>
</button>
</div>
@@ -143,7 +143,7 @@
color="accent"
appearance="outline"
>
- <mat-label>Value</mat-label>
+ <mat-label>{{ 'Value' | translate
}}</mat-label>
<input
matInput
[(ngModel)]="mapping.value"
@@ -169,7 +169,7 @@
<div fxLayoutAlign="end center">
<button
mat-icon-button
- matTooltip="Remove Mapping"
+ [matTooltip]="'Remove Mapping' | translate"
color="accent"
(click)="removeMapping(i)"
>
diff --git
a/ui/src/app/data-explorer-shared/components/charts/status/config/status-widget-config.component.html
b/ui/src/app/data-explorer-shared/components/charts/status/config/status-widget-config.component.html
index 8102a7ac42..25d57bef3c 100644
---
a/ui/src/app/data-explorer-shared/components/charts/status/config/status-widget-config.component.html
+++
b/ui/src/app/data-explorer-shared/components/charts/status/config/status-widget-config.component.html
@@ -21,7 +21,7 @@
currentlyConfiguredWidget.visualizationConfig.configurationValid
"
>
- <sp-configuration-box title="Settings">
+ <sp-configuration-box [title]="'Settings' | translate">
<div fxLayout="column" fxLayoutGap="10px">
<div
fxLayout="row"
@@ -29,7 +29,7 @@
fxLayoutAlign="start center"
fxFlex="100"
>
- <small fxFlex="30">Select Value Type</small>
+ <small fxFlex="30">{{ 'Select Value Type' | translate
}}</small>
<mat-radio-group
[(ngModel)]="
currentlyConfiguredWidget.visualizationConfig
@@ -37,12 +37,12 @@
"
(change)="selectDataType($event.source.value)"
>
- <mat-radio-button [value]="'number'"
- >Numeric Value</mat-radio-button
- >
- <mat-radio-button [value]="'boolean'"
- >Boolean Value</mat-radio-button
- >
+ <mat-radio-button [value]="'number'">{{
+ 'Numeric Value' | translate
+ }}</mat-radio-button>
+ <mat-radio-button [value]="'boolean'">{{
+ 'Boolean Value' | translate
+ }}</mat-radio-button>
</mat-radio-group>
</div>
@@ -62,9 +62,12 @@
>
<small
fxFlex="30"
- matTooltip="Interval in seconds in which an event must
arrive"
+ [matTooltip]="
+ 'Interval in seconds in which an event must arrive'
+ | translate
+ "
matTooltipPosition="above"
- >Interval [sec]</small
+ >{{ 'Interval [sec]' | translate }}</small
>
<mat-form-field color="accent" appearance="outline" fxFlex>
<input
@@ -85,7 +88,7 @@
fxLayoutAlign="start center"
fxFlex="100"
>
- <small>Show Last Seen Timestamp</small>
+ <small>{{ 'Show Last Seen Timestamp' | translate }}</small>
<mat-checkbox
color="accent"
[(ngModel)]="
@@ -112,7 +115,7 @@
fxLayoutAlign="start center"
fxFlex="100"
>
- <small fxFlex="30">Field</small>
+ <small fxFlex="30">{{ 'Field' | translate }}</small>
<sp-select-single-property-config
[availableProperties]="fieldProvider.booleanFields"
[selectedProperty]="
@@ -132,7 +135,9 @@
fxLayoutAlign="start center"
fxFlex="100"
>
- <small fxFlex="30">Select Mapping</small>
+ <small fxFlex="30">{{
+ 'Select Mapping' | translate
+ }}</small>
<mat-radio-group
[(ngModel)]="
currentlyConfiguredWidget.visualizationConfig
@@ -141,14 +146,18 @@
(change)="selectMappingGreenTrue($event.source.value)"
>
<mat-radio-button [value]="true">
- <span class="color-box green-box"></span> True
+ <span class="color-box green-box"></span>
+ {{ 'True' | translate }}
<span class="spacing"></span>
- <span class="color-box red-box"></span> False
+ <span class="color-box red-box"></span>
+ {{ 'False' | translate }}
</mat-radio-button>
<mat-radio-button [value]="false">
- <span class="color-box red-box"></span> True
+ <span class="color-box red-box"></span>
+ {{ 'True' | translate }}
<span class="spacing"></span>
- <span class="color-box green-box"></span> False
+ <span class="color-box green-box"></span>
+ {{ 'False' | translate }}
</mat-radio-button>
</mat-radio-group>
</div>
diff --git
a/ui/src/app/data-explorer-shared/components/charts/status/status-widget.component.html
b/ui/src/app/data-explorer-shared/components/charts/status/status-widget.component.html
index ad01626a9f..85ee363cd9 100644
---
a/ui/src/app/data-explorer-shared/components/charts/status/status-widget.component.html
+++
b/ui/src/app/data-explorer-shared/components/charts/status/status-widget.component.html
@@ -55,6 +55,8 @@
</div>
</div>
<div *ngIf="selectedDataType === 'number' && showLastSeen">
- <h5>Last seen: {{ lastTimestamp | date: 'short' }}</h5>
+ <h5>
+ {{ 'Last seen:' | translate }} {{ lastTimestamp | date: 'short' }}
+ </h5>
</div>
</div>
diff --git
a/ui/src/app/data-explorer-shared/components/charts/table/config/table-widget-config.component.html
b/ui/src/app/data-explorer-shared/components/charts/table/config/table-widget-config.component.html
index 25c265350b..fcf23dd30b 100644
---
a/ui/src/app/data-explorer-shared/components/charts/table/config/table-widget-config.component.html
+++
b/ui/src/app/data-explorer-shared/components/charts/table/config/table-widget-config.component.html
@@ -22,7 +22,7 @@
"
>
<sp-select-properties-config
- label="Select Fields"
+ [label]="'Select Fields' | translate"
multiple="true"
(changeSelectedProperties)="setSelectedColumn($event)"
[availableProperties]="fieldProvider.allFields"
@@ -31,9 +31,9 @@
"
>
</sp-select-properties-config>
- <sp-configuration-box title="Search" marginTop="5px">
+ <sp-configuration-box [title]="'Search' | translate" marginTop="5px">
<mat-form-field appearance="outline" fxFlex="100" color="accent">
- <mat-label>Filter</mat-label>
+ <mat-label>{{ 'Filter' | translate }}</mat-label>
<input
[(ngModel)]="
currentlyConfiguredWidget.visualizationConfig.searchValue
diff --git
a/ui/src/app/data-explorer-shared/components/charts/table/table-widget.component.html
b/ui/src/app/data-explorer-shared/components/charts/table/table-widget.component.html
index 51ee888d4a..73681ff0ad 100644
---
a/ui/src/app/data-explorer-shared/components/charts/table/table-widget.component.html
+++
b/ui/src/app/data-explorer-shared/components/charts/table/table-widget.component.html
@@ -64,7 +64,9 @@
.textColor
}"
>
- <label class="column-header">Timestamp</label>
+ <label class="column-header">{{
+ 'Time' | translate
+ }}</label>
</th>
<td
mat-cell
diff --git
a/ui/src/app/data-explorer-shared/components/charts/time-series-chart/config/time-series-chart-widget-config.component.html
b/ui/src/app/data-explorer-shared/components/charts/time-series-chart/config/time-series-chart-widget-config.component.html
index 87105646e9..59db333f6a 100644
---
a/ui/src/app/data-explorer-shared/components/charts/time-series-chart/config/time-series-chart-widget-config.component.html
+++
b/ui/src/app/data-explorer-shared/components/charts/time-series-chart/config/time-series-chart-widget-config.component.html
@@ -32,10 +32,10 @@
>
</sp-select-color-properties-config>
- <sp-configuration-box title="Axes" marginTop="5px">
+ <sp-configuration-box [title]="'Axes' | translate" marginTop="5px">
<sp-select-axis-options-config
(viewRefreshEmitter)="triggerViewRefresh()"
- title="left axis"
+ [title]="'left axis' | translate"
[axisConfig]="
currentlyConfiguredWidget.visualizationConfig.leftAxis
"
@@ -44,7 +44,7 @@
<sp-select-axis-options-config
(viewRefreshEmitter)="triggerViewRefresh()"
- title="right axis"
+ [title]="'right axis' | translate"
[axisConfig]="
currentlyConfiguredWidget.visualizationConfig.rightAxis
"
@@ -52,13 +52,13 @@
</sp-select-axis-options-config>
</sp-configuration-box>
- <sp-configuration-box title="Axis Pointer">
+ <sp-configuration-box [title]="'Axis Pointer' | translate">
<mat-checkbox
[(ngModel)]="
currentlyConfiguredWidget.visualizationConfig.showSpike
"
(change)="setShowSpikeProperty($event)"
- >Enable
+ >{{ 'Enable' | translate }}
</mat-checkbox>
</sp-configuration-box>
</sp-visualization-config-outer>
diff --git
a/ui/src/app/data-explorer-shared/components/charts/traffic-light/config/traffic-light-widget-config.component.html
b/ui/src/app/data-explorer-shared/components/charts/traffic-light/config/traffic-light-widget-config.component.html
index d0a061df0e..554f391c90 100644
---
a/ui/src/app/data-explorer-shared/components/charts/traffic-light/config/traffic-light-widget-config.component.html
+++
b/ui/src/app/data-explorer-shared/components/charts/traffic-light/config/traffic-light-widget-config.component.html
@@ -21,7 +21,7 @@
currentlyConfiguredWidget.visualizationConfig.configurationValid
"
>
- <sp-configuration-box title="Field">
+ <sp-configuration-box [title]="'Field' | translate">
<sp-select-single-property-config
[availableProperties]="fieldProvider.numericFields"
[selectedProperty]="
@@ -33,7 +33,7 @@
</sp-select-single-property-config>
</sp-configuration-box>
- <sp-configuration-box title="Settings">
+ <sp-configuration-box [title]="'Settings' | translate">
<div fxLayout="column" fxLayoutGap="10px">
<div
fxLayout="row"
@@ -41,7 +41,7 @@
fxLayoutAlign="start center"
fxFlex="100"
>
- <small fxFlex="30">Threshold</small>
+ <small fxFlex="30">{{ 'Threshold' | translate }}</small>
<mat-form-field color="accent" appearance="outline" fxFlex>
<input
type="text"
@@ -63,7 +63,9 @@
fxLayoutAlign="start center"
fxFlex="100"
>
- <small fxFlex="30">With Threshold being</small>
+ <small fxFlex="30">{{
+ 'With Threshold being' | translate
+ }}</small>
<mat-radio-group
[(ngModel)]="
currentlyConfiguredWidget.visualizationConfig
@@ -71,12 +73,12 @@
"
(change)="selectUpperLimit($event.source.value)"
>
- <mat-radio-button [value]="true"
- >Upper Limit</mat-radio-button
- >
- <mat-radio-button [value]="false"
- >Lower Limit</mat-radio-button
- >
+ <mat-radio-button [value]="true">{{
+ 'Upper Limit' | translate
+ }}</mat-radio-button>
+ <mat-radio-button [value]="false">{{
+ 'Lower Limit' | translate
+ }}</mat-radio-button>
</mat-radio-group>
</div>
@@ -86,7 +88,7 @@
fxLayoutAlign="start center"
fxFlex="100"
>
- <small fxFlex="30">Warning Range (%)</small>
+ <small fxFlex="30">{{ 'Warning Range (%)' | translate
}}</small>
<mat-form-field color="accent" appearance="outline" fxFlex>
<input
[(ngModel)]="
@@ -114,7 +116,7 @@
fxFlex="100"
class="checkbox-container"
>
- <small>Show Value in Traffic Light</small>
+ <small>{{ 'Show Value in Traffic Light' | translate }}</small>
<mat-checkbox
color="accent"
[(ngModel)]="
diff --git
a/ui/src/app/data-explorer-shared/components/charts/traffic-light/config/traffic-light-widget-config.component.ts
b/ui/src/app/data-explorer-shared/components/charts/traffic-light/config/traffic-light-widget-config.component.ts
index 7cde8a65f3..4797d2d430 100644
---
a/ui/src/app/data-explorer-shared/components/charts/traffic-light/config/traffic-light-widget-config.component.ts
+++
b/ui/src/app/data-explorer-shared/components/charts/traffic-light/config/traffic-light-widget-config.component.ts
@@ -16,7 +16,7 @@
*
*/
-import { Component } from '@angular/core';
+import { Component, inject } from '@angular/core';
import { BaseWidgetConfig } from '../../base/base-widget-config';
import { ChartConfigurationService } from
'../../../../services/chart-configuration.service';
import {
@@ -25,6 +25,7 @@ import {
} from '../model/traffic-light-widget.model';
import { DataExplorerFieldProviderService } from
'../../../../services/data-explorer-field-provider-service';
import { DataExplorerField } from '@streampipes/platform-services';
+import { TranslateService } from '@ngx-translate/core';
@Component({
selector: 'sp-data-explorer-traffic-light-widget-config',
@@ -35,6 +36,7 @@ export class TrafficLightWidgetConfigComponent extends
BaseWidgetConfig<
TrafficLightWidgetModel,
TrafficLightVisConfig
> {
+ translateService: TranslateService = inject(TranslateService);
constructor(
widgetConfigurationService: ChartConfigurationService,
fieldService: DataExplorerFieldProviderService,
@@ -157,7 +159,9 @@ export class TrafficLightWidgetConfigComponent extends
BaseWidgetConfig<
this.currentlyConfiguredWidget.visualizationConfig
.selectedWarningRange === 0
) {
- this.warningRangeInterval = 'No Warning Range defined';
+ this.warningRangeInterval = this.translateService.instant(
+ 'No Warning Range defined',
+ );
} else if (
this.currentlyConfiguredWidget.visualizationConfig
.selectedUpperLimit
@@ -166,15 +170,15 @@ export class TrafficLightWidgetConfigComponent extends
BaseWidgetConfig<
this.currentlyConfiguredWidget.visualizationConfig
.selectedThreshold - rangeValue;
this.warningRangeInterval =
- 'Current Warning Range: ' +
- `${lowerBound} to
${this.currentlyConfiguredWidget.visualizationConfig.selectedThreshold}`;
+ this.translateService.instant('Current Warning Range: ') +
+ `${lowerBound} ${this.translateService.instant('to')}
${this.currentlyConfiguredWidget.visualizationConfig.selectedThreshold}`;
} else {
const upperBound =
this.currentlyConfiguredWidget.visualizationConfig
.selectedThreshold + rangeValue;
this.warningRangeInterval =
- 'Current Warning Range: ' +
-
`${this.currentlyConfiguredWidget.visualizationConfig.selectedThreshold} to
${upperBound}`;
+ this.translateService.instant('Current Warning Range: ') +
+
`${this.currentlyConfiguredWidget.visualizationConfig.selectedThreshold}
${this.translateService.instant('to')} ${upperBound}`;
}
} else {
this.warningRangeInterval = '';
diff --git
a/ui/src/app/data-explorer-shared/components/charts/value-heatmap/config/value-heatmap-chart-widget-config.component.html
b/ui/src/app/data-explorer-shared/components/charts/value-heatmap/config/value-heatmap-chart-widget-config.component.html
index 22b299916e..684bd27901 100644
---
a/ui/src/app/data-explorer-shared/components/charts/value-heatmap/config/value-heatmap-chart-widget-config.component.html
+++
b/ui/src/app/data-explorer-shared/components/charts/value-heatmap/config/value-heatmap-chart-widget-config.component.html
@@ -21,7 +21,7 @@
currentlyConfiguredWidget.visualizationConfig.configurationValid
"
>
- <sp-configuration-box title="Field" marginTop="5px">
+ <sp-configuration-box [title]="'Field' | translate" marginTop="5px">
<sp-select-single-property-config
[availableProperties]="fieldProvider.numericFields"
[selectedProperty]="
@@ -31,10 +31,12 @@
>
</sp-select-single-property-config>
</sp-configuration-box>
- <sp-configuration-box title="Settings" marginTop="5px">
+ <sp-configuration-box [title]="'Settings' | translate" marginTop="5px">
<div class="mt-10">
<mat-form-field fxFlex="100" color="accent" appearance="outline">
- <mat-label><span>Resolution</span></mat-label>
+ <mat-label
+ ><span>{{ 'Resolution' | translate }}</span></mat-label
+ >
<input
[(ngModel)]="
currentlyConfiguredWidget.visualizationConfig.resolution
diff --git a/ui/src/app/data-explorer-shared/data-explorer-shared.module.ts
b/ui/src/app/data-explorer-shared/data-explorer-shared.module.ts
index b30d640fa5..fa32f6acd5 100644
--- a/ui/src/app/data-explorer-shared/data-explorer-shared.module.ts
+++ b/ui/src/app/data-explorer-shared/data-explorer-shared.module.ts
@@ -95,6 +95,7 @@ import { SpTimeseriesItemConfigComponent } from
'./components/chart-config/selec
import { SpEchartsWidgetAppearanceConfigComponent } from
'./components/chart-config/echarts-widget-appearance-config/echarts-widget-appearance-config.component';
import { SpTimeSeriesAppearanceConfigComponent } from
'./components/charts/time-series-chart/appearance-config/time-series-appearance-config.component';
import { SpDataZoomConfigComponent } from
'./components/chart-config/data-zoom-config/data-zoom-config.component';
+import { TranslateModule } from '@ngx-translate/core';
@NgModule({
imports: [
@@ -140,6 +141,7 @@ import { SpDataZoomConfigComponent } from
'./components/chart-config/data-zoom-c
MatChipsModule,
PlatformServicesModule,
SharedUiModule,
+ TranslateModule.forChild(),
NgxEchartsModule.forChild(),
],
declarations: [
diff --git
a/ui/src/app/data-explorer-shared/registry/data-explorer-chart-registry.ts
b/ui/src/app/data-explorer-shared/registry/data-explorer-chart-registry.ts
index f8ee00e76d..9a25dc1e19 100644
--- a/ui/src/app/data-explorer-shared/registry/data-explorer-chart-registry.ts
+++ b/ui/src/app/data-explorer-shared/registry/data-explorer-chart-registry.ts
@@ -56,6 +56,7 @@ import { TrafficLightWidgetConfigComponent } from
'../components/charts/traffic-
import { TrafficLightWidgetComponent } from
'../components/charts/traffic-light/traffic-light-widget.component';
import { StatusWidgetConfigComponent } from
'../components/charts/status/config/status-widget-config.component';
import { StatusWidgetComponent } from
'../components/charts/status/status-widget.component';
+import { TranslateService } from '@ngx-translate/core';
@Injectable({ providedIn: 'root' })
export class DataExplorerChartRegistry {
@@ -71,11 +72,12 @@ export class DataExplorerChartRegistry {
private densityRenderer: SpDensityRendererService,
private indicatorRenderer: SpIndicatorRendererService,
private timeseriesRenderer: SpTimeseriesRendererService,
+ private translateService: TranslateService,
) {
this.chartTypes = [
{
id: 'gauge',
- label: 'Gauge',
+ label: this.translateService.instant('Gauge'),
widgetAppearanceConfigurationComponent:
SpEchartsWidgetAppearanceConfigComponent,
widgetConfigurationComponent: GaugeWidgetConfigComponent,
@@ -84,31 +86,31 @@ export class DataExplorerChartRegistry {
},
{
id: 'table',
- label: 'Table',
+ label: this.translateService.instant('Table'),
widgetConfigurationComponent: TableWidgetConfigComponent,
widgetComponent: TableWidgetComponent,
},
{
id: 'traffic-Light',
- label: 'Traffic Light',
+ label: this.translateService.instant('Traffic Light'),
widgetConfigurationComponent:
TrafficLightWidgetConfigComponent,
widgetComponent: TrafficLightWidgetComponent,
},
{
id: 'status',
- label: 'Status',
+ label: this.translateService.instant('Status'),
widgetConfigurationComponent: StatusWidgetConfigComponent,
widgetComponent: StatusWidgetComponent,
},
{
id: 'map',
- label: 'Map',
+ label: this.translateService.instant('Map'),
widgetConfigurationComponent: MapWidgetConfigComponent,
widgetComponent: MapWidgetComponent,
},
{
id: 'heatmap',
- label: 'Time-Series Heatmap',
+ label: this.translateService.instant('Time-Series Heatmap'),
widgetAppearanceConfigurationComponent:
SpEchartsWidgetAppearanceConfigComponent,
widgetConfigurationComponent: HeatmapWidgetConfigComponent,
@@ -117,7 +119,7 @@ export class DataExplorerChartRegistry {
},
{
id: 'time-series-chart',
- label: 'Time Series Chart',
+ label: this.translateService.instant('Time Series Chart'),
widgetAppearanceConfigurationComponent:
SpTimeSeriesAppearanceConfigComponent,
widgetConfigurationComponent:
@@ -128,13 +130,13 @@ export class DataExplorerChartRegistry {
},
{
id: 'image',
- label: 'Image',
+ label: this.translateService.instant('Image'),
widgetConfigurationComponent: ImageWidgetConfigComponent,
widgetComponent: ImageWidgetComponent,
},
{
id: 'indicator-chart',
- label: 'Indicator',
+ label: this.translateService.instant('Indicator'),
widgetAppearanceConfigurationComponent:
SpEchartsWidgetAppearanceConfigComponent,
widgetConfigurationComponent: IndicatorWidgetConfigComponent,
@@ -144,7 +146,7 @@ export class DataExplorerChartRegistry {
},
{
id: 'scatter-chart',
- label: 'Scatter',
+ label: this.translateService.instant('Scatter'),
widgetAppearanceConfigurationComponent:
SpEchartsWidgetAppearanceConfigComponent,
widgetConfigurationComponent: CorrelationWidgetConfigComponent,
@@ -155,7 +157,7 @@ export class DataExplorerChartRegistry {
},
{
id: 'histogram-chart',
- label: 'Histogram',
+ label: this.translateService.instant('Histogram'),
widgetAppearanceConfigurationComponent:
SpEchartsWidgetAppearanceConfigComponent,
widgetConfigurationComponent:
@@ -167,7 +169,7 @@ export class DataExplorerChartRegistry {
},
{
id: 'pie-chart',
- label: 'Pie',
+ label: this.translateService.instant('Pie'),
widgetAppearanceConfigurationComponent:
SpEchartsWidgetAppearanceConfigComponent,
widgetConfigurationComponent: SpPieChartWidgetConfigComponent,
@@ -176,7 +178,9 @@ export class DataExplorerChartRegistry {
},
{
id: 'value-heatmap-chart',
- label: 'Value Distribution Heatmap',
+ label: this.translateService.instant(
+ 'Value Distribution Heatmap',
+ ),
widgetAppearanceConfigurationComponent:
SpEchartsWidgetAppearanceConfigComponent,
widgetConfigurationComponent:
@@ -187,7 +191,7 @@ export class DataExplorerChartRegistry {
},
{
id: 'density-chart',
- label: '2D Density Contour',
+ label: this.translateService.instant('2D Density Contour'),
widgetAppearanceConfigurationComponent:
SpEchartsWidgetAppearanceConfigComponent,
widgetConfigurationComponent: CorrelationWidgetConfigComponent,
diff --git
a/ui/src/app/data-explorer-shared/services/data-explorer-shared.service.ts
b/ui/src/app/data-explorer-shared/services/data-explorer-shared.service.ts
index ad85f31bf9..b3d77875c7 100644
--- a/ui/src/app/data-explorer-shared/services/data-explorer-shared.service.ts
+++ b/ui/src/app/data-explorer-shared/services/data-explorer-shared.service.ts
@@ -29,15 +29,19 @@ import {
PanelType,
} from '@streampipes/shared-ui';
import { ObjectPermissionDialogComponent } from
'../../core-ui/object-permission-dialog/object-permission-dialog.component';
+import { TranslateService } from '@ngx-translate/core';
@Injectable({ providedIn: 'root' })
export class DataExplorerSharedService {
- constructor(private dialogService: DialogService) {}
+ constructor(
+ private dialogService: DialogService,
+ private translateService: TranslateService,
+ ) {}
openPermissionsDialog(elementId: string, headerTitle: string) {
return this.dialogService.open(ObjectPermissionDialogComponent, {
panelType: PanelType.SLIDE_IN_PANEL,
- title: 'Manage permissions',
+ title: this.translateService.instant('Manage permissions'),
width: '50vw',
data: {
objectInstanceId: elementId,
@@ -52,7 +56,7 @@ export class DataExplorerSharedService {
) {
this.dialogService.open(DataDownloadDialogComponent, {
panelType: PanelType.SLIDE_IN_PANEL,
- title: 'Download data',
+ title: this.translateService.instant('Download data'),
width: '50vw',
data: {
dataDownloadDialogModel: {