49 lines
1.5 KiB
TypeScript
49 lines
1.5 KiB
TypeScript
import { NgModule } from '@angular/core';
|
|
|
|
import { SharedModule } from '../shared.module';
|
|
import { RouterModule } from '@angular/router';
|
|
|
|
import { TranslateModule, TranslateService, LangChangeEvent } from '@ngx-translate/core';
|
|
import { TranslateLoader } from '@ngx-translate/core';
|
|
import { WebpackTranslateLoader } from '../helpers/webpack-translate-loader.service';
|
|
import { TranslateCompiler } from '@ngx-translate/core';
|
|
import { TranslateMessageFormatCompiler } from 'ngx-translate-messageformat-compiler';
|
|
|
|
import { AccountComponent } from './account.component';
|
|
import { AccountEditorComponent } from './account-editor/account-editor.component';
|
|
import { SshKeyEditorComponent } from './ssh-key-editor/ssh-key-editor.component';
|
|
|
|
@NgModule({
|
|
declarations: [AccountComponent, AccountEditorComponent, SshKeyEditorComponent],
|
|
imports: [
|
|
SharedModule,
|
|
RouterModule.forChild([
|
|
{
|
|
path: '',
|
|
component: AccountComponent
|
|
}
|
|
]),
|
|
TranslateModule.forChild({
|
|
loader: {
|
|
provide: TranslateLoader,
|
|
//useClass: WebpackTranslateLoader
|
|
useFactory: () => new WebpackTranslateLoader('account')
|
|
},
|
|
compiler: {
|
|
provide: TranslateCompiler,
|
|
useFactory: () => new TranslateMessageFormatCompiler()
|
|
},
|
|
isolate: true
|
|
})
|
|
]
|
|
})
|
|
export class AccountModule
|
|
{
|
|
constructor(private readonly translate: TranslateService)
|
|
{
|
|
translate.use(translate.store.currentLang);
|
|
|
|
translate.store.onLangChange.subscribe((event: LangChangeEvent) => translate.use(event.lang));
|
|
}
|
|
}
|