1 |
18dbad83
|
Václav Jirák
|
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 |
|
|
}
|