import { Component, OnInit } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { LanguageService } from '../services/language-service.service'; export class Lang { constructor(public key: string, public val: string) {} } @Component({ selector: 'app-address-autocomplete-demo', templateUrl: './address-autocomplete-demo.component.html', styleUrls: ['./address-autocomplete-demo.component.scss'] }) export class AddressAutocompleteDemoComponent implements OnInit { selectedLanguage: string; defaultLanguage = 'en'; apiKey: string; readonly languages: Array = [ new Lang('en', 'EN'), new Lang('fr', 'FR'), new Lang('nl', 'NL'), new Lang('de', 'DE'), new Lang('browser', 'Browser') ]; constructor( private translate: TranslateService, private languageService: LanguageService ) { } ngOnInit() { this.selectedLanguage = this.languageService.determineDefaultLanguage(); this.defaultLanguage = this.selectedLanguage; } onChangeLanguage(newLanguage: string) { if (newLanguage === 'browser') { const browserLang = this.translate.getBrowserLang(); console.log('selected browser language:', browserLang); this.selectedLanguage = browserLang; this.languageService.setSelectedLanguage(browserLang); } else { this.selectedLanguage = newLanguage; this.languageService.setSelectedLanguage(newLanguage); } return false; } getCurrentLanguage(): string { return this.languageService.getSelectedLanguage(); } }