import { TranslateHttpLoader } from '@ngx-translate/http-loader'; import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core'; import { UsersCriteriaComponent } from '../shared/components/criteria/users/users-criteria.component'; import { MaterialModule } from '../shared/material/material.module'; import { SharedModule } from '../shared/shared.module'; import { CommonModule } from '@angular/common'; import { HttpClient, HttpClientModule } from '@angular/common/http'; import { NgModule } from '@angular/core'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { UsersComponent } from './components/users.component'; import { UsersRoutes } from './users.routes'; import { UserRoleEditorComponent } from './components/roles/user-role-editor.component'; import { RecentActivityComponent } from '../users/activity/recent-activity.component'; @NgModule({ imports: [ CommonModule, UsersRoutes, SharedModule, TranslateModule.forRoot({ loader: { provide: TranslateLoader, useFactory: HttpLoaderFactory, deps: [HttpClient] } }), ReactiveFormsModule, MaterialModule ], declarations: [ UsersComponent, UsersCriteriaComponent, UserRoleEditorComponent, RecentActivityComponent ], exports: [ UsersComponent, RecentActivityComponent ] }) export class UsersModule { constructor(private translate: TranslateService) { translate.setDefaultLang('en'); translate.use('en'); } } export function HttpLoaderFactory(httpClient: HttpClient) { return new TranslateHttpLoader(httpClient, 'assets/lang/', '.json'); }