From 6b430573289b7c88b5a264c06edc6a41c1ac96c2 Mon Sep 17 00:00:00 2001 From: HardiReady Date: Tue, 2 Oct 2018 12:16:51 +0200 Subject: [PATCH] Add translation service for public sub module (CC-57) --- static/src/app/pub/public.component.html | 1 + static/src/app/pub/public.component.scss | 0 static/src/app/pub/public.component.ts | 13 ++++++ static/src/app/pub/public.module.ts | 40 +++++++++++++++++-- static/src/app/pub/public.routing.ts | 6 ++- .../rank-overview.component.html | 8 +--- .../user-list-sheet.component.html | 8 ++-- static/src/app/shared.module.ts | 18 ++++----- static/src/assets/i18n/de.json | 25 ++++++++++++ static/src/assets/i18n/en.json | 2 + 10 files changed, 93 insertions(+), 28 deletions(-) create mode 100644 static/src/app/pub/public.component.html create mode 100644 static/src/app/pub/public.component.scss create mode 100644 static/src/app/pub/public.component.ts create mode 100644 static/src/assets/i18n/de.json create mode 100644 static/src/assets/i18n/en.json diff --git a/static/src/app/pub/public.component.html b/static/src/app/pub/public.component.html new file mode 100644 index 0000000..0680b43 --- /dev/null +++ b/static/src/app/pub/public.component.html @@ -0,0 +1 @@ + diff --git a/static/src/app/pub/public.component.scss b/static/src/app/pub/public.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/static/src/app/pub/public.component.ts b/static/src/app/pub/public.component.ts new file mode 100644 index 0000000..b57d54a --- /dev/null +++ b/static/src/app/pub/public.component.ts @@ -0,0 +1,13 @@ +import {Component} from '@angular/core'; +import {TranslateService} from '@ngx-translate/core'; + +@Component({ + selector: 'cc-public', + templateUrl: './public.component.html', + styleUrls: ['./public.component.scss'] +}) +export class PublicComponent { + constructor(private translate: TranslateService) { + this.translate.setDefaultLang('de'); + } +} diff --git a/static/src/app/pub/public.module.ts b/static/src/app/pub/public.module.ts index dc1c331..57951f9 100644 --- a/static/src/app/pub/public.module.ts +++ b/static/src/app/pub/public.module.ts @@ -10,13 +10,45 @@ import {MatBottomSheetModule} from '@angular/material/bottom-sheet'; import {MatListModule} from '@angular/material/list'; import {MatTabsModule} from '@angular/material/tabs'; import {UserListSheetComponent} from './user-list-sheet/user-list-sheet.component'; +import {TranslateLoader, TranslateModule} from '@ngx-translate/core'; +import {HttpClient} from '@angular/common/http'; +import {TranslateHttpLoader} from '@ngx-translate/http-loader'; + +export function createTranslateLoader(http: HttpClient) { + return new TranslateHttpLoader(http, './assets/i18n/public/', '.json'); +} @NgModule({ declarations: pubRoutingComponents, - entryComponents: [UserListSheetComponent], - imports: [CommonModule, SharedModule, MatTableModule, MatCardModule, MatBottomSheetModule, MatListModule, - MatTabsModule, pubRouterModule], - providers: [DecorationService, RankService] + + entryComponents: [ + UserListSheetComponent + ], + + imports: [ + CommonModule, + SharedModule, + MatTableModule, + MatCardModule, + MatBottomSheetModule, + MatListModule, + MatTabsModule, + pubRouterModule, + + TranslateModule.forChild({ + loader: { + provide: TranslateLoader, + useFactory: (createTranslateLoader), + deps: [HttpClient] + }, + isolate: true + }) + ], + + providers: [ + DecorationService, + RankService + ] }) export class PublicModule { static routes = pubRouterModule; diff --git a/static/src/app/pub/public.routing.ts b/static/src/app/pub/public.routing.ts index 8e5837d..d1c7fd2 100644 --- a/static/src/app/pub/public.routing.ts +++ b/static/src/app/pub/public.routing.ts @@ -5,10 +5,13 @@ import {DecorationOverviewComponent} from './decoration-overview/decoration-over import {DecorationPanelComponent} from './decoration-overview/decoration-panel/decoration-panel.component'; import {RankPanelComponent} from './rank-overview/rank-panel/rank-panel.component'; import {UserListSheetComponent} from './user-list-sheet/user-list-sheet.component'; +import {PublicComponent} from './public.component'; +import {StatisticComponent} from '../statistic/stats.component'; export const publicRoutes: Routes = [ { path: '', + component: PublicComponent, children: [ { path: 'ranks', @@ -24,6 +27,5 @@ export const publicRoutes: Routes = [ export const pubRouterModule: ModuleWithProviders = RouterModule.forChild(publicRoutes); -export const pubRoutingComponents = [RankOverviewComponent, DecorationOverviewComponent, DecorationPanelComponent, +export const pubRoutingComponents = [PublicComponent, RankOverviewComponent, DecorationOverviewComponent, DecorationPanelComponent, RankPanelComponent, UserListSheetComponent]; - diff --git a/static/src/app/pub/rank-overview/rank-overview.component.html b/static/src/app/pub/rank-overview/rank-overview.component.html index 937afed..1df56cb 100644 --- a/static/src/app/pub/rank-overview/rank-overview.component.html +++ b/static/src/app/pub/rank-overview/rank-overview.component.html @@ -1,5 +1,5 @@
-

Übersicht über alle Ränge

+

{{'public.ranks.headline' | translate}}

{{fraction.BLUFOR}}

@@ -7,12 +7,10 @@ - - @@ -26,18 +24,14 @@
Rankabzeichen Name {{element.name}}
- -
Rankabzeichen Name {{element.name}}
- -
diff --git a/static/src/app/pub/user-list-sheet/user-list-sheet.component.html b/static/src/app/pub/user-list-sheet/user-list-sheet.component.html index 5ab5273..23cbf7b 100644 --- a/static/src/app/pub/user-list-sheet/user-list-sheet.component.html +++ b/static/src/app/pub/user-list-sheet/user-list-sheet.component.html @@ -1,7 +1,7 @@
- +

- Aktive Teilnehmer mit Rang: {{data.rank.name}} + {{'public.list.users.headline' | translate}} {{'public.ranks.rank' | translate}} {{data.rank.name}}

@@ -12,7 +12,7 @@

- Aktive Teilnehmer mit {{data.decoration.isMedal ? 'Orden' : 'Ordensband'}}: {{data.decoration.name}} + {{'public.list.users.headline' | translate}} {{data.decoration.isMedal ? 'Orden' : 'Ordensband'}} : {{data.decoration.name}}

@@ -22,7 +22,7 @@ {{user.username}} - {{user.squadId.fraction === 'BLUFOR' ? fraction.BLUFOR : fraction.OPFOR}} - {{user.squadId.name}} + {{user.squadId.fraction === 'BLUFOR' ? fraction.BLUFOR : fraction.OPFOR}} - {{user.squadId.name}} diff --git a/static/src/app/shared.module.ts b/static/src/app/shared.module.ts index 428b5cd..47b6b23 100644 --- a/static/src/app/shared.module.ts +++ b/static/src/app/shared.module.ts @@ -11,6 +11,10 @@ import {TranslateLoader, TranslateModule} from '@ngx-translate/core'; import {HttpClient} from '@angular/common/http'; import {TranslateHttpLoader} from '@ngx-translate/http-loader'; +export function createTranslateLoader(http: HttpClient) { + return new TranslateHttpLoader(http, './assets/i18n/', '.json'); +} + @NgModule({ declarations: [ ShowErrorComponent, @@ -27,11 +31,10 @@ import {TranslateHttpLoader} from '@ngx-translate/http-loader'; MatIconModule, MatTooltipModule, - // 3rd party TranslateModule.forRoot({ loader: { provide: TranslateLoader, - useFactory: HttpLoaderFactory, + useFactory: (createTranslateLoader), deps: [HttpClient] } }) @@ -47,15 +50,8 @@ import {TranslateHttpLoader} from '@ngx-translate/http-loader'; ListFilterComponent, SearchFieldComponent, MatTooltipModule, - TranslateModule], + TranslateModule + ], }) export class SharedModule { } - -export function HttpLoaderFactory(http: HttpClient) { - return new TranslateHttpLoader( - http, - `/assets/i18n/`, - '.json' - ); -} diff --git a/static/src/assets/i18n/de.json b/static/src/assets/i18n/de.json new file mode 100644 index 0000000..a3ffcda --- /dev/null +++ b/static/src/assets/i18n/de.json @@ -0,0 +1,25 @@ +{ + "navigation.top.board": "Zum Forum", + "navigation.top.overview": "Armeeübersicht", + "navigation.top.ranks": "Ränge", + "navigation.top.decorations": "Auszeichnungem", + "navigation.top.statistics": "Statistiken", + "navigation.top.login": "Login", + "navigation.top.logout": "Abmelden", + "navigation.top.management": "Verwaltung", + "navigation.top.management.users": "Teilnehmer", + "navigation.top.management.squads": "Squads", + "navigation.top.management.decorations": "Auszeichnungen", + "navigation.top.management.ranks": "Ränge", + "navigation.top.request": "Beantragen", + "navigation.top.request.open": "Offene Anträge", + "navigation.top.request.manage": "Anträge", + "navigation.top.request.promotion": "Beförderung", + "navigation.top.request.award": "Orden/ Auszeichnung", + "navigation.top.admin": "Admin Panel", + "navigation.button.scroll.top": "Zum Seitenanfang", + + "public.army.headline": "Übersicht über alle Spieler, Squads und Armeen", + "public army.squad.members": "Mitglieder:", + "public.army.members": "Armeemitglieder:" +} diff --git a/static/src/assets/i18n/en.json b/static/src/assets/i18n/en.json new file mode 100644 index 0000000..2c63c08 --- /dev/null +++ b/static/src/assets/i18n/en.json @@ -0,0 +1,2 @@ +{ +}