Projekt

Obecné

Profil

Stáhnout (1.09 KB) Statistiky
| Větev: | Tag: | Revize:
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
import {Languages} from "../enums/common.enum";
8

    
9
@Injectable({
10
  providedIn: 'root'
11
})
12
export class LocalizationService {
13
  readonly defaultLanguage = 'en';
14

    
15
  currentLanguageSubject: Subject<string>;
16

    
17
  private currentLanguage = this.defaultLanguage;
18

    
19
  constructor(private translate: TranslateService) {
20
    this.currentLanguageSubject = new Subject<string>();
21

    
22
    registerLocaleData(localeEn);
23
    registerLocaleData(localeCs);
24

    
25
    translate.setDefaultLang(this.defaultLanguage);
26
  }
27

    
28
  switchLanguage(lang: string) {
29
    this.translate.use(lang);
30
    this.currentLanguageSubject.next(lang);
31
    this.currentLanguage = lang;
32
  }
33

    
34
  getCurrentLanguage(): Languages {
35
    switch (this.currentLanguage) {
36
      case 'cs':
37
        return Languages.CZECH;
38
      case 'en':
39
      default:
40
        return Languages.ENGLISH;
41
    }
42
  }
43
}
    (1-1/1)