import { HttpClient } from '@angular/common/http'; import { Inject, Injectable, } from '@angular/core'; import { TranslateLoader } from '@ngx-translate/core'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; import { BrandSettingsInterface, } from './../../../models/index'; @Injectable() export class TranslateBrandingLoaderService implements TranslateLoader { constructor( private _http: HttpClient, @Inject('brandSettings') private _brandSettings: BrandSettingsInterface, @Inject('cdnUrl') private _cdnUrl: string, ) {} public getTranslation(lang: string): Observable { const brandSettings = this._brandSettings; const urlOfTranslations = brandSettings.alternativeTranslations && brandSettings.alternativeTranslations[lang] ? brandSettings.alternativeTranslations[lang] : `${this._cdnUrl}/translations/${lang}.json`; return this._http.get( urlOfTranslations, ); } }