From ac2c5d8801d24f6ab8fea5e0a4c0df41c60313b4 Mon Sep 17 00:00:00 2001 From: Marco Herzog <marco.herzog@mni.thm.de> Date: Thu, 5 Sep 2019 21:47:03 +0200 Subject: [PATCH] Refactor footer pages to modals (again) and implement easy multi-language support, add all functionaly for cookie-consent --- src/app/app.module.ts | 19 +- src/app/components/creator/creator.module.ts | 3 +- .../_dialogs/cookies/cookies.component.html | 45 +--- .../_dialogs/cookies/cookies.component.scss | 4 + .../_dialogs/cookies/cookies.component.ts | 5 + .../data-protection.component.html | 23 +- .../data-protection.component.scss | 9 + .../data-protection.component.ts | 32 +-- .../shared/footer/footer.component.html | 6 +- .../shared/footer/footer.component.ts | 27 +++ .../shared/help-page/help-page.component.html | 20 +- .../shared/help-page/help-page.component.scss | 6 + .../shared/help-page/help-page.component.ts | 33 +-- .../shared/imprint/imprint.component.html | 18 +- .../shared/imprint/imprint.component.scss | 9 + .../shared/imprint/imprint.component.ts | 31 +-- src/assets/i18n/cookies/cookies-de.html | 24 +++ src/assets/i18n/cookies/cookies-de.ts | 8 + src/assets/i18n/cookies/cookies-en.html | 24 +++ src/assets/i18n/cookies/cookies-en.ts | 8 + .../data-protection/data-protection-de.ts | 8 + .../data-protection/data-protection-en.ts | 8 + src/assets/i18n/help/help-de.html | 24 +++ src/assets/i18n/help/help-de.ts | 8 + src/assets/i18n/help/help-en.html | 25 +++ src/assets/i18n/help/help-en.ts | 8 + src/assets/i18n/home/de.json | 196 ++++++++++-------- src/assets/i18n/home/en.json | 189 +++++++++-------- src/assets/i18n/imprint/imprint-de.html | 24 +++ src/assets/i18n/imprint/imprint-de.ts | 8 + src/assets/i18n/imprint/imprint-en.html | 25 +++ src/assets/i18n/imprint/imprint-en.ts | 8 + .../data-protection/data-protection-de.html | 34 ++- .../data-protection/data-protection-en.html | 35 +++- src/styles.scss | 13 ++ 35 files changed, 647 insertions(+), 320 deletions(-) create mode 100644 src/assets/i18n/cookies/cookies-de.html create mode 100644 src/assets/i18n/cookies/cookies-de.ts create mode 100644 src/assets/i18n/cookies/cookies-en.html create mode 100644 src/assets/i18n/cookies/cookies-en.ts create mode 100644 src/assets/i18n/data-protection/data-protection-de.ts create mode 100644 src/assets/i18n/data-protection/data-protection-en.ts create mode 100644 src/assets/i18n/help/help-de.html create mode 100644 src/assets/i18n/help/help-de.ts create mode 100644 src/assets/i18n/help/help-en.html create mode 100644 src/assets/i18n/help/help-en.ts create mode 100644 src/assets/i18n/imprint/imprint-de.html create mode 100644 src/assets/i18n/imprint/imprint-de.ts create mode 100644 src/assets/i18n/imprint/imprint-en.html create mode 100644 src/assets/i18n/imprint/imprint-en.ts diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 7181b51f5..6b9ff2003 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -46,6 +46,14 @@ import { ImprintComponent } from './components/shared/imprint/imprint.component' import { DataProtectionComponent } from './components/shared/data-protection/data-protection.component'; import { HelpPageComponent } from './components/shared/help-page/help-page.component'; import { CookiesComponent } from './components/home/_dialogs/cookies/cookies.component'; +import { DataProtectionEnComponent } from '../assets/i18n/data-protection/data-protection-en'; +import { DataProtectionDeComponent } from 'assets/i18n/data-protection/data-protection-de'; +import { CookiesEnComponent } from '../assets/i18n/cookies/cookies-en'; +import { CookiesDeComponent } from '../assets/i18n/cookies/cookies-de'; +import { ImprintEnComponent } from '../assets/i18n/imprint/imprint-en'; +import { ImprintDeComponent } from '../assets/i18n/imprint/imprint-de'; +import { HelpDeComponent } from '../assets/i18n/help/help-de'; +import { HelpEnComponent } from '../assets/i18n/help/help-en'; export function dialogClose(dialogResult: any) { } @@ -54,6 +62,7 @@ export function initializeApp(appConfig: AppConfig) { return () => appConfig.load(); } +// @ts-ignore @NgModule({ declarations: [ AppComponent, @@ -69,7 +78,15 @@ export function initializeApp(appConfig: AppConfig) { ImprintComponent, DataProtectionComponent, HelpPageComponent, - CookiesComponent + CookiesComponent, + DataProtectionEnComponent, + DataProtectionDeComponent, + CookiesEnComponent, + CookiesDeComponent, + ImprintEnComponent, + ImprintDeComponent, + HelpDeComponent, + HelpEnComponent ], entryComponents: [ RegisterComponent, diff --git a/src/app/components/creator/creator.module.ts b/src/app/components/creator/creator.module.ts index b0b9f948e..049446dea 100644 --- a/src/app/components/creator/creator.module.ts +++ b/src/app/components/creator/creator.module.ts @@ -62,8 +62,9 @@ import { DeleteCommentsComponent } from './_dialogs/delete-comments/delete-comme CommentSettingsComponent, ModeratorDeleteComponent, DeleteCommentsComponent, - DeleteCommentComponent + DeleteCommentComponent, ], + exports: [], entryComponents: [ RoomDeleteComponent, RoomEditComponent, diff --git a/src/app/components/home/_dialogs/cookies/cookies.component.html b/src/app/components/home/_dialogs/cookies/cookies.component.html index 12283a613..9ace0baf6 100644 --- a/src/app/components/home/_dialogs/cookies/cookies.component.html +++ b/src/app/components/home/_dialogs/cookies/cookies.component.html @@ -2,48 +2,23 @@ <h1 mat-dialog-title>Cookies</h1> <mat-divider></mat-divider> - -<mat-dialog-content> - <h2> LOREM</h2> - <p>Test text test textTest text test textTest text test textTest text test textTest text test textTest text test textTest text test textTest text - test textTest text test textTest text test textTest text test texttest textTest text test textTest text test textTest text test texttest textTest text test - textTest text test textTest text test texttest textTest text test textTest text test textTest - text test texttest textTest text test textTest text test textTest text test texttest textTest text test textTest text test textTest text test text</p> - - <h2> IPSUM</h2> - <p>Test text test textTest text test textTest text test textTest text test textTest text test textTest text test textTest text test textTest text - test textTest text test textTest text test textTest text test texttest textTest text test textTest text test textTest text test texttest textTest text test - textTest text test textTest text test texttest textTest text test textTest text test textTest - text test texttest textTest text test textTest text test textTest text test texttest textTest text test textTest text test textTest text test text</p> - - <h2> DOLOR</h2> - <p>Test text test textTest text test textTest text test textTest text test textTest text test textTest text test textTest text test textTest text - test textTest text test textTest text test textTest text test texttest textTest text test textTest text test textTest text test texttest textTest text test - textTest text test textTest text test texttest textTest text test textTest text test textTest - text test texttest textTest text test textTest text test textTest text test texttest textTest text test textTest text test textTest text test text</p> - - <h2> IPSUM</h2> - <p>Test text test textTest text test textTest text test textTest text test textTest text test textTest text test textTest text test textTest text - test textTest text test textTest text test textTest text test texttest textTest text test textTest text test textTest text test texttest textTest text test - textTest text test textTest text test texttest textTest text test textTest text test textTest - text test texttest textTest text test textTest text test textTest text test texttest textTest text test textTest text test textTest text test text</p> - - <h2> DOLOR</h2> - <p>Test text test textTest text test textTest text test textTest text test textTest text test textTest text test textTest text test textTest text - test textTest text test textTest text test textTest text test texttest textTest text test textTest text test textTest text test texttest textTest text test - textTest text test textTest text test texttest textTest text test textTest text test textTest - text test texttest textTest text test textTest text test textTest text test texttest textTest text test textTest text test textTest text test text</p> -</mat-dialog-content> - + <app-cookies-de *ngIf="currentLang=='de'"></app-cookies-de> + <app-cookies-en *ngIf="currentLang=='en'"></app-cookies-en> <mat-divider></mat-divider> -<mat-dialog-actions> +<mat-dialog-actions class="action-container"> + <span class="spacer"></span> <button mat-raised-button mat-dialog-close (click)="acceptCookies()" aria-labelledby="accept-label"> <span *ngIf="deviceType === 'desktop'"> {{ 'cookies.accept' | translate }}</span> </button> + <span class="pad"></span> + <button mat-stroked-button mat-dialog-close (click)="exitApp()" aria-labelledby="decline-label"> + <span *ngIf="deviceType === 'desktop'"> {{ 'cookies.decline' | translate }}</span> + </button> </mat-dialog-actions> </div> <div class="visually-hidden"> - <div id="accept-label">{{'home.accessibilty-accept' | translate }}</div> + <div id="accept-label">{{'cookies.accept-label' | translate }}</div> + <div id="decline-label">{{'cookies.decline-label' | translate }}</div> </div> diff --git a/src/app/components/home/_dialogs/cookies/cookies.component.scss b/src/app/components/home/_dialogs/cookies/cookies.component.scss index 7fca24563..16c5e2d3d 100644 --- a/src/app/components/home/_dialogs/cookies/cookies.component.scss +++ b/src/app/components/home/_dialogs/cookies/cookies.component.scss @@ -3,6 +3,10 @@ color: var(--on-primary); } +.mat-stroked-button { + color: var(--on-surface); +} + div { color: var(--on-surface); } diff --git a/src/app/components/home/_dialogs/cookies/cookies.component.ts b/src/app/components/home/_dialogs/cookies/cookies.component.ts index 65e2d401f..6ddad8e22 100644 --- a/src/app/components/home/_dialogs/cookies/cookies.component.ts +++ b/src/app/components/home/_dialogs/cookies/cookies.component.ts @@ -8,14 +8,19 @@ import { Component, OnInit } from '@angular/core'; export class CookiesComponent implements OnInit { deviceType: string; + currentLang: string; constructor() { } ngOnInit() { + this.currentLang = localStorage.getItem('currentLang'); } acceptCookies() { localStorage.setItem('cookieAccepted', 'true'); } + exitApp() { + // TODO somehow exit the app, since the user didn't accept cookie usage + } } diff --git a/src/app/components/shared/data-protection/data-protection.component.html b/src/app/components/shared/data-protection/data-protection.component.html index 81112061f..7f2d2a9b5 100644 --- a/src/app/components/shared/data-protection/data-protection.component.html +++ b/src/app/components/shared/data-protection/data-protection.component.html @@ -1,6 +1,25 @@ <div> - <h1>DATA PROTECTION</h1> + <h1 mat-dialog-title>{{ 'data-protection.title' | translate }} </h1> + + <mat-divider></mat-divider> + + <app-data-protection-en *ngIf="currentLang=='en'"></app-data-protection-en> + <app-data-protection-de *ngIf="currentLang=='de'"></app-data-protection-de> + + <mat-divider></mat-divider> + + <div mat-dialog-actions class="action-container"> + <span class="spacer"></span> + <button mat-raised-button [mat-dialog-close] (click)="dataProtectionConsent(true)" aria-labelledby="consent-label">{{ 'data-protection.consent' | translate }} </button> + <span class="pad"></span> + <button mat-stroked-button [mat-dialog-close] (click)="dataProtectionConsent(false)" aria-labelledby="deny-label"> {{ 'data-protection.deny' | translate }} </button> + </div> + + <div class="visually-hidden"> + <div id="consent-label">{{ 'data-protection.consent-label' | translate }}</div> + <div id="deny-label">{{ 'data-protection.deny-label' | translate }}</div> + </div> - <div [innerHTML]="dataprotectiontext"></div> </div> + diff --git a/src/app/components/shared/data-protection/data-protection.component.scss b/src/app/components/shared/data-protection/data-protection.component.scss index 33009b54e..029ef351d 100644 --- a/src/app/components/shared/data-protection/data-protection.component.scss +++ b/src/app/components/shared/data-protection/data-protection.component.scss @@ -10,3 +10,12 @@ div { font-family: Roboto, "Helvetica Neue", sans-serif; color: var(--on-surface); } + +.mat-raised-button { + background-color: var(--primary); + color: var(--on-primary); +} + +.mat-stroked-button { + color: var(--on-surface); +} diff --git a/src/app/components/shared/data-protection/data-protection.component.ts b/src/app/components/shared/data-protection/data-protection.component.ts index 80908857f..e82ee35e7 100644 --- a/src/app/components/shared/data-protection/data-protection.component.ts +++ b/src/app/components/shared/data-protection/data-protection.component.ts @@ -1,6 +1,4 @@ import { Component, OnInit } from '@angular/core'; -import { TranslateService } from '@ngx-translate/core'; -import { LanguageService } from '../../../services/util/language.service'; @Component({ selector: 'app-data-protection', @@ -10,36 +8,16 @@ import { LanguageService } from '../../../services/util/language.service'; export class DataProtectionComponent implements OnInit { deviceType: string; - dataprotectiontext: string; + currentLang: string; - constructor(private translationService: TranslateService, - private languageService: LanguageService) { + constructor() { } ngOnInit() { - if (!localStorage.getItem('currentLang')) { - const lang = this.translationService.getBrowserLang(); - this.translationService.setDefaultLang(lang); - localStorage.setItem('currentLang', lang); - } else { - this.translationService.setDefaultLang(localStorage.getItem('currentLang')); - } - this.checkForLanguageChange(); - this.getDataProtectionTextByLanguage(); + this.currentLang = localStorage.getItem('currentLang'); } - checkForLanguageChange() { - this.languageService.langEmitter.subscribe(() => this.getDataProtectionTextByLanguage()); - } - - - private getDataProtectionTextByLanguage() { - if (localStorage.getItem('currentLang') === 'de') { - this.dataprotectiontext = 'Datenschutzerklärung wird angezeigt'; - } else if (localStorage.getItem('currentLang') === 'en') { - this.dataprotectiontext = 'Data protection text is displayed'; - } else { - this.dataprotectiontext = 'No such language found.'; - } + dataProtectionConsent(b: boolean) { + localStorage.setItem('dataProtectionConsent', b.toString()); } } diff --git a/src/app/components/shared/footer/footer.component.html b/src/app/components/shared/footer/footer.component.html index f73fdb3f2..81fc683e1 100644 --- a/src/app/components/shared/footer/footer.component.html +++ b/src/app/components/shared/footer/footer.component.html @@ -1,6 +1,6 @@ <footer> <mat-toolbar id="footer-toolbar"> - <button mat-button routerLink="/help-page" *ngIf="router.url !== '/home'" aria-labelledby="help-label"> + <button mat-button (click)="showHelp()" *ngIf="router.url !== '/home'" aria-labelledby="help-label"> <mat-icon>help_outline</mat-icon> <span *ngIf="deviceType === 'desktop'"> {{ 'footer.help' | translate }} @@ -30,14 +30,14 @@ </button> <span class="fill-remaining-space"></span> - <button mat-button routerLink="/data-protection" aria-labelledby="data-protection-label"> + <button (click)="showDataProtection()" mat-button aria-labelledby="data-protection-label"> <mat-icon>security</mat-icon> <span *ngIf="deviceType === 'desktop'"> {{'footer.dsgvo' | translate}} </span> </button> <span class="fill-remaining-space"></span> - <button mat-button routerLink="/imprint" aria-labelledby="imprint-label"> + <button (click)="showImprint()" mat-button aria-labelledby="imprint-label"> <mat-icon>info</mat-icon> <span *ngIf="deviceType === 'desktop'"> {{'footer.imprint' | translate}} diff --git a/src/app/components/shared/footer/footer.component.ts b/src/app/components/shared/footer/footer.component.ts index e086758fc..f4122ead7 100644 --- a/src/app/components/shared/footer/footer.component.ts +++ b/src/app/components/shared/footer/footer.component.ts @@ -10,6 +10,9 @@ import { Room } from '../../../models/room'; import { DemoVideoComponent } from '../../home/_dialogs/demo-video/demo-video.component'; import { ThemeService } from '../../../../theme/theme.service'; import { CookiesComponent } from '../../home/_dialogs/cookies/cookies.component'; +import { ImprintComponent } from '../imprint/imprint.component'; +import { HelpPageComponent } from '../help-page/help-page.component'; +import { DataProtectionComponent } from '../data-protection/data-protection.component'; @Component({ selector: 'app-footer', @@ -72,6 +75,30 @@ export class FooterComponent implements OnInit { dialogRef.componentInstance.deviceType = this.deviceType; } + showImprint() { + const dialogRef = this.dialog.open(ImprintComponent, { + height: '95%', + width: '75%' + }); + dialogRef.componentInstance.deviceType = this.deviceType; + } + + showHelp() { + const dialogRef = this.dialog.open(HelpPageComponent, { + height: '95%', + width: '75%' + }); + dialogRef.componentInstance.deviceType = this.deviceType; + } + + showDataProtection() { + const dialogRef = this.dialog.open(DataProtectionComponent, { + height: '95%', + width: '75%' + }); + dialogRef.componentInstance.deviceType = this.deviceType; + } + useLanguage(language: string) { this.translateService.use(language); localStorage.setItem('currentLang', language); diff --git a/src/app/components/shared/help-page/help-page.component.html b/src/app/components/shared/help-page/help-page.component.html index c78284c0f..f13dae74f 100644 --- a/src/app/components/shared/help-page/help-page.component.html +++ b/src/app/components/shared/help-page/help-page.component.html @@ -1,6 +1,22 @@ <div> - <h1>HELP</h1> + <h1 mat-dialog-title>{{ 'help.title' | translate }} </h1> + + <mat-divider></mat-divider> + + <app-help-en *ngIf="currentLang=='en'"></app-help-en> + <app-help-de *ngIf="currentLang=='de'"></app-help-de> + + <mat-divider></mat-divider> + + <div mat-dialog-actions class="action-container"> + <span class="spacer"></span> + <button mat-raised-button [mat-dialog-close] aria-labelledby="help-label">{{ 'help.close' | translate }} </button> + </div> + + <div class="visually-hidden"> + <div id="consent-label">{{ 'help.close-label' | translate }}</div> + </div> - <div [innerHTML]="helptext"></div> </div> + diff --git a/src/app/components/shared/help-page/help-page.component.scss b/src/app/components/shared/help-page/help-page.component.scss index 33009b54e..05e8f700d 100644 --- a/src/app/components/shared/help-page/help-page.component.scss +++ b/src/app/components/shared/help-page/help-page.component.scss @@ -10,3 +10,9 @@ div { font-family: Roboto, "Helvetica Neue", sans-serif; color: var(--on-surface); } + +.mat-raised-button { + background-color: var(--primary); + color: var(--on-primary); +} + diff --git a/src/app/components/shared/help-page/help-page.component.ts b/src/app/components/shared/help-page/help-page.component.ts index 5e4eefffe..eb2f6f9b2 100644 --- a/src/app/components/shared/help-page/help-page.component.ts +++ b/src/app/components/shared/help-page/help-page.component.ts @@ -1,6 +1,4 @@ import { Component, OnInit } from '@angular/core'; -import { TranslateService } from '@ngx-translate/core'; -import { LanguageService } from '../../../services/util/language.service'; @Component({ selector: 'app-help', @@ -10,37 +8,12 @@ import { LanguageService } from '../../../services/util/language.service'; export class HelpPageComponent implements OnInit { deviceType: string; - helptext: string; + currentLang: string; - constructor(private translationService: TranslateService, - private languageService: LanguageService) { + constructor() { } ngOnInit() { - if (!localStorage.getItem('currentLang')) { - const lang = this.translationService.getBrowserLang(); - this.translationService.setDefaultLang(lang); - localStorage.setItem('currentLang', lang); - } else { - this.translationService.setDefaultLang(localStorage.getItem('currentLang')); - } - this.getHelptextByLanguage(); - this.checkForLanguageChange(); - } - - getHelptextByLanguage() { - if (localStorage.getItem('currentLang') === 'de') { - this.helptext = 'Hilfetext wird angezeigt'; - // TODO add helptext in german - } else if (localStorage.getItem('currentLang') === 'en') { - this.helptext = 'Helptext is displayed'; - // TODO add helptext in english - } else { - this.helptext = 'No such language found.'; - } - } - - checkForLanguageChange() { - this.languageService.langEmitter.subscribe(() => this.getHelptextByLanguage()); + this.currentLang = localStorage.getItem('currentLang'); } } diff --git a/src/app/components/shared/imprint/imprint.component.html b/src/app/components/shared/imprint/imprint.component.html index a5bbfbf9c..475c8e640 100644 --- a/src/app/components/shared/imprint/imprint.component.html +++ b/src/app/components/shared/imprint/imprint.component.html @@ -1,6 +1,20 @@ <div> - <h1>IMPRINT</h1> + <h1 mat-dialog-title>{{ 'imprint.title' | translate }} </h1> - <div [innerHTML]="imprinttext"></div> + <mat-divider></mat-divider> + + <app-data-protection-en *ngIf="currentLang=='en'"></app-data-protection-en> + <app-data-protection-de *ngIf="currentLang=='de'"></app-data-protection-de> + + <mat-divider></mat-divider> + + <div mat-dialog-actions class="action-container"> + <span class="spacer"></span> + <button mat-raised-button [mat-dialog-close] aria-labelledby="close-label">{{ 'imprint.close' | translate }} </button> + </div> + + <div class="visually-hidden"> + <div id="close-label">{{ 'imprint.close-label'| translate }}</div> + </div> </div> diff --git a/src/app/components/shared/imprint/imprint.component.scss b/src/app/components/shared/imprint/imprint.component.scss index 33009b54e..029ef351d 100644 --- a/src/app/components/shared/imprint/imprint.component.scss +++ b/src/app/components/shared/imprint/imprint.component.scss @@ -10,3 +10,12 @@ div { font-family: Roboto, "Helvetica Neue", sans-serif; color: var(--on-surface); } + +.mat-raised-button { + background-color: var(--primary); + color: var(--on-primary); +} + +.mat-stroked-button { + color: var(--on-surface); +} diff --git a/src/app/components/shared/imprint/imprint.component.ts b/src/app/components/shared/imprint/imprint.component.ts index f63393a9f..e5dd68d09 100644 --- a/src/app/components/shared/imprint/imprint.component.ts +++ b/src/app/components/shared/imprint/imprint.component.ts @@ -1,6 +1,4 @@ import { Component, OnInit } from '@angular/core'; -import { TranslateService } from '@ngx-translate/core'; -import { LanguageService } from '../../../services/util/language.service'; @Component({ selector: 'app-imprint', @@ -10,36 +8,13 @@ import { LanguageService } from '../../../services/util/language.service'; export class ImprintComponent implements OnInit { deviceType: string; imprinttext: string; + currentLang: string; - constructor(private translationService: TranslateService, - private languageService: LanguageService) { + constructor() { } ngOnInit() { - if (!localStorage.getItem('currentLang')) { - const lang = this.translationService.getBrowserLang(); - this.translationService.setDefaultLang(lang); - localStorage.setItem('currentLang', lang); - } else { - this.translationService.setDefaultLang(localStorage.getItem('currentLang')); - } - this.checkForLanguageChange(); - this.getImprintByLanguage(); - } - - checkForLanguageChange() { - this.languageService.langEmitter.subscribe(() => this.getImprintByLanguage()); - } - - - private getImprintByLanguage() { - if (localStorage.getItem('currentLang') === 'de') { - this.imprinttext = 'Impressum wird angezeigt'; - } else if (localStorage.getItem('currentLang') === 'en') { - this.imprinttext = 'Imprint is displayed'; - } else { - this.imprinttext = 'No such language found.'; - } + this.currentLang = localStorage.getItem('currentLang'); } } diff --git a/src/assets/i18n/cookies/cookies-de.html b/src/assets/i18n/cookies/cookies-de.html new file mode 100644 index 000000000..1c2a81bbe --- /dev/null +++ b/src/assets/i18n/cookies/cookies-de.html @@ -0,0 +1,24 @@ +<mat-dialog-content> + + <h2>Testüberschrift Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + + <h2>Testüberschrift Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + + <h3>Testüberschrift Level 3</h3> + <p>Lorem Ipsmum dolor it setum don nosetum don nocter don sit + dolor it setum don nocter don soperdolor it setum don nocter don soperdolor</p> + + <h3>Testüberschrift Level 3</h3> + <p>Lorem Ipsmum dolor it setum don nosetum don nocter don sit + dolor it setum don nocter don soperdolor it setum don nocter don soperdolor</p> + + <h2>Testüberschrift Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + +</mat-dialog-content> diff --git a/src/assets/i18n/cookies/cookies-de.ts b/src/assets/i18n/cookies/cookies-de.ts new file mode 100644 index 000000000..f61a21a40 --- /dev/null +++ b/src/assets/i18n/cookies/cookies-de.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-cookies-de', + templateUrl: './cookies-de.html' +}) + +export class CookiesDeComponent {} diff --git a/src/assets/i18n/cookies/cookies-en.html b/src/assets/i18n/cookies/cookies-en.html new file mode 100644 index 000000000..1c2a81bbe --- /dev/null +++ b/src/assets/i18n/cookies/cookies-en.html @@ -0,0 +1,24 @@ +<mat-dialog-content> + + <h2>Testüberschrift Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + + <h2>Testüberschrift Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + + <h3>Testüberschrift Level 3</h3> + <p>Lorem Ipsmum dolor it setum don nosetum don nocter don sit + dolor it setum don nocter don soperdolor it setum don nocter don soperdolor</p> + + <h3>Testüberschrift Level 3</h3> + <p>Lorem Ipsmum dolor it setum don nosetum don nocter don sit + dolor it setum don nocter don soperdolor it setum don nocter don soperdolor</p> + + <h2>Testüberschrift Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + +</mat-dialog-content> diff --git a/src/assets/i18n/cookies/cookies-en.ts b/src/assets/i18n/cookies/cookies-en.ts new file mode 100644 index 000000000..54c63e773 --- /dev/null +++ b/src/assets/i18n/cookies/cookies-en.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-cookies-en', + templateUrl: './cookies-en.html' +}) + +export class CookiesEnComponent {} diff --git a/src/assets/i18n/data-protection/data-protection-de.ts b/src/assets/i18n/data-protection/data-protection-de.ts new file mode 100644 index 000000000..468a0c9dc --- /dev/null +++ b/src/assets/i18n/data-protection/data-protection-de.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-data-protection-de', + templateUrl: './data-protection-de.html' +}) + +export class DataProtectionDeComponent {} diff --git a/src/assets/i18n/data-protection/data-protection-en.ts b/src/assets/i18n/data-protection/data-protection-en.ts new file mode 100644 index 000000000..8f3686d79 --- /dev/null +++ b/src/assets/i18n/data-protection/data-protection-en.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-data-protection-en', + templateUrl: './data-protection-en.html' +}) + +export class DataProtectionEnComponent {} diff --git a/src/assets/i18n/help/help-de.html b/src/assets/i18n/help/help-de.html new file mode 100644 index 000000000..1c2a81bbe --- /dev/null +++ b/src/assets/i18n/help/help-de.html @@ -0,0 +1,24 @@ +<mat-dialog-content> + + <h2>Testüberschrift Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + + <h2>Testüberschrift Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + + <h3>Testüberschrift Level 3</h3> + <p>Lorem Ipsmum dolor it setum don nosetum don nocter don sit + dolor it setum don nocter don soperdolor it setum don nocter don soperdolor</p> + + <h3>Testüberschrift Level 3</h3> + <p>Lorem Ipsmum dolor it setum don nosetum don nocter don sit + dolor it setum don nocter don soperdolor it setum don nocter don soperdolor</p> + + <h2>Testüberschrift Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + +</mat-dialog-content> diff --git a/src/assets/i18n/help/help-de.ts b/src/assets/i18n/help/help-de.ts new file mode 100644 index 000000000..9d0e41507 --- /dev/null +++ b/src/assets/i18n/help/help-de.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-help-de', + templateUrl: './help-de.html' +}) + +export class HelpDeComponent {} diff --git a/src/assets/i18n/help/help-en.html b/src/assets/i18n/help/help-en.html new file mode 100644 index 000000000..84e92a9ac --- /dev/null +++ b/src/assets/i18n/help/help-en.html @@ -0,0 +1,25 @@ +<mat-dialog-content> + + <h2>Testheading Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + + <h2>Testheading Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + + <h3>Testheading Level 3</h3> + <p>Lorem Ipsmum dolor it setum don nosetum don nocter don sit + dolor it setum don nocter don soperdolor it setum don nocter don soperdolor</p> + + <h3>Testheading Level 3</h3> + <p>Lorem Ipsmum dolor it setum don nosetum don nocter don sit + dolor it setum don nocter don soperdolor it setum don nocter don soperdolor</p> + + <h2>Testheading Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + + +</mat-dialog-content> diff --git a/src/assets/i18n/help/help-en.ts b/src/assets/i18n/help/help-en.ts new file mode 100644 index 000000000..2473a88f2 --- /dev/null +++ b/src/assets/i18n/help/help-en.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-help-en', + templateUrl: './help-en.html' +}) + +export class HelpEnComponent {} diff --git a/src/assets/i18n/home/de.json b/src/assets/i18n/home/de.json index 8681a5bbf..834ac8b59 100644 --- a/src/assets/i18n/home/de.json +++ b/src/assets/i18n/home/de.json @@ -1,93 +1,97 @@ { - "header": { - "logout": "Abmelden", - "logged-out": "Ausloggen erfolgreich", - "back": "Zurück", - "my-sessions": "Meine Sessions", - "visited-sessions": "Besuchte Sessions", + "header": { + "logout": "Abmelden", + "logged-out": "Ausloggen erfolgreich", + "back": "Zurück", + "my-sessions": "Meine Sessions", + "visited-sessions": "Besuchte Sessions", "login": "Login", "my-account": "Konto", "my-guest-account": "Sessions", "id": "ID", - "moderation-enabled": "Moderiert", - "delete-account": "Account löschen", - "sure": "Bist du sicher?", - "really-delete-account": "Willst du dein Konto mit den zugehörigen Sessions wirklich unwiderruflich löschen?", - "account-deleted": "Dein Konto wurde erfolgreich gelöscht.", - "abort": "Abbrechen", - "delete": "Löschen" - }, - "login-page": { - "creator": "Dozent/in", - "participant": "Student/in", - "password-reset": "Passwort vergessen?", - "not-registered": "Noch kein Konto?", - "register": "Registrieren", - "welcome": "Online fragen | Fragen voten", - "login": "Login" - }, - "home-page": { - "join-demo-session": "Öffentliche Session betreten", - "session-id": "Session-ID", - "no-room-found": "Es wurde keine Session mit dieser ID gefunden.", - "please-enter": "… sagt dir dein/e Dozent/in", - "exactly-8": "Eine Session-ID hat genau 8 Ziffern.", - "create-session": "Neue Session", - "no-empty-name": "Bitte gib einen Namen für die Session ein.", - "created-1": "Session '", - "created-2": "' erfolgreich erstellt", - "only-numbers": "Eine Session-ID besteht aus Ziffern.", - "update-available": "Eine neue Version ist verfügbar.", - "install": "Installieren" - }, - "login": { + "moderation-enabled": "Moderiert", + "delete-account": "Account löschen", + "sure": "Bist du sicher?", + "really-delete-account": "Willst du dein Konto mit den zugehörigen Sessions wirklich unwiderruflich löschen?", + "account-deleted": "Dein Konto wurde erfolgreich gelöscht.", + "abort": "Abbrechen", + "delete": "Löschen", + "accessibility-login": "Konto-Button. Öffnet Modalfenster in dem man sich einloggen kann", + "accessibility-back": "Zurück-Button. Führt zur vorherigen Seite" + }, + "login-page": { + "creator": "Dozent/in", + "participant": "Student/in", + "password-reset": "Passwort vergessen?", + "not-registered": "Noch kein Konto?", + "register": "Registrieren", + "welcome": "Online fragen | Fragen voten", + "login": "Login" + }, + "home-page": { + "join-demo-session": "Öffentliche Session betreten", + "session-id": "Session-ID", + "no-room-found": "Es wurde keine Session mit dieser ID gefunden.", + "please-enter": "… sagt dir dein/e Dozent/in", + "exactly-8": "Eine Session-ID hat genau 8 Ziffern.", + "create-session": "Neue Session", + "no-empty-name": "Bitte gib einen Namen für die Session ein.", + "created-1": "Session '", + "created-2": "' erfolgreich erstellt", + "only-numbers": "Eine Session-ID besteht aus Ziffern.", + "update-available": "Eine neue Version ist verfügbar.", + "install": "Installieren", + "accessibility-join": "Beitreten-Button. Betritt den Raum, dessen Session-ID im Textfeld angegeben ist", + "accessibility-create": "Erstellen-Button. Erstellt einen neuen Raum" + }, + "login": { "header": "Login", - "email": "E-Mail", - "email-invalid": "E-Mail-Adresse ungültig", - "email-required": "E-Mail-Adresse erforderlich", - "guest-login": "Anmelden als Gast", - "input-incorrect": "Bitte prüfe deine Eingaben.", - "login-successful": "Login erfolgreich", - "login": "Anmelden mit Konto", - "login-data-incorrect": "Benutzername oder Passwort nicht korrekt", - "password": "Passwort", - "password-required": "Passwort erforderlich", - "activate": "Aktivieren", - "activation-key": "Aktivierungsschlüssel", - "activation-key-required": "Aktivierungsschlüssel erforderlich", - "activation-key-incorrect": "Aktivierungsschlüssel falsch", - "or": "oder", - "guest-login-tooltip": "Erstellte Sessions werden mit allen Fragen nach dem Ausloggen gelöscht.", - "login-tooltip": "Sessions mit allen Fragen werden für 180 Tage gespeichert." - }, - "password-reset": { - "email": "E-Mail", - "email-invalid": "E-Mail-Adresse ungültig", - "email-required": "E-Mail-Adresse erforderlich", - "input-incorrect": "Bitte prüfe deine Eingaben.", - "reset-password": "Passwort zurücksetzen", - "reset-successful": "Passwort wurde zurückgesetzt. Bitte prüfe deine E-Mails." - }, - "register": { - "email": "E-Mail", - "email-verify": "E-Mail bestätigen", - "email-invalid": "E-Mail-Adresse ungültig", - "email-required": "E-Mail-Adresse erforderlich", - "email-unmatch": "E-Mail-Adressen stimmen nicht überein", - "password": "Passwort", - "password-required": "Passwort erforderlich", - "password-unmatch": "Passwörter stimmen nicht überein", - "password-verify": "Passwort bestätigen", - "register": "Registrieren", - "register-successful": "Erfolgreich registriert. Bitte prüfe deine E-Mails.", - "register-unsuccessful": "Bitte prüfe deine Eingaben.", - "register-request-error": "Etwas ist bei der Registierung fehlgeschlagen. Hast du dich vielleicht schon registriert?" - }, - "session": { - "session-name": "Name der Session", - "description": "Beschreibung der Session", - "max-ls": "Max. Zeichen:", - "create-session": "Session erstellen" + "email": "E-Mail", + "email-invalid": "E-Mail-Adresse ungültig", + "email-required": "E-Mail-Adresse erforderlich", + "guest-login": "Anmelden als Gast", + "input-incorrect": "Bitte prüfe deine Eingaben.", + "login-successful": "Login erfolgreich", + "login": "Anmelden mit Konto", + "login-data-incorrect": "Benutzername oder Passwort nicht korrekt", + "password": "Passwort", + "password-required": "Passwort erforderlich", + "activate": "Aktivieren", + "activation-key": "Aktivierungsschlüssel", + "activation-key-required": "Aktivierungsschlüssel erforderlich", + "activation-key-incorrect": "Aktivierungsschlüssel falsch", + "or": "oder", + "guest-login-tooltip": "Erstellte Sessions werden mit allen Fragen nach dem Ausloggen gelöscht.", + "login-tooltip": "Sessions mit allen Fragen werden für 180 Tage gespeichert." + }, + "password-reset": { + "email": "E-Mail", + "email-invalid": "E-Mail-Adresse ungültig", + "email-required": "E-Mail-Adresse erforderlich", + "input-incorrect": "Bitte prüfe deine Eingaben.", + "reset-password": "Passwort zurücksetzen", + "reset-successful": "Passwort wurde zurückgesetzt. Bitte prüfe deine E-Mails." + }, + "register": { + "email": "E-Mail", + "email-verify": "E-Mail bestätigen", + "email-invalid": "E-Mail-Adresse ungültig", + "email-required": "E-Mail-Adresse erforderlich", + "email-unmatch": "E-Mail-Adressen stimmen nicht überein", + "password": "Passwort", + "password-required": "Passwort erforderlich", + "password-unmatch": "Passwörter stimmen nicht überein", + "password-verify": "Passwort bestätigen", + "register": "Registrieren", + "register-successful": "Erfolgreich registriert. Bitte prüfe deine E-Mails.", + "register-unsuccessful": "Bitte prüfe deine Eingaben.", + "register-request-error": "Etwas ist bei der Registierung fehlgeschlagen. Hast du dich vielleicht schon registriert?" + }, + "session": { + "session-name": "Name der Session", + "description": "Beschreibung der Session", + "max-ls": "Max. Zeichen:", + "create-session": "Session erstellen" }, "footer": { "demo": "Demo", @@ -107,12 +111,30 @@ "style": "Stil", "accessibility-style": "Öffnet eine Auswahl an verschiedenen Farbschemata", "language": "Sprache", - "accessibility-language": "Sprachauswahl kann verändert werden", "english": "Englisch", - "german": "Deutsch" + "german": "Deutsch", + "accessibility-data_protection": "Datenschutz-Button. Zeigt Link zur frag.jetz-Datenschutzerklärung an", }, "cookies": { "accept": "Bestätigen", - "accessibility-accept": "Bestätigen um cookies zu akzeptieren." + "accessibility-accept": "Bestätigen um cookies zu akzeptieren.", + "accept-label": "Bestätigen-Button. Bestätigt die Verwendung von Cookies und fährt zur Hauptanwendung fort" + }, + "data-protection": { + "title": "Datenschutz", + "consent": "Akzeptieren", + "consent-label": "Akzeptieren-Button. Akzeptiert die Datenschutzrichtlinien der App", + "deny": "Ablehnen", + "deny-label": "Ablehnen-Button. Lehnt die Datenschutzrichlinien ab" + }, + "imprint": { + "title": "Impressum", + "close": "Schließen", + "close-label": "Schließen-Button. Schließt das Impressum" + }, + "help": { + "title": "Hilfe", + "close": "Schließen", + "accept-label": "Schließen-Button. Schließt die Hilfeseite" } } diff --git a/src/assets/i18n/home/en.json b/src/assets/i18n/home/en.json index efd5b9c9b..0825f5fb0 100644 --- a/src/assets/i18n/home/en.json +++ b/src/assets/i18n/home/en.json @@ -1,94 +1,98 @@ { - "header": { - "logout": "Log out", - "logged-out": "Logging out successful", - "back": "Back", - "my-sessions": "My sessions", - "visited-sessions": "Visited sessions", + "header": { + "logout": "Log out", + "logged-out": "Logging out successful", + "back": "Back", + "my-sessions": "My sessions", + "visited-sessions": "Visited sessions", "login": "Login", "my-account": "My account", "my-guest-account": "Sessions", "id": "ID", - "moderation-enabled": "Moderated", - "delete-account": "Delete account", + "moderation-enabled": "Moderated", + "delete-account": "Delete account", "sure": "Are you sure?", "really-delete-account": "Do you really want to irrevocably delete your account with the associated sessions?", "account-deleted": "Your account has been deleted successfully.", "abort": "Cancel", - "delete": "Delete" - }, - "login-page": { - "creator": "Professor", - "participant": "Student", - "password-reset": "Forgot your password?", - "not-registered": "Don't have an account yet?", - "register": "Register", - "welcome": "Ask online | vote questions", - "login": "Login" - }, - "home-page": { - "join-demo-session": "Join public session", - "session-id": "Session ID", - "no-room-found": "No session found with this ID", - "please-enter": "… your professor tells you", - "exactly-8": "A session ID has exactly 8 digits.", - "create-session": "New session", - "no-empty-name": "Please enter a name.", - "created-1": "Session '", - "created-2": "' successfully created", - "only-numbers": "A session ID only contains digits.", - "update-available": "A newer version is available.", - "install": "Install" - }, - "login": { + "delete": "Delete", + "accessibility-login": "Account-Button. Opens the login window", + "accessibility-back": "Back-Button. Go back to the previous page" + }, + "login-page": { + "creator": "Professor", + "participant": "Student", + "password-reset": "Forgot your password?", + "not-registered": "Don't have an account yet?", + "register": "Register", + "welcome": "Ask online | vote questions", + "login": "Login" + }, + "home-page": { + "join-demo-session": "Join public session", + "session-id": "Session ID", + "no-room-found": "No session found with this ID", + "please-enter": "… your professor tells you", + "exactly-8": "A session ID has exactly 8 digits.", + "create-session": "New session", + "no-empty-name": "Please enter a name.", + "created-1": "Session '", + "created-2": "' successfully created", + "only-numbers": "A session ID only contains digits.", + "update-available": "A newer version is available.", + "install": "Install", + "accessibility-join": "Join button. Enters the room with the specified session ID.", + "accessibility-create": "Create button. Creates a new session" + }, + "login": { "header": "Log in", "email": "E-mail", - "email-invalid": "E-mail is invalid", - "email-required": "E-mail required", - "guest-login": "Log in as a guest", - "input-incorrect": "Please check your data.", - "login-successful": "Login successful", - "login": "Sign in", - "login-data-incorrect": "Username or password incorrect", - "password": "Password", - "password-required": "Password required", - "activate": "Activate", - "activation-key": "Activation key", - "activation-key-required": "Activation key required", - "activation-key-incorrect": "Activation key is incorrect.", - "or": "or", - "guest-login-tooltip": "Created sessions will be deleted after logout.", - "login-tooltip": "Sessions will be stored for 180 days." - }, - "password-reset": { - "email": "E-mail", - "email-invalid": "E-mail is invalid.", - "email-required": "E-mail required", - "input-incorrect": "Please check your data.", - "reset-password": "Reset password", - "reset-successful": "Password was reset. Please check your mails." - }, - "register": { - "email": "E-mail", - "email-verify": "Verify e-mail", - "email-invalid": "E-mail is invalid.", - "email-required": "E-mail required", - "email-unmatch": "E-mails do not match.", - "password": "Password", - "password-required": "Password required", - "password-unmatch": "Passwords do not match.", - "password-verify": "Verify password", - "register": "Register", - "register-successful": "Successfully registered. Please check your mails.", - "register-unsuccessful": "Please check your data.", - "register-request-error": "Something went wrong with the registration. Maybe you already made the account?" - }, - "session": { - "session-name": "Session name", - "description": "Description", - "max-ls": "Max. characters:", - "create-session": "Create session" - }, + "email-invalid": "E-mail is invalid", + "email-required": "E-mail required", + "guest-login": "Log in as a guest", + "input-incorrect": "Please check your data.", + "login-successful": "Login successful", + "login": "Sign in", + "login-data-incorrect": "Username or password incorrect", + "password": "Password", + "password-required": "Password required", + "activate": "Activate", + "activation-key": "Activation key", + "activation-key-required": "Activation key required", + "activation-key-incorrect": "Activation key is incorrect.", + "or": "or", + "guest-login-tooltip": "Created sessions will be deleted after logout.", + "login-tooltip": "Sessions will be stored for 180 days." + }, + "password-reset": { + "email": "E-mail", + "email-invalid": "E-mail is invalid.", + "email-required": "E-mail required", + "input-incorrect": "Please check your data.", + "reset-password": "Reset password", + "reset-successful": "Password was reset. Please check your mails." + }, + "register": { + "email": "E-mail", + "email-verify": "Verify e-mail", + "email-invalid": "E-mail is invalid.", + "email-required": "E-mail required", + "email-unmatch": "E-mails do not match.", + "password": "Password", + "password-required": "Password required", + "password-unmatch": "Passwords do not match.", + "password-verify": "Verify password", + "register": "Register", + "register-successful": "Successfully registered. Please check your mails.", + "register-unsuccessful": "Please check your data.", + "register-request-error": "Something went wrong with the registration. Maybe you already made the account?" + }, + "session": { + "session-name": "Session name", + "description": "Description", + "max-ls": "Max. characters:", + "create-session": "Create session" + }, "footer": { "demo": "Demo", "accessibility-demo": "Shows demo version of frag.jetzt", @@ -109,10 +113,31 @@ "language": "Language", "accessibility-language": "Press button to change language", "english": "English", - "german": "German" + "german": "German", + "accessibility-data_protection": "Data-Protection-Button. Opens a page with the frag.jetzt privacy statement" }, "cookies": { "accept": "Accept", - "accessibilty-accept": "Push button to accept cookies" + "accessibilty-accept": "Push button to accept cookies", + "accept-label": "Accept-Button. Accepts the use of cookies and proceeds to the app", + "decline": "Decline", + "decline-label": "Decline-Button. Decline cookie usage and exit the app" + }, + "data-protection": { + "title": "Data Protection", + "consent": "Accept", + "consent-label": "Accept-Button. Accept the app's privacy policy", + "deny": "Decline", + "deny-label": "Decline-Button. Decline the app's privacy policy" + }, + "imprint": { + "title": "Imprint", + "close": "Close", + "close-label": "Close-Button. Closes the imprint" + }, + "help": { + "title": "Help", + "close": "Close", + "accept-label": "Close-Button. Closes the help page" } } diff --git a/src/assets/i18n/imprint/imprint-de.html b/src/assets/i18n/imprint/imprint-de.html new file mode 100644 index 000000000..1c2a81bbe --- /dev/null +++ b/src/assets/i18n/imprint/imprint-de.html @@ -0,0 +1,24 @@ +<mat-dialog-content> + + <h2>Testüberschrift Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + + <h2>Testüberschrift Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + + <h3>Testüberschrift Level 3</h3> + <p>Lorem Ipsmum dolor it setum don nosetum don nocter don sit + dolor it setum don nocter don soperdolor it setum don nocter don soperdolor</p> + + <h3>Testüberschrift Level 3</h3> + <p>Lorem Ipsmum dolor it setum don nosetum don nocter don sit + dolor it setum don nocter don soperdolor it setum don nocter don soperdolor</p> + + <h2>Testüberschrift Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + +</mat-dialog-content> diff --git a/src/assets/i18n/imprint/imprint-de.ts b/src/assets/i18n/imprint/imprint-de.ts new file mode 100644 index 000000000..d93b9f002 --- /dev/null +++ b/src/assets/i18n/imprint/imprint-de.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-imprint-de', + templateUrl: './imprint-de.html' +}) + +export class ImprintDeComponent {} diff --git a/src/assets/i18n/imprint/imprint-en.html b/src/assets/i18n/imprint/imprint-en.html new file mode 100644 index 000000000..84e92a9ac --- /dev/null +++ b/src/assets/i18n/imprint/imprint-en.html @@ -0,0 +1,25 @@ +<mat-dialog-content> + + <h2>Testheading Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + + <h2>Testheading Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + + <h3>Testheading Level 3</h3> + <p>Lorem Ipsmum dolor it setum don nosetum don nocter don sit + dolor it setum don nocter don soperdolor it setum don nocter don soperdolor</p> + + <h3>Testheading Level 3</h3> + <p>Lorem Ipsmum dolor it setum don nosetum don nocter don sit + dolor it setum don nocter don soperdolor it setum don nocter don soperdolor</p> + + <h2>Testheading Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + + +</mat-dialog-content> diff --git a/src/assets/i18n/imprint/imprint-en.ts b/src/assets/i18n/imprint/imprint-en.ts new file mode 100644 index 000000000..98c704196 --- /dev/null +++ b/src/assets/i18n/imprint/imprint-en.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-imprint-en', + templateUrl: './imprint-en.html' +}) + +export class ImprintEnComponent {} diff --git a/src/assets/i18n/shared/data-protection/data-protection-de.html b/src/assets/i18n/shared/data-protection/data-protection-de.html index 6921a297a..1c2a81bbe 100644 --- a/src/assets/i18n/shared/data-protection/data-protection-de.html +++ b/src/assets/i18n/shared/data-protection/data-protection-de.html @@ -1,10 +1,24 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <title>Datenschutzerklärung</title> -</head> -<body> -Text zur Datenschutzerklärung wird angezeigt -</body> -</html> +<mat-dialog-content> + + <h2>Testüberschrift Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + + <h2>Testüberschrift Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + + <h3>Testüberschrift Level 3</h3> + <p>Lorem Ipsmum dolor it setum don nosetum don nocter don sit + dolor it setum don nocter don soperdolor it setum don nocter don soperdolor</p> + + <h3>Testüberschrift Level 3</h3> + <p>Lorem Ipsmum dolor it setum don nosetum don nocter don sit + dolor it setum don nocter don soperdolor it setum don nocter don soperdolor</p> + + <h2>Testüberschrift Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + +</mat-dialog-content> diff --git a/src/assets/i18n/shared/data-protection/data-protection-en.html b/src/assets/i18n/shared/data-protection/data-protection-en.html index ad6f8d39b..84e92a9ac 100644 --- a/src/assets/i18n/shared/data-protection/data-protection-en.html +++ b/src/assets/i18n/shared/data-protection/data-protection-en.html @@ -1,10 +1,25 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <title>Data Protection</title> -</head> -<body> -See the data protection text! -</body> -</html> +<mat-dialog-content> + + <h2>Testheading Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + + <h2>Testheading Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + + <h3>Testheading Level 3</h3> + <p>Lorem Ipsmum dolor it setum don nosetum don nocter don sit + dolor it setum don nocter don soperdolor it setum don nocter don soperdolor</p> + + <h3>Testheading Level 3</h3> + <p>Lorem Ipsmum dolor it setum don nosetum don nocter don sit + dolor it setum don nocter don soperdolor it setum don nocter don soperdolor</p> + + <h2>Testheading Level 2</h2> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + <p>Lorem Ipsmum dolor it setum don nocter don soper dolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soperdolor it setum don nocter don soper</p> + + +</mat-dialog-content> diff --git a/src/styles.scss b/src/styles.scss index 176f28536..9f623f1fc 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -36,3 +36,16 @@ overflow: hidden; left: -10000px; } + +.action-container{ + display: flex; + padding-top: 5%; +} + +.spacer{ + flex-grow:1; +} + +.pad{ + flex-grow:0.05; +} -- GitLab