sc-portal/app/src/app/account/account.module.ts

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));
}
}