From b8658b74cc1740674486ccee9250c6e546930c4c Mon Sep 17 00:00:00 2001 From: Louis Greiner Date: Mon, 8 Jul 2024 17:53:22 +0200 Subject: [PATCH] i18n: setup translations + fill english and german table --- src/app/app-routing.module.ts | 10 +- src/app/app.component.html | 11 +- src/app/app.component.ts | 7 +- src/app/models/node.model.ts | 4 +- src/app/models/note.model.ts | 4 +- .../netzgrafik-application.component.ts | 12 +- .../perlenkette-node.component.ts | 12 +- .../perlenkette/perlenkette.component.html | 4 +- src/app/perlenkette/perlenkette.component.ts | 3 + src/app/services/data/node.service.ts | 13 +- src/app/services/data/note.service.ts | 3 +- .../services/data/trainrunsection.service.ts | 24 +- .../services/data/version-control.service.ts | 3 +- src/app/services/ui/filter.service.ts | 2 +- src/app/services/util/connection.validator.ts | 4 +- src/app/services/util/trainrun.iterator.ts | 2 +- .../util/trainrunsection.validator.ts | 12 +- src/app/services/util/transition.validator.ts | 32 +- .../components/streckengrafik.component.html | 24 +- .../components/streckengrafik.component.ts | 34 +- src/app/utils/navigation-parameters.ts | 6 +- .../view/card-grid/card/card.component.html | 2 +- src/app/view/card-grid/card/card.component.ts | 2 + .../confirmation-dialog.component.ts | 4 +- .../filterable-label-dialog.component.html | 8 +- .../filterable-label-dialog.component.ts | 37 +- .../filterable-label-form.component.html | 2 +- .../filterable-label-form.component.ts | 4 +- .../htmlEditor/html-editor.component.html | 12 +- .../htmlEditor/html-editor.component.ts | 28 +- .../note-dialog/note-dialog.component.html | 5 +- .../note-dialog/note-dialog.component.ts | 3 + .../note-edit-element.component.html | 6 +- .../note-edit-element.component.ts | 16 +- .../note-filter-tab.component.html | 7 +- .../note-filter-tab.component.ts | 4 + .../note-form/note-form.component.html | 2 +- .../note-form/note-form.component.ts | 2 + .../stammdaten-dialog.component.html | 28 +- .../stammdaten-dialog.component.ts | 15 + .../editor-edit-tools-view.component.html | 44 +-- .../editor-edit-tools-view.component.ts | 41 +- .../label-drop-list.component.html | 6 +- .../label-drop-list.component.ts | 12 +- .../editor-filter-view.component.html | 70 ++-- .../editor-filter-view.component.ts | 45 ++- .../filterable-label-filter.component.html | 10 +- .../filterable-label-filter.component.ts | 10 +- .../editor-menu/editor-menu.component.html | 38 +- .../view/editor-menu/editor-menu.component.ts | 17 + .../editor-properties-view.component.html | 28 +- .../editor-properties-view.component.ts | 13 + .../editor-node-detail-view.component.html | 51 ++- .../editor-node-detail-view.component.ts | 22 ++ .../editor-tools-view.component.html | 44 +-- .../editor-tools-view.component.ts | 21 + .../view/error-view/error-view.component.html | 2 +- .../view/error-view/error-view.component.ts | 2 + .../navigation-bar.component.ts | 10 +- .../project-dialog.component.html | 12 +- .../project-dialog.component.ts | 16 +- .../project-form/project-form.component.html | 30 +- .../project-form/project-form.component.ts | 10 + .../projects-view.component.html | 8 +- .../projects-view/projects-view.component.ts | 19 +- .../variant-dialog.component.html | 10 +- .../variant-dialog.component.ts | 11 +- .../variant-form/variant-form.component.html | 6 +- .../variant-form/variant-form.component.ts | 3 + .../publish-entry.component.html | 10 +- .../publish-entry/publish-entry.component.ts | 6 +- .../released-entry.component.ts | 14 +- .../snapshot-entry.component.ts | 10 +- .../variant-history.component.ts | 16 +- .../variant-view/variant-view.component.html | 12 +- .../variant-view/variant-view.component.ts | 10 +- .../variants-view.component.html | 10 +- .../variants-view/variants-view.component.ts | 45 ++- src/assets/i18n/de.json | 366 ++++++++++++++++-- src/assets/i18n/en.json | 358 ++++++++++++++++- src/assets/i18n/fr.json | 358 ++++++++++++++++- src/assets/i18n/it.json | 358 ++++++++++++++++- src/assets/i18n/locale.json | 358 ++++++++++++++++- src/assets/i18n/temp.json | 356 +++++++++++++++++ 84 files changed, 2731 insertions(+), 580 deletions(-) create mode 100644 src/assets/i18n/temp.json diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 3ffac212..505426ff 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -24,32 +24,32 @@ const routes: Routes = [ { path: "404", component: ErrorViewComponent, - data: {error: $localize`:@@app-routing.module.path.404:Die gesuchte Seite wurde nicht gefunden.`}, + data: {error: $localize`:@@app-routing.module.path.404:The page you were looking for was not found.`}, }, { path: "401", component: ErrorViewComponent, data: { - error: $localize`:@@app-routing.module.path.401:Sie sind nicht autorisiert, bitte laden Sie die Seite neu.`, + error: $localize`:@@app-routing.module.path.401:You are not authorized, please reload the page.`, }, }, { path: "403", component: ErrorViewComponent, - data: {error: $localize`:@@app-routing.module.path.403:Sie sind nicht berechtigt diese Aktion durchzuführen.`}, + data: {error: $localize`:@@app-routing.module.path.403:You are not authorized to perform this action.`}, }, { path: "409", component: ErrorViewComponent, data: { error: - $localize`:@@app-routing.module.path.409:Es gab einen Konflikt bei der Ausführung Ihrer Aktion, bitte versuchen Sie es erneut.`, + $localize`:@@app-routing.module.path.409:There was a conflict while executing your action, please try again.`, }, }, { path: "error", component: ErrorViewComponent, - data: {error: $localize`:@@app-routing.module.path.error:Es ist ein Fehler aufgetreten.`}, + data: {error: $localize`:@@app-routing.module.path.error:An error has occurred.`}, }, {path: "**", redirectTo: "/404"}, ]; diff --git a/src/app/app.component.html b/src/app/app.component.html index 0327bebc..81e9aaf6 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,15 +1,14 @@ - + - User Manual + {{ tUserManual }} diff --git a/src/app/view/dialogs/note-dialog/note-filter-tab/note-filter-tab.component.ts b/src/app/view/dialogs/note-dialog/note-filter-tab/note-filter-tab.component.ts index 8a0017b3..36a8188c 100644 --- a/src/app/view/dialogs/note-dialog/note-filter-tab/note-filter-tab.component.ts +++ b/src/app/view/dialogs/note-dialog/note-filter-tab/note-filter-tab.component.ts @@ -34,6 +34,10 @@ export class NoteFilterTabComponent implements OnInit, OnDestroy { readonly separatorKeysCodes = [ENTER, COMMA]; private destroyed = new Subject(); + readonly tLabels = $localize`:@@app.view.dialogs.note-dialog.note-filter-tab.labels:Labels`; + readonly tLabelPlaceholder = $localize`:@@app.view.dialogs.note-dialog.note-filter-tab.label-placeholder:New label...`; + readonly tDeleteNote = $localize`:@@app.view.dialogs.note-dialog.delete-note:Delete note`; + constructor( public dataService: DataService, private noteService: NoteService, diff --git a/src/app/view/dialogs/note-dialog/note-form/note-form.component.html b/src/app/view/dialogs/note-dialog/note-form/note-form.component.html index 26999fdb..b73da566 100644 --- a/src/app/view/dialogs/note-dialog/note-form/note-form.component.html +++ b/src/app/view/dialogs/note-dialog/note-form/note-form.component.html @@ -1,4 +1,4 @@ - + ; + readonly tTitle = $localize`:@@app.view.dialogs.note-dialog.note-form.title:Title`; + onKeydown(event) { if (event.key === "Enter") { this.onUpdate(); diff --git a/src/app/view/dialogs/stammdaten-dialog/stammdaten-dialog.component.html b/src/app/view/dialogs/stammdaten-dialog/stammdaten-dialog.component.html index afc7a914..0fe0a5f4 100644 --- a/src/app/view/dialogs/stammdaten-dialog/stammdaten-dialog.component.html +++ b/src/app/view/dialogs/stammdaten-dialog/stammdaten-dialog.component.html @@ -1,18 +1,18 @@
- Stammdaten + {{ tMainData }}
- + - + - + - + - + - + - + - + - + - + - + - +
Betriebspunkt{{ tBetriebspunkt }} {{ element.betriebspunkt }} Haltezeit IPV{{ tAStopTime }}
{{ element["HaltezeitIPV"].haltezeit }} @@ -21,7 +21,7 @@
Haltezeit A{{ tIPVStopTime }}
{{ element["HaltezeitA"].haltezeit }} @@ -30,7 +30,7 @@
Haltezeit B{{ tBStopTime }}
{{ element["HaltezeitB"].haltezeit }} @@ -39,7 +39,7 @@
Haltezeit C{{ tCStopTime }}
{{ element["HaltezeitC"].haltezeit }} @@ -48,7 +48,7 @@
Haltezeit D{{ tDStopTime }}
{{ element["HaltezeitD"].haltezeit }} @@ -57,7 +57,7 @@
ZAZ{{ tZAZ }}
{{ element.zaz }} @@ -66,7 +66,7 @@
Connection Time{{ tConnectionTime }}
{{ element.connection_time }} @@ -75,7 +75,7 @@
Region{{ tRegion }}
{{ element.region }} @@ -84,7 +84,7 @@
Kategorie{{ tCategory }}
{{ element.kategorie }} @@ -93,7 +93,7 @@
Filterbare Labels{{ tFilterableLabels }}
{{ element.filterableLabels }} @@ -102,7 +102,7 @@
Position{{ tPosition }}
{{ element.pos.getX() }}
@@ -118,7 +118,7 @@
diff --git a/src/app/view/dialogs/stammdaten-dialog/stammdaten-dialog.component.ts b/src/app/view/dialogs/stammdaten-dialog/stammdaten-dialog.component.ts index 3754169a..a43632cc 100644 --- a/src/app/view/dialogs/stammdaten-dialog/stammdaten-dialog.component.ts +++ b/src/app/view/dialogs/stammdaten-dialog/stammdaten-dialog.component.ts @@ -34,6 +34,21 @@ export class StammdatenDialogComponent implements OnDestroy { dataSource: SbbTableDataSource; private destroyed = new Subject(); + readonly tMainData = $localize`:@@app.view.dialogs.stammdaten-dialog.main-data:Main data`; + readonly tBetriebspunkt = $localize`:@@app.view.dialogs.stammdaten-dialog.betriebspunkt:Operational point`; + readonly tIPVStopTime = $localize`:@@app.view.dialogs.stammdaten-dialog.ipv-stop-time:IPV stop time`; + readonly tAStopTime = $localize`:@@app.view.dialogs.stammdaten-dialog.a-stop-time:A stop time`; + readonly tBStopTime = $localize`:@@app.view.dialogs.stammdaten-dialog.b-stop-time:B stop time`; + readonly tCStopTime = $localize`:@@app.view.dialogs.stammdaten-dialog.c-stop-time:C stop time`; + readonly tDStopTime = $localize`:@@app.view.dialogs.stammdaten-dialog.d-stop-time:D stop time`; + readonly tZAZ = $localize`:@@app.view.dialogs.stammdaten-dialog.zaz:ZAZ`; + readonly tConnectionTime = $localize`:@@app.view.dialogs.stammdaten-dialog.connection-time:Connection time`; + readonly tRegion = $localize`:@@app.view.dialogs.stammdaten-dialog.region:Region`; + readonly tCategory = $localize`:@@app.view.dialogs.stammdaten-dialog.category:Category`; + readonly tFilterableLabels = $localize`:@@app.view.dialogs.stammdaten-dialog.filterable-labels:Filterable labels`; + readonly tPosition = $localize`:@@app.view.dialogs.stammdaten-dialog.position:Position`; + readonly tClose = $localize`:@@app.view.dialogs.stammdaten-dialog.close:Close`; + constructor( public dialog: SbbDialog, private trainrunSectionService: TrainrunSectionService, diff --git a/src/app/view/editor-edit-tools-view-component/editor-edit-tools-view.component.html b/src/app/view/editor-edit-tools-view-component/editor-edit-tools-view.component.html index 7d580abe..a1637ca2 100644 --- a/src/app/view/editor-edit-tools-view-component/editor-edit-tools-view.component.html +++ b/src/app/view/editor-edit-tools-view-component/editor-edit-tools-view.component.html @@ -1,27 +1,27 @@ -

Bearbeiten

+

{{ tEdit }}

- Filterbare Labels + {{ tFilterableLabels }} - Züge + {{ tTrainruns }} - Knoten + {{ tNodes }} - Kommentare + {{ tNotes }} @@ -30,9 +30,7 @@

Bearbeiten

- - Netzgrafik - Löschen - + {{ tDeleteNetzgrafikTitle }} Bearbeiten " >
- Nicht sichtbare Elemente + {{ tNonVisibleElements }}
- Alle nicht sichtbare Elemente löschen + {{ tDeleteAllNonVisibleElements }}

- Sichtbare Elemente + {{ tVisibleElements }}
- Alle sichtbare Züge löschen + {{ tDeleteAllVisibleTrainruns }}
- Alle sichtbare Kommentare löschen + {{ tDeleteAllVisibleNotes }}
- Alle sichtbare Elemente löschen + {{ tDeleteAllVisibleElements }}
- Netzgrafik - Zusammenführen + {{ tMergeNetzgrafikTitle }}
- Züge als Kopie einfügen + {{ tAddNetzgrafikAsCopy }} Bearbeiten
- Züge durch Zusammenführen einfügen + {{ tMergeNetzgrafik }} (); + readonly tEdit = $localize`:@@app.view.editor-edit-tools-view-component.edit:Edit`; + readonly tFilterableLabels = $localize`:@@app.view.editor-edit-tools-view-component.filterable-labels:Filterable labels`; + readonly tTrainruns = $localize`:@@app.view.editor-edit-tools-view-component.trainruns:Trainruns`; + readonly tNodes = $localize`:@@app.view.editor-edit-tools-view-component.nodes:Nodes`; + readonly tNotes = $localize`:@@app.view.editor-edit-tools-view-component.notes:Notes`; + readonly tDeleteNetzgrafikTitle = $localize`:@@app.view.editor-edit-tools-view-component.delete-netzgrafik-title:Netzgrafik - Delete`; + readonly tNonVisibleElements = $localize`:@@app.view.editor-edit-tools-view-component.non-visible-elements:Non visible elements`; + readonly tDeleteAllNonVisibleElementsTooltip = $localize`:@@app.view.editor-edit-tools-view-component.delete-all-non-visible-elements-tooltip:Delete all non-visible elements, such as nodes, trainruns and notes`; + readonly tDeleteAllNonVisibleElements = $localize`:@@app.view.editor-edit-tools-view-component.delete-all-non-visible-elements:Delete all non-visible elements`; + readonly tVisibleElements = $localize`:@@app.view.editor-edit-tools-view-component.visible-elements:Visible elements`; + readonly tDeleteAllVisibleTrainrunsTooltip = $localize`:@@app.view.editor-edit-tools-view-component.delete-all-visible-trainruns-tooltip:Delete all visible trainruns`; + readonly tDeleteAllVisibleTrainruns = $localize`:@@app.view.editor-edit-tools-view-component.delete-all-visible-trainruns:Delete all visible trainruns`; + readonly tDeleteAllVisibleNotesTooltip = $localize`:@@app.view.editor-edit-tools-view-component.delete-all-visible-notes-tooltip:Delete all visible notes`; + readonly tDeleteAllVisibleNotes = $localize`:@@app.view.editor-edit-tools-view-component.delete-all-visible-notes:Delete all visible notes`; + readonly tDeleteAllVisibleElementsTooltip = $localize`:@@app.view.editor-edit-tools-view-component.delete-all-visible-elements-tooltip:Delete all visible elements, such as nodes, trainruns and notes`; + readonly tDeleteAllVisibleElements = $localize`:@@app.view.editor-edit-tools-view-component.delete-all-visible-elements:Delete all visible elements`; + readonly tMergeNetzgrafikTitle = $localize`:@@app.view.editor-edit-tools-view-component.merge-netzgrafik-title:Netzgrafik - Merge`; + readonly tAddNetzgrafikAsCopyTooltip = $localize`:@@app.view.editor-edit-tools-view-component.add-netzgrafik-as-copy-tooltip:Add netzgrafik as a copy (trainruns, nodes, notes)`; + readonly tAddNetzgrafikAsCopy = $localize`:@@app.view.editor-edit-tools-view-component.add-netzgrafik-as-copy:Add netzgrafik as a copy`; + readonly tMergeNetzgrafikTooltip = $localize`:@@app.view.editor-edit-tools-view-component.merge-netzgrafik-tooltip:Merge netzgrafik (trainruns, nodes, notes)`; + readonly tMergeNetzgrafik = $localize`:@@app.view.editor-edit-tools-view-component.merge-netzgrafik:Merge netzgrafik`; + private readonly tDelete = $localize`:@@app.view.editor-edit-tools-view-component.delete:Delete`; + constructor( private dataService: DataService, private nodeService: NodeService, @@ -74,9 +97,9 @@ export class EditorEditToolsViewComponent implements OnDestroy { } onClearAllFiltered() { - const dialogTitle = "Löschen"; + const dialogTitle = this.tDelete; const dialogContent = - "Sollen alle nicht sichtbare Elemene aus der Netzgrafik definitiv gelöscht werden?"; + $localize`:@@app.view.editor-edit-tools-view-component.on-clear-delete-all-non-visible-elements:Should all non-visible elements be permanently deleted from the netzgrafik?`; const confirmationDialogParamter = new ConfirmationDialogParameter( dialogTitle, dialogContent, @@ -93,9 +116,9 @@ export class EditorEditToolsViewComponent implements OnDestroy { } onClear() { - const dialogTitle = "Löschen"; + const dialogTitle = this.tDelete; const dialogContent = - "Sollen alle sichtbare Elemene aus der Netzgrafik definitiv gelöscht werden?"; + $localize`:@@app.view.editor-edit-tools-view-component.on-clear-delete-all-visible-elements:Should all visible elements be permanently deleted from the netzgrafik?`; const confirmationDialogParamter = new ConfirmationDialogParameter( dialogTitle, dialogContent, @@ -112,9 +135,8 @@ export class EditorEditToolsViewComponent implements OnDestroy { } onClearAllTrainruns() { - const dialogTitle = "Löschen"; - const dialogContent = - "Sollen alle sichtbare Züge definitiv gelöscht werden?"; + const dialogTitle = this.tDelete; + const dialogContent = $localize`:@@app.view.editor-edit-tools-view-component.on-clear-delete-all-visible-trainruns:Should all visible trainruns be permanently deleted from the netzgrafik?`; const confirmationDialogParamter = new ConfirmationDialogParameter( dialogTitle, dialogContent, @@ -129,9 +151,8 @@ export class EditorEditToolsViewComponent implements OnDestroy { } onClearAllNotes() { - const dialogTitle = "Löschen"; - const dialogContent = - "Sollen alle sichtbare Kommentare definitiv gelöscht werden?"; + const dialogTitle = this.tDelete; + const dialogContent = $localize`:@@app.view.editor-edit-tools-view-component.on-clear-delete-all-visible-notes:Should all visible notes be permanently deleted from the netzgrafik?`; const confirmationDialogParamter = new ConfirmationDialogParameter( dialogTitle, dialogContent, diff --git a/src/app/view/editor-edit-tools-view-component/label-drop-list/label-drop-list.component.html b/src/app/view/editor-edit-tools-view-component/label-drop-list/label-drop-list.component.html index 0d0abdfd..4dd7e654 100644 --- a/src/app/view/editor-edit-tools-view-component/label-drop-list/label-drop-list.component.html +++ b/src/app/view/editor-edit-tools-view-component/label-drop-list/label-drop-list.component.html @@ -1,6 +1,6 @@
    Keine Labels vorhanden.    {{ tNoLabelsAvailable }}
@@ -68,7 +68,7 @@
- Takt + {{ tFrequency }}
- Verkehrt + {{ tTimeCategory }}
- Filterbare Labels: Züge + {{ tFilterableLabelsTrainruns }} - + @@ -81,10 +81,10 @@

Filter

- Filterbare Labels: Knoten + {{ tFilterableLabelsNodes }} - + @@ -96,10 +96,10 @@

Filter

- Filterbare Labels: Kommentare + {{ tFilterableLabelsNotes }} - + @@ -110,15 +110,15 @@

Filter

- Anzeigen + {{ tDisplay }} - + - Zeiten + {{ tTimes }}
- + Filter Abfahrt- und Ankuftszeiten anzeigen + >{{ tDisplayArrivalDepartureTimes }} - Abfahrt- und Ankuftszeiten für Durchfahrten anzeigen + {{ tDisplayArrivalDepartureTimesForConnections }} Fahrzeiten anzeigen + >{{ tDisplayTravelTimes }} Zugname anzeigen + >{{ tDisplayTrainrunName }}

- Anschlüsse + {{ tConnections }}
Anschlüsse anzeigen + >{{ tDisplayConnections }}

- Knoten + {{ tNodes }}
Knoten ohne (angezeigte) Züge anzeigen + >{{ tDisplayNodesWithoutVisibleTrainruns }} Knoten mit nur durchfahrenden Züge anzeigen + >{{ tDisplayNodesWithOnlyStoppingTrainruns }}

- Kommentare + {{ tNotes }}
Kommentare anzeigen + >{{ tDisplayNotes }}
@@ -189,16 +189,16 @@

Filter

sbb-secondary-button class="sbb-mt-m" [disabled]="isDisplayFilteringActive()" - title="Anzeigefilter zurücksetzen" + [title]="tResetDisplayFilter" (click)="onResetDisplayFilter()" > - Anzeigefilter zurücksetzen + {{ tResetDisplayFilter }}
- Gespeicherte Filter + {{ tSavedFilters }}
Filter [class]="getFilterSettingAddButtonClassname()" (click)="onSaveAsNewFilterSetting()" mode="ghost" - title="Filter speichern und als Filtereinstellungen hinzufügen" + [title]="tSaveFilters" > Filter sbb-secondary-button class="sbb-mt-m" [disabled]="!this.filterService.isAnyFilterActive()" - title="Alle Anzeigefilter zurücksetzen" + [title]="tResetAllDisplayFilters" (click)="onResetAllFilter()" > - Alle Anzeigefilter zurücksetzen + {{ tResetAllDisplayFilters }}
diff --git a/src/app/view/editor-filter-view/editor-filter-view.component.ts b/src/app/view/editor-filter-view/editor-filter-view.component.ts index 2d5d8ef3..1466168b 100644 --- a/src/app/view/editor-filter-view/editor-filter-view.component.ts +++ b/src/app/view/editor-filter-view/editor-filter-view.component.ts @@ -38,6 +38,35 @@ export class EditorFilterViewComponent implements OnInit, OnDestroy { private destroyed = new Subject(); + readonly tFilter = $localize`:@@app.view.editor-filter-view.filter:Filter`; + readonly tGeneral = $localize`:@@app.view.editor-filter-view.general:General`; + readonly tCategory = $localize`:@@app.view.editor-filter-view.category:Category`; + readonly tFrequency = $localize`:@@app.view.editor-filter-view.frequency:Frequence`; + readonly tTimeCategory = $localize`:@@app.view.editor-filter-view.time-category:Time category`; + readonly tDisplayAllTrainruns = $localize`:@@app.view.editor-filter-view.display-all-trainruns:Display all trainruns`; + readonly tResetTrainrunFilter = $localize`:@@app.view.editor-filter-view.reset-trainrun-filter:Reset trainrun filter`; + readonly tFilterableLabelsTrainruns = $localize`:@@app.view.editor-filter-view.filterable-labels-trainruns:Filterable labels: Trainruns`; + readonly tFilterableLabelsNodes = $localize`:@@app.view.editor-filter-view.filterable-labels-nodes:Filterable labels: Nodes`; + readonly tFilterableLabelsNotes = $localize`:@@app.view.editor-filter-view.filterable-labels-notes:Filterable labels: Notes`; + readonly tDisplay = $localize`:@@app.view.editor-filter-view.display:Display`; + readonly tTimes = $localize`:@@app.view.editor-filter-view.times:Times`; + readonly tDecimalDisplayed = $localize`:@@app.view.editor-filter-view.decimal-displayed:Number of decimal place displayed`; + readonly tDisplayArrivalDepartureTimes = $localize`:@@app.view.editor-filter-view.display-arrival-departure-times:Display departure and arrival times`; + readonly tDisplayArrivalDepartureTimesForConnections = $localize`:@@app.view.editor-filter-view.display-arrival-departure-times-for-connections:Display departure and arrival times for connections`; + readonly tDisplayTravelTimes = $localize`:@@app.view.editor-filter-view.display-travel-times:Display travel times`; + readonly tDisplayTrainrunName = $localize`:@@app.view.editor-filter-view.display-trainrun-name:Display trainrun name`; + readonly tConnections = $localize`:@@app.view.editor-filter-view.connection:Connections`; + readonly tDisplayConnections = $localize`:@@app.view.editor-filter-view.display-connections:Display connections`; + readonly tNodes = $localize`:@@app.view.editor-filter-view.nodes:Nodes`; + readonly tDisplayNodesWithoutVisibleTrainruns = $localize`:@@app.view.editor-filter-view.display-nodes-without-visible-trainruns:Display nodes without (visible) trainruns`; + readonly tDisplayNodesWithOnlyStoppingTrainruns = $localize`:@@app.view.editor-filter-view.display-nodes-with-only-stopping-trainruns:Display nodes with only stopping trainruns`; + readonly tNotes = $localize`:@@app.view.editor-filter-view.notes:Notes`; + readonly tDisplayNotes = $localize`:@@app.view.editor-filter-view.display-notes:Display notes`; + readonly tResetDisplayFilter = $localize`:@@app.view.editor-filter-view.reset-display-filter:Reset display filter`; + readonly tSavedFilters = $localize`:@@app.view.editor-filter-view.saved-filters:Saved filters`; + readonly tSaveFilters = $localize`:@@app.view.editor-filter-view.save-filters:Save filters and add them as filter settings`; + readonly tResetAllDisplayFilters = $localize`:@@app.view.editor-filter-view.reset-all-display-filters:Reset all display filters`; + constructor( public dataService: DataService, public uiInteractionService: UiInteractionService, @@ -152,9 +181,9 @@ export class EditorFilterViewComponent implements OnInit, OnDestroy { getFilterSettingTooltip(filterSetting: FilterSetting): string { if (!this.filterService.isFilterSettingEnabled(filterSetting.getId())) { - return filterSetting.name + " laden"; + return $localize`:@@app.view.editor-filter-view.load-filter:Load ${filterSetting.name}`; } - return filterSetting.name + " neu laden"; + return $localize`:@@app.view.editor-filter-view.reload-filter:Reload ${filterSetting.name}`; } isTrainrunFilteringActive(): boolean { @@ -300,18 +329,18 @@ export class EditorFilterViewComponent implements OnInit, OnDestroy { getCategoryTooltip(trainrunCategory: TrainrunCategory): string { if (!this.filterService.isFilterTrainrunCategoryEnabled(trainrunCategory)) { - return trainrunCategory.name + " einblenden"; + return $localize`:@@app.view.editor-filter-view.show-trainrun-category:Show ${trainrunCategory.name}`; } - return trainrunCategory.name + " ausblenden"; + return $localize`:@@app.view.editor-filter-view.hide-trainrun-category:Hide ${trainrunCategory.name}`; } getTimeCategoryTooltip(trainrunTimeCategory: TrainrunTimeCategory): string { /* if (!this.filterService.isFilterTrainrunCategoryEnabled(trainrunTimeCategory)) { - return trainrunTimeCategory.name + ' einblenden'; + return $localize`:@@app.view.editor-filter-view.show-trainrun-time-category:Show ${trainrunTimeCategory.name}/${trainrunTimeCategory.name} einblenden`; } */ - return trainrunTimeCategory.name + " ausblenden"; + return $localize`:@@app.view.editor-filter-view.hide-trainrun-time-category:Hide ${trainrunTimeCategory.name}`; } makeCategoryButtonLabel(trainrunCategory: TrainrunCategory): string { @@ -380,9 +409,9 @@ export class EditorFilterViewComponent implements OnInit, OnDestroy { if ( !this.filterService.isFilterTrainrunFrequencyEnabled(trainrunFrequency) ) { - return trainrunFrequency.name + " einblenden"; + return trainrunFrequency.name + " " + $localize`:@@app.view.editor-filter-view.show-trainrun-frequency:Show ${trainrunFrequency.name}`; } - return trainrunFrequency.name + " ausblenden"; + return trainrunFrequency.name + " " + $localize`:@@app.view.editor-filter-view.hide-trainrun-frequency:Hide ${trainrunFrequency.name}`; } makeFrequencyButtonLabel(trainrunFrequency: TrainrunFrequency): string { diff --git a/src/app/view/editor-filter-view/filterable-label-filter/filterable-label-filter.component.html b/src/app/view/editor-filter-view/filterable-label-filter/filterable-label-filter.component.html index 8858cce6..06957332 100644 --- a/src/app/view/editor-filter-view/filterable-label-filter/filterable-label-filter.component.html +++ b/src/app/view/editor-filter-view/filterable-label-filter/filterable-label-filter.component.html @@ -1,5 +1,5 @@
- Keine Labels vorhanden. + {{ tNoLabelsAvailable }}
@@ -11,7 +11,7 @@ class="TrainrunDialog FilterableLabel LogicalOperator" (click)="enableLogicalFilterOperatorAnd(nodeLabelGrp)" > - Oder + {{ tOr }} @@ -19,7 +19,7 @@ class="TrainrunDialog FilterableLabel LogicalOperator" (click)="enableLogicalFilterOperatorOr(nodeLabelGrp)" > - Und + {{ tAnd }}
@@ -46,9 +46,9 @@ sbb-secondary-button class="sbb-mt-m" [disabled]="isFilteringLabels()" - title="Alles anzeigen" + [title]="tShowAll" (click)="OnResetFilterableLabels()" > - Filter zurücksetzen + {{ tResetFilter }}
diff --git a/src/app/view/editor-filter-view/filterable-label-filter/filterable-label-filter.component.ts b/src/app/view/editor-filter-view/filterable-label-filter/filterable-label-filter.component.ts index 21202f66..1fa1b3fa 100644 --- a/src/app/view/editor-filter-view/filterable-label-filter/filterable-label-filter.component.ts +++ b/src/app/view/editor-filter-view/filterable-label-filter/filterable-label-filter.component.ts @@ -24,6 +24,12 @@ export class FilterableLabelFilterComponent implements OnInit, OnDestroy { public filterableLabelGroups: LabelGroup[]; private destroyed = new Subject(); + readonly tNoLabelsAvailable = $localize`:@@app.view.editor-filter-view.filterable-label-filter.no-labels-available:No labels available`; + readonly tOr = $localize`:@@app.view.editor-filter-view.filterable-label-filter.or:Or`; + readonly tAnd = $localize`:@@app.view.editor-filter-view.filterable-label-filter.and:And`; + readonly tShowAll = $localize`:@@app.view.editor-filter-view.filterable-label-filter.show-all:Show all`; + readonly tResetFilter = $localize`:@@app.view.editor-filter-view.filterable-label-filter.reset-filter:Reset filter`; + constructor( public dataService: DataService, public uiInteractionService: UiInteractionService, @@ -165,9 +171,9 @@ export class FilterableLabelFilterComponent implements OnInit, OnDestroy { (filterLabel) => filterLabel === labelObject.getId(), ) !== undefined ) { - return labelObject.getLabel() + ": einblenden"; + return labelObject.getLabel() + ": " + $localize`:@@app.view.editor-filter-view.filterable-label-filter.show:show`; } - return labelObject.getLabel() + ": ausblenden"; + return labelObject.getLabel() + ": " + $localize`:@@app.view.editor-filter-view.filterable-label-filter.hide:hide`; } isFilteringLabels(): boolean { diff --git a/src/app/view/editor-menu/editor-menu.component.html b/src/app/view/editor-menu/editor-menu.component.html index 64666f83..6ca7d6a6 100644 --- a/src/app/view/editor-menu/editor-menu.component.html +++ b/src/app/view/editor-menu/editor-menu.component.html @@ -7,16 +7,16 @@
- Speichere Änderungen + {{ tSaveChanges }} - Änderungen gespeichert + {{ tChangesSaved }} - Lese-Modus + {{ tReadMode }}
@@ -34,7 +34,7 @@ mode="icon" class="ButtonFilter" (click)="onFilter()" - title="Filter ein-/ausblenden" + [title]="tShowHideFilter" > - @@ -125,7 +125,7 @@ mode="ghost" class="ButtonZoomIn" (click)="onZoomIn()" - title="Hereinzoomen" + [title]="tZoomIn" > + @@ -144,7 +144,7 @@ " [disabled]="isStreckengrafikEditing() || isAnalytics()" (click)="onTopologieEditor()" - title="Topologie Editor deaktiviert" + [title]="tTopologyEditorDisabled" > Einstellungen +

{{ tSettings }}

- Farbschema - Theme + {{ tColorScheme }} + {{ tTheme }}
Einstellungen
- Hintergrundfarbe + {{ tBackgroundColor }} Einstellungen class="sbb-mt-m" style="transform: translate(0px, -6px);" [disabled]="isBackgroundColorWhite()" - title="Hintergrundfarbe auf 'weiss' setzten" + [title]="tSetColorToWhite" (click)="setBackgroundColorToWhite()" > Einstellungen class="sbb-mt-m" [disabled]="isDefaultBackgroundColorActive()" style="transform: translate(0px, -6px);" - title="Hintergrundfarbe auf Standard zurücksetzen" + [title]="tResetBackgroundColorToDefault" (click)="onResetBackgroundColor()" > - Hintergrundfarbe (dunkel) + {{ tBackgroundColorBlack }}
Einstellungen sbb-secondary-button class="sbb-mt-m" [disabled]="isDefaultDarkBackgroundColorActive()" - title="Hintergrundfarbe auf Standard zurücksetzen" + [title]="tResetBackgroundColorToDefault" style="transform: translate(0px, -6px);" (click)="onResetDarkBackgroundColor()" > @@ -105,8 +105,8 @@

Einstellungen

- Editor - Fahrzeitvoreinstellungs (Heuristik) + {{ tEditor }} + {{ tTravelTimePresettingDefault }}
Einstellungen
- Streckengrafik - Achsenskalierung (Distanz) + {{ tStreckengrafik }} + {{ tAxisScalingDistance }}
- Stammdaten - + {{ tMainData }} + - + - + - Auslastung + {{ tOccupancy }}
- +
- Filterbare Labels - + {{ tFilterableLabels }} + @@ -66,7 +65,7 @@

- Haltezeiten + {{ tStoppingTimes }} - Haltezeit pro Produkt + {{ tStoppingTimePerProduct }} - + - + - + - + - +
IPV{{ tIPV }}
.no_halt " (change)="haltezeitIPVNoHaltChanged()" - >Kein Halt + >{{ tNoStop }}
A{{ tA }}
nodeProperties.nodeTrainrunCategoryHaltezeit['HaltezeitA'].no_halt " (change)="haltezeitANoHaltChanged()" - >Kein Halt + >{{ tNoStop }}
B{{ tB }}
nodeProperties.nodeTrainrunCategoryHaltezeit['HaltezeitB'].no_halt " (change)="haltezeitBNoHaltChanged()" - >Kein Halt + >{{ tNoStop }}
C{{ tC }}
nodeProperties.nodeTrainrunCategoryHaltezeit['HaltezeitC'].no_halt " (change)="haltezeitCNoHaltChanged()" - >Kein Halt + >{{ tNoStop }}
D{{ tD }}
nodeProperties.nodeTrainrunCategoryHaltezeit['HaltezeitD'].no_halt " (change)="haltezeitDNoHaltChanged()" - >Kein Halt + >{{ tNoStop }}
- Links + {{ tLinks }} @@ -307,6 +306,6 @@

class="sbb-mt-m sbb-ml-m" (click)="onDeleteNode()" > - Knoten löschen + {{ tDeleteNote }} diff --git a/src/app/view/editor-side-view/editor-node-detail-view/editor-node-detail-view.component.ts b/src/app/view/editor-side-view/editor-node-detail-view/editor-node-detail-view.component.ts index 26228a61..8629eac7 100644 --- a/src/app/view/editor-side-view/editor-node-detail-view/editor-node-detail-view.component.ts +++ b/src/app/view/editor-side-view/editor-node-detail-view/editor-node-detail-view.component.ts @@ -43,6 +43,28 @@ export class EditorNodeDetailViewComponent implements OnInit, OnDestroy { @Output() public nodeDeleted = new EventEmitter(); + readonly tMainData = $localize`:@@app.view.editor-side-view.editor-node-detail-view.main-data:Main data`; + readonly tOperationalPoint = $localize`:@@app.view.editor-side-view.editor-node-detail-view.operational-point:Operational point`; + readonly tName = $localize`:@@app.view.editor-side-view.editor-node-detail-view.name:Name`; + readonly tConnectionTime = $localize`:@@app.view.editor-side-view.editor-node-detail-view.connection-time:Connection time`; + readonly tOccupancy = $localize`:@@app.view.editor-side-view.editor-node-detail-view.occupancy:Occupancy`; + readonly tCapacity = $localize`:@@app.view.editor-side-view.editor-node-detail-view.capacity:Capacity`; + readonly tFilterableLabels = $localize`:@@app.view.editor-side-view.editor-node-detail-view.filterable-labels:Filterable labels`; + readonly tLabels = $localize`:@@app.view.editor-side-view.editor-node-detail-view.labels:Labels`; + readonly tNewLabelPlaceholder = $localize`:@@app.view.editor-side-view.editor-node-detail-view.new-label-placeholder:New label...`; + readonly tStoppingTimes = $localize`:@@app.view.editor-side-view.editor-node-detail-view.stopping-times:Stopping times`; + readonly tStoppingTimePerProduct = $localize`:@@app.view.editor-side-view.editor-node-detail-view.stopping-time-per-product:Stopping time per product`; + readonly tNoStop = $localize`:@@app.view.editor-side-view.editor-node-detail-view.no-stop:No stop`; + readonly tIPV = $localize`:@@app.view.editor-side-view.editor-node-detail-view.ipv:IPV`; + readonly tA = $localize`:@@app.view.editor-side-view.editor-node-detail-view.a:A`; + readonly tB = $localize`:@@app.view.editor-side-view.editor-node-detail-view.b:B`; + readonly tC = $localize`:@@app.view.editor-side-view.editor-node-detail-view.c:C`; + readonly tD = $localize`:@@app.view.editor-side-view.editor-node-detail-view.d:D`; + readonly tLinks = $localize`:@@app.view.editor-side-view.editor-node-detail-view.links:Links`; + readonly tPlatformInformation = $localize`:@@app.view.editor-side-view.editor-node-detail-view.platform-information:Platform information`; + readonly tPlatformLength = $localize`:@@app.view.editor-side-view.editor-node-detail-view.platform-length:Platform length`; + readonly tDeleteNote = $localize`:@@app.view.editor-side-view.editor-node-detail-view.delete-node:Delete node`; + nodeProperties: NodeProperties = { nodeId: 0, nodeBetriebspunktName: "", diff --git a/src/app/view/editor-tools-view-component/editor-tools-view.component.html b/src/app/view/editor-tools-view-component/editor-tools-view.component.html index ca641ce8..65849e2b 100644 --- a/src/app/view/editor-tools-view-component/editor-tools-view.component.html +++ b/src/app/view/editor-tools-view-component/editor-tools-view.component.html @@ -1,49 +1,49 @@ -

Weitere Funktionen

+

{{ tMoreFunctions }}

- Exportieren + {{ tExport }} - Exportieren als SVG + {{ tExportAsSVG }}
- Exportieren als PNG + {{ tExportAsPNG }}
- Drucken + {{ tPrint }}
- Netzgrafik + {{ tNetzgrafik }} - Netzgrafik als JSON exportieren + {{ tExportNetzgrafikAsJSON }}
- Zuglauf als .csv exportieren + {{ tExportTrainrunsAsCSV }} In Exel : Daten -> Aus Text/CSV -> Filename ... importieren.{{ tExportTrainrunsAsCSVExcel }}
- Stammdaten + {{ tMainData }} - Stammdaten importieren + {{ tImportMainData }} Hilfe: CSV - Datei{{ tHelpCSVData }} Weitere Funktionen


- Stammdaten exportieren + {{ tExportMainData }}
diff --git a/src/app/view/editor-tools-view-component/editor-tools-view.component.ts b/src/app/view/editor-tools-view-component/editor-tools-view.component.ts index 97988596..398353bc 100644 --- a/src/app/view/editor-tools-view-component/editor-tools-view.component.ts +++ b/src/app/view/editor-tools-view-component/editor-tools-view.component.ts @@ -40,6 +40,27 @@ export class EditorToolsViewComponent { map((v) => v?.isWritable), ); + readonly tMoreFunctions = $localize`:@@app.view.editor-side-view.editor-tools-view-component.more-functions:More functions`; + readonly tExport = $localize`:@@app.view.editor-side-view.editor-tools-view-component.export:Export`; + readonly tExportNetzgrafikAsSVG = $localize`:@@app.view.editor-side-view.editor-tools-view-component.export-netzgrafik-as-svg:Export netzgrafik as SVG`; + readonly tExportAsSVG = $localize`:@@app.view.editor-side-view.editor-tools-view-component.export-as-svg:Export as SVG`; + readonly tExportNetzgrafikAsPNG = $localize`:@@app.view.editor-side-view.editor-tools-view-component.export-netzgrafik-as-png:Export netzgrafik as PNG`; + readonly tExportAsPNG = $localize`:@@app.view.editor-side-view.editor-tools-view-component.export-as-png:Export as PNG`; + readonly tPrintNetzgrafik = $localize`:@@app.view.editor-side-view.editor-tools-view-component.print-netzgrafik:Print netzgrafik`; + readonly tPrint = $localize`:@@app.view.editor-side-view.editor-tools-view-component.print:Print`; + readonly tNetzgrafik = $localize`:@@app.view.editor-side-view.editor-tools-view-component.netzgrafik:netzgrafik`; + readonly tExportNetzgrafik = $localize`:@@app.view.editor-side-view.editor-tools-view-component.export-netzgrafik:Export netzgrafik`; + readonly tExportNetzgrafikAsJSON = $localize`:@@app.view.editor-side-view.editor-tools-view-component.export-netzgrafik-as-json:Export netzgrafik as JSON`; + readonly tImportNetzgrafik = $localize`:@@app.view.editor-side-view.editor-tools-view-component.import-netzgrafik:Import netzgrafik`; + readonly tImportNetzgrafikAsJSON = $localize`:@@app.view.editor-side-view.editor-tools-view-component.import-netzgrafik-as-json:Import netzgrafik as JSON`; + readonly tExportTrainruns = $localize`:@@app.view.editor-side-view.editor-tools-view-component.export-trainruns:Export trainruns`; + readonly tExportTrainrunsAsCSV = $localize`:@@app.view.editor-side-view.editor-tools-view-component.export-trainruns-as-csv:Export trainruns as CSV`; + readonly tExportTrainrunsAsCSVExcel = $localize`:@@app.view.editor-side-view.editor-tools-view-component.export-trainruns-as-csv-excel:In Excel: Data -> From Text/CSV -> Import ... filename`; + readonly tMainData = $localize`:@@app.view.editor-side-view.editor-tools-view-component.main-data:Main data`; + readonly tImportMainData = $localize`:@@app.view.editor-side-view.editor-tools-view-component.import-main-data:Import main data`; + readonly tHelpCSVData = $localize`:@@app.view.editor-side-view.editor-tools-view-component.help-csv-data:Help: CSV - Data`; + readonly tExportMainData = $localize`:@@app.view.editor-side-view.editor-tools-view-component.export-main-data:Export main data`; + constructor( private dataService: DataService, private trainrunService: TrainrunService, diff --git a/src/app/view/error-view/error-view.component.html b/src/app/view/error-view/error-view.component.html index 68d2baf3..13d84885 100644 --- a/src/app/view/error-view/error-view.component.html +++ b/src/app/view/error-view/error-view.component.html @@ -1,4 +1,4 @@ -

Fehler

+

{{ tError }}

{{ error | async }}

diff --git a/src/app/view/error-view/error-view.component.ts b/src/app/view/error-view/error-view.component.ts index 3c31300e..e99f4b22 100644 --- a/src/app/view/error-view/error-view.component.ts +++ b/src/app/view/error-view/error-view.component.ts @@ -9,6 +9,8 @@ import {map} from "rxjs/operators"; styleUrls: ["./error-view.component.scss"], }) export class ErrorViewComponent { + readonly tError = $localize`:@@app.view.error-view.error:Error`; + constructor(private activatedRoute: ActivatedRoute) {} get error(): Observable { diff --git a/src/app/view/navigation-bar/navigation-bar.component.ts b/src/app/view/navigation-bar/navigation-bar.component.ts index 92d44422..e3e382ce 100644 --- a/src/app/view/navigation-bar/navigation-bar.component.ts +++ b/src/app/view/navigation-bar/navigation-bar.component.ts @@ -23,7 +23,7 @@ export class NavigationBarComponent implements OnInit { { name: this.projectsBackendService .getProject(params[0].asNumber()) - .pipe(map((project) => `Projekt «${project.name}»`)), + .pipe(map((project) => $localize`:@@app.view.navigation-bar.project-name:Project «${project.name}»`)), route: this.navigationService.getRouteToVariants( params[0].asNumber(), ), @@ -39,8 +39,8 @@ export class NavigationBarComponent implements OnInit { .pipe( map((project) => project.isArchived === false - ? `Projekt «${project.name}»` - : `Projekt «${project.name}» (archiviert)`, + ? $localize`:@@app.view.navigation-bar.project-name:Project «${project.name}»` + : $localize`:@@app.view.navigation-bar.project-name-archived:Project «${project.name}» (archived)`, ), ), route: this.navigationService.getRouteToVariants( @@ -53,8 +53,8 @@ export class NavigationBarComponent implements OnInit { .pipe( map((variant) => variant.isArchived === false - ? `Variante «${variant.latestVersion.name}»` - : `Variante «${variant.latestVersion.name}» (archiviert)`, + ? $localize`:@@app.view.navigation-bar.variant-name:Variant «${variant.latestVersion.name}»` + : $localize`:@@app.view.navigation-bar.variant-name-archived:Variant «${variant.latestVersion.name}» (archived)`, ), ), route: this.navigationService.getRouteToEditor( diff --git a/src/app/view/project/project-dialog/project-dialog.component.html b/src/app/view/project/project-dialog/project-dialog.component.html index 63952acd..3201383d 100644 --- a/src/app/view/project/project-dialog/project-dialog.component.html +++ b/src/app/view/project/project-dialog/project-dialog.component.html @@ -1,9 +1,9 @@
- Projekt erstellen - Projekt bearbeiten + {{ tCreateProject }} + {{ tEditProject }}
- +
- +
diff --git a/src/app/view/project/project-dialog/project-dialog.component.ts b/src/app/view/project/project-dialog/project-dialog.component.ts index 5c2a6a03..5901fefe 100644 --- a/src/app/view/project/project-dialog/project-dialog.component.ts +++ b/src/app/view/project/project-dialog/project-dialog.component.ts @@ -15,9 +15,15 @@ import {filter} from "rxjs/operators"; styleUrls: ["./project-dialog.component.scss"], }) export class ProjectDialogComponent { - readonly formmodel: FormModel; + readonly formModel: FormModel; readonly isNewProject: boolean; + readonly tCreateProject = $localize`:@@app.view.project.project-dialog.create-project:Create project`; + readonly tEditProject = $localize`:@@app.view.project.project-dialog.edit-project:Edit project`; + readonly tCreate = $localize`:@@app.view.project.project-dialog.create:Create`; + readonly tSave = $localize`:@@app.view.project.project-dialog.save:Save`; + readonly tCancel = $localize`:@@app.view.project.project-dialog.cancel:Cancel`; + constructor( public readonly dialogRef: SbbDialogRef< ProjectDialogComponent, @@ -25,7 +31,7 @@ export class ProjectDialogComponent { >, @Inject(SBB_DIALOG_DATA) data?: ProjectFormComponentModel, ) { - this.formmodel = new FormModel( + this.formModel = new FormModel( data ?? { name: "", description: "", @@ -48,10 +54,10 @@ export class ProjectDialogComponent { } onCreateClicked(): void { - const formdata = this.formmodel.tryGetValid(); + const formData = this.formModel.tryGetValid(); - if (formdata) { - this.dialogRef.close(formdata); + if (formData) { + this.dialogRef.close(formData); } } diff --git a/src/app/view/project/project-dialog/project-form/project-form.component.html b/src/app/view/project/project-dialog/project-form/project-form.component.html index 72c6a45f..818261f3 100644 --- a/src/app/view/project/project-dialog/project-form/project-form.component.html +++ b/src/app/view/project/project-dialog/project-form/project-form.component.html @@ -1,40 +1,38 @@
- + Pflichtfeld{{ tMandatoryField }} - + - + - Benutzer müssen mit ihrer U/E-Nummer angegeben werden (bsp. u123456 - e654321). Eingabe pro Nummer jeweils mit 'Enter' bestätigen. - Kleinschreibung beachten! + {{ tTooltip }} - Benutzer mit Schreibzugriff + {{ tUserWithWriteAccess }} - Ungültige Werte: + {{ tInvalidValues }}: {{ model.getControl("writeUsers").errors?.invalidUserIds }} - Benutzer mit Lesezugriff + {{ tUserWithReadAccess }} - Ungültige Werte: + {{ tInvalidValues }}: {{ model.getControl("readUsers").errors?.invalidUserIds }} diff --git a/src/app/view/project/project-dialog/project-form/project-form.component.ts b/src/app/view/project/project-dialog/project-form/project-form.component.ts index 1c1867b1..45e7539f 100644 --- a/src/app/view/project/project-dialog/project-form/project-form.component.ts +++ b/src/app/view/project/project-dialog/project-form/project-form.component.ts @@ -13,6 +13,16 @@ export class ProjectFormComponent implements OnInit { readonly separatorKeysCodes = [ENTER, COMMA]; + readonly tName = $localize`:@@app.view.project.project-dialog.project-form.name:Name` + readonly tMandatoryField = $localize`:@@app.view.project.project-dialog.project-form.mandatory-field:Mandatory field` + readonly tSummary = $localize`:@@app.view.project.project-dialog.project-form.summary:Summary` + readonly tDescription = $localize`:@@app.view.project.project-dialog.project-form.description:Description` + readonly tTooltip = $localize`:@@app.view.project.project-dialog.project-form.tooltip:Users must be entered with their U/E number (e.g. u123456e654321). Confirm the entry for each number with 'Enter'. Note lower case!` + readonly tUserWithWriteAccess = $localize`:@@app.view.project.project-dialog.project-form.user-with-write-access:User with write access` + readonly tNewUserPlaceholder = $localize`:@@app.view.project.project-dialog.project-form.new-user-placeholder:New user...` + readonly tInvalidValues = $localize`:@@app.view.project.project-dialog.project-form.invalid-values:Invalid values` + readonly tUserWithReadAccess = $localize`:@@app.view.project.project-dialog.project-form.user-with-read-access:User with read access` + ngOnInit(): void { this.model.registerValidator("name", Validators.required); this.model.registerValidator("writeUsers", userIdsValidator); diff --git a/src/app/view/project/projects-view/projects-view.component.html b/src/app/view/project/projects-view/projects-view.component.html index 37271645..3c50cba7 100644 --- a/src/app/view/project/projects-view/projects-view.component.html +++ b/src/app/view/project/projects-view/projects-view.component.html @@ -1,5 +1,5 @@ -

Projekte

+

{{ tProjects }}

Projekte

class="search" type="text" sbbInput - placeholder="Projekt suchen" + [placeholder]="tSearchProject" />
Archiv anzeigen{{ tShowArchive }}
@@ -24,7 +24,7 @@

Projekte

> diff --git a/src/app/view/project/projects-view/projects-view.component.ts b/src/app/view/project/projects-view/projects-view.component.ts index 5dcc08fd..37f71d18 100644 --- a/src/app/view/project/projects-view/projects-view.component.ts +++ b/src/app/view/project/projects-view/projects-view.component.ts @@ -31,6 +31,11 @@ export class ProjectsViewComponent implements OnDestroy { private destroyed = new Subject(); + readonly tProjects = $localize`:@@app.view.project.projects-view.projects:Projects`; + readonly tSearchProject = $localize`:@@app.view.project.projects-view.search-project:Search project`; + readonly tShowArchive = $localize`:@@app.view.project.projects-view.show-archive:Show archive`; + readonly tArchived = $localize`:@@app.view.project.projects-view.archived:(archived)`; + constructor( public projectService: ProjectsViewService, private readonly projectControllerBackendService: ProjectControllerBackendService, @@ -103,8 +108,8 @@ export class ProjectsViewComponent implements OnDestroy { this.uiInteractionService .showConfirmationDiagramDialog( new ConfirmationDialogParameter( - "Projekt archivieren", - "Möchten Sie das Projekt jetzt archivieren?", + $localize`:@@app.view.project.projects-view.archive-project.title:Archive project`, + $localize`:@@app.view.project.projects-view.archive-project.content:Would you like to archive the project now?`, ), ) .pipe( @@ -124,8 +129,8 @@ export class ProjectsViewComponent implements OnDestroy { this.uiInteractionService .showConfirmationDiagramDialog( new ConfirmationDialogParameter( - "Archivierung rückgängig machen", - "Möchten Sie die Archivierung des Projekts rückgängig machen?", + $localize`:@@app.view.project.projects-view.undo-archiving-project.title:Undo archiving`, + $localize`:@@app.view.project.projects-view.undo-archiving-project.content:Would you like to undo the archiving the project now?`, ), ) .pipe( @@ -147,7 +152,7 @@ export class ProjectsViewComponent implements OnDestroy { if (project.isArchived) { return of([ { - name: "Archivierung rückgängig machen", + name: $localize`:@@app.view.project.projects-view.undo-archiving:Undo archiving`, icon: "arrow-circle-eye-small", action: () => this.onUnarchiveProjectClicked(project), }, @@ -155,12 +160,12 @@ export class ProjectsViewComponent implements OnDestroy { } return of([ { - name: "Bearbeiten", + name: $localize`:@@app.view.project.projects-view.edit:Edit`, icon: "pen-small", action: () => this.onEditProjectClicked(project), }, { - name: "Archivieren", + name: $localize`:@@app.view.project.projects-view.archive:Archive`, icon: "archive-box-small", action: () => this.onArchiveProjectClicked(project), }, diff --git a/src/app/view/variant/variant-dialog/variant-dialog.component.html b/src/app/view/variant/variant-dialog/variant-dialog.component.html index e22e92df..acad309a 100644 --- a/src/app/view/variant/variant-dialog/variant-dialog.component.html +++ b/src/app/view/variant/variant-dialog/variant-dialog.component.html @@ -1,13 +1,13 @@
- Variante erstellen - Variante bearbeiten + {{ tCreateVariant }} + {{ tEditVariant }}
- +
- +
diff --git a/src/app/view/variant/variant-dialog/variant-dialog.component.ts b/src/app/view/variant/variant-dialog/variant-dialog.component.ts index 8df58f75..45c2ed1b 100644 --- a/src/app/view/variant/variant-dialog/variant-dialog.component.ts +++ b/src/app/view/variant/variant-dialog/variant-dialog.component.ts @@ -15,9 +15,14 @@ import {filter} from "rxjs/operators"; styleUrls: ["./variant-dialog.component.scss"], }) export class VariantDialogComponent { - readonly formmodel: FormModel; + readonly formModel: FormModel; readonly isNewVariant: boolean; + readonly tCreateVariant = $localize`:@@app.view.variant.variant-dialog.create-variant:Create variant` + readonly tEditVariant = $localize`:@@app.view.variant.variant-dialog.edit-variant:Edit variant` + readonly tSave = $localize`:@@app.view.variant.variant-dialog.save:Save` + readonly tCancel = $localize`:@@app.view.variant.variant-dialog.cancel:Cancel` + constructor( public readonly dialogRef: SbbDialogRef< VariantDialogComponent, @@ -25,7 +30,7 @@ export class VariantDialogComponent { >, @Inject(SBB_DIALOG_DATA) data?: VariantFormComponentModel, ) { - this.formmodel = new FormModel( + this.formModel = new FormModel( data ?? {name: ""}, ); this.isNewVariant = !!!data; @@ -42,7 +47,7 @@ export class VariantDialogComponent { } onCreateClicked(): void { - const formdata = this.formmodel.tryGetValid(); + const formdata = this.formModel.tryGetValid(); if (formdata) { this.dialogRef.close(formdata); diff --git a/src/app/view/variant/variant-dialog/variant-form/variant-form.component.html b/src/app/view/variant/variant-dialog/variant-form/variant-form.component.html index 20208470..f5687985 100644 --- a/src/app/view/variant/variant-dialog/variant-form/variant-form.component.html +++ b/src/app/view/variant/variant-dialog/variant-form/variant-form.component.html @@ -1,13 +1,13 @@
- + Pflichtfeld{{ tMandatoryField }}
diff --git a/src/app/view/variant/variant-dialog/variant-form/variant-form.component.ts b/src/app/view/variant/variant-dialog/variant-form/variant-form.component.ts index 4e1d3556..4fbe3f7f 100644 --- a/src/app/view/variant/variant-dialog/variant-form/variant-form.component.ts +++ b/src/app/view/variant/variant-dialog/variant-form/variant-form.component.ts @@ -10,6 +10,9 @@ import {Validators} from "@angular/forms"; export class VariantFormComponent implements OnInit { @Input() model!: FormModel; + readonly tName = $localize`:@@app.view.variant.variant-dialog.variant-form.name:Name` + readonly tMandatoryField = $localize`:@@app.view.variant.variant-dialog.variant-form.mandatory-field:Mandatory field` + ngOnInit(): void { this.model.registerValidator("name", Validators.required); } diff --git a/src/app/view/variant/variant-view/variant-history/publish-entry/publish-entry.component.html b/src/app/view/variant/variant-view/variant-history/publish-entry/publish-entry.component.html index d9613a45..20ed5cf9 100644 --- a/src/app/view/variant/variant-view/variant-history/publish-entry/publish-entry.component.html +++ b/src/app/view/variant/variant-view/variant-history/publish-entry/publish-entry.component.html @@ -8,20 +8,16 @@ diff --git a/src/app/view/variant/variant-view/variant-history/publish-entry/publish-entry.component.ts b/src/app/view/variant/variant-view/variant-history/publish-entry/publish-entry.component.ts index ca1b7390..38219ee3 100644 --- a/src/app/view/variant/variant-view/variant-history/publish-entry/publish-entry.component.ts +++ b/src/app/view/variant/variant-view/variant-history/publish-entry/publish-entry.component.ts @@ -16,10 +16,14 @@ export class PublishEntryComponent { comment = new UntypedFormControl(""); + readonly tComment = $localize`:@@app.view.variant.variant-view.variant-history.publish-entry.comment:Comment`; + readonly tPublish = $localize`:@@app.view.variant.variant-view.variant-history.publish-entry.publish:Publish`; + readonly tPublishDisabledTitle = this.publishDisabled ? $localize`:@@app.view.variant.variant-view.variant-history.publish-entry.local-changes:Local changes must be saved first` : ""; + get actions(): HistoryEntryAction[] { return [ { - name: "Änderungen Verwerfen", + name: $localize`:@@app.view.variant.variant-view.variant-history.publish-entry.discard-changes:Discard changes`, icon: "trash-small", onClick: () => this.dropChangedClicked.next(), }, diff --git a/src/app/view/variant/variant-view/variant-history/released-entry/released-entry.component.ts b/src/app/view/variant/variant-view/variant-history/released-entry/released-entry.component.ts index 074ee74d..fa83f663 100644 --- a/src/app/view/variant/variant-view/variant-history/released-entry/released-entry.component.ts +++ b/src/app/view/variant/variant-view/variant-history/released-entry/released-entry.component.ts @@ -21,7 +21,7 @@ export class ReleasedEntryComponent { get actions(): HistoryEntryAction[] { const download = { - name: "Download", + name: $localize`:@@app.view.variant.variant-view.variant-history.released-entry.download:Download`, icon: "download-small", onClick: () => this.download.next({ @@ -37,12 +37,12 @@ export class ReleasedEntryComponent { if (this.model.conflict) { return [ { - name: "Änderungen Verwerfen", + name: $localize`:@@app.view.variant.variant-view.variant-history.released-entry.discard-changes:Discard changes`, icon: "trash-small", onClick: () => this.dropChanges.emit(), }, { - name: "Konflikt ignorieren", + name: $localize`:@@app.view.variant.variant-view.variant-history.released-entry.ignore-conflict:Ignore conflict`, icon: "tick-small", onClick: () => this.ignoreConflict.emit(), }, @@ -52,12 +52,12 @@ export class ReleasedEntryComponent { return [ { - name: "Wiederherstellen", + name: $localize`:@@app.view.variant.variant-view.variant-history.released-entry.restore:Restore`, icon: "arrows-circle-small", onClick: () => this.restore.next(this.model.id), }, { - name: "Als neue Variante", + name: $localize`:@@app.view.variant.variant-view.variant-history.released-entry.as-new-variant:As new variant`, icon: "circle-plus-small", onClick: () => this.saveAsNewVariant.emit(this.model.id), }, @@ -78,10 +78,10 @@ export class ReleasedEntryComponent { getMessage(): string | undefined { if (this.model.conflict) { - return "Version bereits vorhanden"; + return $localize`:@@app.view.variant.variant-view.variant-history.released-entry.version-already-available:Version already available`; } if (this.model.lastAdded) { - return "Erfolgreich publiziert"; + return $localize`:@@app.view.variant.variant-view.variant-history.released-entry.successfully-published:Successfully published`; } return undefined; diff --git a/src/app/view/variant/variant-view/variant-history/snapshot-entry/snapshot-entry.component.ts b/src/app/view/variant/variant-view/variant-history/snapshot-entry/snapshot-entry.component.ts index a131f13d..2fb25097 100644 --- a/src/app/view/variant/variant-view/variant-history/snapshot-entry/snapshot-entry.component.ts +++ b/src/app/view/variant/variant-view/variant-history/snapshot-entry/snapshot-entry.component.ts @@ -18,7 +18,7 @@ export class SnapshotEntryComponent { get actions(): HistoryEntryAction[] { const download = { - name: "Download", + name: $localize`:@@app.view.variant.variant-view.variant-history.snapshot-entry.download:Download`, icon: "download-small", onClick: () => this.download.emit({ @@ -33,12 +33,12 @@ export class SnapshotEntryComponent { return [ { - name: "Wiederherstellen", + name: $localize`:@@app.view.variant.variant-view.variant-history.snapshot-entry.restore:Restore`, icon: "arrows-circle-small", onClick: () => this.restore.next(this.model.id), }, { - name: "Als neue Variante", + name: $localize`:@@app.view.variant.variant-view.variant-history.snapshot-entry.as-new-variant:As new variant`, icon: "circle-plus-small", onClick: () => this.saveAsNewVariant.emit(this.model.id), }, @@ -56,14 +56,14 @@ export class SnapshotEntryComponent { getMessage(): string | undefined { if (this.model.lastAdded) { - return "Erfolgreich gespeichert"; + return $localize`:@@app.view.variant.variant-view.variant-history.snapshot-entry.successfully-published:Successfully published`; } return undefined; } getTitle(): string { - return `Änderung ${this.model.snapshotVersion}`; + return $localize`:@@app.view.variant.variant-view.variant-history.snapshot-entry.change-snapshot-version:Change ${this.model.snapshotVersion}`; } } diff --git a/src/app/view/variant/variant-view/variant-history/variant-history.component.ts b/src/app/view/variant/variant-view/variant-history/variant-history.component.ts index b98293ec..681a134c 100644 --- a/src/app/view/variant/variant-view/variant-history/variant-history.component.ts +++ b/src/app/view/variant/variant-view/variant-history/variant-history.component.ts @@ -72,8 +72,8 @@ export class VariantHistoryComponent implements OnChanges, OnDestroy { this.uiInteractionService .showConfirmationDiagramDialog( new ConfirmationDialogParameter( - "Neue Version publizieren", - "Möchten Sie Ihre persönlichen Änderungen als neue Version publizieren?", + $localize`:@@app.view.variant.variant-view.variant-history.new-version-published.title:New version published`, + $localize`:@@app.view.variant.variant-view.variant-history.new-version-published.content:Would you like to publish your personal changes as a new version?`, ), ) .pipe(takeUntil(this.destroyed)) @@ -88,8 +88,8 @@ export class VariantHistoryComponent implements OnChanges, OnDestroy { this.uiInteractionService .showConfirmationDiagramDialog( new ConfirmationDialogParameter( - "Änderungen verwerfen", - "Möchten Sie Ihre persönlichen Änderungen unwiderruflich verwerfen?", + $localize`:@@app.view.variant.variant-view.variant-history.discard-changes.title:Discard changes`, + $localize`:@@app.view.variant.variant-view.variant-history.discard-changes.content:Would you like to irrevocably discard your personal changes?`, ), ) .pipe(takeUntil(this.destroyed)) @@ -112,8 +112,8 @@ export class VariantHistoryComponent implements OnChanges, OnDestroy { this.uiInteractionService .showConfirmationDiagramDialog( new ConfirmationDialogParameter( - "Version wiederherstellen", - "Möchten Sie den Stand dieser Version wiederherstellen?", + $localize`:@@app.view.variant.variant-view.variant-history.restore-version.title:Restore version`, + $localize`:@@app.view.variant.variant-view.variant-history.restore-version.content:Would you like to restore the status of this version?`, ), ) .pipe(takeUntil(this.destroyed)) @@ -128,8 +128,8 @@ export class VariantHistoryComponent implements OnChanges, OnDestroy { this.uiInteractionService .showConfirmationDiagramDialog( new ConfirmationDialogParameter( - "Konflikt ignorieren", - "Möchten Sie, dass der aktuelle Stand auf der höchsten publizierten Version aufbaut?", + $localize`:@@app.view.variant.variant-view.variant-history.ignore-conflict.title:Ignore conflict`, + $localize`:@@app.view.variant.variant-view.variant-history.ignore-conflict.content:Would you like the current version to be based on the highest published version?`, ), ) .pipe(takeUntil(this.destroyed)) diff --git a/src/app/view/variant/variant-view/variant-view.component.html b/src/app/view/variant/variant-view/variant-view.component.html index b8c9cc11..28a356c3 100644 --- a/src/app/view/variant/variant-view/variant-view.component.html +++ b/src/app/view/variant/variant-view/variant-view.component.html @@ -1,7 +1,7 @@

{{ (versionControlService.variant$ | async)?.latestVersion?.name }} - (archiviert) + {{ tArchived }}
@@ -10,21 +10,21 @@

sbb-menu-item mode="icon" (click)="onOpenVariantDialog()" - title="Variante bearbeiten" + [title]="tEditVariant" *ngIf="versionControlService.variant.isWritable" > - Variante bearbeiten + {{ tEditVariant }}

@@ -32,7 +32,7 @@

- Versionen + {{ tVersions }} (); + readonly tArchived = $localize`:@@app.view.variant.variant-view.archived:(archived)`; + readonly tEditVariant = $localize`:@@app.view.variant.variant-view.edit-variant:Edit variant`; + readonly tDeleteVariant = $localize`:@@app.view.variant.variant-view.delete-variant:Delete variant`; + readonly tVersions = $localize`:@@app.view.variant.variant-view.versions:Versions`; + constructor( readonly versionControlService: VersionControlService, private readonly dialog: SbbDialog, @@ -43,9 +48,8 @@ export class VariantViewComponent implements OnDestroy { this.uiInteractionService .showConfirmationDiagramDialog( new ConfirmationDialogParameter( - "Variante löschen", - "Möchten Sie die Variante und alle enthaltenen Versionen endgültig löschen? " + - "Diese Aktion kann nicht rückgängig gemacht werden.", + $localize`:@@app.view.variant.variant-view.delete-variant.title:Delete variant`, + $localize`:@@app.view.variant.variant-view.delete-variant.content:Do you want to permanently delete the variant and all versions it contains? This action cannot be undone.`, ), ) .pipe( diff --git a/src/app/view/variant/variants-view/variants-view.component.html b/src/app/view/variant/variants-view/variants-view.component.html index e3d73fb0..acb3bad6 100644 --- a/src/app/view/variant/variants-view/variants-view.component.html +++ b/src/app/view/variant/variants-view/variants-view.component.html @@ -2,24 +2,24 @@

{{ proj.name }} - (archiviert) + {{ ' ' + tArchived }}

- +
Archiv anzeigen{{ tShowArchive }}
@@ -44,7 +44,7 @@

- +
diff --git a/src/app/view/variant/variants-view/variants-view.component.ts b/src/app/view/variant/variants-view/variants-view.component.ts index d0be8172..a7213d74 100644 --- a/src/app/view/variant/variants-view/variants-view.component.ts +++ b/src/app/view/variant/variants-view/variants-view.component.ts @@ -47,6 +47,12 @@ export class VariantsViewComponent implements OnDestroy { showArchiveControl = new UntypedFormControl(false); searchQuery = new BehaviorSubject(""); + readonly tArchived = $localize`:@@app.view.variant.variants-view.archived:(archived)`; + readonly tVariants = $localize`:@@app.view.variant.variants-view.variants:Variants`; + readonly tSearchVariants = $localize`:@@app.view.variant.variants-view.search-variants:Search variants`; + readonly tShowArchive = $localize`:@@app.view.variant.variants-view.show-archive:Show archive`; + readonly tProjectDescription = $localize`:@@app.view.variant.variants-view.project-description:Project description`; + readonly variants = combineLatest([ this.projectSubject, this.searchQuery, @@ -79,12 +85,12 @@ export class VariantsViewComponent implements OnDestroy { if (project.isWritable) { return [ { - name: "Projekt bearbeiten", + name: $localize`:@@app.view.variant.variants-view.edit-project:Edit project`, icon: "pen-small", action: () => this.onEditProjectClicked(), }, { - name: "Projekt archivieren", + name: $localize`:@@app.view.variant.variants-view.archive-project:Archive project`, icon: "archive-box-small", action: () => this.onArchiveProjectClicked(), }, @@ -92,12 +98,12 @@ export class VariantsViewComponent implements OnDestroy { } else if (project.isDeletable && project.isArchived) { return [ { - name: "Archivierung rückgängig machen", + name: $localize`:@@app.view.variant.variants-view.undo-archiving:Undo archiving`, icon: "arrow-circle-eye-small", action: () => this.onUnarchiveProjectClicked(), }, { - name: "Projekt löschen", + name: $localize`:@@app.view.variant.variants-view.delete-project:Delete project`, icon: "trash-small", action: () => this.onDeleteProjectClicked(), }, @@ -169,7 +175,7 @@ export class VariantsViewComponent implements OnDestroy { if (variant.isArchived) { return of([ { - name: "Archivierung rückgängig machen", + name: $localize`:@@app.view.variant.variants-view.undo-archiving:Undo archiving`, icon: "arrow-circle-eye-small", action: () => this.onUnarchiveVariantClicked(variant), }, @@ -177,7 +183,7 @@ export class VariantsViewComponent implements OnDestroy { } return of([ { - name: "Archivieren", + name: $localize`:@@app.view.variant.variants-view.archive:Archive`, icon: "archive-box-small", action: () => this.onArchiveVariantClicked(variant), }, @@ -188,8 +194,8 @@ export class VariantsViewComponent implements OnDestroy { this.uiInteractionService .showConfirmationDiagramDialog( new ConfirmationDialogParameter( - "Variante archivieren", - "Möchten Sie die Variante jetzt archivieren?", + $localize`:@@app.view.variant.variants-view.archive-variant.title:Archive variant`, + $localize`:@@app.view.variant.variants-view.archive-variant.content:Would you like to archive the variant now?`, ), ) .pipe( @@ -211,8 +217,8 @@ export class VariantsViewComponent implements OnDestroy { this.uiInteractionService .showConfirmationDiagramDialog( new ConfirmationDialogParameter( - "Archivierung rückgängig machen", - "Möchten Sie die Archivierung der Variante rückgängig machen?", + $localize`:@@app.view.variant.variants-view.undo-archiving-variant.title:Undo archiving`, + $localize`:@@app.view.variant.variants-view.undo-archiving-variant.content:Would you like to undo the archiving of the variant?`, ), ) .pipe( @@ -257,8 +263,8 @@ export class VariantsViewComponent implements OnDestroy { this.uiInteractionService .showConfirmationDiagramDialog( new ConfirmationDialogParameter( - "Projekt archivieren", - "Möchten Sie das Projekt jetzt archivieren?", + $localize`:@@app.view.variant.variants-view.archive-project.title:Archive project`, + $localize`:@@app.view.variant.variants-view.archive-project.content:Would you like to archive the project now?`, ), ) .pipe( @@ -274,8 +280,8 @@ export class VariantsViewComponent implements OnDestroy { this.uiInteractionService .showConfirmationDiagramDialog( new ConfirmationDialogParameter( - "Archivierung rückgängig machen", - "Möchten Sie die Archivierung des Projekts rückgängig machen?", + $localize`:@@app.view.variant.variants-view.undo-archiving-project.title:Archive variant`, + $localize`:@@app.view.variant.variants-view.undo-archiving-project.content:Would you like to undo the archiving of the project?`, ), ) .pipe( @@ -291,9 +297,8 @@ export class VariantsViewComponent implements OnDestroy { this.uiInteractionService .showConfirmationDiagramDialog( new ConfirmationDialogParameter( - "Projekt löschen", - "Möchten Sie das Projekt und alle enthaltenen Varianten endgültig löschen? " + - "Diese Aktion kann nicht rückgängig gemacht werden.", + $localize`:@@app.view.variant.variants-view.delete-project.title:Delete projekt`, + $localize`:@@app.view.variant.variants-view.delete-project.content:Do you want to permanently delete the project and all the variants it contains? This action cannot be undone.`, ), ) .pipe( @@ -305,7 +310,7 @@ export class VariantsViewComponent implements OnDestroy { } getTitleCurrentVersion(variant: VariantSummaryDto): string { - const archivedSuffix = variant.isArchived ? " (archiviert)" : ""; + const archivedSuffix = variant.isArchived ? " " + this.tArchived : ""; if (variant.latestSnapshotVersion) { return variant.latestSnapshotVersion.name + "*" + archivedSuffix; @@ -315,7 +320,7 @@ export class VariantsViewComponent implements OnDestroy { return variant.latestReleaseVersion.name + archivedSuffix; } - throw new Error("Unexpected data: No snapshot and no released version."); + throw new Error($localize`:@@app.view.variant.variants-view.error-unexpected-data:Unexpected data: No snapshot and no released version.`); } getChangedAtCurrentVersion(variant: VariantSummaryDto): Date { @@ -327,7 +332,7 @@ export class VariantsViewComponent implements OnDestroy { return new Date(variant.latestReleaseVersion.createdAt); } - throw new Error("Unexpected data: No snapshot and no released version."); + throw new Error($localize`:@@app.view.variant.variants-view.error-unexpected-data:Unexpected data: No snapshot and no released version.`); } private updateProject(project: ProjectDto): void { diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 45e552f5..d62c3bf2 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -4,37 +4,355 @@ "app-routing.module.path.403": "Sie sind nicht berechtigt diese Aktion durchzuführen.", "app-routing.module.path.409": "Es gab einen Konflikt bei der Ausführung Ihrer Aktion, bitte versuchen Sie es erneut.", "app-routing.module.path.error": "Es ist ein Fehler aufgetreten.", - "app.user-manual": "User Manual DE", + "app.version": "Version", + "app.user-guide": "User Guide", + "app.user-manual": "User Manual", "app.logout": "Logout", - "app.login-message": "Sie werden angemeldet...", - "app.version": "Version DE", - "app.user-guide": "User Guide DE", - "app.logger.title": "Title", + "app.login": "Sie werden angemeldet...", + "app.logger.title": "Titel", + "app.models.node.betriebspunkt-name-default": "NEW", + "app.models.node.full-name-default": "New node", + "app.models.note.title-default": "Note title", + "app.models.note.text-default": "Note text", "app.netzgrafik-application.variants": "Varianten", "app.netzgrafik-application.filter": "Filter", "app.netzgrafik-application.analytics": "Analytics", "app.netzgrafik-application.edit": "Bearbeiten", "app.netzgrafik-application.more-functions": "Weitere Funktionen", "app.netzgrafik-application.properties": "Einstellungen", - "app.perlenkette.node.0-warning-connection": "Kein fehlerhafter Anschluss", - "app.perlenkette.node.1-warning-connection": "1 fehlerhafter Anschluss", - "app.perlenkette.node.n-warning-connections": "{$PH} fehlerhafte Anschlüsse", - "app.perlenkette.node.0-fitting-connection": "Kein passender Anschluss", - "app.perlenkette.node.1-fitting-connection": "1 passender Anschluss", - "app.perlenkette.node.n-fitting-connections": "{$PH} passende Anschlüsse", - "error": "Fehler", + "app.perlenkette.perlenkette-node.0-warning-connection": "Kein fehlerhafter Anschluss", + "app.perlenkette.perlenkette-node.1-warning-connection": "1 fehlerhafter Anschluss", + "app.perlenkette.perlenkette-node.n-warning-connections": "{$PH} fehlerhafte Anschlüsse", + "app.perlenkette.perlenkette-node.0-fitting-connection": "Kein passender Anschluss", + "app.perlenkette.perlenkette-node.1-fitting-connection": "1 passender Anschluss", + "app.perlenkette.perlenkette-node.n-fitting-connections": "{$PH} passende Anschlüsse", + "app.perlenkette.show-only-closed-locks": "Zeige nur geschlossene Schlösser", + "app.perlenkette.show-all-locks": "Zeige alle Schlösser", + "app.services.data.node.transit-modified.title": "Durchfahrt geändert", + "app.services.data.node.transit-modified.description": "Zeiten können nicht angepasst werden, beidseitger Lock gefunden", + "app.models.note.default-title": "Note title", + "app.models.note.default-text": "Note text", + "app.services.data.trainrunsection.intermediate-stop-replacement.title": "Zwischenhalteumwandlung", + "app.services.data.trainrunsection.intermediate-stop-replacement.description": "Zwischenhalteumwandlung führte bei der Vergabe der Zeiten zu inkonsistenzen!", + "app.services.util.connection-validator.connection-marked-for-transit.title": "Anschluss auf Durchfahrt gezeichnet!", + "app.services.util.connection-validator.connection-marked-for-transit.description": "Anschluss auf Durchfahrt gezeichnet!", + "app.services.util.trainrun-iteration.error.infinity-loop": "Iterator hat eine Unendlichkeitsschleife entdeckt. Die Iteration wurde vorzeitig abgebrochen!", + "app.services.util.trainrunsection-validator.target-arrival-not-reacheable.title": "Ziel Ankunft Warnung", + "app.services.util.trainrunsection-validator.target-arrival-not-reacheable.description": "Zielankunftszeit kann nicht erreicht werden", + "app.services.util.trainrunsection-validator.source-arrival-not-reacheable.title": "Quelle Ankunft Warnung", + "app.services.util.trainrunsection-validator.source-arrival-not-reacheable.description": "Quellankunftszeit kann nicht erreicht werden", + "app.services.util.trainrunsection-validator.travel-time-less-than-1.title": "Reisezeit weniger als 1", + "app.services.util.trainrunsection-validator.travel-time-less-than-1.description": "Die Reisezeit muss größer oder gleich 1 sein.", + "app.services.util.transition-validator.source-arrival-not-reacheable.title": "Quelle Ankunft Warnung", + "app.services.util.transition-validator.source-arrival-not-reacheable.description": "Quellankunftszeit kann nicht erreicht werden", + "app.services.util.transition-validator.source-departure-not-reacheable.title": "Quelle Abfahrt Warnung", + "app.services.util.transition-validator.source-departure-not-reacheable.description": "Quellabfahrtszeit kann nicht erreicht werden", + "app.services.util.transition-validator.target-arrival-not-reacheable.title": "Ziel Ankunft Warnung", + "app.services.util.transition-validator.target-arrival-not-reacheable.description": "Zielankunftszeit kann nicht erreicht werden", + "app.services.util.transition-validator.target-departure-not-reacheable.title": "Ziel Abfahrt Warnung", + "app.services.util.transition-validator.target-departure-not-reacheable.description": "Zielabfahrtszeit kann nicht erreicht werden", + "app.streckengrafik.components.reset": "Zurücksetzen", + "app.streckengrafik.components.close-all-path-nodes": "Schliesse alle Gleisbeleger", + "app.streckengrafik.components.open-all-path-nodes": "Öffne alle Gleisbeleger", + "app.streckengrafik.components.show-advanced-display-functions": "Erweiterte Darstellungsfunktionen einblenden", + "app.streckengrafik.components.show-or-hide-time-for-non-selected-trains": "Zeit ein-/ausblenden für nicht selektierte Züge", + "app.streckengrafik.components.show-or-hide": "{$PH} ein-/ausblenden", + "app.streckengrafik.components.show-or-hide-name-for-non-selected-trainruns": "Zugnamen ein-/ausblenden für nicht selektierte Züge", + "app.streckengrafik.components.hide-advanced-display-functions": "Erweiterte Darstellungsfunktionen ausblenden", + "app.streckengrafik.components.rail-track-slider": "Streckengleis", + "app.streckengrafik.components.headway-band": "Zugfolgezeiten", + "app.streckengrafik.components.time": "Zeit", + "app.streckengrafik.components.name": "Name", + "app.utils.navigation-parameters.no-project-id": "Keine Projekt-ID vorhanden", + "app.utils.navigation-parameters.no-variant-id": "Keine Variante-ID vorhanden", + "app.utils.navigation-parameters.no-version-id": "Keine Version-ID vorhanden", + "app.view.card-grid.card.open": "Öffnen", + "app.view.dialogs.confirmation-dialog.confirmation-default": "Ja", + "app.view.dialogs.confirmation-dialog.abort-default": "Nein", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.edit-filterable-labels": "Filterbare Labels für {$PH} bearbeiten", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.transfer-to-all-visible": "auf alle sichtbaren übertragen", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.delete-from-all-visible": "aus allen sichtbaren löschen", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.transfer.title": "Übernehmen", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.transfer.content": "Soll das Label {$PH} auf alle sichtbaren {$PH_1} übertragen werden?", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.delete.title": "Löschen", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.delete.content": "Soll das Label {$PH} definitiv aus allen sichtbaren {$PH_1} gelöscht werden?", + "app.view.dialogs.filterable-labels-dialog.filterable-labels-form.mandatory-field": "Mandatory field", + "app.view.dialogs.note-dialog.html-editor.reset-color": "Farbe zurücksetzen", + "app.view.dialogs.note-dialog.html-editor.editor-placeholder": "Kommentar hier eingeben...", + "app.view.dialogs.note-dialog.html-editor.mandatory-field": "Pflichtfeld", + "app.view.dialogs.note-dialog.html-editor.color-presets.ec.title": "Verwende die Frabe des Frabschemas für EC", + "app.view.dialogs.note-dialog.html-editor.color-presets.ic.title": "Verwende die Frabe des Frabschemas für IC", + "app.view.dialogs.note-dialog.html-editor.color-presets.ir.title": "Verwende die Frabe des Frabschemas für IR", + "app.view.dialogs.note-dialog.html-editor.color-presets.re.title": "Verwende die Frabe des Frabschemas für RE", + "app.view.dialogs.note-dialog.html-editor.color-presets.s.title": "Verwende die Frabe des Frabschemas für S", + "app.view.dialogs.note-dialog.html-editor.color-presets.gex.title": "Verwende die Frabe des Frabschemas für GEX", + "app.view.dialogs.note-dialog.html-editor.color-presets.g.title": "Verwende die Frabe des Frabschemas für G", + "app.view.dialogs.note-dialog.html-editor.color-presets.green.title": "green", + "app.view.dialogs.note-dialog.html-editor.color-presets.blue.title": "blue", + "app.view.dialogs.note-dialog.html-editor.color-presets.magenta.title": "magenta", + "app.view.dialogs.note-dialog.html-editor.color-presets.red.title": "red", + "app.view.dialogs.note-dialog.html-editor.color-presets.warning.title": "warning color", + "app.view.dialogs.note-dialog.note-tab": "Kommentar", + "app.view.dialogs.note-dialog.filterable-labels-tab": "Filterbare Labels", + "app.view.dialogs.note-dialog.delete-note": "Kommentar löschen", + "app.view.dialogs.note-dialog.note-filter-tab.labels": "Labels", + "app.view.dialogs.note-dialog.note-filter-tab.label-placeholder": "New label...", + "app.view.dialogs.note-dialog.note-form.title": "Title", + "app.view.dialogs.stammdaten-dialog.main-data": "Stammdaten", + "app.view.dialogs.stammdaten-dialog.betriebspunkt": "Betriebspunkt", + "app.view.dialogs.stammdaten-dialog.ipv-stop-time": "Haltezeit IPV", + "app.view.dialogs.stammdaten-dialog.a-stop-time": "Haltezeit A", + "app.view.dialogs.stammdaten-dialog.b-stop-time": "Haltezeit B", + "app.view.dialogs.stammdaten-dialog.c-stop-time": "Haltezeit C", + "app.view.dialogs.stammdaten-dialog.d-stop-time": "Haltezeit D", + "app.view.dialogs.stammdaten-dialog.zaz": "ZAZ", + "app.view.dialogs.stammdaten-dialog.connection-time": "Connection Time", + "app.view.dialogs.stammdaten-dialog.region": "Region", + "app.view.dialogs.stammdaten-dialog.category": "Kategorie", + "app.view.dialogs.stammdaten-dialog.filterable-labels": "Filterbare Labels", + "app.view.dialogs.stammdaten-dialog.position": "Position", + "app.view.dialogs.stammdaten-dialog.close": "Schliessen", + "app.view.editor-edit-tools-view-component.edit": "Bearbeiten", + "app.view.editor-edit-tools-view-component.filterable-labels": "Filterbare labels", + "app.view.editor-edit-tools-view-component.trainruns": "Zugfahrten", + "app.view.editor-edit-tools-view-component.nodes": "Knoten", + "app.view.editor-edit-tools-view-component.notes": "Kommentare", + "app.view.editor-edit-tools-view-component.delete-netzgrafik-title": "Netzgrafik - Löschen", + "app.view.editor-edit-tools-view-component.non-visible-elements": "Nicht sichtbare Elemente", + "app.view.editor-edit-tools-view-component.delete-all-non-visible-elements-tooltip": "Alle nicht sichtbare Elemente, wie Knoten, Zugfahrten und Kommentare löschen", + "app.view.editor-edit-tools-view-component.delete-all-non-visible-elements": "Alle nicht sichtbare Elemente löschen", + "app.view.editor-edit-tools-view-component.visible-elements": "Sichtbare Elemente", + "app.view.editor-edit-tools-view-component.delete-all-visible-trainruns-tooltip": "Alle sichtbare Zugfahrten löschen", + "app.view.editor-edit-tools-view-component.delete-all-visible-trainruns": "Alle sichtbare Zugfahrten löschen", + "app.view.editor-edit-tools-view-component.delete-all-visible-notes-tooltip": "Alle sichtbare Kommentare löschen", + "app.view.editor-edit-tools-view-component.delete-all-visible-notes": "Alle sichtbare Kommentare löschen", + "app.view.editor-edit-tools-view-component.delete-all-visible-elements-tooltip": "Alle sichtbare Elemente, wie Knoten, Zugfahrten und Kommentare löschen", + "app.view.editor-edit-tools-view-component.delete-all-visible-elements": "Alle sichtbare Elemente löschen", + "app.view.editor-edit-tools-view-component.merge-netzgrafik-title": "Netzgrafik - Zusammenführen", + "app.view.editor-edit-tools-view-component.add-netzgrafik-as-copy-tooltip": "Netzgrafik als Kopie hinzufügen (Zugfahrtenn, Knoten, Kommentare)", + "app.view.editor-edit-tools-view-component.add-netzgrafik-as-copy": "Netzgrafik als Kopie hinzufügen", + "app.view.editor-edit-tools-view-component.merge-netzgrafik-tooltip": "Netzgrafik durch Zusammenführen mergen (Zugfahrtenn, Knoten, Kommentare)", + "app.view.editor-edit-tools-view-component.merge-netzgrafik": "Netzgrafik durch Zusammenführen mergen", + "app.view.editor-edit-tools-view-component.delete": "Löschen", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-non-visible-elements": "Sollen alle nicht sichtbare Elemente aus der Netzgrafik definitiv gelöscht werden?", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-visible-elements": "Sollen alle sichtbare Elemente aus der Netzgrafik definitiv gelöscht werden?", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-visible-trainruns": "Sollen alle sichtbare Zugfahrten aus der Netzgrafik definitiv gelöscht werden?", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-visible-notes": "Sollen alle sichtbare Kommentare aus der Netzgrafik definitiv gelöscht werden?", + "app.view.editor-edit-tools-view-component.label-drop-list.no-labels-available": "Keine Labels vorhanden", + "app.view.editor-edit-tools-view-component.label-drop-list.delete-group": "Gruppe löschen", + "app.view.editor-edit-tools-view-component.label-drop-list.add-new-group": "Neue Gruppe hinzufügen", + "app.view.editor-edit-tools-view-component.label-drop-list.trainruns": "Zugfahrten", + "app.view.editor-edit-tools-view-component.label-drop-list.notes": "Kommentare", + "app.view.editor-edit-tools-view-component.label-drop-list.nodes": "Knoten", + "app.view.editor-filter-view.filter": "Filter", + "app.view.editor-filter-view.general": "Allgemein", + "app.view.editor-filter-view.category": "Kategorie", + "app.view.editor-filter-view.frequency": "Takt", + "app.view.editor-filter-view.time-category": "Verkehrt", + "app.view.editor-filter-view.display-all-trainruns": "Alle Zugfahrten anzeigen", + "app.view.editor-filter-view.reset-trainrun-filter": "Zugfilter zurücksetzen", + "app.view.editor-filter-view.filterable-labels-trainruns": "Filterbare Labels: Zugfahrten", + "app.view.editor-filter-view.filterable-labels-nodes": "Filterbare Labels: Knoten", + "app.view.editor-filter-view.filterable-labels-notes": "Filterbare Labels: Kommentare", + "app.view.editor-filter-view.display": "Anzeigen", + "app.view.editor-filter-view.times": "Zeiten", + "app.view.editor-filter-view.decimal-displayed": "Anzahl Nachkommastellenanzeigen", + "app.view.editor-filter-view.display-arrival-departure-times": "Abfahrt- und Ankuftszeiten anzeigen", + "app.view.editor-filter-view.display-arrival-departure-times-for-connections": "Abfahrt- und Ankuftszeiten für Durchfahrten anzeigen", + "app.view.editor-filter-view.display-travel-times": "Fahrzeiten anzeigen", + "app.view.editor-filter-view.display-trainrun-name": "Zugname anzeigen", + "app.view.editor-filter-view.connection": "Anschlüsse", + "app.view.editor-filter-view.display-connections": "Anschlüsse anzeigen", + "app.view.editor-filter-view.nodes": "Knoten", + "app.view.editor-filter-view.display-nodes-without-visible-trainruns": "Knoten ohne (angezeigte) Zugfahrten anzeigen", + "app.view.editor-filter-view.display-nodes-with-only-stopping-trainruns": "Knoten mit nur durchfahrenden Zugfahrten anzeigen", + "app.view.editor-filter-view.notes": "Kommentare", + "app.view.editor-filter-view.display-notes": "Kommentare anzeigen", + "app.view.editor-filter-view.reset-display-filter": "Anzeigefilter zurücksetzen", + "app.view.editor-filter-view.saved-filters": "Gespeicherte Filter", + "app.view.editor-filter-view.save-filters": "Filter speichern und als Filtereinstellungen hinzufügen", + "app.view.editor-filter-view.reset-all-display-filters": "Alle Anzeigefilter zurücksetzen", + "app.view.editor-filter-view.load-filter": "{$PH_1} laden", + "app.view.editor-filter-view.reload-filter": "{$PH_1} neu laden", + "app.view.editor-filter-view.show-trainrun-category": "{$PH_1} einblenden", + "app.view.editor-filter-view.hide-trainrun-category": "{$PH_1} ausblenden", + "app.view.editor-filter-view.hide-trainrun-time-category": "{$PH_1} ausblenden", + "app.view.editor-filter-view.show-trainrun-frequency": "{$PH_1} einblenden", + "app.view.editor-filter-view.hide-trainrun-frequency": "{$PH_1} ausblenden", + "app.view.editor-filter-view.filterable-label-filter.no-labels-available": "Keine Labels vorhanden", + "app.view.editor-filter-view.filterable-label-filter.or": "Oder", + "app.view.editor-filter-view.filterable-label-filter.and": "Und", + "app.view.editor-filter-view.filterable-label-filter.show-all": "Alles anzeigen", + "app.view.editor-filter-view.filterable-label-filter.reset-filter": "Filter zurücksetzen", + "app.view.editor-filter-view.filterable-label-filter.show": "einblenden", + "app.view.editor-filter-view.filterable-label-filter.hode": "ausblenden", + "app.view.editor-menu.save-changes": "Speichere Änderungen", + "app.view.editor-menu.changes-saved": "Änderungen gespeichert", + "app.view.editor-menu.read-mode": "Lese-Modus", + "app.view.editor-menu.show-hide-filter": "Filter ein-/ausblenden", + "app.view.editor-menu.zoom-out": "Herauszoomer", + "app.view.editor-menu.zoom-in": "Hereinzoomen", + "app.view.editor-menu.topology-editor-disabled": "Topologie Editor deaktiviert", + "app.view.editor-menu.topology-editor-enalbed": "Topologie Editor aktiviert", + "app.view.editor-menu.multiple-selection-tool-disabled": "Mehrfachauswahlstool ist deaktiviert", + "app.view.editor-menu.multiple-selection-tool-enabled": "Mehrfachauswahlstool ist aktiviert", + "app.view.editor-menu.note-editor-disabled": "Note Editor deaktiviert", + "app.view.editor-menu.note-editor-enabled": "Note Editor aktiviert", + "app.view.editor-menu.analytics-disabled": "Analytics deaktiviert", + "app.view.editor-menu.analytics-enabled": "Analytics aktiviert", + "app.view.editor-menu.display-streckengrafik": "Streckengrafik anzeigen", + "app.view.editor-menu.close-streckengrafik": "Streckengrafik schliessen", + "app.view.editor-properties-view-component.settings": "Einstellungen", + "app.view.editor-properties-view-component.color-scheme": "Farbschema", + "app.view.editor-properties-view-component.theme": "Theme", + "app.view.editor-properties-view-component.background-color": "Hintergrundfarbe", + "app.view.editor-properties-view-component.set-color-to-white": "Hintergrundfarbe auf 'weiss' setzten", + "app.view.editor-properties-view-component.reset-background-color-to-default": "Hintergrundfarbe auf Standard zurücksetzen", + "app.view.editor-properties-view-component.background-color-black": "Hintergrundfarbe (dunkel)", + "app.view.editor-properties-view-component.editor": "Editor", + "app.view.editor-properties-view-component.travel-time-presetting-default": "Fahrzeitvoreinstellungs (Heuristik)", + "app.view.editor-properties-view-component.streckengrafik": "Streckengrafik", + "app.view.editor-properties-view-component.axis-scaling-distance": "Achsenskalierung (Distanz)", + "app.view.editor-side-view.editor-node-detail-view.main-data": "Stammdaten", + "app.view.editor-side-view.editor-node-detail-view.operational-point": "Betriebspunkt", + "app.view.editor-side-view.editor-node-detail-view.name": "Name", + "app.view.editor-side-view.editor-node-detail-view.connection-time": "Anschlusszeit", + "app.view.editor-side-view.editor-node-detail-view.occupancy": "Auslastung", + "app.view.editor-side-view.editor-node-detail-view.capacity": "Kapazität", + "app.view.editor-side-view.editor-node-detail-view.filterable-labels": "Filterbare Labels", + "app.view.editor-side-view.editor-node-detail-view.labels": "Labels", + "app.view.editor-side-view.editor-node-detail-view.new-label-placeholder": "Neues Label...", + "app.view.editor-side-view.editor-node-detail-view.stopping-times": "Haltezeiten", + "app.view.editor-side-view.editor-node-detail-view.stopping-time-per-product": "Haltezeit pro Produkt", + "app.view.editor-side-view.editor-node-detail-view.no-stop": "Kein Halt", + "app.view.editor-side-view.editor-node-detail-view.ipv": "IPV", + "app.view.editor-side-view.editor-node-detail-view.a": "A", + "app.view.editor-side-view.editor-node-detail-view.b": "B", + "app.view.editor-side-view.editor-node-detail-view.c": "C", + "app.view.editor-side-view.editor-node-detail-view.d": "D", + "app.view.editor-side-view.editor-node-detail-view.links": "Links", + "app.view.editor-side-view.editor-node-detail-view.platform-information": "Perron Informationen", + "app.view.editor-side-view.editor-node-detail-view.platform-length": "Perron-Länge", + "app.view.editor-side-view.editor-node-detail-view.delete-node": "Knoten löschen", + "app.view.editor-side-view.editor-tools-view-component.more-functions": "Weitere Funktionen", + "app.view.editor-side-view.editor-tools-view-component.export": "Exportieren", + "app.view.editor-side-view.editor-tools-view-component.export-netzgrafik-as-svg": "Exportieren Netzgrafik als SVG", + "app.view.editor-side-view.editor-tools-view-component.export-as-svg": "Exportieren als SVG", + "app.view.editor-side-view.editor-tools-view-component.export-netzgrafik-as-png": "Exportieren Netzgrafik als PNG", + "app.view.editor-side-view.editor-tools-view-component.export-as-png": "Exportieren als PNG", + "app.view.editor-side-view.editor-tools-view-component.print-netzgrafik": "Netzgrafik drucken", + "app.view.editor-side-view.editor-tools-view-component.print": "Drucken", + "app.view.editor-side-view.editor-tools-view-component.netzgrafik": "Netzgrafik", + "app.view.editor-side-view.editor-tools-view-component.export-netzgrafik": "Netzgrafik exportieren", + "app.view.editor-side-view.editor-tools-view-component.export-netzgrafik-as-json": "Netzgrafik als JSON exportieren", + "app.view.editor-side-view.editor-tools-view-component.import-netzgrafik": "Netzgrafik importieren", + "app.view.editor-side-view.editor-tools-view-component.import-netzgrafik-as-json": "Netzgrafik aus JSON importieren", + "app.view.editor-side-view.editor-tools-view-component.export-trainruns": "Zugfahrten exportieren", + "app.view.editor-side-view.editor-tools-view-component.export-trainruns-as-csv": "Netzgrafik aus JSON importieren", + "app.view.editor-side-view.editor-tools-view-component.export-trainruns-as-csv-excel": "In Excel: Daten -> Aus Text/CSV -> Filename ... importieren", + "app.view.editor-side-view.editor-tools-view-component.main-data": "Stammdaten", + "app.view.editor-side-view.editor-tools-view-component.import-main-data": "Stammdaten importieren", + "app.view.editor-side-view.editor-tools-view-component.help-csv-data": "Hilfe: CSV - Datei", + "app.view.editor-side-view.editor-tools-view-component.export-main-data": "Stammdaten exportieren", + "app.view.error-view.error": "Fehler", + "app.view.navigation-bar.project-name": "Projekt «{$PH_1}»", + "app.view.navigation-bar.project-name-archived": "Projekt «{$PH_1}» (archiviert)", + "app.view.navigation-bar.variant-name": "Variante «{$PH_1}»", + "app.view.navigation-bar.variant-name-archived": "Variante «{$PH_1}» (archiviert)", + "app.view.project.project-dialog.create-project": "Projekt erstellen", + "app.view.project.project-dialog.edit-project": "Projekt bearbeiten", + "app.view.project.project-dialog.create": "Erstellen", + "app.view.project.project-dialog.save": "Speichern", + "app.view.project.project-dialog.cancel": "Abbrechen", + "app.view.project.project-dialog.project-form.name": "Name", + "app.view.project.project-dialog.project-form.mandatory": "Pflichtfeld", + "app.view.project.project-dialog.project-form.summary": "Zusammenfassung", + "app.view.project.project-dialog.project-form.description": "Beschreibung", + "app.view.project.project-dialog.project-form.tooltip": "Benutzer müssen mit ihrer U/E-Nummer angegeben werden (bsp. u123456e654321). Eingabe pro Nummer jeweils mit 'Enter' bestätigen. Kleinschreibung beachten!", + "app.view.project.project-dialog.project-form.user-with-write-access": "Benutzer mit Schreibzugriff", + "app.view.project.project-dialog.project-form.new-user-placeholder": "New Benutzer...", + "app.view.project.project-dialog.project-form.invalid-values": "Ungültige Werte", + "app.view.project.project-dialog.project-form.user-with-read-access": "Benutzer mit Lesezugriff", + "app.view.project.projects-view.projects": "Projekte", + "app.view.project.projects-view.search-project": "Projekt suchen", + "app.view.project.projects-view.show-archive": "Archiv anzeigen", + "app.view.project.projects-view.archived": "(archiviert)", + "app.view.project.projects-view.archive-project.title": "Projekt archivieren", + "app.view.project.projects-view.archive-project.content": "Möchten Sie das Projekt jetzt archivieren?", + "app.view.project.projects-view.undo-archiving-project.title": "Archivierung rückgängig machen", + "app.view.project.projects-view.undo-archiving-project.content": "Möchten Sie die Archivierung des Projekts rückgängig machen?", + "app.view.project.projects-view.undo-archiving": "Archivierung rückgängig machen", + "app.view.project.projects-view.edit": "Bearbeiten", + "app.view.project.projects-view.archive": "Archivieren", + "app.view.variant.variant-dialog.create-variant": "Variante erstellen", + "app.view.variant.variant-dialog.edit-variant": "Variante bearbeiten", + "app.view.variant.variant-dialog.save": "Speichern", + "app.view.variant.variant-dialog.cancel": "Abbrechen", + "app.view.variant.variant-dialog.variant-form.name": "Name", + "app.view.variant.variant-dialog.variant-form.mandatory": "Pflichtfeld", + "app.view.variant.variant-view.variant-history.publish-entry.comment": "Kommentar", + "app.view.variant.variant-view.variant-history.publish-entry.publish": "Publizieren", + "app.view.variant.variant-view.variant-history.publish-entry.local-changes": "Lokale Änderungen müssen zuerst gespeichert werden", + "app.view.variant.variant-view.variant-history.publish-entry.discard-changes": "Änderungen Verwerfen", + "app.view.variant.variant-view.variant-history.released-entry.download": "Herunterladen", + "app.view.variant.variant-view.variant-history.released-entry.discard-changes": "Änderungen Verwerfen", + "app.view.variant.variant-view.variant-history.released-entry.ignore-conflict": "Konflikt ignorieren", + "app.view.variant.variant-view.variant-history.released-entry.restore": "Wiederherstellen", + "app.view.variant.variant-view.variant-history.released-entry.as-new-variant": "Als neue Variante", + "app.view.variant.variant-view.variant-history.released-entry.version-already-available": "Version bereits vorhanden", + "app.view.variant.variant-view.variant-history.released-entry.successfully-published": "Erfolgreich publiziert", + "app.view.variant.variant-view.variant-history.snapshot-entry.download": "Herunterladen", + "app.view.variant.variant-view.variant-history.snapshot-entry.restore": "Wiederherstellen", + "app.view.variant.variant-view.variant-history.snapshot-entry.as-new-variant": "Als neue Variante", + "app.view.variant.variant-view.variant-history.snapshot-entry.successfully-published": "Erfolgreich publiziert", + "app.view.variant.variant-view.variant-history.snapshot-entry.change-snapshot-version": "Änderung {$PH_1}", + "app.view.variant.variant-view.variant-history.new-version-published.title": "Neue Version publizieren", + "app.view.variant.variant-view.variant-history.new-version-published.content": "Möchten Sie Ihre persönlichen Änderungen als neue Version publizieren?", + "app.view.variant.variant-view.variant-history.discard-changes.title": "Änderungen verwerfen", + "app.view.variant.variant-view.variant-history.discard-changes.content": "Möchten Sie Ihre persönlichen Änderungen unwiderruflich verwerfen?", + "app.view.variant.variant-view.variant-history.restore-version.title": "Version wiederherstellen", + "app.view.variant.variant-view.variant-history.restore-version.content": "Möchten Sie den Stand dieser Version wiederherstellen?", + "app.view.variant.variant-view.variant-history.ignore-conflict.title": "Konflikt ignorieren", + "app.view.variant.variant-view.variant-history.ignore-conflict.content": "Möchten Sie, dass der aktuelle Stand auf der höchsten publizierten Version aufbaut?", + "app.view.variant.variant-view.archived": "(archiviert)", + "app.view.variant.variant-view.edit-variant": "Variante bearbeiten", + "app.view.variant.variant-view.delete-variant": "Variante löschen", + "app.view.variant.variant-view.versions": "Versionen", + "app.view.variant.variant-view.delete-variant.title": "Variante löschen", + "app.view.variant.variant-view.delete-variant.content": "Möchten Sie die Variante und alle enthaltenen Versionen endgültig löschen? Diese Aktion kann nicht rückgängig gemacht werden.", + "app.view.variant.variants-view.archived": "(archiviert)", + "app.view.variant.variants-view.variants": "Varianten", + "app.view.variant.variants-view.search-variants": "Varianten suchen", + "app.view.variant.variants-view.show-archive": "Archiv anzeigen", + "app.view.variant.variants-view.project-description": "Projekt Beschreibung", + "app.view.variant.variants-view.edit-project": "Projekt bearbeiten", + "app.view.variant.variants-view.archive-project": "Projekt archivieren", + "app.view.variant.variants-view.undo-archiving": "Archivierung rückgängig machen", + "app.view.variant.variants-view.delete-project": "Projekt löschen", + "app.view.variant.variants-view.archive": "Archivieren", + "app.view.variant.variants-view.archive-variant.title": "Variante archivieren", + "app.view.variant.variants-view.archive-variant.content": "Möchten Sie die Variante jetzt archivieren?", + "app.view.variant.variants-view.undo-archiving-variant.title": "Archivierung rückgängig machen", + "app.view.variant.variants-view.undo-archiving-variant.content": "Möchten Sie die Archivierung der Variante rückgängig machen?", + "app.view.variant.variants-view.archive-project.title": "Projekt archivieren", + "app.view.variant.variants-view.archive-project.content": "Möchten Sie das Projekt jetzt archivieren?", + "app.view.variant.variants-view.undo-archiving-project.title": "Archivierung rückgängig machen", + "app.view.variant.variants-view.undo-archiving-project.content": "Möchten Sie die Archivierung des Projekts rückgängig machen?", + "app.view.variant.variants-view.delete-project.title": "Projekt löschen", + "app.view.variant.variants-view.delete-project.content": "Möchten Sie das Projekt und alle enthaltenen Varianten endgültig löschen? Diese Aktion kann nicht rückgängig gemacht werden.", + "app.view.variant.variants-view.error-unexpected-data": "Unerwartete Daten: Kein Snapshot und keine freigegebene Version.", "sbbBreadcrumbExpand": "Show entire path", - "sbbDialogCloseDialog": "Close dialog", - "sbbFileSelectorUploadFile": "Upload file", - "sbbFileSelectorRemoveFile": "Remove file", - "sbbHeaderMenuBack": "Back", - "sbbHeaderOpenMenu": "Open Menu", - "sbbHeaderCloseMenu": "Close Menu", - "sbbSidebarCollapse": "Collapse", - "sbbSidebarExpand": "Expand", - "sbbSidebarCloseSidebar": "Close Sidebar", - "sbbSidebarOpenSidebar": "Open Sidebar", - "sbbTextareaCounterText": "{$PH} characters remaining", + "sbbDialogCloseDialog": "Dialog schließen", + "sbbFileSelectorUploadFile": "Datei hochladen", + "sbbFileSelectorRemoveFile": "Datei löschen", + "sbbHeaderMenuBack": "Zurück", + "sbbHeaderOpenMenu": "Menü öffnen", + "sbbHeaderCloseMenu": "Menü schliessen", + "sbbSidebarCollapse": "Zusammenklappen", + "sbbSidebarExpand": "Erweitern", + "sbbSidebarCloseSidebar": "Sidebar schließen", + "sbbSidebarOpenSidebar": "Sidebar öffnen", + "sbbTextareaCounterText": "{$PH} verbleibende Zeichen", "sbbUsermenuLogin": "Login", - "sbbUsermenuOpenPanel": "Logged in as {$PH}. Click or press enter to open user menu." + "sbbUsermenuOpenPanel": "Eingeloggt als {$PH}. Klicken Sie auf oder drücken Sie die Eingabetaste, um das Benutzermenü zu öffnen." } \ No newline at end of file diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index bcc37be9..facf3d18 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -1,28 +1,346 @@ { - "app-routing.module.path.404": "Die gesuchte Seite wurde nicht gefunden.", - "app-routing.module.path.401": "Sie sind nicht autorisiert, bitte laden Sie die Seite neu.", - "app-routing.module.path.403": "Sie sind nicht berechtigt diese Aktion durchzuführen.", - "app-routing.module.path.409": "Es gab einen Konflikt bei der Ausführung Ihrer Aktion, bitte versuchen Sie es erneut.", - "app-routing.module.path.error": "Es ist ein Fehler aufgetreten.", - "app.user-manual": "User Manual EN", + "app-routing.module.path.404": "The page you were looking for was not found.", + "app-routing.module.path.401": "You are not authorized, please reload the page.", + "app-routing.module.path.403": "You are not authorized to perform this action.", + "app-routing.module.path.409": "There was a conflict while executing your action, please try again.", + "app-routing.module.path.error": "An error has occurred.", + "app.version": "Version", + "app.user-guide": "User guide", + "app.user-manual": "User manual", "app.logout": "Logout", - "app.login-message": "You are getting logged in...", - "app.version": "Version EN", - "app.user-guide": "User Guide EN", + "app.login": "You are getting logged in...", "app.logger.title": "Title", - "app.netzgrafik-application.variants": "Varianten", + "app.models.node.betriebspunkt-name-default": "NEW", + "app.models.node.full-name-default": "New node", + "app.models.note.title-default": "Note title", + "app.models.note.text-default": "Note text", + "app.netzgrafik-application.variants": "Variants", "app.netzgrafik-application.filter": "Filter", "app.netzgrafik-application.analytics": "Analytics", - "app.netzgrafik-application.edit": "Bearbeiten", - "app.netzgrafik-application.more-functions": "Weitere Funktionen", - "app.netzgrafik-application.properties": "Einstellungen", - "app.perlenkette.node.0-warning-connection": "Kein fehlerhafter Anschluss", - "app.perlenkette.node.1-warning-connection": "1 fehlerhafter Anschluss", - "app.perlenkette.node.n-warning-connections": "{$PH} fehlerhafte Anschlüsse", - "app.perlenkette.node.0-fitting-connection": "Kein passender Anschluss", - "app.perlenkette.node.1-fitting-connection": "1 passender Anschluss", - "app.perlenkette.node.n-fitting-connections": "{$PH} passende Anschlüsse", - "error": "Fehler", + "app.netzgrafik-application.edit": "Edit", + "app.netzgrafik-application.more-functions": "More functions", + "app.netzgrafik-application.properties": "Properties", + "app.perlenkette.perlenkette-node.0-warning-connection": "No incorrect connection", + "app.perlenkette.perlenkette-node.1-warning-connection": "1 incorrect connection", + "app.perlenkette.perlenkette-node.n-warning-connections": "{$PH} incorrect connections", + "app.perlenkette.perlenkette-node.0-fitting-connection": "No fitting connection", + "app.perlenkette.perlenkette-node.1-fitting-connection": "1 fitting connection", + "app.perlenkette.perlenkette-node.n-fitting-connections": "{$PH} fitting connections", + "app.perlenkette.show-only-closed-locks": "Show only closed locks", + "app.perlenkette.show-all-locks": "Show all locks", + "app.services.data.node.transit-modified.title": "Transition changed", + "app.services.data.node.transit-modified.description": "Times cannot be adjusted, lock found on both sides", + "app.models.note.default-title": "Note title", + "app.models.note.default-text": "Note text", + "app.services.data.trainrunsection.intermediate-stop-replacement.title": "Intermediate stop replacement", + "app.services.data.trainrunsection.intermediate-stop-replacement.description": "Intermediate stop replacement led to inconsistencies in the allocation of times!", + "app.services.util.connection-validator.connection-marked-for-transit.title": "Connection marked for transition!", + "app.services.util.connection-validator.connection-marked-for-transit.description": "Connection marked for transition!", + "app.services.util.trainrun-iteration.error.infinity-loop": "Iterator has detected an infinity loop. The iteration terminated early!", + "app.services.util.trainrunsection-validator.target-arrival-not-reacheable.title": "Target Arrival Warning", + "app.services.util.trainrunsection-validator.target-arrival-not-reacheable.description": "Target arrival time cannot be reached", + "app.services.util.trainrunsection-validator.source-arrival-not-reacheable.title": "Source Arrival Warning", + "app.services.util.trainrunsection-validator.source-arrival-not-reacheable.description": "Source arrival time cannot be reached", + "app.services.util.trainrunsection-validator.travel-time-less-than-1.title": "Travel Time less than 1", + "app.services.util.trainrunsection-validator.travel-time-less-than-1.description": "Travel time must be greater than or equal to 1", + "app.services.util.transition-validator.source-arrival-not-reacheable.title": "Source Arrival Warning", + "app.services.util.transition-validator.source-arrival-not-reacheable.description": "Source arrival time cannot be reached", + "app.services.util.transition-validator.source-departure-not-reacheable.title": "Source Departure Warning", + "app.services.util.transition-validator.source-departure-not-reacheable.description": "Source departure time cannot be reached", + "app.services.util.transition-validator.target-arrival-not-reacheable.title": "Target Arrival Warning", + "app.services.util.transition-validator.target-arrival-not-reacheable.description": "Target arrival time cannot be reached", + "app.services.util.transition-validator.target-departure-not-reacheable.title": "Target Departure Warning", + "app.services.util.transition-validator.target-departure-not-reacheable.description": "Target departure time cannot be reached", + "app.streckengrafik.components.reset": "Reset", + "app.streckengrafik.components.close-all-path-nodes": "Close all path nodes", + "app.streckengrafik.components.open-all-path-nodes": "Open all path nodes", + "app.streckengrafik.components.show-advanced-display-functions": "Show advanced display functions", + "app.streckengrafik.components.show-or-hide-time-for-non-selected-trains": "Show/hide time for non-selected trainruns", + "app.streckengrafik.components.show-or-hide": "Enable/disable {$PH}", + "app.streckengrafik.components.show-or-hide-name-for-non-selected-trainruns": "Show/hide trainrun names for unselected trainruns", + "app.streckengrafik.components.hide-advanced-display-functions": "Hide advanced display functions", + "app.streckengrafik.components.rail-track-slider": "Rail track slider", + "app.streckengrafik.components.headway-band": "Headway band", + "app.streckengrafik.components.time": "Time", + "app.streckengrafik.components.name": "Name", + "app.utils.navigation-parameters.no-project-id": "No project ID available", + "app.utils.navigation-parameters.no-variant-id": "No variant ID available", + "app.utils.navigation-parameters.no-version-id": "No version ID available", + "app.view.card-grid.card.open": "Open", + "app.view.dialogs.confirmation-dialog.confirmation-default": "Yes", + "app.view.dialogs.confirmation-dialog.abort-default": "No", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.edit-filterable-labels": "Edit filterable labels for {$PH}", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.transfer-to-all-visible": "transfer to all visible", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.delete-from-all-visible": "delete from all visible", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.transfer.title": "Übernehmen", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.transfer.content": "Soll das Label {$PH} auf alle sichtbaren {$PH_1} übertragen werden?", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.delete.title": "Löschen", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.delete.content": "Soll das Label {$PH} definitiv aus allen sichtbaren {$PH_1} gelöscht werden?", + "app.view.dialogs.filterable-labels-dialog.filterable-labels-form.mandatory-field": "Mandatory field", + "app.view.dialogs.note-dialog.html-editor.reset-color": "Reset color", + "app.view.dialogs.note-dialog.html-editor.editor-placeholder": "Enter comment here...", + "app.view.dialogs.note-dialog.html-editor.mandatory-field": "Mandatory field", + "app.view.dialogs.note-dialog.html-editor.color-presets.ec.title": "Use color of the color scheme for EC", + "app.view.dialogs.note-dialog.html-editor.color-presets.ic.title": "Use color of the color scheme for IC", + "app.view.dialogs.note-dialog.html-editor.color-presets.ir.title": "Use color of the color scheme for IR", + "app.view.dialogs.note-dialog.html-editor.color-presets.re.title": "Use color of the color scheme for RE", + "app.view.dialogs.note-dialog.html-editor.color-presets.s.title": "Use color of the color scheme for S", + "app.view.dialogs.note-dialog.html-editor.color-presets.gex.title": "Use color of the color scheme for GEX", + "app.view.dialogs.note-dialog.html-editor.color-presets.g.title": "Use color of the color scheme for G", + "app.view.dialogs.note-dialog.html-editor.color-presets.green.title": "green", + "app.view.dialogs.note-dialog.html-editor.color-presets.blue.title": "blue", + "app.view.dialogs.note-dialog.html-editor.color-presets.magenta.title": "magenta", + "app.view.dialogs.note-dialog.html-editor.color-presets.red.title": "red", + "app.view.dialogs.note-dialog.html-editor.color-presets.warning.title": "warning color", + "app.view.dialogs.note-dialog.note-tab": "Note", + "app.view.dialogs.note-dialog.filterable-labels-tab": "Filterable labels", + "app.view.dialogs.note-dialog.delete-note": "Delete note", + "app.view.dialogs.note-dialog.note-filter-tab.labels": "Labels", + "app.view.dialogs.note-dialog.note-filter-tab.label-placeholder": "New label...", + "app.view.dialogs.note-dialog.note-form.title": "Title", + "app.view.dialogs.stammdaten-dialog.main-data": "Main data", + "app.view.dialogs.stammdaten-dialog.betriebspunkt": "Operational point", + "app.view.dialogs.stammdaten-dialog.ipv-stop-time": "IPV stop time", + "app.view.dialogs.stammdaten-dialog.a-stop-time": "A stop time", + "app.view.dialogs.stammdaten-dialog.b-stop-time": "B stop time", + "app.view.dialogs.stammdaten-dialog.c-stop-time": "C stop time", + "app.view.dialogs.stammdaten-dialog.d-stop-time": "D stop time", + "app.view.dialogs.stammdaten-dialog.zaz": "ZAZ", + "app.view.dialogs.stammdaten-dialog.connection-time": "Connection time", + "app.view.dialogs.stammdaten-dialog.region": "Region", + "app.view.dialogs.stammdaten-dialog.category": "Category", + "app.view.dialogs.stammdaten-dialog.filterable-labels": "Filterable labels", + "app.view.dialogs.stammdaten-dialog.position": "Position", + "app.view.dialogs.stammdaten-dialog.close": "Close", + "app.view.editor-edit-tools-view-component.edit": "Edit", + "app.view.editor-edit-tools-view-component.filterable-labels": "Filterable labels", + "app.view.editor-edit-tools-view-component.trainruns": "Trainruns", + "app.view.editor-edit-tools-view-component.nodes": "Nodes", + "app.view.editor-edit-tools-view-component.notes": "Notes", + "app.view.editor-edit-tools-view-component.delete-netzgrafik-title": "Netzgrafik - Delete", + "app.view.editor-edit-tools-view-component.non-visible-elements": "Non visible elements", + "app.view.editor-edit-tools-view-component.delete-all-non-visible-elements-tooltip": "Delete all non-visible elements, such as nodes, trainruns and notes", + "app.view.editor-edit-tools-view-component.delete-all-non-visible-elements": "Delete all non-visible elements", + "app.view.editor-edit-tools-view-component.visible-elements": "Visible elements", + "app.view.editor-edit-tools-view-component.delete-all-visible-trainruns-tooltip": "Delete all visible trainruns", + "app.view.editor-edit-tools-view-component.delete-all-visible-trainruns": "Delete all visible trainruns", + "app.view.editor-edit-tools-view-component.delete-all-visible-notes-tooltip": "Delete all visible notes", + "app.view.editor-edit-tools-view-component.delete-all-visible-notes": "Delete all visible notes", + "app.view.editor-edit-tools-view-component.delete-all-visible-elements-tooltip": "Delete all visible elements, such as nodes, trainruns and notes", + "app.view.editor-edit-tools-view-component.delete-all-visible-elements": "Delete all visible elements", + "app.view.editor-edit-tools-view-component.merge-netzgrafik-title": "Netzgrafik - Merge", + "app.view.editor-edit-tools-view-component.add-netzgrafik-as-copy-tooltip": "Add netzgrafik as a copy (trainruns, nodes, notes)", + "app.view.editor-edit-tools-view-component.add-netzgrafik-as-copy": "Add netzgrafik as a copy", + "app.view.editor-edit-tools-view-component.merge-netzgrafik-tooltip": "Merge netzgrafik (trainruns, nodes, notes)", + "app.view.editor-edit-tools-view-component.merge-netzgrafik": "Merge netzgrafik", + "app.view.editor-edit-tools-view-component.delete": "Delete", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-non-visible-elements": "Should all non-visible elements be permanently deleted from the netzgrafik?", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-visible-elements": "Should all visible elements be permanently deleted from the netzgrafik?", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-visible-trainruns": "Should all visible trainruns be permanently deleted from the netzgrafik?", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-visible-notes": "Should all visible notes be permanently deleted from the netzgrafik?", + "app.view.editor-edit-tools-view-component.label-drop-list.no-labels-available": "No labels available", + "app.view.editor-edit-tools-view-component.label-drop-list.delete-group": "Delete group", + "app.view.editor-edit-tools-view-component.label-drop-list.add-new-group": "Add new group", + "app.view.editor-edit-tools-view-component.label-drop-list.trainruns": "Trainruns", + "app.view.editor-edit-tools-view-component.label-drop-list.notes": "Notes", + "app.view.editor-edit-tools-view-component.label-drop-list.nodes": "Nodes", + "app.view.editor-filter-view.filter": "Filter", + "app.view.editor-filter-view.general": "General", + "app.view.editor-filter-view.category": "Category", + "app.view.editor-filter-view.frequency": "Frequence", + "app.view.editor-filter-view.time-category": "Time category", + "app.view.editor-filter-view.display-all-trainruns": "Display all trainruns", + "app.view.editor-filter-view.reset-trainrun-filter": "Reset trainrun filter", + "app.view.editor-filter-view.filterable-labels-trainruns": "Filterable labels: Trainruns", + "app.view.editor-filter-view.filterable-labels-nodes": "Filterable labels: Nodes", + "app.view.editor-filter-view.filterable-labels-notes": "Filterable labels: Notes", + "app.view.editor-filter-view.display": "Display", + "app.view.editor-filter-view.times": "Times", + "app.view.editor-filter-view.decimal-displayed": "Number of decimal place displayed", + "app.view.editor-filter-view.display-arrival-departure-times": "Display departure and arrival times", + "app.view.editor-filter-view.display-arrival-departure-times-for-connections": "Display departure and arrival times for connections", + "app.view.editor-filter-view.display-travel-times": "Display travel times", + "app.view.editor-filter-view.display-trainrun-name": "Display trainrun name", + "app.view.editor-filter-view.connection": "Connections", + "app.view.editor-filter-view.display-connections": "Display connections", + "app.view.editor-filter-view.nodes": "Nodes", + "app.view.editor-filter-view.display-nodes-without-visible-trainruns": "Display nodes without (visible) trainruns", + "app.view.editor-filter-view.display-nodes-with-only-stopping-trainruns": "Display nodes with only stopping trainruns", + "app.view.editor-filter-view.notes": "Notes", + "app.view.editor-filter-view.display-notes": "Display notes", + "app.view.editor-filter-view.reset-display-filter": "Reset display filter", + "app.view.editor-filter-view.saved-filters": "Saved filters", + "app.view.editor-filter-view.save-filters": "Save filters and add them as filter settings", + "app.view.editor-filter-view.reset-all-display-filters": "Reset all display filters", + "app.view.editor-filter-view.load-filter": "Load {$PH}", + "app.view.editor-filter-view.reload-filter": "Reload {$PH}", + "app.view.editor-filter-view.show-trainrun-category": "Show {$PH}", + "app.view.editor-filter-view.hide-trainrun-category": "Hide {$PH}", + "app.view.editor-filter-view.hide-trainrun-time-category": "Hide {$PH}", + "app.view.editor-filter-view.show-trainrun-frequency": "Show {$PH}", + "app.view.editor-filter-view.hide-trainrun-frequency": "Hide {$PH}", + "app.view.editor-filter-view.filterable-label-filter.no-labels-available": "No labels available", + "app.view.editor-filter-view.filterable-label-filter.or": "Or", + "app.view.editor-filter-view.filterable-label-filter.and": "And", + "app.view.editor-filter-view.filterable-label-filter.show-all": "Show all", + "app.view.editor-filter-view.filterable-label-filter.reset-filter": "Reset filter", + "app.view.editor-filter-view.filterable-label-filter.show": "show", + "app.view.editor-filter-view.filterable-label-filter.hide": "hide", + "app.view.editor-menu.save-changes": "Save changes", + "app.view.editor-menu.changes-saved": "Changes saved", + "app.view.editor-menu.read-mode": "Read mode", + "app.view.editor-menu.show-hide-filter": "Show/Hide filter", + "app.view.editor-menu.zoom-out": "Zoom out", + "app.view.editor-menu.zoom-in": "Zoom in", + "app.view.editor-menu.topology-editor-disabled": "Topology editor disabled", + "app.view.editor-menu.topology-editor-enalbed": "Topology editor enabled", + "app.view.editor-menu.multiple-selection-tool-disabled": "Multiple selection tool is disabled", + "app.view.editor-menu.multiple-selection-tool-enabled": "Multiple selection tool is enabled", + "app.view.editor-menu.note-editor-disabled": "Note editor disabled", + "app.view.editor-menu.note-editor-enabled": "Note editor enabled", + "app.view.editor-menu.analytics-disabled": "Analytics disabled", + "app.view.editor-menu.analytics-enabled": "Analytics enabled", + "app.view.editor-menu.display-streckengrafik": "Display Streckengrafik", + "app.view.editor-menu.close-streckengrafik": "Close Streckengrafik", + "app.view.editor-properties-view-component.settings": "Settings", + "app.view.editor-properties-view-component.color-scheme": "Color scheme", + "app.view.editor-properties-view-component.theme": "Theme", + "app.view.editor-properties-view-component.background-color": "Background color", + "app.view.editor-properties-view-component.set-color-to-white": "Set color to 'white'", + "app.view.editor-properties-view-component.reset-background-color-to-default": "Reset background color to default", + "app.view.editor-properties-view-component.background-color-black": "Background color (black)", + "app.view.editor-properties-view-component.editor": "Editor", + "app.view.editor-properties-view-component.travel-time-presetting-default": "Travel time presetting (heuristics)", + "app.view.editor-properties-view-component.streckengrafik": "Streckengrafik", + "app.view.editor-properties-view-component.axis-scaling-distance": "Axis scaling (distance)", + "app.view.editor-side-view.editor-node-detail-view.main-data": "Main data", + "app.view.editor-side-view.editor-node-detail-view.operational-point": "Operational point", + "app.view.editor-side-view.editor-node-detail-view.name": "Name", + "app.view.editor-side-view.editor-node-detail-view.connection-time": "Connection time", + "app.view.editor-side-view.editor-node-detail-view.occupancy": "Occupancy", + "app.view.editor-side-view.editor-node-detail-view.capacity": "Capacity", + "app.view.editor-side-view.editor-node-detail-view.filterable-labels": "Filterable labels", + "app.view.editor-side-view.editor-node-detail-view.labels": "Labels", + "app.view.editor-side-view.editor-node-detail-view.new-label-placeholder": "New label...", + "app.view.editor-side-view.editor-node-detail-view.stopping-times": "Stopping times", + "app.view.editor-side-view.editor-node-detail-view.stopping-time-per-product": "Stopping time per product", + "app.view.editor-side-view.editor-node-detail-view.no-stop": "No stop", + "app.view.editor-side-view.editor-node-detail-view.ipv": "IPV", + "app.view.editor-side-view.editor-node-detail-view.a": "A", + "app.view.editor-side-view.editor-node-detail-view.b": "B", + "app.view.editor-side-view.editor-node-detail-view.c": "C", + "app.view.editor-side-view.editor-node-detail-view.d": "D", + "app.view.editor-side-view.editor-node-detail-view.links": "Links", + "app.view.editor-side-view.editor-node-detail-view.platform-information": "Platform information", + "app.view.editor-side-view.editor-node-detail-view.platform-length": "Platform length", + "app.view.editor-side-view.editor-node-detail-view.delete-node": "Delete node", + "app.view.editor-side-view.editor-tools-view-component.more-functions": "More functions", + "app.view.editor-side-view.editor-tools-view-component.export": "Export", + "app.view.editor-side-view.editor-tools-view-component.export-netzgrafik-as-svg": "Export netzgrafik as SVG", + "app.view.editor-side-view.editor-tools-view-component.export-as-svg": "Export as SVG", + "app.view.editor-side-view.editor-tools-view-component.export-netzgrafik-as-png": "Export netzgrafik as PNG", + "app.view.editor-side-view.editor-tools-view-component.export-as-png": "Export as PNG", + "app.view.editor-side-view.editor-tools-view-component.print-netzgrafik": "Print netzgrafik", + "app.view.editor-side-view.editor-tools-view-component.print": "Print", + "app.view.editor-side-view.editor-tools-view-component.netzgrafik": "netzgrafik", + "app.view.editor-side-view.editor-tools-view-component.export-netzgrafik": "Export netzgrafik", + "app.view.editor-side-view.editor-tools-view-component.export-netzgrafik-as-json": "Export netzgrafik as JSON", + "app.view.editor-side-view.editor-tools-view-component.import-netzgrafik": "Import netzgrafik", + "app.view.editor-side-view.editor-tools-view-component.import-netzgrafik-as-json": "Import netzgrafik as JSON", + "app.view.editor-side-view.editor-tools-view-component.export-trainruns": "Export trainruns", + "app.view.editor-side-view.editor-tools-view-component.export-trainruns-as-csv": "Export trainruns as CSV", + "app.view.editor-side-view.editor-tools-view-component.export-trainruns-as-csv-excel": "In Excel: Data -> From Text/CSV -> Import ... filename", + "app.view.editor-side-view.editor-tools-view-component.main-data": "Main data", + "app.view.editor-side-view.editor-tools-view-component.import-main-data": "Import main data", + "app.view.editor-side-view.editor-tools-view-component.help-csv-data": "Help: CSV - Data", + "app.view.editor-side-view.editor-tools-view-component.export-main-data": "Export main data", + "app.view.error-view.error": "Error", + "app.view.navigation-bar.project-name": "Project «{$PH}»", + "app.view.navigation-bar.project-name-archived": "Project «{$PH}» (archived)", + "app.view.navigation-bar.variant-name": "Variant «{$PH}»", + "app.view.navigation-bar.variant-name-archived": "Variant «{$PH}» (archived)", + "app.view.project.project-dialog.create-project": "Create project", + "app.view.project.project-dialog.edit-project": "Edit project", + "app.view.project.project-dialog.create": "Create", + "app.view.project.project-dialog.save": "Save", + "app.view.project.project-dialog.cancel": "Cancel", + "app.view.project.project-dialog.project-form.name": "Name", + "app.view.project.project-dialog.project-form.mandatory-field": "Mandatory field", + "app.view.project.project-dialog.project-form.summary": "Summary", + "app.view.project.project-dialog.project-form.description": "Description", + "app.view.project.project-dialog.project-form.tooltip": "Users must be entered with their U/E number (e.g. u123456e654321). Confirm the entry for each number with 'Enter'. Note lower case!", + "app.view.project.project-dialog.project-form.user-with-write-access": "User with write access", + "app.view.project.project-dialog.project-form.new-user-placeholder": "New user...", + "app.view.project.project-dialog.project-form.invalid-values": "Invalid values", + "app.view.project.project-dialog.project-form.user-with-read-access": "User with read access", + "app.view.project.projects-view.projects": "Projects", + "app.view.project.projects-view.search-project": "Search project", + "app.view.project.projects-view.show-archive": "Show archive", + "app.view.project.projects-view.archived": "(archived)", + "app.view.project.projects-view.archive-project.title": "Archive project", + "app.view.project.projects-view.archive-project.content": "Would you like to archive the project now?", + "app.view.project.projects-view.undo-archiving-project.title": "Undo archiving", + "app.view.project.projects-view.undo-archiving-project.content": "Would you like to undo the archiving the project now?", + "app.view.project.projects-view.undo-archiving": "Undo archiving", + "app.view.project.projects-view.edit": "Edit", + "app.view.project.projects-view.archive": "Archive", + "app.view.variant.variant-dialog.create-variant": "Create variant", + "app.view.variant.variant-dialog.edit-variant": "Edit variant", + "app.view.variant.variant-dialog.save": "Save", + "app.view.variant.variant-dialog.cancel": "Cancel", + "app.view.variant.variant-dialog.variant-form.name": "Name", + "app.view.variant.variant-dialog.variant-form.mandatory-field": "Mandatory field", + "app.view.variant.variant-view.variant-history.publish-entry.comment": "Comment", + "app.view.variant.variant-view.variant-history.publish-entry.publish": "Publish", + "app.view.variant.variant-view.variant-history.publish-entry.local-changes": "Local changes must be saved first", + "app.view.variant.variant-view.variant-history.publish-entry.discard-changes": "Discard changes", + "app.view.variant.variant-view.variant-history.released-entry.download": "Download", + "app.view.variant.variant-view.variant-history.released-entry.discard-changes": "Discard changes", + "app.view.variant.variant-view.variant-history.released-entry.ignore-conflict": "Ignore conflict", + "app.view.variant.variant-view.variant-history.released-entry.restore": "Restore", + "app.view.variant.variant-view.variant-history.released-entry.as-new-variant": "As new variant", + "app.view.variant.variant-view.variant-history.released-entry.version-already-available": "Version already available", + "app.view.variant.variant-view.variant-history.released-entry.successfully-published": "Successfully published", + "app.view.variant.variant-view.variant-history.snapshot-entry.download": "Download", + "app.view.variant.variant-view.variant-history.snapshot-entry.restore": "Restore", + "app.view.variant.variant-view.variant-history.snapshot-entry.as-new-variant": "As new variant", + "app.view.variant.variant-view.variant-history.snapshot-entry.successfully-published": "Successfully published", + "app.view.variant.variant-view.variant-history.snapshot-entry.change-snapshot-version": "Change {$PH}", + "app.view.variant.variant-view.variant-history.new-version-published.title": "New version published", + "app.view.variant.variant-view.variant-history.new-version-published.content": "Would you like to publish your personal changes as a new version?", + "app.view.variant.variant-view.variant-history.discard-changes.title": "Discard changes", + "app.view.variant.variant-view.variant-history.discard-changes.content": "Would you like to irrevocably discard your personal changes?", + "app.view.variant.variant-view.variant-history.restore-version.title": "Restore version", + "app.view.variant.variant-view.variant-history.restore-version.content": "Would you like to restore the status of this version?", + "app.view.variant.variant-view.variant-history.ignore-conflict.title": "Ignore conflict", + "app.view.variant.variant-view.variant-history.ignore-conflict.content": "Would you like the current version to be based on the highest published version?", + "app.view.variant.variant-view.archived": "(archived)", + "app.view.variant.variant-view.edit-variant": "Edit variant", + "app.view.variant.variant-view.delete-variant": "Delete variant", + "app.view.variant.variant-view.versions": "Versions", + "app.view.variant.variant-view.delete-variant.title": "Delete variant", + "app.view.variant.variant-view.delete-variant.content": "Do you want to permanently delete the variant and all versions it contains? This action cannot be undone.", + "app.view.variant.variants-view.archived": "(archived)", + "app.view.variant.variants-view.variants": "Variants", + "app.view.variant.variants-view.search-variants": "Search variants", + "app.view.variant.variants-view.show-archive": "Show archive", + "app.view.variant.variants-view.project-description": "Project description", + "app.view.variant.variants-view.edit-project": "Edit project", + "app.view.variant.variants-view.archive-project": "Archive project", + "app.view.variant.variants-view.undo-archiving": "Undo archiving", + "app.view.variant.variants-view.delete-project": "Delete project", + "app.view.variant.variants-view.archive": "Archive", + "app.view.variant.variants-view.archive-variant.title": "Archive variant", + "app.view.variant.variants-view.archive-variant.content": "Would you like to archive the variant now?", + "app.view.variant.variants-view.undo-archiving-variant.title": "Undo archiving", + "app.view.variant.variants-view.undo-archiving-variant.content": "Would you like to undo the archiving of the variant?", + "app.view.variant.variants-view.archive-project.title": "Archive project", + "app.view.variant.variants-view.archive-project.content": "Would you like to archive the project now?", + "app.view.variant.variants-view.undo-archiving-project.title": "Archive variant", + "app.view.variant.variants-view.undo-archiving-project.content": "Would you like to undo the archiving of the project?", + "app.view.variant.variants-view.delete-project.title": "Delete projekt", + "app.view.variant.variants-view.delete-project.content": "Do you want to permanently delete the project and all the variants it contains? This action cannot be undone.", + "app.view.variant.variants-view.error-unexpected-data": "Unexpected data: No snapshot and no released version.", "sbbBreadcrumbExpand": "Show entire path", "sbbDialogCloseDialog": "Close dialog", "sbbFileSelectorUploadFile": "Upload file", diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json index 160eac2a..f68e040a 100644 --- a/src/assets/i18n/fr.json +++ b/src/assets/i18n/fr.json @@ -1,28 +1,346 @@ { - "app-routing.module.path.404": "Die gesuchte Seite wurde nicht gefunden.", - "app-routing.module.path.401": "Sie sind nicht autorisiert, bitte laden Sie die Seite neu.", - "app-routing.module.path.403": "Sie sind nicht berechtigt diese Aktion durchzuführen.", - "app-routing.module.path.409": "Es gab einen Konflikt bei der Ausführung Ihrer Aktion, bitte versuchen Sie es erneut.", - "app-routing.module.path.error": "Es ist ein Fehler aufgetreten.", - "app.user-manual": "User Manual FR", + "app-routing.module.path.404": "The page you were looking for was not found.", + "app-routing.module.path.401": "You are not authorized, please reload the page.", + "app-routing.module.path.403": "You are not authorized to perform this action.", + "app-routing.module.path.409": "There was a conflict while executing your action, please try again.", + "app-routing.module.path.error": "An error has occurred.", + "app.version": "Version", + "app.user-guide": "User guide", + "app.user-manual": "User manual", "app.logout": "Logout", - "app.login-message": "Vous êtes en train d'être connecté...", - "app.version": "Version FR", - "app.user-guide": "User Guide FR", + "app.login": "You are getting logged in...", "app.logger.title": "Title", - "app.netzgrafik-application.variants": "Varianten", + "app.models.node.betriebspunkt-name-default": "NEW", + "app.models.node.full-name-default": "New node", + "app.models.note.title-default": "Note title", + "app.models.note.text-default": "Note text", + "app.netzgrafik-application.variants": "Variants", "app.netzgrafik-application.filter": "Filter", "app.netzgrafik-application.analytics": "Analytics", - "app.netzgrafik-application.edit": "Bearbeiten", - "app.netzgrafik-application.more-functions": "Weitere Funktionen", - "app.netzgrafik-application.properties": "Einstellungen", - "app.perlenkette.node.0-warning-connection": "Kein fehlerhafter Anschluss", - "app.perlenkette.node.1-warning-connection": "1 fehlerhafter Anschluss", - "app.perlenkette.node.n-warning-connections": "{$PH} fehlerhafte Anschlüsse", - "app.perlenkette.node.0-fitting-connection": "Kein passender Anschluss", - "app.perlenkette.node.1-fitting-connection": "1 passender Anschluss", - "app.perlenkette.node.n-fitting-connections": "{$PH} passende Anschlüsse", - "error": "Fehler", + "app.netzgrafik-application.edit": "Edit", + "app.netzgrafik-application.more-functions": "More functions", + "app.netzgrafik-application.properties": "Properties", + "app.perlenkette.perlenkette-node.0-warning-connection": "No incorrect connection", + "app.perlenkette.perlenkette-node.1-warning-connection": "1 incorrect connection", + "app.perlenkette.perlenkette-node.n-warning-connections": "{$PH} incorrect connections", + "app.perlenkette.perlenkette-node.0-fitting-connection": "No fitting connection", + "app.perlenkette.perlenkette-node.1-fitting-connection": "1 fitting connection", + "app.perlenkette.perlenkette-node.n-fitting-connections": "{$PH} fitting connections", + "app.perlenkette.show-only-closed-locks": "Show only closed locks", + "app.perlenkette.show-all-locks": "Show all locks", + "app.services.data.node.transit-modified.title": "Transition changed", + "app.services.data.node.transit-modified.description": "Times cannot be adjusted, lock found on both sides", + "app.models.note.default-title": "Note title", + "app.models.note.default-text": "Note text", + "app.services.data.trainrunsection.intermediate-stop-replacement.title": "Intermediate stop replacement", + "app.services.data.trainrunsection.intermediate-stop-replacement.description": "Intermediate stop replacement led to inconsistencies in the allocation of times!", + "app.services.util.connection-validator.connection-marked-for-transit.title": "Connection marked for transition!", + "app.services.util.connection-validator.connection-marked-for-transit.description": "Connection marked for transition!", + "app.services.util.trainrun-iteration.error.infinity-loop": "Iterator has detected an infinity loop. The iteration terminated early!", + "app.services.util.trainrunsection-validator.target-arrival-not-reacheable.title": "Target Arrival Warning", + "app.services.util.trainrunsection-validator.target-arrival-not-reacheable.description": "Target arrival time cannot be reached", + "app.services.util.trainrunsection-validator.source-arrival-not-reacheable.title": "Source Arrival Warning", + "app.services.util.trainrunsection-validator.source-arrival-not-reacheable.description": "Source arrival time cannot be reached", + "app.services.util.trainrunsection-validator.travel-time-less-than-1.title": "Travel Time less than 1", + "app.services.util.trainrunsection-validator.travel-time-less-than-1.description": "Travel time must be greater than or equal to 1", + "app.services.util.transition-validator.source-arrival-not-reacheable.title": "Source Arrival Warning", + "app.services.util.transition-validator.source-arrival-not-reacheable.description": "Source arrival time cannot be reached", + "app.services.util.transition-validator.source-departure-not-reacheable.title": "Source Departure Warning", + "app.services.util.transition-validator.source-departure-not-reacheable.description": "Source departure time cannot be reached", + "app.services.util.transition-validator.target-arrival-not-reacheable.title": "Target Arrival Warning", + "app.services.util.transition-validator.target-arrival-not-reacheable.description": "Target arrival time cannot be reached", + "app.services.util.transition-validator.target-departure-not-reacheable.title": "Target Departure Warning", + "app.services.util.transition-validator.target-departure-not-reacheable.description": "Target departure time cannot be reached", + "app.streckengrafik.components.reset": "Reset", + "app.streckengrafik.components.close-all-path-nodes": "Close all path nodes", + "app.streckengrafik.components.open-all-path-nodes": "Open all path nodes", + "app.streckengrafik.components.show-advanced-display-functions": "Show advanced display functions", + "app.streckengrafik.components.show-or-hide-time-for-non-selected-trains": "Show/hide time for non-selected trainruns", + "app.streckengrafik.components.show-or-hide": "Enable/disable {$PH}", + "app.streckengrafik.components.show-or-hide-name-for-non-selected-trains": "Show/hide train names for unselected trainruns", + "app.streckengrafik.components.hide-advanced-display-functions": "Hide advanced display functions", + "app.streckengrafik.components.rail-track-slider": "Rail track slider", + "app.streckengrafik.components.headway-band": "Headway band", + "app.streckengrafik.components.time": "Time", + "app.streckengrafik.components.name": "Name", + "app.utils.navigation-parameters.no-project-id": "No project ID available", + "app.utils.navigation-parameters.no-variant-id": "No variant ID available", + "app.utils.navigation-parameters.no-version-id": "No version ID available", + "app.view.card-grid.card.open": "Open", + "app.view.dialogs.confirmation-dialog.confirmation-default": "Yes", + "app.view.dialogs.confirmation-dialog.abort-default": "No", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.edit-filterable-labels": "Edit filterable labels for {$PH}", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.transfer-to-all-visible": "transfer to all visible", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.delete-from-all-visible": "delete from all visible", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.transfer.title": "Übernehmen", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.transfer.content": "Soll das Label {$PH} auf alle sichtbaren {$PH_1} übertragen werden?", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.delete.title": "Löschen", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.delete.content": "Soll das Label {$PH} definitiv aus allen sichtbaren {$PH_1} gelöscht werden?", + "app.view.dialogs.filterable-labels-dialog.filterable-labels-form.mandatory-field": "Mandatory field", + "app.view.dialogs.note-dialog.html-editor.reset-color": "Reset color", + "app.view.dialogs.note-dialog.html-editor.editor-placeholder": "Enter comment here...", + "app.view.dialogs.note-dialog.html-editor.mandatory-field": "Mandatory field", + "app.view.dialogs.note-dialog.html-editor.color-presets.ec.title": "Use color of the color scheme for EC", + "app.view.dialogs.note-dialog.html-editor.color-presets.ic.title": "Use color of the color scheme for IC", + "app.view.dialogs.note-dialog.html-editor.color-presets.ir.title": "Use color of the color scheme for IR", + "app.view.dialogs.note-dialog.html-editor.color-presets.re.title": "Use color of the color scheme for RE", + "app.view.dialogs.note-dialog.html-editor.color-presets.s.title": "Use color of the color scheme for S", + "app.view.dialogs.note-dialog.html-editor.color-presets.gex.title": "Use color of the color scheme for GEX", + "app.view.dialogs.note-dialog.html-editor.color-presets.g.title": "Use color of the color scheme for G", + "app.view.dialogs.note-dialog.html-editor.color-presets.green.title": "green", + "app.view.dialogs.note-dialog.html-editor.color-presets.blue.title": "blue", + "app.view.dialogs.note-dialog.html-editor.color-presets.magenta.title": "magenta", + "app.view.dialogs.note-dialog.html-editor.color-presets.red.title": "red", + "app.view.dialogs.note-dialog.html-editor.color-presets.warning.title": "warning color", + "app.view.dialogs.note-dialog.note-tab": "Note", + "app.view.dialogs.note-dialog.filterable-labels-tab": "Filterable labels", + "app.view.dialogs.note-dialog.delete-note": "Delete note", + "app.view.dialogs.note-dialog.note-filter-tab.labels": "Labels", + "app.view.dialogs.note-dialog.note-filter-tab.label-placeholder": "New label...", + "app.view.dialogs.note-dialog.note-form.title": "Title", + "app.view.dialogs.stammdaten-dialog.main-data": "Main data", + "app.view.dialogs.stammdaten-dialog.betriebspunkt": "Operational point", + "app.view.dialogs.stammdaten-dialog.ipv-stop-time": "IPV stop time", + "app.view.dialogs.stammdaten-dialog.a-stop-time": "A stop time", + "app.view.dialogs.stammdaten-dialog.b-stop-time": "B stop time", + "app.view.dialogs.stammdaten-dialog.c-stop-time": "C stop time", + "app.view.dialogs.stammdaten-dialog.d-stop-time": "D stop time", + "app.view.dialogs.stammdaten-dialog.zaz": "ZAZ", + "app.view.dialogs.stammdaten-dialog.connection-time": "Connection time", + "app.view.dialogs.stammdaten-dialog.region": "Region", + "app.view.dialogs.stammdaten-dialog.category": "Category", + "app.view.dialogs.stammdaten-dialog.filterable-labels": "Filterable labels", + "app.view.dialogs.stammdaten-dialog.position": "Position", + "app.view.dialogs.stammdaten-dialog.close": "Close", + "app.view.editor-edit-tools-view-component.edit": "Edit", + "app.view.editor-edit-tools-view-component.filterable-labels": "Filterable labels", + "app.view.editor-edit-tools-view-component.trainruns": "Trainruns", + "app.view.editor-edit-tools-view-component.nodes": "Nodes", + "app.view.editor-edit-tools-view-component.notes": "Notes", + "app.view.editor-edit-tools-view-component.delete-netzgrafik-title": "Netzgrafik - Delete", + "app.view.editor-edit-tools-view-component.non-visible-elements": "Non visible elements", + "app.view.editor-edit-tools-view-component.delete-all-non-visible-elements-tooltip": "Delete all non-visible elements, such as nodes, trainruns and notes", + "app.view.editor-edit-tools-view-component.delete-all-non-visible-elements": "Delete all non-visible elements", + "app.view.editor-edit-tools-view-component.visible-elements": "Visible elements", + "app.view.editor-edit-tools-view-component.delete-all-visible-trainruns-tooltip": "Delete all visible trainruns", + "app.view.editor-edit-tools-view-component.delete-all-visible-trainruns": "Delete all visible trainruns", + "app.view.editor-edit-tools-view-component.delete-all-visible-notes-tooltip": "Delete all visible notes", + "app.view.editor-edit-tools-view-component.delete-all-visible-notes": "Delete all visible notes", + "app.view.editor-edit-tools-view-component.delete-all-visible-elements-tooltip": "Delete all visible elements, such as nodes, trainruns and notes", + "app.view.editor-edit-tools-view-component.delete-all-visible-elements": "Delete all visible elements", + "app.view.editor-edit-tools-view-component.merge-netzgrafik-title": "Netzgrafik - Merge", + "app.view.editor-edit-tools-view-component.add-netzgrafik-as-copy-tooltip": "Add netzgrafik as a copy (trainruns, nodes, notes)", + "app.view.editor-edit-tools-view-component.add-netzgrafik-as-copy": "Add netzgrafik as a copy", + "app.view.editor-edit-tools-view-component.merge-netzgrafik-tooltip": "Merge netzgrafik (trainruns, nodes, notes)", + "app.view.editor-edit-tools-view-component.merge-netzgrafik": "Merge netzgrafik", + "app.view.editor-edit-tools-view-component.delete": "Delete", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-non-visible-elements": "Should all non-visible elements be permanently deleted from the netzgrafik?", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-visible-elements": "Should all visible elements be permanently deleted from the netzgrafik?", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-visible-trainruns": "Should all visible trainruns be permanently deleted from the netzgrafik?", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-visible-notes": "Should all visible notes be permanently deleted from the netzgrafik?", + "app.view.editor-edit-tools-view-component.label-drop-list.no-labels-available": "No labels available", + "app.view.editor-edit-tools-view-component.label-drop-list.delete-group": "Delete group", + "app.view.editor-edit-tools-view-component.label-drop-list.add-new-group": "Add new group", + "app.view.editor-edit-tools-view-component.label-drop-list.trainruns": "Trainruns", + "app.view.editor-edit-tools-view-component.label-drop-list.notes": "Notes", + "app.view.editor-edit-tools-view-component.label-drop-list.nodes": "Nodes", + "app.view.editor-filter-view.filter": "Filter", + "app.view.editor-filter-view.general": "General", + "app.view.editor-filter-view.category": "Category", + "app.view.editor-filter-view.frequency": "Frequence", + "app.view.editor-filter-view.time-category": "Time category", + "app.view.editor-filter-view.display-all-trainruns": "Display all trainruns", + "app.view.editor-filter-view.reset-trainrun-filter": "Reset trainrun filter", + "app.view.editor-filter-view.filterable-labels-trainruns": "Filterable labels: Trainruns", + "app.view.editor-filter-view.filterable-labels-nodes": "Filterable labels: Nodes", + "app.view.editor-filter-view.filterable-labels-notes": "Filterable labels: Notes", + "app.view.editor-filter-view.display": "Display", + "app.view.editor-filter-view.times": "Times", + "app.view.editor-filter-view.decimal-displayed": "Number of decimal place displayed", + "app.view.editor-filter-view.display-arrival-departure-times": "Display departure and arrival times", + "app.view.editor-filter-view.display-arrival-departure-times-for-connections": "Display departure and arrival times for connections", + "app.view.editor-filter-view.display-travel-times": "Display travel times", + "app.view.editor-filter-view.display-trainrun-name": "Display trainrun name", + "app.view.editor-filter-view.connection": "Connections", + "app.view.editor-filter-view.display-connections": "Display connections", + "app.view.editor-filter-view.nodes": "Nodes", + "app.view.editor-filter-view.display-nodes-without-visible-trainruns": "Display nodes without (visible) trainruns", + "app.view.editor-filter-view.display-nodes-with-only-stopping-trainruns": "Display nodes with only stopping trainruns", + "app.view.editor-filter-view.notes": "Notes", + "app.view.editor-filter-view.display-notes": "Display notes", + "app.view.editor-filter-view.reset-display-filter": "Reset display filter", + "app.view.editor-filter-view.saved-filters": "Saved filters", + "app.view.editor-filter-view.save-filters": "Save filters and add them as filter settings", + "app.view.editor-filter-view.reset-all-display-filters": "Reset all display filters", + "app.view.editor-filter-view.load-filter": "Load {$PH}", + "app.view.editor-filter-view.reload-filter": "Reload {$PH}", + "app.view.editor-filter-view.show-trainrun-category": "Show {$PH}", + "app.view.editor-filter-view.hide-trainrun-category": "Hide {$PH}", + "app.view.editor-filter-view.hide-trainrun-time-category": "Hide {$PH}", + "app.view.editor-filter-view.show-trainrun-frequency": "Show {$PH}", + "app.view.editor-filter-view.hide-trainrun-frequency": "Hide {$PH}", + "app.view.editor-filter-view.filterable-label-filter.no-labels-available": "No labels available", + "app.view.editor-filter-view.filterable-label-filter.or": "Or", + "app.view.editor-filter-view.filterable-label-filter.and": "And", + "app.view.editor-filter-view.filterable-label-filter.show-all": "Show all", + "app.view.editor-filter-view.filterable-label-filter.reset-filter": "Reset filter", + "app.view.editor-filter-view.filterable-label-filter.show": "show", + "app.view.editor-filter-view.filterable-label-filter.hide": "hide", + "app.view.editor-menu.save-changes": "Save changes", + "app.view.editor-menu.changes-saved": "Changes saved", + "app.view.editor-menu.read-mode": "Read mode", + "app.view.editor-menu.show-hide-filter": "Show/Hide filter", + "app.view.editor-menu.zoom-out": "Zoom out", + "app.view.editor-menu.zoom-in": "Zoom in", + "app.view.editor-menu.topology-editor-disabled": "Topology editor disabled", + "app.view.editor-menu.topology-editor-enalbed": "Topology editor enabled", + "app.view.editor-menu.multiple-selection-tool-disabled": "Multiple selection tool is disabled", + "app.view.editor-menu.multiple-selection-tool-enabled": "Multiple selection tool is enabled", + "app.view.editor-menu.note-editor-disabled": "Note editor disabled", + "app.view.editor-menu.note-editor-enabled": "Note editor enabled", + "app.view.editor-menu.analytics-disabled": "Analytics disabled", + "app.view.editor-menu.analytics-enabled": "Analytics enabled", + "app.view.editor-menu.display-streckengrafik": "Display Streckengrafik", + "app.view.editor-menu.close-streckengrafik": "Close Streckengrafik", + "app.view.editor-properties-view-component.settings": "Settings", + "app.view.editor-properties-view-component.color-scheme": "Color scheme", + "app.view.editor-properties-view-component.theme": "Theme", + "app.view.editor-properties-view-component.background-color": "Background color", + "app.view.editor-properties-view-component.set-color-to-white": "Set color to 'white'", + "app.view.editor-properties-view-component.reset-background-color-to-default": "Reset background color to default", + "app.view.editor-properties-view-component.background-color-black": "Background color (black)", + "app.view.editor-properties-view-component.editor": "Editor", + "app.view.editor-properties-view-component.travel-time-presetting-default": "Travel time presetting (heuristics)", + "app.view.editor-properties-view-component.streckengrafik": "Streckengrafik", + "app.view.editor-properties-view-component.axis-scaling-distance": "Axis scaling (distance)", + "app.view.editor-side-view.editor-node-detail-view.main-data": "Main data", + "app.view.editor-side-view.editor-node-detail-view.operational-point": "Operational point", + "app.view.editor-side-view.editor-node-detail-view.name": "Name", + "app.view.editor-side-view.editor-node-detail-view.connection-time": "Connection time", + "app.view.editor-side-view.editor-node-detail-view.occupancy": "Occupancy", + "app.view.editor-side-view.editor-node-detail-view.capacity": "Capacity", + "app.view.editor-side-view.editor-node-detail-view.filterable-labels": "Filterable labels", + "app.view.editor-side-view.editor-node-detail-view.labels": "Labels", + "app.view.editor-side-view.editor-node-detail-view.new-label-placeholder": "New label...", + "app.view.editor-side-view.editor-node-detail-view.stopping-times": "Stopping times", + "app.view.editor-side-view.editor-node-detail-view.stopping-time-per-product": "Stopping time per product", + "app.view.editor-side-view.editor-node-detail-view.no-stop": "No stop", + "app.view.editor-side-view.editor-node-detail-view.ipv": "IPV", + "app.view.editor-side-view.editor-node-detail-view.a": "A", + "app.view.editor-side-view.editor-node-detail-view.b": "B", + "app.view.editor-side-view.editor-node-detail-view.c": "C", + "app.view.editor-side-view.editor-node-detail-view.d": "D", + "app.view.editor-side-view.editor-node-detail-view.links": "Links", + "app.view.editor-side-view.editor-node-detail-view.platform-information": "Platform information", + "app.view.editor-side-view.editor-node-detail-view.platform-length": "Platform length", + "app.view.editor-side-view.editor-node-detail-view.delete-node": "Delete node", + "app.view.editor-side-view.editor-tools-view-component.more-functions": "More functions", + "app.view.editor-side-view.editor-tools-view-component.export": "Export", + "app.view.editor-side-view.editor-tools-view-component.export-netzgrafik-as-svg": "Export netzgrafik as SVG", + "app.view.editor-side-view.editor-tools-view-component.export-as-svg": "Export as SVG", + "app.view.editor-side-view.editor-tools-view-component.export-netzgrafik-as-png": "Export netzgrafik as PNG", + "app.view.editor-side-view.editor-tools-view-component.export-as-png": "Export as PNG", + "app.view.editor-side-view.editor-tools-view-component.print-netzgrafik": "Print netzgrafik", + "app.view.editor-side-view.editor-tools-view-component.print": "Print", + "app.view.editor-side-view.editor-tools-view-component.netzgrafik": "netzgrafik", + "app.view.editor-side-view.editor-tools-view-component.export-netzgrafik": "Export netzgrafik", + "app.view.editor-side-view.editor-tools-view-component.export-netzgrafik-as-json": "Export netzgrafik as JSON", + "app.view.editor-side-view.editor-tools-view-component.import-netzgrafik": "Import netzgrafik", + "app.view.editor-side-view.editor-tools-view-component.import-netzgrafik-as-json": "Import netzgrafik as JSON", + "app.view.editor-side-view.editor-tools-view-component.export-trainruns": "Export trainruns", + "app.view.editor-side-view.editor-tools-view-component.export-trainruns-as-csv": "Export trainruns as CSV", + "app.view.editor-side-view.editor-tools-view-component.export-trainruns-as-csv-excel": "In Excel: Data -> From Text/CSV -> Import ... filename", + "app.view.editor-side-view.editor-tools-view-component.main-data": "Main data", + "app.view.editor-side-view.editor-tools-view-component.import-main-data": "Import main data", + "app.view.editor-side-view.editor-tools-view-component.help-csv-data": "Help: CSV - Data", + "app.view.editor-side-view.editor-tools-view-component.export-main-data": "Export main data", + "app.view.error-view.error": "Error", + "app.view.navigation-bar.project-name": "Project «{$PH}»", + "app.view.navigation-bar.project-name-archived": "Project «{$PH}» (archived)", + "app.view.navigation-bar.variant-name": "Variant «{$PH}»", + "app.view.navigation-bar.variant-name-archived": "Variant «{$PH}» (archived)", + "app.view.project.project-dialog.create-project": "Create project", + "app.view.project.project-dialog.edit-project": "Edit project", + "app.view.project.project-dialog.create": "Create", + "app.view.project.project-dialog.save": "Save", + "app.view.project.project-dialog.cancel": "Cancel", + "app.view.project.project-dialog.project-form.name": "Name", + "app.view.project.project-dialog.project-form.mandatory-field": "Mandatory field", + "app.view.project.project-dialog.project-form.summary": "Summary", + "app.view.project.project-dialog.project-form.description": "Description", + "app.view.project.project-dialog.project-form.tooltip": "Users must be entered with their U/E number (e.g. u123456e654321). Confirm the entry for each number with 'Enter'. Note lower case!", + "app.view.project.project-dialog.project-form.user-with-write-access": "User with write access", + "app.view.project.project-dialog.project-form.new-user-placeholder": "New user...", + "app.view.project.project-dialog.project-form.invalid-values": "Invalid values", + "app.view.project.project-dialog.project-form.user-with-read-access": "User with read access", + "app.view.project.projects-view.projects": "Projects", + "app.view.project.projects-view.search-project": "Search project", + "app.view.project.projects-view.show-archive": "Show archive", + "app.view.project.projects-view.archived": "(archived)", + "app.view.project.projects-view.archive-project.title": "Archive project", + "app.view.project.projects-view.archive-project.content": "Would you like to archive the project now?", + "app.view.project.projects-view.undo-archiving-project.title": "Undo archiving", + "app.view.project.projects-view.undo-archiving-project.content": "Would you like to undo the archiving the project now?", + "app.view.project.projects-view.undo-archiving": "Undo archiving", + "app.view.project.projects-view.edit": "Edit", + "app.view.project.projects-view.archive": "Archive", + "app.view.variant.variant-dialog.create-variant": "Create variant", + "app.view.variant.variant-dialog.edit-variant": "Edit variant", + "app.view.variant.variant-dialog.save": "Save", + "app.view.variant.variant-dialog.cancel": "Cancel", + "app.view.variant.variant-dialog.variant-form.name": "Name", + "app.view.variant.variant-dialog.variant-form.mandatory-field": "Mandatory field", + "app.view.variant.variant-view.variant-history.publish-entry.comment": "Comment", + "app.view.variant.variant-view.variant-history.publish-entry.publish": "Publish", + "app.view.variant.variant-view.variant-history.publish-entry.local-changes": "Local changes must be saved first", + "app.view.variant.variant-view.variant-history.publish-entry.discard-changes": "Discard changes", + "app.view.variant.variant-view.variant-history.released-entry.download": "Download", + "app.view.variant.variant-view.variant-history.released-entry.discard-changes": "Discard changes", + "app.view.variant.variant-view.variant-history.released-entry.ignore-conflict": "Ignore conflict", + "app.view.variant.variant-view.variant-history.released-entry.restore": "Restore", + "app.view.variant.variant-view.variant-history.released-entry.as-new-variant": "As new variant", + "app.view.variant.variant-view.variant-history.released-entry.version-already-available": "Version already available", + "app.view.variant.variant-view.variant-history.released-entry.successfully-published": "Successfully published", + "app.view.variant.variant-view.variant-history.snapshot-entry.download": "Download", + "app.view.variant.variant-view.variant-history.snapshot-entry.restore": "Restore", + "app.view.variant.variant-view.variant-history.snapshot-entry.as-new-variant": "As new variant", + "app.view.variant.variant-view.variant-history.snapshot-entry.successfully-published": "Successfully published", + "app.view.variant.variant-view.variant-history.snapshot-entry.change-snapshot-version": "Change {$PH}", + "app.view.variant.variant-view.variant-history.new-version-published.title": "New version published", + "app.view.variant.variant-view.variant-history.new-version-published.content": "Would you like to publish your personal changes as a new version?", + "app.view.variant.variant-view.variant-history.discard-changes.title": "Discard changes", + "app.view.variant.variant-view.variant-history.discard-changes.content": "Would you like to irrevocably discard your personal changes?", + "app.view.variant.variant-view.variant-history.restore-version.title": "Restore version", + "app.view.variant.variant-view.variant-history.restore-version.content": "Would you like to restore the status of this version?", + "app.view.variant.variant-view.variant-history.ignore-conflict.title": "Ignore conflict", + "app.view.variant.variant-view.variant-history.ignore-conflict.content": "Would you like the current version to be based on the highest published version?", + "app.view.variant.variant-view.archived": "(archived)", + "app.view.variant.variant-view.edit-variant": "Edit variant", + "app.view.variant.variant-view.delete-variant": "Delete variant", + "app.view.variant.variant-view.versions": "Versions", + "app.view.variant.variant-view.delete-variant.title": "Delete variant", + "app.view.variant.variant-view.delete-variant.content": "Do you want to permanently delete the variant and all versions it contains? This action cannot be undone.", + "app.view.variant.variants-view.archived": "(archived)", + "app.view.variant.variants-view.variants": "Variants", + "app.view.variant.variants-view.search-variants": "Search variants", + "app.view.variant.variants-view.show-archive": "Show archive", + "app.view.variant.variants-view.project-description": "Project description", + "app.view.variant.variants-view.edit-project": "Edit project", + "app.view.variant.variants-view.archive-project": "Archive project", + "app.view.variant.variants-view.undo-archiving": "Undo archiving", + "app.view.variant.variants-view.delete-project": "Delete project", + "app.view.variant.variants-view.archive": "Archive", + "app.view.variant.variants-view.archive-variant.title": "Archive variant", + "app.view.variant.variants-view.archive-variant.content": "Would you like to archive the variant now?", + "app.view.variant.variants-view.undo-archiving-variant.title": "Undo archiving", + "app.view.variant.variants-view.undo-archiving-variant.content": "Would you like to undo the archiving of the variant?", + "app.view.variant.variants-view.archive-project.title": "Archive project", + "app.view.variant.variants-view.archive-project.content": "Would you like to archive the project now?", + "app.view.variant.variants-view.undo-archiving-project.title": "Archive variant", + "app.view.variant.variants-view.undo-archiving-project.content": "Would you like to undo the archiving of the project?", + "app.view.variant.variants-view.delete-project.title": "Delete projekt", + "app.view.variant.variants-view.delete-project.content": "Do you want to permanently delete the project and all the variants it contains? This action cannot be undone.", + "app.view.variant.variants-view.error-unexpected-data": "Unexpected data: No snapshot and no released version.", "sbbBreadcrumbExpand": "Show entire path", "sbbDialogCloseDialog": "Close dialog", "sbbFileSelectorUploadFile": "Upload file", diff --git a/src/assets/i18n/it.json b/src/assets/i18n/it.json index 5eb4e78d..2d111296 100644 --- a/src/assets/i18n/it.json +++ b/src/assets/i18n/it.json @@ -1,28 +1,346 @@ { - "app-routing.module.path.404": "Die gesuchte Seite wurde nicht gefunden.", - "app-routing.module.path.401": "Sie sind nicht autorisiert, bitte laden Sie die Seite neu.", - "app-routing.module.path.403": "Sie sind nicht berechtigt diese Aktion durchzuführen.", - "app-routing.module.path.409": "Es gab einen Konflikt bei der Ausführung Ihrer Aktion, bitte versuchen Sie es erneut.", - "app-routing.module.path.error": "Es ist ein Fehler aufgetreten.", - "app.user-manual": "User Manual IT", + "app-routing.module.path.404": "The page you were looking for was not found.", + "app-routing.module.path.401": "You are not authorized, please reload the page.", + "app-routing.module.path.403": "You are not authorized to perform this action.", + "app-routing.module.path.409": "There was a conflict while executing your action, please try again.", + "app-routing.module.path.error": "An error has occurred.", + "app.version": "Version", + "app.user-guide": "User guide", + "app.user-manual": "User manual", "app.logout": "Logout", - "app.login-message": "Stai per accedere...", - "app.version": "Versione IT", - "app.user-guide": "User Guide IT", + "app.login": "You are getting logged in...", "app.logger.title": "Title", - "app.netzgrafik-application.variants": "Varianten", + "app.models.node.betriebspunkt-name-default": "NEW", + "app.models.node.full-name-default": "New node", + "app.models.note.title-default": "Note title", + "app.models.note.text-default": "Note text", + "app.netzgrafik-application.variants": "Variants", "app.netzgrafik-application.filter": "Filter", "app.netzgrafik-application.analytics": "Analytics", - "app.netzgrafik-application.edit": "Bearbeiten", - "app.netzgrafik-application.more-functions": "Weitere Funktionen", - "app.netzgrafik-application.properties": "Einstellungen", - "app.perlenkette.node.0-warning-connection": "Kein fehlerhafter Anschluss", - "app.perlenkette.node.1-warning-connection": "1 fehlerhafter Anschluss", - "app.perlenkette.node.n-warning-connections": "{$PH} fehlerhafte Anschlüsse", - "app.perlenkette.node.0-fitting-connection": "Kein passender Anschluss", - "app.perlenkette.node.1-fitting-connection": "1 passender Anschluss", - "app.perlenkette.node.n-fitting-connections": "{$PH} passende Anschlüsse", - "error": "Fehler", + "app.netzgrafik-application.edit": "Edit", + "app.netzgrafik-application.more-functions": "More functions", + "app.netzgrafik-application.properties": "Properties", + "app.perlenkette.perlenkette-node.0-warning-connection": "No incorrect connection", + "app.perlenkette.perlenkette-node.1-warning-connection": "1 incorrect connection", + "app.perlenkette.perlenkette-node.n-warning-connections": "{$PH} incorrect connections", + "app.perlenkette.perlenkette-node.0-fitting-connection": "No fitting connection", + "app.perlenkette.perlenkette-node.1-fitting-connection": "1 fitting connection", + "app.perlenkette.perlenkette-node.n-fitting-connections": "{$PH} fitting connections", + "app.perlenkette.show-only-closed-locks": "Show only closed locks", + "app.perlenkette.show-all-locks": "Show all locks", + "app.services.data.node.transit-modified.title": "Transition changed", + "app.services.data.node.transit-modified.description": "Times cannot be adjusted, lock found on both sides", + "app.models.note.default-title": "Note title", + "app.models.note.default-text": "Note text", + "app.services.data.trainrunsection.intermediate-stop-replacement.title": "Intermediate stop replacement", + "app.services.data.trainrunsection.intermediate-stop-replacement.description": "Intermediate stop replacement led to inconsistencies in the allocation of times!", + "app.services.util.connection-validator.connection-marked-for-transit.title": "Connection marked for transition!", + "app.services.util.connection-validator.connection-marked-for-transit.description": "Connection marked for transition!", + "app.services.util.trainrun-iteration.error.infinity-loop": "Iterator has detected an infinity loop. The iteration terminated early!", + "app.services.util.trainrunsection-validator.target-arrival-not-reacheable.title": "Target Arrival Warning", + "app.services.util.trainrunsection-validator.target-arrival-not-reacheable.description": "Target arrival time cannot be reached", + "app.services.util.trainrunsection-validator.source-arrival-not-reacheable.title": "Source Arrival Warning", + "app.services.util.trainrunsection-validator.source-arrival-not-reacheable.description": "Source arrival time cannot be reached", + "app.services.util.trainrunsection-validator.travel-time-less-than-1.title": "Travel Time less than 1", + "app.services.util.trainrunsection-validator.travel-time-less-than-1.description": "Travel time must be greater than or equal to 1", + "app.services.util.transition-validator.source-arrival-not-reacheable.title": "Source Arrival Warning", + "app.services.util.transition-validator.source-arrival-not-reacheable.description": "Source arrival time cannot be reached", + "app.services.util.transition-validator.source-departure-not-reacheable.title": "Source Departure Warning", + "app.services.util.transition-validator.source-departure-not-reacheable.description": "Source departure time cannot be reached", + "app.services.util.transition-validator.target-arrival-not-reacheable.title": "Target Arrival Warning", + "app.services.util.transition-validator.target-arrival-not-reacheable.description": "Target arrival time cannot be reached", + "app.services.util.transition-validator.target-departure-not-reacheable.title": "Target Departure Warning", + "app.services.util.transition-validator.target-departure-not-reacheable.description": "Target departure time cannot be reached", + "app.streckengrafik.components.reset": "Reset", + "app.streckengrafik.components.close-all-path-nodes": "Close all path nodes", + "app.streckengrafik.components.open-all-path-nodes": "Open all path nodes", + "app.streckengrafik.components.show-advanced-display-functions": "Show advanced display functions", + "app.streckengrafik.components.show-or-hide-time-for-non-selected-trainruns": "Show/hide time for non-selected trainruns", + "app.streckengrafik.components.show-or-hide": "Enable/disable {$PH}", + "app.streckengrafik.components.show-or-hide-name-for-non-selected-trainruns": "Show/hide trainrun names for unselected trainruns", + "app.streckengrafik.components.hide-advanced-display-functions": "Hide advanced display functions", + "app.streckengrafik.components.rail-track-slider": "Rail track slider", + "app.streckengrafik.components.headway-band": "Headway band", + "app.streckengrafik.components.time": "Time", + "app.streckengrafik.components.name": "Name", + "app.utils.navigation-parameters.no-project-id": "No project ID available", + "app.utils.navigation-parameters.no-variant-id": "No variant ID available", + "app.utils.navigation-parameters.no-version-id": "No version ID available", + "app.view.card-grid.card.open": "Open", + "app.view.dialogs.confirmation-dialog.confirmation-default": "Yes", + "app.view.dialogs.confirmation-dialog.abort-default": "No", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.edit-filterable-labels": "Edit filterable labels for {$PH}", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.transfer-to-all-visible": "transfer to all visible", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.delete-from-all-visible": "delete from all visible", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.transfer.title": "Übernehmen", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.transfer.content": "Soll das Label {$PH} auf alle sichtbaren {$PH_1} übertragen werden?", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.delete.title": "Löschen", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.delete.content": "Soll das Label {$PH} definitiv aus allen sichtbaren {$PH_1} gelöscht werden?", + "app.view.dialogs.filterable-labels-dialog.filterable-labels-form.mandatory-field": "Mandatory field", + "app.view.dialogs.note-dialog.html-editor.reset-color": "Reset color", + "app.view.dialogs.note-dialog.html-editor.editor-placeholder": "Enter comment here...", + "app.view.dialogs.note-dialog.html-editor.mandatory-field": "Mandatory field", + "app.view.dialogs.note-dialog.html-editor.color-presets.ec.title": "Use color of the color scheme for EC", + "app.view.dialogs.note-dialog.html-editor.color-presets.ic.title": "Use color of the color scheme for IC", + "app.view.dialogs.note-dialog.html-editor.color-presets.ir.title": "Use color of the color scheme for IR", + "app.view.dialogs.note-dialog.html-editor.color-presets.re.title": "Use color of the color scheme for RE", + "app.view.dialogs.note-dialog.html-editor.color-presets.s.title": "Use color of the color scheme for S", + "app.view.dialogs.note-dialog.html-editor.color-presets.gex.title": "Use color of the color scheme for GEX", + "app.view.dialogs.note-dialog.html-editor.color-presets.g.title": "Use color of the color scheme for G", + "app.view.dialogs.note-dialog.html-editor.color-presets.green.title": "green", + "app.view.dialogs.note-dialog.html-editor.color-presets.blue.title": "blue", + "app.view.dialogs.note-dialog.html-editor.color-presets.magenta.title": "magenta", + "app.view.dialogs.note-dialog.html-editor.color-presets.red.title": "red", + "app.view.dialogs.note-dialog.html-editor.color-presets.warning.title": "warning color", + "app.view.dialogs.note-dialog.note-tab": "Note", + "app.view.dialogs.note-dialog.filterable-labels-tab": "Filterable labels", + "app.view.dialogs.note-dialog.delete-note": "Delete note", + "app.view.dialogs.note-dialog.note-filter-tab.labels": "Labels", + "app.view.dialogs.note-dialog.note-filter-tab.label-placeholder": "New label...", + "app.view.dialogs.note-dialog.note-form.title": "Title", + "app.view.dialogs.stammdaten-dialog.main-data": "Main data", + "app.view.dialogs.stammdaten-dialog.betriebspunkt": "Operational point", + "app.view.dialogs.stammdaten-dialog.ipv-stop-time": "IPV stop time", + "app.view.dialogs.stammdaten-dialog.a-stop-time": "A stop time", + "app.view.dialogs.stammdaten-dialog.b-stop-time": "B stop time", + "app.view.dialogs.stammdaten-dialog.c-stop-time": "C stop time", + "app.view.dialogs.stammdaten-dialog.d-stop-time": "D stop time", + "app.view.dialogs.stammdaten-dialog.zaz": "ZAZ", + "app.view.dialogs.stammdaten-dialog.connection-time": "Connection time", + "app.view.dialogs.stammdaten-dialog.region": "Region", + "app.view.dialogs.stammdaten-dialog.category": "Category", + "app.view.dialogs.stammdaten-dialog.filterable-labels": "Filterable labels", + "app.view.dialogs.stammdaten-dialog.position": "Position", + "app.view.dialogs.stammdaten-dialog.close": "Close", + "app.view.editor-edit-tools-view-component.edit": "Edit", + "app.view.editor-edit-tools-view-component.filterable-labels": "Filterable labels", + "app.view.editor-edit-tools-view-component.trainruns": "Trainruns", + "app.view.editor-edit-tools-view-component.nodes": "Nodes", + "app.view.editor-edit-tools-view-component.notes": "Notes", + "app.view.editor-edit-tools-view-component.delete-netzgrafik-title": "Netzgrafik - Delete", + "app.view.editor-edit-tools-view-component.non-visible-elements": "Non visible elements", + "app.view.editor-edit-tools-view-component.delete-all-non-visible-elements-tooltip": "Delete all non-visible elements, such as nodes, trainruns and notes", + "app.view.editor-edit-tools-view-component.delete-all-non-visible-elements": "Delete all non-visible elements", + "app.view.editor-edit-tools-view-component.visible-elements": "Visible elements", + "app.view.editor-edit-tools-view-component.delete-all-visible-trainruns-tooltip": "Delete all visible trainruns", + "app.view.editor-edit-tools-view-component.delete-all-visible-trainruns": "Delete all visible trainruns", + "app.view.editor-edit-tools-view-component.delete-all-visible-notes-tooltip": "Delete all visible notes", + "app.view.editor-edit-tools-view-component.delete-all-visible-notes": "Delete all visible notes", + "app.view.editor-edit-tools-view-component.delete-all-visible-elements-tooltip": "Delete all visible elements, such as nodes, trainruns and notes", + "app.view.editor-edit-tools-view-component.delete-all-visible-elements": "Delete all visible elements", + "app.view.editor-edit-tools-view-component.merge-netzgrafik-title": "Netzgrafik - Merge", + "app.view.editor-edit-tools-view-component.add-netzgrafik-as-copy-tooltip": "Add netzgrafik as a copy (trainruns, nodes, notes)", + "app.view.editor-edit-tools-view-component.add-netzgrafik-as-copy": "Add netzgrafik as a copy", + "app.view.editor-edit-tools-view-component.merge-netzgrafik-tooltip": "Merge netzgrafik (trainruns, nodes, notes)", + "app.view.editor-edit-tools-view-component.merge-netzgrafik": "Merge netzgrafik", + "app.view.editor-edit-tools-view-component.delete": "Delete", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-non-visible-elements": "Should all non-visible elements be permanently deleted from the netzgrafik?", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-visible-elements": "Should all visible elements be permanently deleted from the netzgrafik?", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-visible-trainruns": "Should all visible trainruns be permanently deleted from the netzgrafik?", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-visible-notes": "Should all visible notes be permanently deleted from the netzgrafik?", + "app.view.editor-edit-tools-view-component.label-drop-list.no-labels-available": "No labels available", + "app.view.editor-edit-tools-view-component.label-drop-list.delete-group": "Delete group", + "app.view.editor-edit-tools-view-component.label-drop-list.add-new-group": "Add new group", + "app.view.editor-edit-tools-view-component.label-drop-list.trainruns": "Trainruns", + "app.view.editor-edit-tools-view-component.label-drop-list.notes": "Notes", + "app.view.editor-edit-tools-view-component.label-drop-list.nodes": "Nodes", + "app.view.editor-filter-view.filter": "Filter", + "app.view.editor-filter-view.general": "General", + "app.view.editor-filter-view.category": "Category", + "app.view.editor-filter-view.frequency": "Frequence", + "app.view.editor-filter-view.time-category": "Time category", + "app.view.editor-filter-view.display-all-trainruns": "Display all trainruns", + "app.view.editor-filter-view.reset-trainrun-filter": "Reset trainrun filter", + "app.view.editor-filter-view.filterable-labels-trainruns": "Filterable labels: Trainruns", + "app.view.editor-filter-view.filterable-labels-nodes": "Filterable labels: Nodes", + "app.view.editor-filter-view.filterable-labels-notes": "Filterable labels: Notes", + "app.view.editor-filter-view.display": "Display", + "app.view.editor-filter-view.times": "Times", + "app.view.editor-filter-view.decimal-displayed": "Number of decimal place displayed", + "app.view.editor-filter-view.display-arrival-departure-times": "Display departure and arrival times", + "app.view.editor-filter-view.display-arrival-departure-times-for-connections": "Display departure and arrival times for connections", + "app.view.editor-filter-view.display-travel-times": "Display travel times", + "app.view.editor-filter-view.display-trainrun-name": "Display trainrun name", + "app.view.editor-filter-view.connection": "Connections", + "app.view.editor-filter-view.display-connections": "Display connections", + "app.view.editor-filter-view.nodes": "Nodes", + "app.view.editor-filter-view.display-nodes-without-visible-trainruns": "Display nodes without (visible) trainruns", + "app.view.editor-filter-view.display-nodes-with-only-stopping-trainruns": "Display nodes with only stopping trainruns", + "app.view.editor-filter-view.notes": "Notes", + "app.view.editor-filter-view.display-notes": "Display notes", + "app.view.editor-filter-view.reset-display-filter": "Reset display filter", + "app.view.editor-filter-view.saved-filters": "Saved filters", + "app.view.editor-filter-view.save-filters": "Save filters and add them as filter settings", + "app.view.editor-filter-view.reset-all-display-filters": "Reset all display filters", + "app.view.editor-filter-view.load-filter": "Load {$PH}", + "app.view.editor-filter-view.reload-filter": "Reload {$PH}", + "app.view.editor-filter-view.show-trainrun-category": "Show {$PH}", + "app.view.editor-filter-view.hide-trainrun-category": "Hide {$PH}", + "app.view.editor-filter-view.hide-trainrun-time-category": "Hide {$PH}", + "app.view.editor-filter-view.show-trainrun-frequency": "Show {$PH}", + "app.view.editor-filter-view.hide-trainrun-frequency": "Hide {$PH}", + "app.view.editor-filter-view.filterable-label-filter.no-labels-available": "No labels available", + "app.view.editor-filter-view.filterable-label-filter.or": "Or", + "app.view.editor-filter-view.filterable-label-filter.and": "And", + "app.view.editor-filter-view.filterable-label-filter.show-all": "Show all", + "app.view.editor-filter-view.filterable-label-filter.reset-filter": "Reset filter", + "app.view.editor-filter-view.filterable-label-filter.show": "show", + "app.view.editor-filter-view.filterable-label-filter.hide": "hide", + "app.view.editor-menu.save-changes": "Save changes", + "app.view.editor-menu.changes-saved": "Changes saved", + "app.view.editor-menu.read-mode": "Read mode", + "app.view.editor-menu.show-hide-filter": "Show/Hide filter", + "app.view.editor-menu.zoom-out": "Zoom out", + "app.view.editor-menu.zoom-in": "Zoom in", + "app.view.editor-menu.topology-editor-disabled": "Topology editor disabled", + "app.view.editor-menu.topology-editor-enalbed": "Topology editor enabled", + "app.view.editor-menu.multiple-selection-tool-disabled": "Multiple selection tool is disabled", + "app.view.editor-menu.multiple-selection-tool-enabled": "Multiple selection tool is enabled", + "app.view.editor-menu.note-editor-disabled": "Note editor disabled", + "app.view.editor-menu.note-editor-enabled": "Note editor enabled", + "app.view.editor-menu.analytics-disabled": "Analytics disabled", + "app.view.editor-menu.analytics-enabled": "Analytics enabled", + "app.view.editor-menu.display-streckengrafik": "Display Streckengrafik", + "app.view.editor-menu.close-streckengrafik": "Close Streckengrafik", + "app.view.editor-properties-view-component.settings": "Settings", + "app.view.editor-properties-view-component.color-scheme": "Color scheme", + "app.view.editor-properties-view-component.theme": "Theme", + "app.view.editor-properties-view-component.background-color": "Background color", + "app.view.editor-properties-view-component.set-color-to-white": "Set color to 'white'", + "app.view.editor-properties-view-component.reset-background-color-to-default": "Reset background color to default", + "app.view.editor-properties-view-component.background-color-black": "Background color (black)", + "app.view.editor-properties-view-component.editor": "Editor", + "app.view.editor-properties-view-component.travel-time-presetting-default": "Travel time presetting (heuristics)", + "app.view.editor-properties-view-component.streckengrafik": "Streckengrafik", + "app.view.editor-properties-view-component.axis-scaling-distance": "Axis scaling (distance)", + "app.view.editor-side-view.editor-node-detail-view.main-data": "Main data", + "app.view.editor-side-view.editor-node-detail-view.operational-point": "Operational point", + "app.view.editor-side-view.editor-node-detail-view.name": "Name", + "app.view.editor-side-view.editor-node-detail-view.connection-time": "Connection time", + "app.view.editor-side-view.editor-node-detail-view.occupancy": "Occupancy", + "app.view.editor-side-view.editor-node-detail-view.capacity": "Capacity", + "app.view.editor-side-view.editor-node-detail-view.filterable-labels": "Filterable labels", + "app.view.editor-side-view.editor-node-detail-view.labels": "Labels", + "app.view.editor-side-view.editor-node-detail-view.new-label-placeholder": "New label...", + "app.view.editor-side-view.editor-node-detail-view.stopping-times": "Stopping times", + "app.view.editor-side-view.editor-node-detail-view.stopping-time-per-product": "Stopping time per product", + "app.view.editor-side-view.editor-node-detail-view.no-stop": "No stop", + "app.view.editor-side-view.editor-node-detail-view.ipv": "IPV", + "app.view.editor-side-view.editor-node-detail-view.a": "A", + "app.view.editor-side-view.editor-node-detail-view.b": "B", + "app.view.editor-side-view.editor-node-detail-view.c": "C", + "app.view.editor-side-view.editor-node-detail-view.d": "D", + "app.view.editor-side-view.editor-node-detail-view.links": "Links", + "app.view.editor-side-view.editor-node-detail-view.platform-information": "Platform information", + "app.view.editor-side-view.editor-node-detail-view.platform-length": "Platform length", + "app.view.editor-side-view.editor-node-detail-view.delete-node": "Delete node", + "app.view.editor-side-view.editor-tools-view-component.more-functions": "More functions", + "app.view.editor-side-view.editor-tools-view-component.export": "Export", + "app.view.editor-side-view.editor-tools-view-component.export-netzgrafik-as-svg": "Export netzgrafik as SVG", + "app.view.editor-side-view.editor-tools-view-component.export-as-svg": "Export as SVG", + "app.view.editor-side-view.editor-tools-view-component.export-netzgrafik-as-png": "Export netzgrafik as PNG", + "app.view.editor-side-view.editor-tools-view-component.export-as-png": "Export as PNG", + "app.view.editor-side-view.editor-tools-view-component.print-netzgrafik": "Print netzgrafik", + "app.view.editor-side-view.editor-tools-view-component.print": "Print", + "app.view.editor-side-view.editor-tools-view-component.netzgrafik": "netzgrafik", + "app.view.editor-side-view.editor-tools-view-component.export-netzgrafik": "Export netzgrafik", + "app.view.editor-side-view.editor-tools-view-component.export-netzgrafik-as-json": "Export netzgrafik as JSON", + "app.view.editor-side-view.editor-tools-view-component.import-netzgrafik": "Import netzgrafik", + "app.view.editor-side-view.editor-tools-view-component.import-netzgrafik-as-json": "Import netzgrafik as JSON", + "app.view.editor-side-view.editor-tools-view-component.export-trainruns": "Export trainruns", + "app.view.editor-side-view.editor-tools-view-component.export-trainruns-as-csv": "Export trainruns as CSV", + "app.view.editor-side-view.editor-tools-view-component.export-trainruns-as-csv-excel": "In Excel: Data -> From Text/CSV -> Import ... filename", + "app.view.editor-side-view.editor-tools-view-component.main-data": "Main data", + "app.view.editor-side-view.editor-tools-view-component.import-main-data": "Import main data", + "app.view.editor-side-view.editor-tools-view-component.help-csv-data": "Help: CSV - Data", + "app.view.editor-side-view.editor-tools-view-component.export-main-data": "Export main data", + "app.view.error-view.error": "Error", + "app.view.navigation-bar.project-name": "Project «{$PH}»", + "app.view.navigation-bar.project-name-archived": "Project «{$PH}» (archived)", + "app.view.navigation-bar.variant-name": "Variant «{$PH}»", + "app.view.navigation-bar.variant-name-archived": "Variant «{$PH}» (archived)", + "app.view.project.project-dialog.create-project": "Create project", + "app.view.project.project-dialog.edit-project": "Edit project", + "app.view.project.project-dialog.create": "Create", + "app.view.project.project-dialog.save": "Save", + "app.view.project.project-dialog.cancel": "Cancel", + "app.view.project.project-dialog.project-form.name": "Name", + "app.view.project.project-dialog.project-form.mandatory-field": "Mandatory field", + "app.view.project.project-dialog.project-form.summary": "Summary", + "app.view.project.project-dialog.project-form.description": "Description", + "app.view.project.project-dialog.project-form.tooltip": "Users must be entered with their U/E number (e.g. u123456e654321). Confirm the entry for each number with 'Enter'. Note lower case!", + "app.view.project.project-dialog.project-form.user-with-write-access": "User with write access", + "app.view.project.project-dialog.project-form.new-user-placeholder": "New user...", + "app.view.project.project-dialog.project-form.invalid-values": "Invalid values", + "app.view.project.project-dialog.project-form.user-with-read-access": "User with read access", + "app.view.project.projects-view.projects": "Projects", + "app.view.project.projects-view.search-project": "Search project", + "app.view.project.projects-view.show-archive": "Show archive", + "app.view.project.projects-view.archived": "(archived)", + "app.view.project.projects-view.archive-project.title": "Archive project", + "app.view.project.projects-view.archive-project.content": "Would you like to archive the project now?", + "app.view.project.projects-view.undo-archiving-project.title": "Undo archiving", + "app.view.project.projects-view.undo-archiving-project.content": "Would you like to undo the archiving the project now?", + "app.view.project.projects-view.undo-archiving": "Undo archiving", + "app.view.project.projects-view.edit": "Edit", + "app.view.project.projects-view.archive": "Archive", + "app.view.variant.variant-dialog.create-variant": "Create variant", + "app.view.variant.variant-dialog.edit-variant": "Edit variant", + "app.view.variant.variant-dialog.save": "Save", + "app.view.variant.variant-dialog.cancel": "Cancel", + "app.view.variant.variant-dialog.variant-form.name": "Name", + "app.view.variant.variant-dialog.variant-form.mandatory-field": "Mandatory field", + "app.view.variant.variant-view.variant-history.publish-entry.comment": "Comment", + "app.view.variant.variant-view.variant-history.publish-entry.publish": "Publish", + "app.view.variant.variant-view.variant-history.publish-entry.local-changes": "Local changes must be saved first", + "app.view.variant.variant-view.variant-history.publish-entry.discard-changes": "Discard changes", + "app.view.variant.variant-view.variant-history.released-entry.download": "Download", + "app.view.variant.variant-view.variant-history.released-entry.discard-changes": "Discard changes", + "app.view.variant.variant-view.variant-history.released-entry.ignore-conflict": "Ignore conflict", + "app.view.variant.variant-view.variant-history.released-entry.restore": "Restore", + "app.view.variant.variant-view.variant-history.released-entry.as-new-variant": "As new variant", + "app.view.variant.variant-view.variant-history.released-entry.version-already-available": "Version already available", + "app.view.variant.variant-view.variant-history.released-entry.successfully-published": "Successfully published", + "app.view.variant.variant-view.variant-history.snapshot-entry.download": "Download", + "app.view.variant.variant-view.variant-history.snapshot-entry.restore": "Restore", + "app.view.variant.variant-view.variant-history.snapshot-entry.as-new-variant": "As new variant", + "app.view.variant.variant-view.variant-history.snapshot-entry.successfully-published": "Successfully published", + "app.view.variant.variant-view.variant-history.snapshot-entry.change-snapshot-version": "Change {$PH}", + "app.view.variant.variant-view.variant-history.new-version-published.title": "New version published", + "app.view.variant.variant-view.variant-history.new-version-published.content": "Would you like to publish your personal changes as a new version?", + "app.view.variant.variant-view.variant-history.discard-changes.title": "Discard changes", + "app.view.variant.variant-view.variant-history.discard-changes.content": "Would you like to irrevocably discard your personal changes?", + "app.view.variant.variant-view.variant-history.restore-version.title": "Restore version", + "app.view.variant.variant-view.variant-history.restore-version.content": "Would you like to restore the status of this version?", + "app.view.variant.variant-view.variant-history.ignore-conflict.title": "Ignore conflict", + "app.view.variant.variant-view.variant-history.ignore-conflict.content": "Would you like the current version to be based on the highest published version?", + "app.view.variant.variant-view.archived": "(archived)", + "app.view.variant.variant-view.edit-variant": "Edit variant", + "app.view.variant.variant-view.delete-variant": "Delete variant", + "app.view.variant.variant-view.versions": "Versions", + "app.view.variant.variant-view.delete-variant.title": "Delete variant", + "app.view.variant.variant-view.delete-variant.content": "Do you want to permanently delete the variant and all versions it contains? This action cannot be undone.", + "app.view.variant.variants-view.archived": "(archived)", + "app.view.variant.variants-view.variants": "Variants", + "app.view.variant.variants-view.search-variants": "Search variants", + "app.view.variant.variants-view.show-archive": "Show archive", + "app.view.variant.variants-view.project-description": "Project description", + "app.view.variant.variants-view.edit-project": "Edit project", + "app.view.variant.variants-view.archive-project": "Archive project", + "app.view.variant.variants-view.undo-archiving": "Undo archiving", + "app.view.variant.variants-view.delete-project": "Delete project", + "app.view.variant.variants-view.archive": "Archive", + "app.view.variant.variants-view.archive-variant.title": "Archive variant", + "app.view.variant.variants-view.archive-variant.content": "Would you like to archive the variant now?", + "app.view.variant.variants-view.undo-archiving-variant.title": "Undo archiving", + "app.view.variant.variants-view.undo-archiving-variant.content": "Would you like to undo the archiving of the variant?", + "app.view.variant.variants-view.archive-project.title": "Archive project", + "app.view.variant.variants-view.archive-project.content": "Would you like to archive the project now?", + "app.view.variant.variants-view.undo-archiving-project.title": "Archive variant", + "app.view.variant.variants-view.undo-archiving-project.content": "Would you like to undo the archiving of the project?", + "app.view.variant.variants-view.delete-project.title": "Delete projekt", + "app.view.variant.variants-view.delete-project.content": "Do you want to permanently delete the project and all the variants it contains? This action cannot be undone.", + "app.view.variant.variants-view.error-unexpected-data": "Unexpected data: No snapshot and no released version.", "sbbBreadcrumbExpand": "Show entire path", "sbbDialogCloseDialog": "Close dialog", "sbbFileSelectorUploadFile": "Upload file", diff --git a/src/assets/i18n/locale.json b/src/assets/i18n/locale.json index 11506e34..cb316bdf 100644 --- a/src/assets/i18n/locale.json +++ b/src/assets/i18n/locale.json @@ -1,30 +1,348 @@ { "locale": "en-US", "translations": { - "app-routing.module.path.404": "Die gesuchte Seite wurde nicht gefunden.", - "app-routing.module.path.401": "Sie sind nicht autorisiert, bitte laden Sie die Seite neu.", - "app-routing.module.path.403": "Sie sind nicht berechtigt diese Aktion durchzuführen.", - "app-routing.module.path.409": "Es gab einen Konflikt bei der Ausführung Ihrer Aktion, bitte versuchen Sie es erneut.", - "app-routing.module.path.error": "Es ist ein Fehler aufgetreten.", - "app.user-manual": " User Manual ", - "app.logout": "Logout", - "app.login-message": "You are getting logged in...", + "app-routing.module.path.404": "The page you were looking for was not found.", + "app-routing.module.path.401": "You are not authorized, please reload the page.", + "app-routing.module.path.403": "You are not authorized to perform this action.", + "app-routing.module.path.409": "There was a conflict while executing your action, please try again.", + "app-routing.module.path.error": "An error has occurred.", "app.version": "Version", - "app.user-guide": "User Guide", + "app.user-guide": "User guide", + "app.user-manual": "User manual", + "app.logout": "Logout", + "app.login": "You are getting logged in...", "app.logger.title": "Title", - "app.netzgrafik-application.variants": "Varianten", + "app.models.node.betriebspunkt-name-default": "NEW", + "app.models.node.full-name-default": "New node", + "app.models.note.title-default": "Note title", + "app.models.note.text-default": "Note text", + "app.netzgrafik-application.variants": "Variants", "app.netzgrafik-application.filter": "Filter", "app.netzgrafik-application.analytics": "Analytics", - "app.netzgrafik-application.edit": "Bearbeiten", - "app.netzgrafik-application.more-functions": "Weitere Funktionen", - "app.netzgrafik-application.properties": "Einstellungen", - "app.perlenkette.node.0-warning-connection": "Kein fehlerhafter Anschluss", - "app.perlenkette.node.1-warning-connection": "1 fehlerhafter Anschluss", - "app.perlenkette.node.n-warning-connections": "{$PH} fehlerhafte Anschlüsse", - "app.perlenkette.node.0-fitting-connection": "Kein passender Anschluss", - "app.perlenkette.node.1-fitting-connection": "1 passender Anschluss", - "app.perlenkette.node.n-fitting-connections": "{$PH} passende Anschlüsse", - "error": "Fehler", + "app.netzgrafik-application.edit": "Edit", + "app.netzgrafik-application.more-functions": "More functions", + "app.netzgrafik-application.properties": "Properties", + "app.perlenkette.perlenkette-node.0-warning-connection": "No incorrect connection", + "app.perlenkette.perlenkette-node.1-warning-connection": "1 incorrect connection", + "app.perlenkette.perlenkette-node.n-warning-connections": "{$PH} incorrect connections", + "app.perlenkette.perlenkette-node.0-fitting-connection": "No fitting connection", + "app.perlenkette.perlenkette-node.1-fitting-connection": "1 fitting connection", + "app.perlenkette.perlenkette-node.n-fitting-connections": "{$PH} fitting connections", + "app.perlenkette.show-only-closed-locks": "Show only closed locks", + "app.perlenkette.show-all-locks": "Show all locks", + "app.services.data.node.transit-modified.title": "Transition changed", + "app.services.data.node.transit-modified.description": "Times cannot be adjusted, lock found on both sides", + "app.models.note.default-title": "Note title", + "app.models.note.default-text": "Note text", + "app.services.data.trainrunsection.intermediate-stop-replacement.title": "Intermediate stop replacement", + "app.services.data.trainrunsection.intermediate-stop-replacement.description": "Intermediate stop replacement led to inconsistencies in the allocation of times!", + "app.services.util.connection-validator.connection-marked-for-transit.title": "Connection marked for transition!", + "app.services.util.connection-validator.connection-marked-for-transit.description": "Connection marked for transition!", + "app.services.util.trainrun-iteration.error.infinity-loop": "Iterator has detected an infinity loop. The iteration terminated early!", + "app.services.util.trainrunsection-validator.target-arrival-not-reacheable.title": "Target Arrival Warning", + "app.services.util.trainrunsection-validator.target-arrival-not-reacheable.description": "Target arrival time cannot be reached", + "app.services.util.trainrunsection-validator.source-arrival-not-reacheable.title": "Source Arrival Warning", + "app.services.util.trainrunsection-validator.source-arrival-not-reacheable.description": "Source arrival time cannot be reached", + "app.services.util.trainrunsection-validator.travel-time-less-than-1.title": "Travel Time less than 1", + "app.services.util.trainrunsection-validator.travel-time-less-than-1.description": "Travel time must be greater than or equal to 1", + "app.services.util.transition-validator.source-arrival-not-reacheable.title": "Source Arrival Warning", + "app.services.util.transition-validator.source-arrival-not-reacheable.description": "Source arrival time cannot be reached", + "app.services.util.transition-validator.source-departure-not-reacheable.title": "Source Departure Warning", + "app.services.util.transition-validator.source-departure-not-reacheable.description": "Source departure time cannot be reached", + "app.services.util.transition-validator.target-arrival-not-reacheable.title": "Target Arrival Warning", + "app.services.util.transition-validator.target-arrival-not-reacheable.description": "Target arrival time cannot be reached", + "app.services.util.transition-validator.target-departure-not-reacheable.title": "Target Departure Warning", + "app.services.util.transition-validator.target-departure-not-reacheable.description": "Target departure time cannot be reached", + "app.streckengrafik.components.reset": "Reset", + "app.streckengrafik.components.close-all-path-nodes": "Close all path nodes", + "app.streckengrafik.components.open-all-path-nodes": "Open all path nodes", + "app.streckengrafik.components.show-advanced-display-functions": "Show advanced display functions", + "app.streckengrafik.components.show-or-hide-time-for-non-selected-trainruns": "Show/hide time for non-selected trainruns", + "app.streckengrafik.components.show-or-hide": "Enable/disable {$PH}", + "app.streckengrafik.components.show-or-hide-name-for-non-selected-trainruns": "Show/hide trainrun names for unselected trainruns", + "app.streckengrafik.components.hide-advanced-display-functions": "Hide advanced display functions", + "app.streckengrafik.components.rail-track-slider": "Rail track slider", + "app.streckengrafik.components.headway-band": "Headway band", + "app.streckengrafik.components.time": "Time", + "app.streckengrafik.components.name": "Name", + "app.utils.navigation-parameters.no-project-id": "No project ID available", + "app.utils.navigation-parameters.no-variant-id": "No variant ID available", + "app.utils.navigation-parameters.no-version-id": "No version ID available", + "app.view.card-grid.card.open": "Open", + "app.view.dialogs.confirmation-dialog.confirmation-default": "Yes", + "app.view.dialogs.confirmation-dialog.abort-default": "No", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.edit-filterable-labels": "Edit filterable labels for {$PH}", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.transfer-to-all-visible": "transfer to all visible", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.delete-from-all-visible": "delete from all visible", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.transfer.title": "Übernehmen", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.transfer.content": "Soll das Label {$PH} auf alle sichtbaren {$PH_1} übertragen werden?", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.delete.title": "Löschen", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.delete.content": "Soll das Label {$PH} definitiv aus allen sichtbaren {$PH_1} gelöscht werden?", + "app.view.dialogs.filterable-labels-dialog.filterable-labels-form.mandatory-field": "Mandatory field", + "app.view.dialogs.note-dialog.html-editor.reset-color": "Reset color", + "app.view.dialogs.note-dialog.html-editor.editor-placeholder": "Enter comment here...", + "app.view.dialogs.note-dialog.html-editor.mandatory-field": "Mandatory field", + "app.view.dialogs.note-dialog.html-editor.color-presets.ec.title": "Use color of the color scheme for EC", + "app.view.dialogs.note-dialog.html-editor.color-presets.ic.title": "Use color of the color scheme for IC", + "app.view.dialogs.note-dialog.html-editor.color-presets.ir.title": "Use color of the color scheme for IR", + "app.view.dialogs.note-dialog.html-editor.color-presets.re.title": "Use color of the color scheme for RE", + "app.view.dialogs.note-dialog.html-editor.color-presets.s.title": "Use color of the color scheme for S", + "app.view.dialogs.note-dialog.html-editor.color-presets.gex.title": "Use color of the color scheme for GEX", + "app.view.dialogs.note-dialog.html-editor.color-presets.g.title": "Use color of the color scheme for G", + "app.view.dialogs.note-dialog.html-editor.color-presets.green.title": "green", + "app.view.dialogs.note-dialog.html-editor.color-presets.blue.title": "blue", + "app.view.dialogs.note-dialog.html-editor.color-presets.magenta.title": "magenta", + "app.view.dialogs.note-dialog.html-editor.color-presets.red.title": "red", + "app.view.dialogs.note-dialog.html-editor.color-presets.warning.title": "warning color", + "app.view.dialogs.note-dialog.note-tab": "Note", + "app.view.dialogs.note-dialog.filterable-labels-tab": "Filterable labels", + "app.view.dialogs.note-dialog.delete-note": "Delete note", + "app.view.dialogs.note-dialog.note-filter-tab.labels": "Labels", + "app.view.dialogs.note-dialog.note-filter-tab.label-placeholder": "New label...", + "app.view.dialogs.note-dialog.note-form.title": "Title", + "app.view.dialogs.stammdaten-dialog.main-data": "Main data", + "app.view.dialogs.stammdaten-dialog.betriebspunkt": "Operational point", + "app.view.dialogs.stammdaten-dialog.ipv-stop-time": "IPV stop time", + "app.view.dialogs.stammdaten-dialog.a-stop-time": "A stop time", + "app.view.dialogs.stammdaten-dialog.b-stop-time": "B stop time", + "app.view.dialogs.stammdaten-dialog.c-stop-time": "C stop time", + "app.view.dialogs.stammdaten-dialog.d-stop-time": "D stop time", + "app.view.dialogs.stammdaten-dialog.zaz": "ZAZ", + "app.view.dialogs.stammdaten-dialog.connection-time": "Connection time", + "app.view.dialogs.stammdaten-dialog.region": "Region", + "app.view.dialogs.stammdaten-dialog.category": "Category", + "app.view.dialogs.stammdaten-dialog.filterable-labels": "Filterable labels", + "app.view.dialogs.stammdaten-dialog.position": "Position", + "app.view.dialogs.stammdaten-dialog.close": "Close", + "app.view.editor-edit-tools-view-component.edit": "Edit", + "app.view.editor-edit-tools-view-component.filterable-labels": "Filterable labels", + "app.view.editor-edit-tools-view-component.trainruns": "Trainruns", + "app.view.editor-edit-tools-view-component.nodes": "Nodes", + "app.view.editor-edit-tools-view-component.notes": "Notes", + "app.view.editor-edit-tools-view-component.delete-netzgrafik-title": "Netzgrafik - Delete", + "app.view.editor-edit-tools-view-component.non-visible-elements": "Non visible elements", + "app.view.editor-edit-tools-view-component.delete-all-non-visible-elements-tooltip": "Delete all non-visible elements, such as nodes, trainruns and notes", + "app.view.editor-edit-tools-view-component.delete-all-non-visible-elements": "Delete all non-visible elements", + "app.view.editor-edit-tools-view-component.visible-elements": "Visible elements", + "app.view.editor-edit-tools-view-component.delete-all-visible-trainruns-tooltip": "Delete all visible trainruns", + "app.view.editor-edit-tools-view-component.delete-all-visible-trainruns": "Delete all visible trainruns", + "app.view.editor-edit-tools-view-component.delete-all-visible-notes-tooltip": "Delete all visible notes", + "app.view.editor-edit-tools-view-component.delete-all-visible-notes": "Delete all visible notes", + "app.view.editor-edit-tools-view-component.delete-all-visible-elements-tooltip": "Delete all visible elements, such as nodes, trainruns and notes", + "app.view.editor-edit-tools-view-component.delete-all-visible-elements": "Delete all visible elements", + "app.view.editor-edit-tools-view-component.merge-netzgrafik-title": "Netzgrafik - Merge", + "app.view.editor-edit-tools-view-component.add-netzgrafik-as-copy-tooltip": "Add netzgrafik as a copy (trainruns, nodes, notes)", + "app.view.editor-edit-tools-view-component.add-netzgrafik-as-copy": "Add netzgrafik as a copy", + "app.view.editor-edit-tools-view-component.merge-netzgrafik-tooltip": "Merge netzgrafik (trainruns, nodes, notes)", + "app.view.editor-edit-tools-view-component.merge-netzgrafik": "Merge netzgrafik", + "app.view.editor-edit-tools-view-component.delete": "Delete", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-non-visible-elements": "Should all non-visible elements be permanently deleted from the netzgrafik?", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-visible-elements": "Should all visible elements be permanently deleted from the netzgrafik?", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-visible-trainruns": "Should all visible trainruns be permanently deleted from the netzgrafik?", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-visible-notes": "Should all visible notes be permanently deleted from the netzgrafik?", + "app.view.editor-edit-tools-view-component.label-drop-list.no-labels-available": "No labels available", + "app.view.editor-edit-tools-view-component.label-drop-list.delete-group": "Delete group", + "app.view.editor-edit-tools-view-component.label-drop-list.add-new-group": "Add new group", + "app.view.editor-edit-tools-view-component.label-drop-list.trainruns": "Trainruns", + "app.view.editor-edit-tools-view-component.label-drop-list.notes": "Notes", + "app.view.editor-edit-tools-view-component.label-drop-list.nodes": "Nodes", + "app.view.editor-filter-view.filter": "Filter", + "app.view.editor-filter-view.general": "General", + "app.view.editor-filter-view.category": "Category", + "app.view.editor-filter-view.frequency": "Frequence", + "app.view.editor-filter-view.time-category": "Time category", + "app.view.editor-filter-view.display-all-trainruns": "Display all trainruns", + "app.view.editor-filter-view.reset-trainrun-filter": "Reset trainrun filter", + "app.view.editor-filter-view.filterable-labels-trainruns": "Filterable labels: Trainruns", + "app.view.editor-filter-view.filterable-labels-nodes": "Filterable labels: Nodes", + "app.view.editor-filter-view.filterable-labels-notes": "Filterable labels: Notes", + "app.view.editor-filter-view.display": "Display", + "app.view.editor-filter-view.times": "Times", + "app.view.editor-filter-view.decimal-displayed": "Number of decimal place displayed", + "app.view.editor-filter-view.display-arrival-departure-times": "Display departure and arrival times", + "app.view.editor-filter-view.display-arrival-departure-times-for-connections": "Display departure and arrival times for connections", + "app.view.editor-filter-view.display-travel-times": "Display travel times", + "app.view.editor-filter-view.display-trainrun-name": "Display trainrun name", + "app.view.editor-filter-view.connection": "Connections", + "app.view.editor-filter-view.display-connections": "Display connections", + "app.view.editor-filter-view.nodes": "Nodes", + "app.view.editor-filter-view.display-nodes-without-visible-trainruns": "Display nodes without (visible) trainruns", + "app.view.editor-filter-view.display-nodes-with-only-stopping-trainruns": "Display nodes with only stopping trainruns", + "app.view.editor-filter-view.notes": "Notes", + "app.view.editor-filter-view.display-notes": "Display notes", + "app.view.editor-filter-view.reset-display-filter": "Reset display filter", + "app.view.editor-filter-view.saved-filters": "Saved filters", + "app.view.editor-filter-view.save-filters": "Save filters and add them as filter settings", + "app.view.editor-filter-view.reset-all-display-filters": "Reset all display filters", + "app.view.editor-filter-view.load-filter": "Load {$PH}", + "app.view.editor-filter-view.reload-filter": "Reload {$PH}", + "app.view.editor-filter-view.show-trainrun-category": "Show {$PH}", + "app.view.editor-filter-view.hide-trainrun-category": "Hide {$PH}", + "app.view.editor-filter-view.hide-trainrun-time-category": "Hide {$PH}", + "app.view.editor-filter-view.show-trainrun-frequency": "Show {$PH}", + "app.view.editor-filter-view.hide-trainrun-frequency": "Hide {$PH}", + "app.view.editor-filter-view.filterable-label-filter.no-labels-available": "No labels available", + "app.view.editor-filter-view.filterable-label-filter.or": "Or", + "app.view.editor-filter-view.filterable-label-filter.and": "And", + "app.view.editor-filter-view.filterable-label-filter.show-all": "Show all", + "app.view.editor-filter-view.filterable-label-filter.reset-filter": "Reset filter", + "app.view.editor-filter-view.filterable-label-filter.show": "show", + "app.view.editor-filter-view.filterable-label-filter.hide": "hide", + "app.view.editor-menu.save-changes": "Save changes", + "app.view.editor-menu.changes-saved": "Changes saved", + "app.view.editor-menu.read-mode": "Read mode", + "app.view.editor-menu.show-hide-filter": "Show/Hide filter", + "app.view.editor-menu.zoom-out": "Zoom out", + "app.view.editor-menu.zoom-in": "Zoom in", + "app.view.editor-menu.topology-editor-disabled": "Topology editor disabled", + "app.view.editor-menu.topology-editor-enalbed": "Topology editor enabled", + "app.view.editor-menu.multiple-selection-tool-disabled": "Multiple selection tool is disabled", + "app.view.editor-menu.multiple-selection-tool-enabled": "Multiple selection tool is enabled", + "app.view.editor-menu.note-editor-disabled": "Note editor disabled", + "app.view.editor-menu.note-editor-enabled": "Note editor enabled", + "app.view.editor-menu.analytics-disabled": "Analytics disabled", + "app.view.editor-menu.analytics-enabled": "Analytics enabled", + "app.view.editor-menu.display-streckengrafik": "Display Streckengrafik", + "app.view.editor-menu.close-streckengrafik": "Close Streckengrafik", + "app.view.editor-properties-view-component.settings": "Settings", + "app.view.editor-properties-view-component.color-scheme": "Color scheme", + "app.view.editor-properties-view-component.theme": "Theme", + "app.view.editor-properties-view-component.background-color": "Background color", + "app.view.editor-properties-view-component.set-color-to-white": "Set color to 'white'", + "app.view.editor-properties-view-component.reset-background-color-to-default": "Reset background color to default", + "app.view.editor-properties-view-component.background-color-black": "Background color (black)", + "app.view.editor-properties-view-component.editor": "Editor", + "app.view.editor-properties-view-component.travel-time-presetting-default": "Travel time presetting (heuristics)", + "app.view.editor-properties-view-component.streckengrafik": "Streckengrafik", + "app.view.editor-properties-view-component.axis-scaling-distance": "Axis scaling (distance)", + "app.view.editor-side-view.editor-node-detail-view.main-data": "Main data", + "app.view.editor-side-view.editor-node-detail-view.operational-point": "Operational point", + "app.view.editor-side-view.editor-node-detail-view.name": "Name", + "app.view.editor-side-view.editor-node-detail-view.connection-time": "Connection time", + "app.view.editor-side-view.editor-node-detail-view.occupancy": "Occupancy", + "app.view.editor-side-view.editor-node-detail-view.capacity": "Capacity", + "app.view.editor-side-view.editor-node-detail-view.filterable-labels": "Filterable labels", + "app.view.editor-side-view.editor-node-detail-view.labels": "Labels", + "app.view.editor-side-view.editor-node-detail-view.new-label-placeholder": "New label...", + "app.view.editor-side-view.editor-node-detail-view.stopping-times": "Stopping times", + "app.view.editor-side-view.editor-node-detail-view.stopping-time-per-product": "Stopping time per product", + "app.view.editor-side-view.editor-node-detail-view.no-stop": "No stop", + "app.view.editor-side-view.editor-node-detail-view.ipv": "IPV", + "app.view.editor-side-view.editor-node-detail-view.a": "A", + "app.view.editor-side-view.editor-node-detail-view.b": "B", + "app.view.editor-side-view.editor-node-detail-view.c": "C", + "app.view.editor-side-view.editor-node-detail-view.d": "D", + "app.view.editor-side-view.editor-node-detail-view.links": "Links", + "app.view.editor-side-view.editor-node-detail-view.platform-information": "Platform information", + "app.view.editor-side-view.editor-node-detail-view.platform-length": "Platform length", + "app.view.editor-side-view.editor-node-detail-view.delete-node": "Delete node", + "app.view.editor-side-view.editor-tools-view-component.more-functions": "More functions", + "app.view.editor-side-view.editor-tools-view-component.export": "Export", + "app.view.editor-side-view.editor-tools-view-component.export-netzgrafik-as-svg": "Export netzgrafik as SVG", + "app.view.editor-side-view.editor-tools-view-component.export-as-svg": "Export as SVG", + "app.view.editor-side-view.editor-tools-view-component.export-netzgrafik-as-png": "Export netzgrafik as PNG", + "app.view.editor-side-view.editor-tools-view-component.export-as-png": "Export as PNG", + "app.view.editor-side-view.editor-tools-view-component.print-netzgrafik": "Print netzgrafik", + "app.view.editor-side-view.editor-tools-view-component.print": "Print", + "app.view.editor-side-view.editor-tools-view-component.netzgrafik": "netzgrafik", + "app.view.editor-side-view.editor-tools-view-component.export-netzgrafik": "Export netzgrafik", + "app.view.editor-side-view.editor-tools-view-component.export-netzgrafik-as-json": "Export netzgrafik as JSON", + "app.view.editor-side-view.editor-tools-view-component.import-netzgrafik": "Import netzgrafik", + "app.view.editor-side-view.editor-tools-view-component.import-netzgrafik-as-json": "Import netzgrafik as JSON", + "app.view.editor-side-view.editor-tools-view-component.export-trainruns": "Export trainruns", + "app.view.editor-side-view.editor-tools-view-component.export-trainruns-as-csv": "Export trainruns as CSV", + "app.view.editor-side-view.editor-tools-view-component.export-trainruns-as-csv-excel": "In Excel: Data -> From Text/CSV -> Import ... filename", + "app.view.editor-side-view.editor-tools-view-component.main-data": "Main data", + "app.view.editor-side-view.editor-tools-view-component.import-main-data": "Import main data", + "app.view.editor-side-view.editor-tools-view-component.help-csv-data": "Help: CSV - Data", + "app.view.editor-side-view.editor-tools-view-component.export-main-data": "Export main data", + "app.view.error-view.error": "Error", + "app.view.navigation-bar.project-name": "Project «{$PH}»", + "app.view.navigation-bar.project-name-archived": "Project «{$PH}» (archived)", + "app.view.navigation-bar.variant-name": "Variant «{$PH}»", + "app.view.navigation-bar.variant-name-archived": "Variant «{$PH}» (archived)", + "app.view.project.project-dialog.create-project": "Create project", + "app.view.project.project-dialog.edit-project": "Edit project", + "app.view.project.project-dialog.create": "Create", + "app.view.project.project-dialog.save": "Save", + "app.view.project.project-dialog.cancel": "Cancel", + "app.view.project.project-dialog.project-form.name": "Name", + "app.view.project.project-dialog.project-form.mandatory-field": "Mandatory field", + "app.view.project.project-dialog.project-form.summary": "Summary", + "app.view.project.project-dialog.project-form.description": "Description", + "app.view.project.project-dialog.project-form.tooltip": "Users must be entered with their U/E number (e.g. u123456e654321). Confirm the entry for each number with 'Enter'. Note lower case!", + "app.view.project.project-dialog.project-form.user-with-write-access": "User with write access", + "app.view.project.project-dialog.project-form.new-user-placeholder": "New user...", + "app.view.project.project-dialog.project-form.invalid-values": "Invalid values", + "app.view.project.project-dialog.project-form.user-with-read-access": "User with read access", + "app.view.project.projects-view.projects": "Projects", + "app.view.project.projects-view.search-project": "Search project", + "app.view.project.projects-view.show-archive": "Show archive", + "app.view.project.projects-view.archived": "(archived)", + "app.view.project.projects-view.archive-project.title": "Archive project", + "app.view.project.projects-view.archive-project.content": "Would you like to archive the project now?", + "app.view.project.projects-view.undo-archiving-project.title": "Undo archiving", + "app.view.project.projects-view.undo-archiving-project.content": "Would you like to undo the archiving the project now?", + "app.view.project.projects-view.undo-archiving": "Undo archiving", + "app.view.project.projects-view.edit": "Edit", + "app.view.project.projects-view.archive": "Archive", + "app.view.variant.variant-dialog.create-variant": "Create variant", + "app.view.variant.variant-dialog.edit-variant": "Edit variant", + "app.view.variant.variant-dialog.save": "Save", + "app.view.variant.variant-dialog.cancel": "Cancel", + "app.view.variant.variant-dialog.variant-form.name": "Name", + "app.view.variant.variant-dialog.variant-form.mandatory-field": "Mandatory field", + "app.view.variant.variant-view.variant-history.publish-entry.comment": "Comment", + "app.view.variant.variant-view.variant-history.publish-entry.publish": "Publish", + "app.view.variant.variant-view.variant-history.publish-entry.local-changes": "Local changes must be saved first", + "app.view.variant.variant-view.variant-history.publish-entry.discard-changes": "Discard changes", + "app.view.variant.variant-view.variant-history.released-entry.download": "Download", + "app.view.variant.variant-view.variant-history.released-entry.discard-changes": "Discard changes", + "app.view.variant.variant-view.variant-history.released-entry.ignore-conflict": "Ignore conflict", + "app.view.variant.variant-view.variant-history.released-entry.restore": "Restore", + "app.view.variant.variant-view.variant-history.released-entry.as-new-variant": "As new variant", + "app.view.variant.variant-view.variant-history.released-entry.version-already-available": "Version already available", + "app.view.variant.variant-view.variant-history.released-entry.successfully-published": "Successfully published", + "app.view.variant.variant-view.variant-history.snapshot-entry.download": "Download", + "app.view.variant.variant-view.variant-history.snapshot-entry.restore": "Restore", + "app.view.variant.variant-view.variant-history.snapshot-entry.as-new-variant": "As new variant", + "app.view.variant.variant-view.variant-history.snapshot-entry.successfully-published": "Successfully published", + "app.view.variant.variant-view.variant-history.snapshot-entry.change-snapshot-version": "Change {$PH}", + "app.view.variant.variant-view.variant-history.new-version-published.title": "New version published", + "app.view.variant.variant-view.variant-history.new-version-published.content": "Would you like to publish your personal changes as a new version?", + "app.view.variant.variant-view.variant-history.discard-changes.title": "Discard changes", + "app.view.variant.variant-view.variant-history.discard-changes.content": "Would you like to irrevocably discard your personal changes?", + "app.view.variant.variant-view.variant-history.restore-version.title": "Restore version", + "app.view.variant.variant-view.variant-history.restore-version.content": "Would you like to restore the status of this version?", + "app.view.variant.variant-view.variant-history.ignore-conflict.title": "Ignore conflict", + "app.view.variant.variant-view.variant-history.ignore-conflict.content": "Would you like the current version to be based on the highest published version?", + "app.view.variant.variant-view.archived": "(archived)", + "app.view.variant.variant-view.edit-variant": "Edit variant", + "app.view.variant.variant-view.delete-variant": "Delete variant", + "app.view.variant.variant-view.versions": "Versions", + "app.view.variant.variant-view.delete-variant.title": "Delete variant", + "app.view.variant.variant-view.delete-variant.content": "Do you want to permanently delete the variant and all versions it contains? This action cannot be undone.", + "app.view.variant.variants-view.archived": "(archived)", + "app.view.variant.variants-view.variants": "Variants", + "app.view.variant.variants-view.search-variants": "Search variants", + "app.view.variant.variants-view.show-archive": "Show archive", + "app.view.variant.variants-view.project-description": "Project description", + "app.view.variant.variants-view.edit-project": "Edit project", + "app.view.variant.variants-view.archive-project": "Archive project", + "app.view.variant.variants-view.undo-archiving": "Undo archiving", + "app.view.variant.variants-view.delete-project": "Delete project", + "app.view.variant.variants-view.archive": "Archive", + "app.view.variant.variants-view.archive-variant.title": "Archive variant", + "app.view.variant.variants-view.archive-variant.content": "Would you like to archive the variant now?", + "app.view.variant.variants-view.undo-archiving-variant.title": "Undo archiving", + "app.view.variant.variants-view.undo-archiving-variant.content": "Would you like to undo the archiving of the variant?", + "app.view.variant.variants-view.archive-project.title": "Archive project", + "app.view.variant.variants-view.archive-project.content": "Would you like to archive the project now?", + "app.view.variant.variants-view.undo-archiving-project.title": "Archive variant", + "app.view.variant.variants-view.undo-archiving-project.content": "Would you like to undo the archiving of the project?", + "app.view.variant.variants-view.delete-project.title": "Delete projekt", + "app.view.variant.variants-view.delete-project.content": "Do you want to permanently delete the project and all the variants it contains? This action cannot be undone.", + "app.view.variant.variants-view.error-unexpected-data": "Unexpected data: No snapshot and no released version.", "sbbBreadcrumbExpand": "Show entire path", "sbbDialogCloseDialog": "Close dialog", "sbbFileSelectorUploadFile": "Upload file", diff --git a/src/assets/i18n/temp.json b/src/assets/i18n/temp.json new file mode 100644 index 00000000..114918a4 --- /dev/null +++ b/src/assets/i18n/temp.json @@ -0,0 +1,356 @@ +{ + "locale": "en-US", + "translations": { + "app-routing.module.path.404": "Die gesuchte Seite wurde nicht gefunden.", + "app-routing.module.path.401": "Sie sind nicht autorisiert, bitte laden Sie die Seite neu.", + "app-routing.module.path.403": "Sie sind nicht berechtigt diese Aktion durchzuführen.", + "app-routing.module.path.409": "Es gab einen Konflikt bei der Ausführung Ihrer Aktion, bitte versuchen Sie es erneut.", + "app-routing.module.path.error": "Es ist ein Fehler aufgetreten.", + "app.user-manual": " User Manual ", + "app.logout": "Logout", + "app.login-message": "You are getting logged in...", + "app.version": "Version", + "app.user-guide": "User Guide", + "app.logger.title": "Title", + "app.models.node.betriebspunkt-name-default": "NEW", + "app.models.node.full-name-default": "New node", + "app.models.note.title-default": "Note title", + "app.models.note.text-default": "Note text", + "app.netzgrafik-application.variants": "Varianten", + "app.netzgrafik-application.filter": "Filter", + "app.netzgrafik-application.analytics": "Analytics", + "app.netzgrafik-application.edit": "Bearbeiten", + "app.netzgrafik-application.more-functions": "Weitere Funktionen", + "app.netzgrafik-application.properties": "Einstellungen", + "app.perlenkette.perlenkette-node.0-warning-connection": "Kein fehlerhafter Anschluss", + "app.perlenkette.perlenkette-node.1-warning-connection": "1 fehlerhafter Anschluss", + "app.perlenkette.perlenkette-node.n-warning-connections": "{$PH} fehlerhafte Anschlüsse", + "app.perlenkette.perlenkette-node.0-fitting-connection": "Kein passender Anschluss", + "app.perlenkette.perlenkette-node.1-fitting-connection": "1 passender Anschluss", + "app.perlenkette.perlenkette-node.n-fitting-connections": "{$PH} passende Anschlüsse", + "app.perlenkette.show-only-closed-locks": "Zeige nur geschlossene Schlösser", + "app.perlenkette.show-all-locks": "Zeige alle Schlösser", + "app.services.data.node.transit-modified.title": "Durchfahrt geändert", + "app.services.data.node.transit-modified.description": "Zeiten können nicht angepasst werden, beidseitger Lock gefunden", + "app.models.note.default-title": "Note title", + "app.models.note.default-text": "Note text", + "app.services.data.trainrunsection.intermediate-stop-replacement.title": "Zwischenhalteumwandlung", + "app.services.data.trainrunsection.intermediate-stop-replacement.description": "Zwischenhalteumwandlung führte bei der Vergabe der Zeiten zu inkonsistenzen!", + "app.services.util.connection-validator.connection-marked-for-transit.title": "Anschluss auf Durchfahrt gezeichnet!", + "app.services.util.connection-validator.connection-marked-for-transit.description": "Anschluss auf Durchfahrt gezeichnet!", + "app.services.util.trainrun-iteration.error.infinity-loop": "Iterator has detected an infinity loop. The iteration terminated early!", + "app.services.util.trainrunsection-validator.target-arrival-not-reacheable.title": "Target Arrival Warning", + "app.services.util.trainrunsection-validator.target-arrival-not-reacheable.description": "Target arrival time cannot be reached", + "app.services.util.trainrunsection-validator.source-arrival-not-reacheable.title": "Source Arrival Warning", + "app.services.util.trainrunsection-validator.source-arrival-not-reacheable.description": "Source arrival time cannot be reached", + "app.services.util.trainrunsection-validator.travel-time-less-than-1.title": "Travel Time less than 1", + "app.services.util.trainrunsection-validator.travel-time-less-than-1.description": "Travel time must be greater than or equal to 1", + "app.services.util.transition-validator.source-arrival-not-reacheable.title": "Source Arrival Warning", + "app.services.util.transition-validator.source-arrival-not-reacheable.description": "Source arrival time cannot be reached", + "app.services.util.transition-validator.source-departure-not-reacheable.title": "Source Departure Warning", + "app.services.util.transition-validator.source-departure-not-reacheable.description": "Source departure time cannot be reached", + "app.services.util.transition-validator.target-arrival-not-reacheable.title": "Target Arrival Warning", + "app.services.util.transition-validator.target-arrival-not-reacheable.description": "Target arrival time cannot be reached", + "app.services.util.transition-validator.target-departure-not-reacheable.title": "Target Departure Warning", + "app.services.util.transition-validator.target-departure-not-reacheable.description": "Target departure time cannot be reached", + "app.streckengrafik.components.reset": "Reset", + "app.streckengrafik.components.close-all-path-nodes": "Schliesse alle Gleisbeleger", + "app.streckengrafik.components.open-all-path-nodes": "Öffne alle Gleisbeleger", + "app.streckengrafik.components.show-advanced-display-functions": "Erweiterte Darstellungsfunktionen einblenden", + "app.streckengrafik.components.show-or-hide-time-for-non-selected-trains": "Zeit ein-/ausblenden für nicht selektierte Züge", + "app.streckengrafik.components.show-or-hide": "Enable/Disable {$PH}/{$PH_1} ein-/ausblenden", + "app.streckengrafik.components.show-or-hide-name-for-non-selected-trains": "Zugnamen ein-/ausblenden für nicht selektierte Züge", + "app.streckengrafik.components.hide-advanced-display-functions": "Erweiterte Darstellungsfunktionen ausblenden", + "app.utils.navigation-parameters.no-project-id": "No project ID available", + "app.utils.navigation-parameters.no-variant-id": "No variant ID available", + "app.utils.navigation-parameters.no-version-id": "No version ID available", + "app.view.card-grid.card.open": "Öffnen", + "app.view.dialogs.confirmation-dialog.confirmation-default": "Ja", + "app.view.dialogs.confirmation-dialog.abort-default": "Nein", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.edit-filterable-labels": "Filterbare Labels für {$PH} bearbeiten", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.transfer-to-all-visible": "auf alle sichtbaren übertragen", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.delete-from-all-visible": "von allen sichtbaren löschen", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.transfer.title": "Übernehmen", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.transfer.content": "Soll das Label {$PH} auf alle sichtbaren {$PH_1} übertragen werden?", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.delete.title": "Löschen", + "app.view.dialogs.filterable-labels-dialog.filterable-label-dialog-component.delete.content": "Soll das Label {$PH} definitiv aus allen sichtbaren {$PH_1} gelöscht werden?", + "app.view.dialogs.filterable-labels-dialog.filterable-labels-form.mandatory-field": "Pflichtfeld", + "app.view.dialogs.note-dialog.html-editor.reset-color": "Farbe zurücksetzen", + "app.view.dialogs.note-dialog.html-editor.editor-placeholder": "Kommentar hier eingeben...", + "app.view.dialogs.note-dialog.html-editor.mandatory-field": "Pflichtfeld", + "app.view.dialogs.note-dialog.html-editor.color-presets.ec.title": "Verwende die Frabe des Frabschemas für EC", + "app.view.dialogs.note-dialog.html-editor.color-presets.ic.title": "Verwende die Frabe des Frabschemas für IC", + "app.view.dialogs.note-dialog.html-editor.color-presets.ir.title": "Verwende die Frabe des Frabschemas für IR", + "app.view.dialogs.note-dialog.html-editor.color-presets.re.title": "Verwende die Frabe des Frabschemas für RE", + "app.view.dialogs.note-dialog.html-editor.color-presets.s.title": "Verwende die Frabe des Frabschemas für S", + "app.view.dialogs.note-dialog.html-editor.color-presets.gex.title": "Verwende die Frabe des Frabschemas für GEX", + "app.view.dialogs.note-dialog.html-editor.color-presets.g.title": "Verwende die Frabe des Frabschemas für G", + "app.view.dialogs.note-dialog.html-editor.color-presets.green.title": "green", + "app.view.dialogs.note-dialog.html-editor.color-presets.blue.title": "blue", + "app.view.dialogs.note-dialog.html-editor.color-presets.magenta.title": "magenta", + "app.view.dialogs.note-dialog.html-editor.color-presets.red.title": "red", + "app.view.dialogs.note-dialog.html-editor.color-presets.warning.title": "warning color", + "app.view.dialogs.note-dialog.note-tab": "Kommentar", + "app.view.dialogs.note-dialog.filterable-labels-tab": "Filterbare Labels", + "app.view.dialogs.note-dialog.delete-note": "Kommentar löschen", + "app.view.dialogs.note-dialog.note-filter-tab.labels": "Labels", + "app.view.dialogs.note-dialog.note-filter-tab.label-placeholder": "New label...", + "app.view.dialogs.note-dialog.note-form.title": "Title", + "app.view.dialogs.stammdaten-dialog.main-data": "Stammdaten", + "app.view.dialogs.stammdaten-dialog.betriebspunkt": "Betriebspunkt", + "app.view.dialogs.stammdaten-dialog.ipv-stop-time": "Haltezeit IPV", + "app.view.dialogs.stammdaten-dialog.a-stop-time": "Haltezeit A", + "app.view.dialogs.stammdaten-dialog.b-stop-time": "Haltezeit B", + "app.view.dialogs.stammdaten-dialog.c-stop-time": "Haltezeit C", + "app.view.dialogs.stammdaten-dialog.d-stop-time": "Haltezeit D", + "app.view.dialogs.stammdaten-dialog.zaz": "ZAZ", + "app.view.dialogs.stammdaten-dialog.connection-time": "Connection Time", + "app.view.dialogs.stammdaten-dialog.region": "Region", + "app.view.dialogs.stammdaten-dialog.category": "Kategorie", + "app.view.dialogs.stammdaten-dialog.filterable-labels": "Filterbare Labels", + "app.view.dialogs.stammdaten-dialog.position": "Position", + "app.view.dialogs.stammdaten-dialog.close": "Schliessen", + "app.view.editor-edit-tools-view-component.edit": "Edit/Bearbeiten", + "app.view.editor-edit-tools-view-component.filterable-labels": "Filterable labels/Filterbare Labels", + "app.view.editor-edit-tools-view-component.trains": "Trains/Züge", + "app.view.editor-edit-tools-view-component.nodes": "Nodes/Knoten", + "app.view.editor-edit-tools-view-component.notes": "Notes/Kommentare", + "app.view.editor-edit-tools-view-component.delete-netzgrafik-title": "Netzgrafik - Delete/Netzgrafik - Löschen", + "app.view.editor-edit-tools-view-component.non-visible-elements": "Non visible elements/Nicht sichtbare Elemente", + "app.view.editor-edit-tools-view-component.delete-all-non-visible-elements-tooltip": "Delete all non-visible elements, such as nodes, trains and comments/Alle nicht sichtbare Elemente, wie Knoten, Züge und Kommentare löschen", + "app.view.editor-edit-tools-view-component.delete-all-non-visible-elements": "Delete all non-visible elements/Alle nicht sichtbare Elemente löschen", + "app.view.editor-edit-tools-view-component.visible-elements": "Visible elements/Sichtbare Elemente", + "app.view.editor-edit-tools-view-component.delete-all-visible-trains-tooltip": "Delete all visible trains/Alle sichtbare Züge löschen", + "app.view.editor-edit-tools-view-component.delete-all-visible-trains": "Delete all visible trains/Alle sichtbare Züge löschen", + "app.view.editor-edit-tools-view-component.delete-all-visible-notes-tooltip": "Delete all visible notes/Alle sichtbare Kommentare löschen", + "app.view.editor-edit-tools-view-component.delete-all-visible-notes": "Delete all visible notes/Alle sichtbare Kommentare löschen", + "app.view.editor-edit-tools-view-component.delete-all-visible-elements-tooltip": "Delete all visible elements, such as nodes, trains and comments/Alle sichtbare Elemente, wie Knoten, Züge und Kommentare löschen", + "app.view.editor-edit-tools-view-component.delete-all-visible-elements": "Delete all visible elements/Alle sichtbare Elemente löschen", + "app.view.editor-edit-tools-view-component.merge-netzgrafik-title": "Netzgrafik - Merge/Netzgrafik - Zusammenführen", + "app.view.editor-edit-tools-view-component.add-netzgrafik-as-copy-tooltip": "Add netzgrafik as a copy (trainruns, nodes, notes)/Netzgrafik als Kopie hinzufügen (Zugfahrtenn, Knoten, Kommentare)", + "app.view.editor-edit-tools-view-component.add-netzgrafik-as-copy": "Add netzgrafik as a copy/Netzgrafik als Kopie hinzufügen", + "app.view.editor-edit-tools-view-component.merge-netzgrafik-tooltip": "Merge netzgrafik (trainruns, nodes, notes)/Netzgrafik durch Zusammenführen mergen (Zugfahrtenn, Knoten, Kommentare)", + "app.view.editor-edit-tools-view-component.merge-netzgrafik": "Merge netzgrafik/Netzgrafik durch Zusammenführen mergen", + "app.view.editor-edit-tools-view-component.delete": "Delete/Löschen", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-visible-trains": "Should all visible notes be permanently deleted from the netzgrafik?/Sollen alle sichtbare Kommentare aus der Netzgrafik definitiv gelöscht werden?", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-non-visible-elements": "Should all non-visible elements be permanently deleted from the netzgrafik?/Sollen alle nicht sichtbare Elemente aus der Netzgrafik definitiv gelöscht werden?", + "app.view.editor-edit-tools-view-component.on-clear-delete-all-visible-elements": "Should all visible elements be permanently deleted from the netzgrafik?/Sollen alle sichtbare Elemente aus der Netzgrafik definitiv gelöscht werden?", + "app.view.editor-edit-tools-view-component.label-drop-list.no-labels-available": "Keine Labels vorhanden", + "app.view.editor-edit-tools-view-component.label-drop-list.delete-group": "Gruppe löschen", + "app.view.editor-edit-tools-view-component.label-drop-list.add-new-group": "Neue Gruppe hinzufügen", + "app.view.editor-edit-tools-view-component.label-drop-list.trains": "trains/Züge", + "app.view.editor-edit-tools-view-component.label-drop-list.notes": "Notes/Kommentare", + "app.view.editor-edit-tools-view-component.label-drop-list.nodes": "Knoten", + "app.view.editor-filter-view.filter": "Filter/Filter", + "app.view.editor-filter-view.general": "General/Allgemein", + "app.view.editor-filter-view.category": "Category/Kategorie", + "app.view.editor-filter-view.frequency": "Frequence/Takt", + "app.view.editor-filter-view.time-category": "Time category/Verkehrt", + "app.view.editor-filter-view.display-all-trains": "Display all trains/Alle Züge anzeigen", + "app.view.editor-filter-view.reset-train-filter": "Reset train filter/Zugfilter zurücksetzen", + "app.view.editor-filter-view.filterable-labels-trains": "Filterable labels: Trains/Filterbare Labels: Züge", + "app.view.editor-filter-view.filterable-labels-nodes": "Filterable labels: Nodes/Filterbare Labels: Knoten", + "app.view.editor-filter-view.filterable-labels-notes": "Filterable labels: Notes/Filterbare Labels: Kommentare", + "app.view.editor-filter-view.display": "Display/Anzeigen", + "app.view.editor-filter-view.times": "Times/Zeiten", + "app.view.editor-filter-view.decimal-displayed": "Number of decimal place displayed/Anzahl Nachkommastellenanzeigen", + "app.view.editor-filter-view.display-arrival-departure-times": "Display departure and arrival times/Abfahrt- und Ankuftszeiten anzeigen", + "app.view.editor-filter-view.display-arrival-departure-times-for-connections": "Display departure and arrival times for connections/Abfahrt- und Ankuftszeiten für Durchfahrten anzeigen", + "app.view.editor-filter-view.display-travel-times": "Display travel times/Fahrzeiten anzeigen", + "app.view.editor-filter-view.display-train-name": "Display train name/Zugname anzeigen", + "app.view.editor-filter-view.connection": "Connections/Anschlüsse", + "app.view.editor-filter-view.display-connections": "Display connections/Anschlüsse anzeigen", + "app.view.editor-filter-view.nodes": "Nodes/Knoten", + "app.view.editor-filter-view.display-nodes-without-visible-trains": "Display nodes without (visible) trains/Knoten ohne (angezeigte) Züge anzeigen", + "app.view.editor-filter-view.display-nodes-with-only-stopping-trains": "Display nodes with only stopping trains/Knoten mit nur durchfahrenden Züge anzeigen", + "app.view.editor-filter-view.notes": "Notes/Kommentare", + "app.view.editor-filter-view.display-notes": "Display notes/Kommentare anzeigen", + "app.view.editor-filter-view.reset-display-filter": "Reset display filter/Anzeigefilter zurücksetzen", + "app.view.editor-filter-view.saved-filters": "Saved filters/Gespeicherte Filter", + "app.view.editor-filter-view.save-filters": "Save filters and add them as filter settings/Filter speichern und als Filtereinstellungen hinzufügen", + "app.view.editor-filter-view.reset-all-display-filters": "Reset all display filters/Alle Anzeigefilter zurücksetzen", + "app.view.editor-filter-view.load-filter": "Load {$PH}/{$PH_1} laden", + "app.view.editor-filter-view.reload-filter": "Reload {$PH}/{$PH_1} neu laden", + "app.view.editor-filter-view.show-trainrun-category": "Show {$PH}/{$PH_1} einblenden", + "app.view.editor-filter-view.hide-trainrun-category": "Hide {$PH}/{$PH_1} ausblenden", + "app.view.editor-filter-view.hide-trainrun-time-category": "Hide {$PH}/{$PH_1} ausblenden", + "app.view.editor-filter-view.show-trainrun-frequency": "Show {$PH}/{$PH_1} einblenden", + "app.view.editor-filter-view.hide-trainrun-frequency": "Show {$PH}/{$PH_1} ausblenden", + "app.view.editor-filter-view.filterable-label-filter.no-labels-available": "No labels available/Keine Labels vorhanden", + "app.view.editor-filter-view.filterable-label-filter.or": "Or/Oder", + "app.view.editor-filter-view.filterable-label-filter.and": "And/Und", + "app.view.editor-filter-view.filterable-label-filter.show-all": "Show all/Alles anzeigen", + "app.view.editor-filter-view.filterable-label-filter.reset-filter": "Reset filter/Filter zurücksetzen", + "app.view.editor-filter-view.filterable-label-filter.show": "show/einblenden", + "app.view.editor-filter-view.filterable-label-filter.hode": "hide/ausblenden", + "app.view.editor-menu.save-changes": "Save changes/Speichere Änderungen", + "app.view.editor-menu.changes-saved": "Changes saved/Änderungen gespeichert", + "app.view.editor-menu.read-mode": "Read mode/Lese-Modus", + "app.view.editor-menu.show-hide-filter": "Show/Hide filter/Filter ein-/ausblenden", + "app.view.editor-menu.zoom-out": "Zoom out/Herauszoomer", + "app.view.editor-menu.zoom-in": "Zoom in/Hereinzoomen", + "app.view.editor-menu.topology-editor-disabled": "Topology editor disabled/Topologie Editor deaktiviert", + "app.view.editor-menu.topology-editor-enalbed": "Topology editor enabled/Topologie Editor aktiviert", + "app.view.editor-menu.multiple-selection-tool-disabled": "Multiple selection tool is disabled/Mehrfachauswahlstool ist deaktiviert", + "app.view.editor-menu.multiple-selection-tool-enabled": "Multiple selection tool is enabled/Mehrfachauswahlstool ist aktiviert", + "app.view.editor-menu.note-editor-disabled": "Note editor disabled/Note Editor deaktiviert", + "app.view.editor-menu.note-editor-enabled": "Note editor enabled/Note Editor aktiviert", + "app.view.editor-menu.analytics-disabled": "Analytics disabled/Analytics deaktiviert", + "app.view.editor-menu.analytics-enabled": "Analytics enabled/Analytics aktiviert", + "app.view.editor-menu.display-streckengrafik": "Display Streckengrafik/Streckengrafik anzeigen", + "app.view.editor-menu.close-streckengrafik": "Close Streckengrafik/Streckengrafik schliessen", + "app.view.editor-properties-view-component.settings": "Settings/Einstellungen", + "app.view.editor-properties-view-component.color-scheme": "Color scheme/Farbschema", + "app.view.editor-properties-view-component.theme": "Theme/Theme", + "app.view.editor-properties-view-component.background-color": "Background color/Hintergrundfarbe", + "app.view.editor-properties-view-component.set-color-to-white": "Set color to 'white'/Hintergrundfarbe auf 'weiss' setzten", + "app.view.editor-properties-view-component.reset-background-color-to-default": "Reset background color to default/Hintergrundfarbe auf Standard zurücksetzen", + "app.view.editor-properties-view-component.background-color-black": "Background color (black)/Hintergrundfarbe (dunkel)", + "app.view.editor-properties-view-component.editor": "Editor/Editor", + "app.view.editor-properties-view-component.travel-time-presetting-default": "Travel time presetting (heuristics)/Fahrzeitvoreinstellungs (Heuristik)", + "app.view.editor-properties-view-component.streckengrafik": "Streckengrafik/Streckengrafik", + "app.view.editor-properties-view-component.axis-scaling-distance": "Axis scaling (distance)/Achsenskalierung (Distanz)", + "app.view.editor-side-view.editor-node-detail-view.main-data": "Main data/Stammdaten", + "app.view.editor-side-view.editor-node-detail-view.operational-point": "Operational point/Betriebspunkt", + "app.view.editor-side-view.editor-node-detail-view.name": "Name/Name", + "app.view.editor-side-view.editor-node-detail-view.connection-time": "Connection time/Anschlusszeit", + "app.view.editor-side-view.editor-node-detail-view.occupancy": "Occupancy/Auslastung", + "app.view.editor-side-view.editor-node-detail-view.capacity": "Capacity/Kapazität", + "app.view.editor-side-view.editor-node-detail-view.filterable-labels": "Filterable labels/Filterbare Labels", + "app.view.editor-side-view.editor-node-detail-view.labels": "Labels/Labels", + "app.view.editor-side-view.editor-node-detail-view.new-label-placeholder": "New label.../Neues Label...", + "app.view.editor-side-view.editor-node-detail-view.stopping-times": "Stopping times/Haltezeiten", + "app.view.editor-side-view.editor-node-detail-view.stopping-time-per-product": "Stopping time per product/Haltezeit pro Produkt", + "app.view.editor-side-view.editor-node-detail-view.no-stop": "No stop/Kein Halt", + "app.view.editor-side-view.editor-node-detail-view.ipv": "IPV/IPV", + "app.view.editor-side-view.editor-node-detail-view.a": "A/A", + "app.view.editor-side-view.editor-node-detail-view.b": "B/B", + "app.view.editor-side-view.editor-node-detail-view.c": "C/C", + "app.view.editor-side-view.editor-node-detail-view.d": "D/D", + "app.view.editor-side-view.editor-node-detail-view.links": "Links/Links", + "app.view.editor-side-view.editor-node-detail-view.platform-information": "Platform information/Perron Informationen", + "app.view.editor-side-view.editor-node-detail-view.platform-length": "Platform length/Perron-Länge", + "app.view.editor-side-view.editor-node-detail-view.delete-node": "Delete node/Knoten löschen", + "app.view.editor-side-view.editor-tools-view-component.more-functions": "More functions/Weitere Funktionen", + "app.view.editor-side-view.editor-tools-view-component.export": "Export/Exportieren", + "app.view.editor-side-view.editor-tools-view-component.export-network-graphic-as-svg": "Export network graphic as SVG/Exportieren Netzgrafik als SVG", + "app.view.editor-side-view.editor-tools-view-component.export-as-svg": "Export as SVG/Exportieren als SVG", + "app.view.editor-side-view.editor-tools-view-component.export-network-graphic-as-png": "Export network graphic as PNG/Exportieren Netzgrafik als PNG", + "app.view.editor-side-view.editor-tools-view-component.export-as-png": "Export as PNG/Exportieren als PNG", + "app.view.editor-side-view.editor-tools-view-component.print-network-graphic": "Print network graphic/Netzgrafik drucken", + "app.view.editor-side-view.editor-tools-view-component.print": "Print/Drucken", + "app.view.editor-side-view.editor-tools-view-component.network-graphic": "Network graphic/Netzgrafik", + "app.view.editor-side-view.editor-tools-view-component.export-network-graphic": "Export network graphic/Netzgrafik exportieren", + "app.view.editor-side-view.editor-tools-view-component.export-network-graphic-as-json": "Export network graphic as JSON/Netzgrafik als JSON exportieren", + "app.view.editor-side-view.editor-tools-view-component.import-network-graphic": "Import network graphic/Netzgrafik importieren", + "app.view.editor-side-view.editor-tools-view-component.import-network-graphic-as-json": "Import network graphic as JSON/Netzgrafik aus JSON importieren", + "app.view.editor-side-view.editor-tools-view-component.export-trainruns": "Export trainruns/Zuglauf exportieren", + "app.view.editor-side-view.editor-tools-view-component.export-trainruns-as-csv": "Export trainruns as CSV/Zuglauf als CSV exportieren", + "app.view.editor-side-view.editor-tools-view-component.export-trainruns-as-csv-excel": "In Excel: Data -> From Text/CSV -> Import ... filename/In Excel: Daten -> Aus Text/CSV -> Filename ... importieren.", + "app.view.editor-side-view.editor-tools-view-component.main-data": "Main data/Stammdaten", + "app.view.editor-side-view.editor-tools-view-component.import-main-data": "Import main data/Stammdaten importieren", + "app.view.editor-side-view.editor-tools-view-component.help-csv-data": "Help: CSV - Data/Hilfe: CSV - Datei", + "app.view.editor-side-view.editor-tools-view-component.export-main-data": "Export main data/Stammdaten exportieren", + "app.view.error-view.error": "Error/Fehler", + "app.view.navigation-bar.project-name": "Project «{$PH}»/Projekt «{$PH_1}»", + "app.view.navigation-bar.project-name-archived": "Project «{$PH}» (archived)/Projekt «{$PH_1}» (archiviert)", + "app.view.navigation-bar.variant-name": "Variant «{$PH}»/Variante «{$PH_1}»", + "app.view.navigation-bar.variant-name-archived": "Variant «{$PH}» (archived)/Variante «{$PH_1}» (archiviert)", + "app.view.project.project-dialog.create-project": "Create project/Projekt erstellen", + "app.view.project.project-dialog.edit-project": "Edit project/Projekt bearbeiten", + "app.view.project.project-dialog.create": "Create/Erstellen", + "app.view.project.project-dialog.save": "Save/Speichern", + "app.view.project.project-dialog.cancel": "Cancel/Abbrechen", + "app.view.project.project-dialog.project-form.name": "Name/Name", + "app.view.project.project-dialog.project-form.mandatory": "Mandatory/Pflichtfeld", + "app.view.project.project-dialog.project-form.summary": "Summary/Zusammenfassung", + "app.view.project.project-dialog.project-form.description": "Description/Beschreibung", + "app.view.project.project-dialog.project-form.tooltip": "Users must be entered with their U/E number (e.g. u123456e654321). Confirm the entry for each number with 'Enter'. Note lower case!/Benutzer müssen mit ihrer U/E-Nummer angegeben werden (bsp. u123456e654321). Eingabe pro Nummer jeweils mit 'Enter' bestätigen. Kleinschreibung beachten!", + "app.view.project.project-dialog.project-form.user-with-write-access": "User with write access/Benutzer mit Schreibzugriff", + "app.view.project.project-dialog.project-form.new-user-placeholder": "New user.../New Benutzer...", + "app.view.project.project-dialog.project-form.invalid-values": "Invalid values/Ungültige Werte", + "app.view.project.project-dialog.project-form.user-with-read-access": "User with read access/Benutzer mit Lesezugriff", + "app.view.project.projects-view.projects": "Projects/Projekte", + "app.view.project.projects-view.search-project": "Search project/Projekt suchen", + "app.view.project.projects-view.show-archive": "Show archive/Archiv anzeigen", + "app.view.project.projects-view.archived": "(archived)/(archiviert)", + "app.view.project.projects-view.archive-project.title": "Archive project/Projekt archivieren", + "app.view.project.projects-view.archive-project.content": "Would you like to archive the project now?/Möchten Sie das Projekt jetzt archivieren?", + "app.view.project.projects-view.undo-archiving-project.title": "Undo archiving/Archivierung rückgängig machen", + "app.view.project.projects-view.undo-archiving-project.content": "Would you like to undo the archiving the project now?/Möchten Sie die Archivierung des Projekts rückgängig machen?", + "app.view.project.projects-view.undo-archiving": "Undo archiving/Archivierung rückgängig machen", + "app.view.project.projects-view.edit": "Edit/Bearbeiten", + "app.view.project.projects-view.archive": "Archive/Archivieren", + "app.view.variant.variant-dialog.create-variant": "Create variant/Variante erstellen", + "app.view.variant.variant-dialog.edit-variant": "Edit variant/Variante bearbeiten", + "app.view.variant.variant-dialog.save": "Save/Speichern", + "app.view.variant.variant-dialog.cancel": "Cancel/Abbrechen", + "app.view.variant.variant-dialog.variant-form.name": "Name/Name", + "app.view.variant.variant-dialog.variant-form.mandatory": "Mandatory/Pflichtfeld", + "app.view.variant.variant-view.variant-history.publish-entry.comment": "Comment/Kommentar", + "app.view.variant.variant-view.variant-history.publish-entry.publish": "Publish/Publizieren", + "app.view.variant.variant-view.variant-history.publish-entry.local-changes": "Local changes must be saved first/Lokale Änderungen müssen zuerst gespeichert werden", + "app.view.variant.variant-view.variant-history.publish-entry.discard-changes": "Discard changes/Änderungen Verwerfen", + "app.view.variant.variant-view.variant-history.released-entry.download": "Download/Herunterladen", + "app.view.variant.variant-view.variant-history.released-entry.discard-changes": "Discard changes/Änderungen Verwerfen", + "app.view.variant.variant-view.variant-history.released-entry.ignore-conflict": "Ignore conflict/Konflikt ignorieren", + "app.view.variant.variant-view.variant-history.released-entry.restore": "Restore/Wiederherstellen", + "app.view.variant.variant-view.variant-history.released-entry.as-new-variant": "As new variant/Als neue Variante", + "app.view.variant.variant-view.variant-history.released-entry.version-already-available": "Version already available/Version bereits vorhanden", + "app.view.variant.variant-view.variant-history.released-entry.successfully-published": "Successfully published/Erfolgreich publiziert", + "app.view.variant.variant-view.variant-history.snapshot-entry.download": "Download/Herunterladen", + "app.view.variant.variant-view.variant-history.snapshot-entry.restore": "Restore/Wiederherstellen", + "app.view.variant.variant-view.variant-history.snapshot-entry.as-new-variant": "As new variant/Als neue Variante", + "app.view.variant.variant-view.variant-history.snapshot-entry.successfully-published": "Successfully published/Erfolgreich publiziert", + "app.view.variant.variant-view.variant-history.snapshot-entry.change-snapshot-version": "Change {$PH}/Änderung {$PH_1}", + "app.view.variant.variant-view.variant-history.new-version-published.title": "New version published/Neue Version publizieren", + "app.view.variant.variant-view.variant-history.new-version-published.content": "Would you like to publish your personal changes as a new version?/Möchten Sie Ihre persönlichen Änderungen als neue Version publizieren?", + "app.view.variant.variant-view.variant-history.discard-changes.title": "Discard changes/Änderungen verwerfen", + "app.view.variant.variant-view.variant-history.discard-changes.content": "Would you like to irrevocably discard your personal changes??/Möchten Sie Ihre persönlichen Änderungen unwiderruflich verwerfen?", + "app.view.variant.variant-view.variant-history.restore-version.title": "Restore version/Version wiederherstellen", + "app.view.variant.variant-view.variant-history.restore-version.content": "Would you like to restore the status of this version?/Möchten Sie den Stand dieser Version wiederherstellen?", + "app.view.variant.variant-view.variant-history.ignore-conflict.title": "Ignore conflict/Konflikt ignorieren", + "app.view.variant.variant-view.variant-history.ignore-conflict.content": "Would you like the current version to be based on the highest published version?/Möchten Sie, dass der aktuelle Stand auf der höchsten publizierten Version aufbaut?", + "app.view.variant.variant-view.archived": "(archived)/(archiviert)", + "app.view.variant.variant-view.edit-variant": "Edit variant/Variante bearbeiten", + "app.view.variant.variant-view.delete-variant": "Delete variant/Variante löschen", + "app.view.variant.variant-view.versions": "Versions/Versionen", + "app.view.variant.variant-view.delete-variant.title": "Delete variant/Variante löschen", + "app.view.variant.variant-view.delete-variant.content": "Do you want to permanently delete the variant and all versions it contains? This action cannot be undone./Möchten Sie die Variante und alle enthaltenen Versionen endgültig löschen? Diese Aktion kann nicht rückgängig gemacht werden.", + "app.view.variant.variants-view.archived": "(archived)/(archiviert)", + "app.view.variant.variants-view.variants": "Variants/Varianten", + "app.view.variant.variants-view.search-variants": "Search variants/Varianten suchen", + "app.view.variant.variants-view.show-archive": "Show archive/Archiv anzeigen", + "app.view.variant.variants-view.project-description": "Project description/Projekt Beschreibung", + "app.view.variant.variants-view.edit-project": "Edit project/Projekt bearbeiten", + "app.view.variant.variants-view.archive-project": "Archive project/Projekt archivieren", + "app.view.variant.variants-view.undo-archiving": "Undo archiving/Archivierung rückgängig machen", + "app.view.variant.variants-view.delete-project": "Delete project/Projekt löschen", + "app.view.variant.variants-view.archive": "Archive/Archivieren", + "app.view.variant.variants-view.archive-variant.title": "Archive variant/Variante archivieren", + "app.view.variant.variants-view.archive-variant.content": "Would you like to archive the variant now?/Möchten Sie die Variante jetzt archivieren?", + "app.view.variant.variants-view.undo-archiving-variant.title": "Undo archiving/Archivierung rückgängig machen", + "app.view.variant.variants-view.undo-archiving-variant.content": "Would you like to undo the archiving of the variant?/Möchten Sie die Archivierung der Variante rückgängig machen?", + "app.view.variant.variants-view.archive-project.title": "Archive project/Projekt archivieren", + "app.view.variant.variants-view.archive-project.content": "Would you like to archive the project now?/Möchten Sie das Projekt jetzt archivieren?", + "app.view.variant.variants-view.undo-archiving-project.title": "Archive variant/Archivierung rückgängig machen", + "app.view.variant.variants-view.undo-archiving-project.content": "Would you like to undo the archiving of the project?/Möchten Sie die Archivierung des Projekts rückgängig machen?", + "app.view.variant.variants-view.delete-project.title": "Delete projekt/Projekt löschen", + "app.view.variant.variants-view.delete-project.content": "Do you want to permanently delete the project and all the variants it contains? This action cannot be undone./Möchten Sie das Projekt und alle enthaltenen Varianten endgültig löschen? Diese Aktion kann nicht rückgängig gemacht werden.", + "app.view.variant.variants-view.error-unexpected-data": "Unexpected data: No snapshot and no released version./Unerwartete Daten: Kein Snapshot und keine freigegebene Version.", + "sbbBreadcrumbExpand": "Show entire path", + "sbbDialogCloseDialog": "Close dialog", + "sbbFileSelectorUploadFile": "Upload file", + "sbbFileSelectorRemoveFile": "Remove file", + "sbbHeaderMenuBack": "Back", + "sbbHeaderOpenMenu": "Open Menu", + "sbbHeaderCloseMenu": "Close Menu", + "sbbSidebarCollapse": "Collapse", + "sbbSidebarExpand": "Expand", + "sbbSidebarCloseSidebar": "Close Sidebar", + "sbbSidebarOpenSidebar": "Open Sidebar", + "sbbTextareaCounterText": "{$PH} characters remaining", + "sbbUsermenuLogin": "Login", + "sbbUsermenuOpenPanel": "Logged in as {$PH}. Click or press enter to open user menu." + } + } \ No newline at end of file