/**
 * Select Language Component
 * Defines Interface Languages
 * Method changeLanguage
 */

import { Component, OnInit } from '@angular/core';
import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';

interface Languages {
  value: string;
  viewValue: string;
}

@Component({
  selector: 'app-select-language',
  templateUrl: './select-language.component.html',
  styleUrls: ['./select-language.component.css']
})


export class SelectLanguageComponent implements OnInit {

  ngOnInit() {
    console.log("SelectLanguageComponent OnInit: " + this.translate.currentLang);
    switch (this.translate.currentLang) {
      case 'de':
        this.langView = "Sprache";
        this.currLangViewValue = 'DE';
        break;

      default:
        this.langView = "Language";
        this.currLangViewValue = 'EN';
        break;
    }
    console.log("SelectLanguageComponent OnInit: " + this.currLangViewValue);
  }

  constructor(public translate: TranslateService) { }

  languages: Languages[] = [
    { value: 'en', viewValue: 'EN' },
    { value: 'de', viewValue: 'DE' }
  ]



  langView = 'Language'; // default language is English
  currLangViewValue = 'EN';


  /**
   * 
   * @param l {string}: language string in lower case
   * sets langView, which is shown in the template
   */
  changeLanguage(l: string): void {
    this.translate.use(l);
    console.log("changeLanguage: " + l);
    switch (l) {
      case 'de': this.langView = 'Sprache'; break;
      default: this.langView = 'Language'
    }
  }
}