import { Component, isDevMode, OnInit } from '@angular/core';
import { LocalStorage } from '@ngx-pwa/local-storage';
import { TranslateService } from '@ngx-translate/core';
import { NgxConfigureService } from 'ngx-configure';
import { version } from '../../package.json';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
public curLanguage = 'en';
public version: string = version;
/**
* Costructor of component
* @param translate Ngx Translate service
* @param localStorage Local service for data
*/
constructor(
private translate: TranslateService,
private localStorage: LocalStorage,
configService: NgxConfigureService
) {
translate.setDefaultLang(configService.config.language);
}
/**
* Run component initialization tasks: load orders
*/
ngOnInit(): void {
this.localStorage.getItem('language').subscribe((language: string) => {
if (language) {
this.useLanguage(language);
} else {
this.useLanguage(this.curLanguage);
}
});
}
/**
* Switch interface language
* @param language Language to use
*/
useLanguage(language: string): void {
this.translate.use(language);
this.curLanguage = language;
this.localStorage.setItem('language', language).subscribe(() => {});
}
/**
* Return whether program is in development mode
*/
get isDevMode(): boolean {
return isDevMode();
}
}
|