import {Component, Inject, OnInit} from '@angular/core'; import {TranslateService} from '@ngx-translate/core'; import {ConfigService} from '../../../services/config.service'; import {DOCUMENT} from '@angular/common'; import {Router} from '@angular/router'; @Component({ selector: 'framadate-language', templateUrl: './language.component.html', styleUrls: ['./language.component.scss'] }) export class LanguageComponent implements OnInit { currentLang = 'fr'; langsAvailable = ['fr', 'en']; title = 'framadate'; // translation demo: minutes = 12; user = { name: 'Arthur', age: 42 }; constructor(private translate: TranslateService, public config: ConfigService, @Inject(DOCUMENT) private document, private route: Router) { this.translate.setDefaultLang(this.currentLang); } ngOnInit(): void { } switchLanguage(language: string) { this.translate.use(language); this.currentLang = language; } /** * set the next lang or loop to the first * this is to manage future languages available */ changeLanguage() { const langs = this.langsAvailable; const indexofCurrent = langs.indexOf(this.currentLang); if (indexofCurrent > -1) { let newIndex = indexofCurrent + 1; if (newIndex > (langs.length - 1)) { newIndex = 0; } this.currentLang = this.langsAvailable[newIndex]; } this.translate.use(this.currentLang); } toggleMenu() { this.config.menuVisible = !this.config.menuVisible; } }