Skip to content

Commit 0694228

Browse files
authored
Merge pull request #30 from Stivin/translate-list
Fix translate list
2 parents e1c3660 + 0e97a6e commit 0694228

File tree

5 files changed

+26
-12
lines changed

5 files changed

+26
-12
lines changed

src/app/shared/layouts/toolbar/toolbar.component.ts

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,20 @@
11
import { Component, OnInit } from '@angular/core';
22

3-
import { TranslatesService } from '@shared/translates/translates.service';
4-
5-
const LANGUAGES: any[] = [
6-
{ value: 'ru', name: 'Русский' },
7-
{ value: 'en', name: 'English' }
8-
];
3+
import { TranslatesService, ITranslatesLanguage } from '@shared/translates';
94

105
@Component({
116
selector: 'app-toolbar',
127
templateUrl: './toolbar.component.html'
138
})
149
export class ToolbarComponent implements OnInit {
15-
public languages: any[] = LANGUAGES;
16-
public currentLang;
10+
public languages: ITranslatesLanguage[];
11+
public currentLang: string;
1712

1813
constructor(private _translatesService: TranslatesService) {
1914
}
2015

2116
ngOnInit() {
17+
this.languages = this._translatesService.getLanguages();
2218
this.currentLang = this._translatesService.getCurrentLang();
2319
}
2420

src/app/shared/shared.module.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ModuleWithProviders, NgModule } from '@angular/core';
22

33
import { LayoutsModule } from './layouts/layouts.module';
4-
import { TranslatesModule } from './translates/translates.module';
4+
import { TranslatesModule } from './translates';
55

66
@NgModule({
77
exports: [

src/app/shared/translates/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export { TranslatesModule } from './translates.module';
2+
export { TranslatesService } from './translates.service';
3+
export { ITranslatesLanguage } from './translates.interface';
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export interface ITranslatesLanguage {
2+
value: string;
3+
name: string;
4+
}
Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,36 @@
11
import { Injectable, Inject } from '@angular/core';
22
import { TranslateService } from '@ngx-translate/core';
3+
34
import { AppStorage } from 'forStorage/universal.inject';
45

6+
import { ITranslatesLanguage } from './translates.interface';
7+
8+
const LANGUAGES: ITranslatesLanguage[] = [
9+
{ value: 'ru', name: 'Русский' },
10+
{ value: 'en', name: 'English' }
11+
];
512
const LANG_LIST: string[] = ['en', 'ru'];
613
const DEFAULT_LANG: string = 'en';
714

815
@Injectable()
916
export class TranslatesService {
1017
constructor(private _translateService: TranslateService,
11-
@Inject(AppStorage) private appStorage: Storage) {
18+
@Inject(AppStorage) private _appStorage: Storage) {
1219
this._translateService.addLangs(LANG_LIST);
1320
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;
1526
}
1627

1728
public getCurrentLang(): string {
1829
return this._translateService.currentLang;
1930
}
2031

2132
public changeLang(lang: string): void {
22-
this.appStorage.setItem('lang', lang);
33+
this._appStorage.setItem('lang', lang);
2334
this._translateService.use(lang);
2435
}
2536
}

0 commit comments

Comments
 (0)