import { TranslateLoader } from '@ngx-translate/core'; import { from, merge, Observable } from 'rxjs'; import { reduce } from 'rxjs/operators'; export class EditorTranslateLoader implements TranslateLoader { getTranslation = (lang: string): Observable<Record<string, string>> => merge( from(import(`../assets/i18n/${lang}.json`)), from(import(`../../../common/assets/i18n/${lang}.json`)) ).pipe( reduce(( merged: Record<string, string>, file: Record<string, string> ): Record<string, string> => ({ ...merged, ...file }), {}) ); }