From dfbd2dd3f35ad2e09769642fb1364d7897c3c7fc Mon Sep 17 00:00:00 2001 From: Manuel Tauber Date: Mon, 19 Aug 2024 15:05:28 +0200 Subject: [PATCH 1/2] t --- .../app/ntt-gantt/ntt-gantt.component.html | 2 +- .../src/app/ntt-gantt/ntt-gantt.component.ts | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/ntt-gantt/ntt-gantt.component.html b/frontend/src/app/ntt-gantt/ntt-gantt.component.html index 0947b14..286a4f2 100644 --- a/frontend/src/app/ntt-gantt/ntt-gantt.component.html +++ b/frontend/src/app/ntt-gantt/ntt-gantt.component.html @@ -169,7 +169,7 @@ (taskbarEditing)="taskbarEditing($event)" (taskbarEdited)="taskbarEdited($event)" (toolbarClick)="toolbarBtnClicked($event)" (rowSelected)="rowSelected($event)" (rowDeselected)="rowDeselected($event)" (created)="created($event)" (dataBound)="dataBound($event)" (load)="load($event)" - (queryTaskbarInfo)="queryTaskbarInfo($event)" (expanding)="onExpand($event)"> + (queryTaskbarInfo)="queryTaskbarInfo($event)" (expanding)="onExpand($event)" locale="de-DE"> diff --git a/frontend/src/app/ntt-gantt/ntt-gantt.component.ts b/frontend/src/app/ntt-gantt/ntt-gantt.component.ts index ee858a7..aa45256 100644 --- a/frontend/src/app/ntt-gantt/ntt-gantt.component.ts +++ b/frontend/src/app/ntt-gantt/ntt-gantt.component.ts @@ -25,8 +25,23 @@ import { GanttModule, ResizeService } from '@syncfusion/ej2-angular-gantt'; import { DateAdapter } from '@angular/material/core'; import { MAT_DATE_LOCALE } from '@angular/material/core'; import * as WebFont from 'webfontloader'; // Verwende import * as +import { L10n,loadCldr, setCulture } from '@syncfusion/ej2-base'; +setCulture('de-DE'); + +L10n.load({ + 'de-DE': { + 'gantt': { + "id": "Ich würde", + "name": "Name", + "startDate": "Anfangsdatum", + "duration": "Dauer", + "progress": "Fortschritt", + } + } +}); + export const MY_DATE_FORMATS = { parse: { dateInput: 'DD.MM.YYYY', @@ -208,6 +223,11 @@ export class NttGanttComponent implements OnInit { * The function ngOnInit sets values which are required for rendering the gantt Chart. Furthermore it triggers the Dataservice to fetch Changes from the backend and trims the resources (Changes Array) and sets the paginator to the first page. */ public ngOnInit(): void { + setCulture('de-DE'); + loadCldr( + './numbers.json', + './ca-gregorian.json', + ); this.renderGantt = false; this.firstLoad = true; this.sliceStart = 0; From cce032ba8b9a5ffe3aef2e558b413db6af29b104 Mon Sep 17 00:00:00 2001 From: Manuel Tauber Date: Thu, 22 Aug 2024 15:38:09 +0200 Subject: [PATCH 2/2] DONE --- frontend/src/app/ca-gregorian.json | 551 ++++++++++++++++++ .../app/ntt-gantt/ntt-gantt.component.html | 2 +- .../src/app/ntt-gantt/ntt-gantt.component.ts | 26 +- frontend/src/app/numbers.json | 155 +++++ frontend/tsconfig.json | 2 + 5 files changed, 726 insertions(+), 10 deletions(-) create mode 100644 frontend/src/app/ca-gregorian.json create mode 100644 frontend/src/app/numbers.json diff --git a/frontend/src/app/ca-gregorian.json b/frontend/src/app/ca-gregorian.json new file mode 100644 index 0000000..7af1e08 --- /dev/null +++ b/frontend/src/app/ca-gregorian.json @@ -0,0 +1,551 @@ +{ + "main": { + "de": { + "identity": { + "version": { + "_cldrVersion": "36" + }, + "language": "de" + }, + "dates": { + "calendars": { + "gregorian": { + "months": { + "format": { + "abbreviated": { + "1": "Jan.", + "2": "Feb.", + "3": "März", + "4": "Apr.", + "5": "Mai", + "6": "Juni", + "7": "Juli", + "8": "Aug.", + "9": "Sept.", + "10": "Okt.", + "11": "Nov.", + "12": "Dez." + }, + "narrow": { + "1": "J", + "2": "F", + "3": "M", + "4": "A", + "5": "M", + "6": "J", + "7": "J", + "8": "A", + "9": "S", + "10": "O", + "11": "N", + "12": "D" + }, + "wide": { + "1": "Januar", + "2": "Februar", + "3": "März", + "4": "April", + "5": "Mai", + "6": "Juni", + "7": "Juli", + "8": "August", + "9": "September", + "10": "Oktober", + "11": "November", + "12": "Dezember" + } + }, + "stand-alone": { + "abbreviated": { + "1": "Jan", + "2": "Feb", + "3": "Mär", + "4": "Apr", + "5": "Mai", + "6": "Jun", + "7": "Jul", + "8": "Aug", + "9": "Sep", + "10": "Okt", + "11": "Nov", + "12": "Dez" + }, + "narrow": { + "1": "J", + "2": "F", + "3": "M", + "4": "A", + "5": "M", + "6": "J", + "7": "J", + "8": "A", + "9": "S", + "10": "O", + "11": "N", + "12": "D" + }, + "wide": { + "1": "Januar", + "2": "Februar", + "3": "März", + "4": "April", + "5": "Mai", + "6": "Juni", + "7": "Juli", + "8": "August", + "9": "September", + "10": "Oktober", + "11": "November", + "12": "Dezember" + } + } + }, + "days": { + "format": { + "abbreviated": { + "sun": "So.", + "mon": "Mo.", + "tue": "Di.", + "wed": "Mi.", + "thu": "Do.", + "fri": "Fr.", + "sat": "Sa." + }, + "narrow": { + "sun": "S", + "mon": "M", + "tue": "D", + "wed": "M", + "thu": "D", + "fri": "F", + "sat": "S" + }, + "short": { + "sun": "So.", + "mon": "Mo.", + "tue": "Di.", + "wed": "Mi.", + "thu": "Do.", + "fri": "Fr.", + "sat": "Sa." + }, + "wide": { + "sun": "Sonntag", + "mon": "Montag", + "tue": "Dienstag", + "wed": "Mittwoch", + "thu": "Donnerstag", + "fri": "Freitag", + "sat": "Samstag" + } + }, + "stand-alone": { + "abbreviated": { + "sun": "So", + "mon": "Mo", + "tue": "Di", + "wed": "Mi", + "thu": "Do", + "fri": "Fr", + "sat": "Sa" + }, + "narrow": { + "sun": "S", + "mon": "M", + "tue": "D", + "wed": "M", + "thu": "D", + "fri": "F", + "sat": "S" + }, + "short": { + "sun": "So.", + "mon": "Mo.", + "tue": "Di.", + "wed": "Mi.", + "thu": "Do.", + "fri": "Fr.", + "sat": "Sa." + }, + "wide": { + "sun": "Sonntag", + "mon": "Montag", + "tue": "Dienstag", + "wed": "Mittwoch", + "thu": "Donnerstag", + "fri": "Freitag", + "sat": "Samstag" + } + } + }, + "quarters": { + "format": { + "abbreviated": { + "1": "Q1", + "2": "Q2", + "3": "Q3", + "4": "Q4" + }, + "narrow": { + "1": "1", + "2": "2", + "3": "3", + "4": "4" + }, + "wide": { + "1": "1. Quartal", + "2": "2. Quartal", + "3": "3. Quartal", + "4": "4. Quartal" + } + }, + "stand-alone": { + "abbreviated": { + "1": "Q1", + "2": "Q2", + "3": "Q3", + "4": "Q4" + }, + "narrow": { + "1": "1", + "2": "2", + "3": "3", + "4": "4" + }, + "wide": { + "1": "1. Quartal", + "2": "2. Quartal", + "3": "3. Quartal", + "4": "4. Quartal" + } + } + }, + "dayPeriods": { + "format": { + "abbreviated": { + "midnight": "Mitternacht", + "am": "AM", + "pm": "PM", + "morning1": "morgens", + "morning2": "vorm.", + "afternoon1": "mittags", + "afternoon2": "nachm.", + "evening1": "abends", + "night1": "nachts" + }, + "narrow": { + "midnight": "Mitternacht", + "am": "AM", + "pm": "PM", + "morning1": "morgens", + "morning2": "vorm.", + "afternoon1": "mittags", + "afternoon2": "nachm.", + "evening1": "abends", + "night1": "nachts" + }, + "wide": { + "midnight": "Mitternacht", + "am": "AM", + "pm": "PM", + "morning1": "morgens", + "morning2": "vormittags", + "afternoon1": "mittags", + "afternoon2": "nachmittags", + "evening1": "abends", + "night1": "nachts" + } + }, + "stand-alone": { + "abbreviated": { + "midnight": "Mitternacht", + "am": "AM", + "pm": "PM", + "morning1": "Morgen", + "morning2": "Vorm.", + "afternoon1": "Mittag", + "afternoon2": "Nachm.", + "evening1": "Abend", + "night1": "Nacht" + }, + "narrow": { + "midnight": "Mitternacht", + "am": "AM", + "pm": "PM", + "morning1": "Morgen", + "morning2": "Vorm.", + "afternoon1": "Mittag", + "afternoon2": "Nachm.", + "evening1": "Abend", + "night1": "Nacht" + }, + "wide": { + "midnight": "Mitternacht", + "am": "AM", + "pm": "PM", + "morning1": "Morgen", + "morning2": "Vormittag", + "afternoon1": "Mittag", + "afternoon2": "Nachmittag", + "evening1": "Abend", + "night1": "Nacht" + } + } + }, + "eras": { + "eraNames": { + "0": "v. Chr.", + "0-alt-variant": "vor unserer Zeitrechnung", + "1": "n. Chr.", + "1-alt-variant": "unserer Zeitrechnung" + }, + "eraAbbr": { + "0": "v. Chr.", + "0-alt-variant": "v. u. Z.", + "1": "n. Chr.", + "1-alt-variant": "u. Z." + }, + "eraNarrow": { + "0": "v. Chr.", + "0-alt-variant": "v. u. Z.", + "1": "n. Chr.", + "1-alt-variant": "u. Z." + } + }, + "dateFormats": { + "full": "EEEE, d. MMMM y", + "long": "d. MMMM y", + "medium": "dd.MM.y", + "short": "dd.MM.yy" + }, + "timeFormats": { + "full": "HH:mm:ss zzzz", + "long": "HH:mm:ss z", + "medium": "HH:mm:ss", + "short": "HH:mm" + }, + "dateTimeFormats": { + "full": "{1} 'um' {0}", + "long": "{1} 'um' {0}", + "medium": "{1}, {0}", + "short": "{1}, {0}", + "availableFormats": { + "Bh": "h B", + "Bhm": "h:mm B", + "Bhms": "h:mm:ss B", + "d": "d", + "E": "ccc", + "EBhm": "E h:mm B", + "EBhms": "E h:mm:ss B", + "Ed": "E, d.", + "Ehm": "E h:mm a", + "EHm": "E, HH:mm", + "Ehms": "E, h:mm:ss a", + "EHms": "E, HH:mm:ss", + "Gy": "y G", + "GyMMM": "MMM y G", + "GyMMMd": "d. MMM y G", + "GyMMMEd": "E, d. MMM y G", + "h": "h 'Uhr' a", + "H": "HH 'Uhr'", + "hm": "h:mm a", + "Hm": "HH:mm", + "hms": "h:mm:ss a", + "Hms": "HH:mm:ss", + "hmsv": "h:mm:ss a v", + "Hmsv": "HH:mm:ss v", + "hmv": "h:mm a v", + "Hmv": "HH:mm v", + "M": "L", + "Md": "d.M.", + "MEd": "E, d.M.", + "MMd": "d.MM.", + "MMdd": "dd.MM.", + "MMM": "LLL", + "MMMd": "d. MMM", + "MMMEd": "E, d. MMM", + "MMMMd": "d. MMMM", + "MMMMEd": "E, d. MMMM", + "MMMMW-count-one": "'Woche' W 'im' MMMM", + "MMMMW-count-other": "'Woche' W 'im' MMMM", + "ms": "mm:ss", + "y": "y", + "yM": "M.y", + "yMd": "d.M.y", + "yMEd": "E, d.M.y", + "yMM": "MM.y", + "yMMdd": "dd.MM.y", + "yMMM": "MMM y", + "yMMMd": "d. MMM y", + "yMMMEd": "E, d. MMM y", + "yMMMM": "MMMM y", + "yQQQ": "QQQ y", + "yQQQQ": "QQQQ y", + "yw-count-one": "'Woche' w 'des' 'Jahres' Y", + "yw-count-other": "'Woche' w 'des' 'Jahres' Y" + }, + "appendItems": { + "Day": "{0} ({2}: {1})", + "Day-Of-Week": "{0} {1}", + "Era": "{1} {0}", + "Hour": "{0} ({2}: {1})", + "Minute": "{0} ({2}: {1})", + "Month": "{0} ({2}: {1})", + "Quarter": "{0} ({2}: {1})", + "Second": "{0} ({2}: {1})", + "Timezone": "{0} {1}", + "Week": "{0} ({2}: {1})", + "Year": "{1} {0}" + }, + "intervalFormats": { + "intervalFormatFallback": "{0} – {1}", + "Bh": { + "B": "h 'Uhr' B – h 'Uhr' B", + "h": "h–h 'Uhr' B" + }, + "Bhm": { + "B": "h:mm 'Uhr' B – h:mm 'Uhr' B", + "h": "h:mm – h:mm 'Uhr' B", + "m": "h:mm – h:mm 'Uhr' B" + }, + "d": { + "d": "d.–d." + }, + "Gy": { + "G": "y G – y G", + "y": "y–y G" + }, + "GyM": { + "G": "MM.y GGGGG – MM.y GGGGG", + "M": "MM.y – MM.y GGGGG", + "y": "MM.y – MM.y GGGGG" + }, + "GyMd": { + "d": "dd.–dd.MM.y GGGGG", + "G": "dd.MM.y GGGGG – dd.MM.y GGGGG", + "M": "dd.MM. – dd.MM.y GGGGG", + "y": "dd.MM.y – dd.MM.y GGGGG" + }, + "GyMEd": { + "d": "E, dd.MM.y – E, dd.MM.y GGGGG", + "G": "E, dd.MM.y GGGGG – E, dd.MM.y GGGGG", + "M": "E, dd.MM. – E, dd.MM.y GGGGG", + "y": "E, dd.MM.y – E, dd.MM.y GGGGG" + }, + "GyMMM": { + "G": "MMM y G – MMM y G", + "M": "MMM–MMM y G", + "y": "MMM y – MMM y G" + }, + "GyMMMd": { + "d": "d.–d. MMM y G", + "G": "d. MMM y G – d. MMM y G", + "M": "d. MMM – d. MMM y G", + "y": "d. MMM y – d. MMM y G" + }, + "GyMMMEd": { + "d": "E, d. – E, d. MMM y G", + "G": "E, d. MMM y G – E E, d. MMM y G", + "M": "E, d. MMM – E, d. MMM y G", + "y": "E, d. MMM y – E, d. MMM y G" + }, + "h": { + "a": "h 'Uhr' a – h 'Uhr' a", + "h": "h – h 'Uhr' a" + }, + "H": { + "H": "HH–HH 'Uhr'" + }, + "hm": { + "a": "h:mm a – h:mm a", + "h": "h:mm–h:mm a", + "m": "h:mm–h:mm a" + }, + "Hm": { + "H": "HH:mm–HH:mm 'Uhr'", + "m": "HH:mm–HH:mm 'Uhr'" + }, + "hmv": { + "a": "h:mm a – h:mm a v", + "h": "h:mm–h:mm a v", + "m": "h:mm–h:mm a v" + }, + "Hmv": { + "H": "HH:mm–HH:mm 'Uhr' v", + "m": "HH:mm–HH:mm 'Uhr' v" + }, + "hv": { + "a": "h a – h a v", + "h": "h–h a v" + }, + "Hv": { + "H": "HH–HH 'Uhr' v" + }, + "M": { + "M": "M.–M." + }, + "Md": { + "d": "dd.–dd.MM.", + "M": "dd.MM. – dd.MM." + }, + "MEd": { + "d": "E, dd. – E, dd.MM.", + "M": "E, dd.MM. – E, dd.MM." + }, + "MMM": { + "M": "MMM–MMM" + }, + "MMMd": { + "d": "d.–d. MMM", + "M": "d. MMM – d. MMM" + }, + "MMMEd": { + "d": "E, d. – E, d. MMM", + "M": "E, d. MMM – E, d. MMM" + }, + "MMMM": { + "M": "LLLL–LLLL" + }, + "y": { + "y": "y–y" + }, + "yM": { + "M": "MM.y – MM.y", + "y": "MM.y – MM.y" + }, + "yMd": { + "d": "dd.–dd.MM.y", + "M": "dd.MM. – dd.MM.y", + "y": "dd.MM.y – dd.MM.y" + }, + "yMEd": { + "d": "E, dd. – E, dd.MM.y", + "M": "E, dd.MM. – E, dd.MM.y", + "y": "E, dd.MM.y – E, dd.MM.y" + }, + "yMMM": { + "M": "MMM–MMM y", + "y": "MMM y – MMM y" + }, + "yMMMd": { + "d": "d.–d. MMM y", + "M": "d. MMM – d. MMM y", + "y": "d. MMM y – d. MMM y" + }, + "yMMMEd": { + "d": "E, d. – E, d. MMM y", + "M": "E, d. MMM – E, d. MMM y", + "y": "E, d. MMM y – E, d. MMM y" + }, + "yMMMM": { + "M": "MMMM–MMMM y", + "y": "MMMM y – MMMM y" + } + } + } + } + } + } + } + } +} diff --git a/frontend/src/app/ntt-gantt/ntt-gantt.component.html b/frontend/src/app/ntt-gantt/ntt-gantt.component.html index 286a4f2..160fb6b 100644 --- a/frontend/src/app/ntt-gantt/ntt-gantt.component.html +++ b/frontend/src/app/ntt-gantt/ntt-gantt.component.html @@ -169,7 +169,7 @@ (taskbarEditing)="taskbarEditing($event)" (taskbarEdited)="taskbarEdited($event)" (toolbarClick)="toolbarBtnClicked($event)" (rowSelected)="rowSelected($event)" (rowDeselected)="rowDeselected($event)" (created)="created($event)" (dataBound)="dataBound($event)" (load)="load($event)" - (queryTaskbarInfo)="queryTaskbarInfo($event)" (expanding)="onExpand($event)" locale="de-DE"> + (queryTaskbarInfo)="queryTaskbarInfo($event)" (expanding)="onExpand($event)" locale="de"> diff --git a/frontend/src/app/ntt-gantt/ntt-gantt.component.ts b/frontend/src/app/ntt-gantt/ntt-gantt.component.ts index aa45256..a277370 100644 --- a/frontend/src/app/ntt-gantt/ntt-gantt.component.ts +++ b/frontend/src/app/ntt-gantt/ntt-gantt.component.ts @@ -26,18 +26,17 @@ import { DateAdapter } from '@angular/material/core'; import { MAT_DATE_LOCALE } from '@angular/material/core'; import * as WebFont from 'webfontloader'; // Verwende import * as import { L10n,loadCldr, setCulture } from '@syncfusion/ej2-base'; +import * as gregorian from '../ca-gregorian.json'; +import * as numbers from '../numbers.json'; setCulture('de-DE'); - +loadCldr(numbers, gregorian); L10n.load({ 'de-DE': { 'gantt': { - "id": "Ich würde", - "name": "Name", "startDate": "Anfangsdatum", - "duration": "Dauer", - "progress": "Fortschritt", + "endDate": "Enddatum", } } }); @@ -228,6 +227,7 @@ export class NttGanttComponent implements OnInit { './numbers.json', './ca-gregorian.json', ); + // this.ganttDefault.locale = 'de'; this.renderGantt = false; this.firstLoad = true; this.sliceStart = 0; @@ -270,6 +270,7 @@ export class NttGanttComponent implements OnInit { this.refreshGanttwithPresets(); + this.taskSettings = { id: 'TaskID', name: 'TaskName', @@ -443,7 +444,10 @@ export class NttGanttComponent implements OnInit { } console.log("\nselectedPreset:") console.log(res.selectedPreset); - + // this.languageChange(res.selectedPreset.language); + // if(res.userPreferences.language == "EN"){ + // this.languageChange({value: "EN"}); + // } this.presetGroups = res.presetGroups; @@ -451,7 +455,8 @@ export class NttGanttComponent implements OnInit { this.userPreferences = res.userPreferences; this.showDetails = res.userPreferences.showDetails; this.selectedScalar = this.scalars[res.userPreferences.view]; - console.log() + + console.log(res.userPreferences); console.log("SELECETEDSCALAR########"+this.selectedScalar); @@ -471,6 +476,7 @@ export class NttGanttComponent implements OnInit { this.spin = false; console.log(this.states); this.inputForTimeline = [this.splitterSettings, this.projectStartDate, this.projectEndDate]; + }); }); }); @@ -705,6 +711,7 @@ export class NttGanttComponent implements OnInit { * This function is triggered by a manual language of the user. */ public languageChange(args: any) { + console.log("EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE",args); this.languageService.languageChange(args.value), this.initLanguge(); this.plantimeComponent.changeLanguage(); @@ -726,7 +733,8 @@ export class NttGanttComponent implements OnInit { * @param initial determines if the function is initially trigger by the ngOnInit function, in all other cases the gantt chart should be refrehed */ initLanguge(initial: boolean = false) { - + console.log(this.languageService.language); + console.log("################################################"); if (this.languageService.language == 'DE') { this.scalars = ['Monat', 'Jahr']; this.selectedScalar = 'Monat'; @@ -1046,7 +1054,7 @@ export class NttGanttComponent implements OnInit { args.milestoneColor = "#bababa"; } } else { - console.log(args); + // console.log(args); args.taskbarElement.innerHTML = null; args.taskbarElement.classlist = null; diff --git a/frontend/src/app/numbers.json b/frontend/src/app/numbers.json new file mode 100644 index 0000000..ffad8fc --- /dev/null +++ b/frontend/src/app/numbers.json @@ -0,0 +1,155 @@ +{ + "main": { + "de": { + "identity": { + "version": { + "_cldrVersion": "36" + }, + "language": "de" + }, + "numbers": { + "defaultNumberingSystem": "latn", + "otherNumberingSystems": { + "native": "latn" + }, + "minimumGroupingDigits": "1", + "symbols-numberSystem-latn": { + "decimal": ",", + "group": ".", + "list": ";", + "percentSign": "%", + "plusSign": "+", + "minusSign": "-", + "exponential": "E", + "superscriptingExponent": "·", + "perMille": "‰", + "infinity": "∞", + "nan": "NaN", + "timeSeparator": ":" + }, + "decimalFormats-numberSystem-latn": { + "standard": "#,##0.###", + "long": { + "decimalFormat": { + "1000-count-one": "0 Tausend", + "1000-count-other": "0 Tausend", + "10000-count-one": "00 Tausend", + "10000-count-other": "00 Tausend", + "100000-count-one": "000 Tausend", + "100000-count-other": "000 Tausend", + "1000000-count-one": "0 Million", + "1000000-count-other": "0 Millionen", + "10000000-count-one": "00 Millionen", + "10000000-count-other": "00 Millionen", + "100000000-count-one": "000 Millionen", + "100000000-count-other": "000 Millionen", + "1000000000-count-one": "0 Milliarde", + "1000000000-count-other": "0 Milliarden", + "10000000000-count-one": "00 Milliarden", + "10000000000-count-other": "00 Milliarden", + "100000000000-count-one": "000 Milliarden", + "100000000000-count-other": "000 Milliarden", + "1000000000000-count-one": "0 Billion", + "1000000000000-count-other": "0 Billionen", + "10000000000000-count-one": "00 Billionen", + "10000000000000-count-other": "00 Billionen", + "100000000000000-count-one": "000 Billionen", + "100000000000000-count-other": "000 Billionen" + } + }, + "short": { + "decimalFormat": { + "1000-count-one": "0", + "1000-count-other": "0", + "10000-count-one": "0", + "10000-count-other": "0", + "100000-count-one": "0", + "100000-count-other": "0", + "1000000-count-one": "0 Mio'.'", + "1000000-count-other": "0 Mio'.'", + "10000000-count-one": "00 Mio'.'", + "10000000-count-other": "00 Mio'.'", + "100000000-count-one": "000 Mio'.'", + "100000000-count-other": "000 Mio'.'", + "1000000000-count-one": "0 Mrd'.'", + "1000000000-count-other": "0 Mrd'.'", + "10000000000-count-one": "00 Mrd'.'", + "10000000000-count-other": "00 Mrd'.'", + "100000000000-count-one": "000 Mrd'.'", + "100000000000-count-other": "000 Mrd'.'", + "1000000000000-count-one": "0 Bio'.'", + "1000000000000-count-other": "0 Bio'.'", + "10000000000000-count-one": "00 Bio'.'", + "10000000000000-count-other": "00 Bio'.'", + "100000000000000-count-one": "000 Bio'.'", + "100000000000000-count-other": "000 Bio'.'" + } + } + }, + "scientificFormats-numberSystem-latn": { + "standard": "#E0" + }, + "percentFormats-numberSystem-latn": { + "standard": "#,##0 %" + }, + "currencyFormats-numberSystem-latn": { + "currencySpacing": { + "beforeCurrency": { + "currencyMatch": "[:^S:]", + "surroundingMatch": "[:digit:]", + "insertBetween": " " + }, + "afterCurrency": { + "currencyMatch": "[:^S:]", + "surroundingMatch": "[:digit:]", + "insertBetween": " " + } + }, + "standard": "#,##0.00 ¤", + "accounting": "#,##0.00 ¤", + "short": { + "standard": { + "1000-count-one": "0", + "1000-count-other": "0", + "10000-count-one": "0", + "10000-count-other": "0", + "100000-count-one": "0", + "100000-count-other": "0", + "1000000-count-one": "0 Mio'.' ¤", + "1000000-count-other": "0 Mio'.' ¤", + "10000000-count-one": "00 Mio'.' ¤", + "10000000-count-other": "00 Mio'.' ¤", + "100000000-count-one": "000 Mio'.' ¤", + "100000000-count-other": "000 Mio'.' ¤", + "1000000000-count-one": "0 Mrd'.' ¤", + "1000000000-count-other": "0 Mrd'.' ¤", + "10000000000-count-one": "00 Mrd'.' ¤", + "10000000000-count-other": "00 Mrd'.' ¤", + "100000000000-count-one": "000 Mrd'.' ¤", + "100000000000-count-other": "000 Mrd'.' ¤", + "1000000000000-count-one": "0 Bio'.' ¤", + "1000000000000-count-other": "0 Bio'.' ¤", + "10000000000000-count-one": "00 Bio'.' ¤", + "10000000000000-count-other": "00 Bio'.' ¤", + "100000000000000-count-one": "000 Bio'.' ¤", + "100000000000000-count-other": "000 Bio'.' ¤" + } + }, + "unitPattern-count-one": "{0} {1}", + "unitPattern-count-other": "{0} {1}" + }, + "miscPatterns-numberSystem-latn": { + "approximately": "≈{0}", + "atLeast": "{0}+", + "atMost": "≤{0}", + "range": "{0}–{1}" + }, + "minimalPairs": { + "pluralMinimalPairs-count-one": "{0} Tag", + "pluralMinimalPairs-count-other": "{0} Tage", + "other": "{0}. Abzweigung nach rechts nehmen" + } + } + } + } +} diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json index 1dfa943..90a269a 100644 --- a/frontend/tsconfig.json +++ b/frontend/tsconfig.json @@ -2,6 +2,8 @@ { "compileOnSave": false, "compilerOptions": { + "resolveJsonModule": true, + "esModuleInterop": true, "types": ["node"], "baseUrl": "./", "outDir": "./dist/out-tsc",