|
1 | 1 | import { Injectable, Inject } from '@angular/core'; |
2 | 2 | import { TranslateService } from '@ngx-translate/core'; |
| 3 | + |
3 | 4 | import { AppStorage } from 'forStorage/universal.inject'; |
4 | 5 |
|
| 6 | +import { ITranslatesLanguage } from './translates.interface'; |
| 7 | + |
| 8 | +const LANGUAGES: ITranslatesLanguage[] = [ |
| 9 | + { value: 'ru', name: 'Русский' }, |
| 10 | + { value: 'en', name: 'English' } |
| 11 | +]; |
5 | 12 | const LANG_LIST: string[] = ['en', 'ru']; |
6 | 13 | const DEFAULT_LANG: string = 'en'; |
7 | 14 |
|
8 | 15 | @Injectable() |
9 | 16 | export class TranslatesService { |
10 | 17 | constructor(private _translateService: TranslateService, |
11 | | - @Inject(AppStorage) private appStorage: Storage) { |
| 18 | + @Inject(AppStorage) private _appStorage: Storage) { |
12 | 19 | this._translateService.addLangs(LANG_LIST); |
13 | 20 | this._translateService.setDefaultLang(DEFAULT_LANG); |
14 | | - this._translateService.use(this.appStorage.getItem('lang') || DEFAULT_LANG); |
| 21 | + this._translateService.use(this._appStorage.getItem('lang') || DEFAULT_LANG); |
| 22 | + } |
| 23 | + |
| 24 | + public getLanguages(): ITranslatesLanguage[] { |
| 25 | + return LANGUAGES; |
15 | 26 | } |
16 | 27 |
|
17 | 28 | public getCurrentLang(): string { |
18 | 29 | return this._translateService.currentLang; |
19 | 30 | } |
20 | 31 |
|
21 | 32 | public changeLang(lang: string): void { |
22 | | - this.appStorage.setItem('lang', lang); |
| 33 | + this._appStorage.setItem('lang', lang); |
23 | 34 | this._translateService.use(lang); |
24 | 35 | } |
25 | 36 | } |
0 commit comments