Skip to content

Commit 9904d68

Browse files
feat(i18n): add loading facts
1 parent b90e54d commit 9904d68

File tree

6 files changed

+63
-18
lines changed

6 files changed

+63
-18
lines changed

src/app/shared/components/loading-screen/loading-screen.component.ts

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { Component, OnInit } from '@angular/core';
1+
import { Component, inject, OnInit } from '@angular/core';
22
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
33
import { concat, interval, tap, timer } from 'rxjs';
44
import { IonicModule } from '@ionic/angular';
5-
import { TranslocoDirective } from '@jsverse/transloco';
5+
import { TranslocoDirective, TranslocoService } from '@jsverse/transloco';
66

77
@UntilDestroy()
88
@Component({
@@ -13,25 +13,27 @@ import { TranslocoDirective } from '@jsverse/transloco';
1313
imports: [IonicModule, TranslocoDirective]
1414
})
1515
export class LoadingScreenComponent implements OnInit {
16+
translocoService = inject(TranslocoService);
17+
18+
facts: string[];
1619
currentFact: string;
17-
facts: string[] = [
18-
'Das Schweizer Parlament ist ein Zweikammersystem, bestehend aus dem Nationalrat und dem Ständerat.',
19-
'Der Nationalrat hat 200 Mitglieder, während der Ständerat 46 Mitglieder hat.',
20-
'Die Parlamentarierinnen und Parlamentarier werden vom Volk für eine Amtszeit von vier Jahren gewählt. ',
21-
'Beide Kammern haben die gleichen Kompetenzen und beschliessen über die gleichen Geschäfte.',
22-
'Das Parlament berät und verabschiedet die Bundesgesetze, die für das ganze Land gelten. Deswegen wird das Parlament «Legislative» genannt.',
23-
'Das Parlament überwacht die Tätigkeit des Bundesrates, der Bundesverwaltung, des Bundesgerichts und der Unternehmen, die Bundesaufgaben erfüllen wie die Post oder die SBB',
24-
'Das Parlament bestimmt die finanziellen Mittel, die dem Bund für die Erfüllung seiner Aufgaben zur Verfügung stehen.',
25-
'Wieso hat das Bundeshaus eine Kuppel? Schon mal einen Zirkus mit Flachdach gesehen?',
26-
'National- und Ständerat fassen die meisten Beschlüsse getrennt.',
27-
'Die Mitglieder beider Kammern kommen regelmässig zu den Sessionen zusammen. Sessionen finden vier Mal jährlich statt.',
28-
'Einen grossen Teil ihrer Arbeiten verrichten die Parlamentarierinnen und Parlamentarier zwischen den Sessionen in den parlamentarischen Kommissionen.'
29-
];
3020
shuffledFacts: string[] = [];
3121

32-
constructor() {}
33-
3422
ngOnInit() {
23+
this.facts = this.translocoService.translate<string[]>([
24+
'shared.loadingScreen.loadingFact1',
25+
'shared.loadingScreen.loadingFact2',
26+
'shared.loadingScreen.loadingFact3',
27+
'shared.loadingScreen.loadingFact4',
28+
'shared.loadingScreen.loadingFact5',
29+
'shared.loadingScreen.loadingFact6',
30+
'shared.loadingScreen.loadingFact7',
31+
'shared.loadingScreen.loadingFact8',
32+
'shared.loadingScreen.loadingFact9',
33+
'shared.loadingScreen.loadingFact10',
34+
'shared.loadingScreen.loadingFact11'
35+
]);
36+
3537
this.shuffleFacts();
3638
let factIndex = -1;
3739

src/assets/i18n/de.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,17 @@
6262
"shared.errorScreen.retry.button": "Erneut versuchen",
6363
"shared.errorScreen.retryLater": "Leider konnte Ihre Anfrage nicht bearbeitet werden. Bitte versuchen Sie es später noch einmal.",
6464
"shared.loadingScreen.dataLoading": "Parlamentsdaten werden geladen...",
65+
"shared.loadingScreen.loadingFact1": "Das Schweizer Parlament ist ein Zweikammersystem, bestehend aus dem Nationalrat und dem Ständerat.",
66+
"shared.loadingScreen.loadingFact10": "Der Nationalrat hat 200 Mitglieder, während der Ständerat 46 Mitglieder hat.",
67+
"shared.loadingScreen.loadingFact11": "Die Parlamentarierinnen und Parlamentarier werden vom Volk für eine Amtszeit von vier Jahren gewählt. ",
68+
"shared.loadingScreen.loadingFact2": "Beide Kammern haben die gleichen Kompetenzen und beschliessen über die gleichen Geschäfte.",
69+
"shared.loadingScreen.loadingFact3": "Das Parlament berät und verabschiedet die Bundesgesetze, die für das ganze Land gelten. Deswegen wird das Parlament «Legislative» genannt.",
70+
"shared.loadingScreen.loadingFact4": "Das Parlament überwacht die Tätigkeit des Bundesrates, der Bundesverwaltung, des Bundesgerichts und der Unternehmen, die Bundesaufgaben erfüllen wie die Post oder die SBB",
71+
"shared.loadingScreen.loadingFact5": "Das Parlament bestimmt die finanziellen Mittel, die dem Bund für die Erfüllung seiner Aufgaben zur Verfügung stehen.",
72+
"shared.loadingScreen.loadingFact6": "Wieso hat das Bundeshaus eine Kuppel? Schon mal einen Zirkus mit Flachdach gesehen?",
73+
"shared.loadingScreen.loadingFact7": "National- und Ständerat fassen die meisten Beschlüsse getrennt.",
74+
"shared.loadingScreen.loadingFact8": "Die Mitglieder beider Kammern kommen regelmässig zu den Sessionen zusammen. Sessionen finden vier Mal jährlich statt.",
75+
"shared.loadingScreen.loadingFact9": "Einen grossen Teil ihrer Arbeiten verrichten die Parlamentarierinnen und Parlamentarier zwischen den Sessionen in den parlamentarischen Kommissionen",
6576
"shared.noContentScreen.noResults": "Leider wurden keine Ergebnisse gefunden. Bitte setzen Sie die Filter zurück oder versuchen Sie es später erneut.",
6677
"shared.noContentScreen.resetFilter": "Filter zurücksetzen",
6778
"votes.voteCard.votedOn": "Abgestimmt am {{date}}",

src/assets/i18n/en.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,17 @@
6262
"shared.errorScreen.retry.button": "Missing value for 'shared.errorScreen.retry.button'",
6363
"shared.errorScreen.retryLater": "Missing value for 'shared.errorScreen.retryLater'",
6464
"shared.loadingScreen.dataLoading": "Missing value for 'shared.loadingScreen.dataLoading'",
65+
"shared.loadingScreen.loadingFact1": "Missing value for 'shared.loadingScreen.loadingFact1'",
66+
"shared.loadingScreen.loadingFact10": "Missing value for 'shared.loadingScreen.loadingFact10'",
67+
"shared.loadingScreen.loadingFact11": "Missing value for 'shared.loadingScreen.loadingFact11'",
68+
"shared.loadingScreen.loadingFact2": "Missing value for 'shared.loadingScreen.loadingFact2'",
69+
"shared.loadingScreen.loadingFact3": "Missing value for 'shared.loadingScreen.loadingFact3'",
70+
"shared.loadingScreen.loadingFact4": "Missing value for 'shared.loadingScreen.loadingFact4'",
71+
"shared.loadingScreen.loadingFact5": "Missing value for 'shared.loadingScreen.loadingFact5'",
72+
"shared.loadingScreen.loadingFact6": "Missing value for 'shared.loadingScreen.loadingFact6'",
73+
"shared.loadingScreen.loadingFact7": "Missing value for 'shared.loadingScreen.loadingFact7'",
74+
"shared.loadingScreen.loadingFact8": "Missing value for 'shared.loadingScreen.loadingFact8'",
75+
"shared.loadingScreen.loadingFact9": "Missing value for 'shared.loadingScreen.loadingFact9'",
6576
"shared.noContentScreen.noResults": "Missing value for 'shared.noContentScreen.noResults'",
6677
"shared.noContentScreen.resetFilter": "Missing value for 'shared.noContentScreen.resetFilter'",
6778
"votes.voteCard.votedOn": "Missing value for 'votes.voteCard.votedOn'",

src/assets/i18n/fr.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,17 @@
6262
"shared.errorScreen.retry.button": "Missing value for 'shared.errorScreen.retry.button'",
6363
"shared.errorScreen.retryLater": "Missing value for 'shared.errorScreen.retryLater'",
6464
"shared.loadingScreen.dataLoading": "Missing value for 'shared.loadingScreen.dataLoading'",
65+
"shared.loadingScreen.loadingFact1": "Missing value for 'shared.loadingScreen.loadingFact1'",
66+
"shared.loadingScreen.loadingFact10": "Missing value for 'shared.loadingScreen.loadingFact10'",
67+
"shared.loadingScreen.loadingFact11": "Missing value for 'shared.loadingScreen.loadingFact11'",
68+
"shared.loadingScreen.loadingFact2": "Missing value for 'shared.loadingScreen.loadingFact2'",
69+
"shared.loadingScreen.loadingFact3": "Missing value for 'shared.loadingScreen.loadingFact3'",
70+
"shared.loadingScreen.loadingFact4": "Missing value for 'shared.loadingScreen.loadingFact4'",
71+
"shared.loadingScreen.loadingFact5": "Missing value for 'shared.loadingScreen.loadingFact5'",
72+
"shared.loadingScreen.loadingFact6": "Missing value for 'shared.loadingScreen.loadingFact6'",
73+
"shared.loadingScreen.loadingFact7": "Missing value for 'shared.loadingScreen.loadingFact7'",
74+
"shared.loadingScreen.loadingFact8": "Missing value for 'shared.loadingScreen.loadingFact8'",
75+
"shared.loadingScreen.loadingFact9": "Missing value for 'shared.loadingScreen.loadingFact9'",
6576
"shared.noContentScreen.noResults": "Missing value for 'shared.noContentScreen.noResults'",
6677
"shared.noContentScreen.resetFilter": "Missing value for 'shared.noContentScreen.resetFilter'",
6778
"votes.voteCard.votedOn": "Missing value for 'votes.voteCard.votedOn'",

src/assets/i18n/it.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,17 @@
6262
"shared.errorScreen.retry.button": "Missing value for 'shared.errorScreen.retry.button'",
6363
"shared.errorScreen.retryLater": "Missing value for 'shared.errorScreen.retryLater'",
6464
"shared.loadingScreen.dataLoading": "Missing value for 'shared.loadingScreen.dataLoading'",
65+
"shared.loadingScreen.loadingFact1": "Missing value for 'shared.loadingScreen.loadingFact1'",
66+
"shared.loadingScreen.loadingFact10": "Missing value for 'shared.loadingScreen.loadingFact10'",
67+
"shared.loadingScreen.loadingFact11": "Missing value for 'shared.loadingScreen.loadingFact11'",
68+
"shared.loadingScreen.loadingFact2": "Missing value for 'shared.loadingScreen.loadingFact2'",
69+
"shared.loadingScreen.loadingFact3": "Missing value for 'shared.loadingScreen.loadingFact3'",
70+
"shared.loadingScreen.loadingFact4": "Missing value for 'shared.loadingScreen.loadingFact4'",
71+
"shared.loadingScreen.loadingFact5": "Missing value for 'shared.loadingScreen.loadingFact5'",
72+
"shared.loadingScreen.loadingFact6": "Missing value for 'shared.loadingScreen.loadingFact6'",
73+
"shared.loadingScreen.loadingFact7": "Missing value for 'shared.loadingScreen.loadingFact7'",
74+
"shared.loadingScreen.loadingFact8": "Missing value for 'shared.loadingScreen.loadingFact8'",
75+
"shared.loadingScreen.loadingFact9": "Missing value for 'shared.loadingScreen.loadingFact9'",
6576
"shared.noContentScreen.noResults": "Missing value for 'shared.noContentScreen.noResults'",
6677
"shared.noContentScreen.resetFilter": "Missing value for 'shared.noContentScreen.resetFilter'",
6778
"votes.voteCard.votedOn": "Missing value for 'votes.voteCard.votedOn'",

src/main.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ bootstrapApplication(AppComponent, {
2424
config: {
2525
availableLangs: ['de', 'fr', 'it', 'en'],
2626
defaultLang: 'de',
27-
// Remove this option if your application doesn't support changing language in runtime.
2827
reRenderOnLangChange: true,
2928
prodMode: !isDevMode()
3029
},

0 commit comments

Comments
 (0)