import { ModuleWithProviders, NgModule } from '@angular/core'; import { TranslateLoader, TranslateModule as NgxTranslateModule } from '@ngx-translate/core'; import { TranslateLoaderModule } from './translate-loader.module'; import { AngularFirestore, AngularFirestoreModule } from '@angular/fire/firestore'; import { AngularFireModule } from '@angular/fire'; import { TranslateFactory } from './factories'; @NgModule({ imports: [ NgxTranslateModule, ], exports: [ NgxTranslateModule, ], }) export class TranslateModule { public static forRoot(environment): ModuleWithProviders { @NgModule({ imports: [ AngularFirestoreModule, AngularFireModule.initializeApp(environment.firebase), NgxTranslateModule.forRoot({ loader: { provide: TranslateLoader, useFactory: TranslateFactory, deps: [ AngularFirestore, ], }, }), ], exports: [ NgxTranslateModule, ], }) class LoaderModule {} return { ngModule: LoaderModule, providers: [], }; } }