1
|
import { Injectable } from '@angular/core';
|
2
|
import { TranslateService } from '@ngx-translate/core';
|
3
|
import { registerLocaleData } from '@angular/common';
|
4
|
import localeEn from '@angular/common/locales/en';
|
5
|
import localeCs from '@angular/common/locales/cs';
|
6
|
import { Subject } from 'rxjs';
|
7
|
|
8
|
@Injectable({
|
9
|
providedIn: 'root'
|
10
|
})
|
11
|
export class LocalizationService {
|
12
|
readonly defaultLanguage = 'en';
|
13
|
|
14
|
currentLanguage: Subject<string>;
|
15
|
|
16
|
constructor(private translate: TranslateService) {
|
17
|
this.currentLanguage = new Subject<string>();
|
18
|
|
19
|
registerLocaleData(localeEn);
|
20
|
registerLocaleData(localeCs);
|
21
|
|
22
|
translate.setDefaultLang(this.defaultLanguage);
|
23
|
}
|
24
|
|
25
|
switchLanguage(lang: string) {
|
26
|
this.translate.use(lang);
|
27
|
this.currentLanguage.next(lang);
|
28
|
}
|
29
|
}
|