import { NgModule } from '@angular/core'; import { TranslateComponent } from './translate.component'; import { TranslateModule as NgxTranslateModule, TranslateLoader } from '@ngx-translate/core'; import { TranslateHttpLoader } from '@ngx-translate/http-loader'; import { HttpClient } from '@angular/common/http'; import { TranslatePipe } from './translate.pipe'; import { TranslateDirective } from './translate.directive'; import { CommonModule } from "@angular/common"; export function HttpLoaderFactory(httpClient: HttpClient) { return new TranslateHttpLoader(httpClient, getBaseUrl() + "assets/i18n/", ".json"); } export function getBaseUrl() { var url = document.getElementsByTagName('base')[0].href; return url.endsWith("/") ? url : url + "/"; } @NgModule({ declarations: [TranslateComponent, TranslatePipe, TranslateDirective], imports: [ CommonModule, NgxTranslateModule.forRoot({ loader: { provide: TranslateLoader, useFactory: HttpLoaderFactory, deps: [HttpClient] } }) ], exports: [TranslateComponent, TranslatePipe, TranslateDirective] }) export class TranslateModule { }