I'm using translate and I had to write my own loader because the default one was based on httpClient. My solution works, the project starts and languages change. So everything works very well. Unfortunately, when I try to build ng build my-lib --prod I get an error. I guess it's related to json? (Angular 9).
custom-loader.ts
import { TranslateLoader } from '@ngx-translate/core';
import { Observable, of } from 'rxjs';
import * as en from '../../../lib-assets/i18n/en.json';
import * as pl from '../../../lib-assets/i18n/pl.json';
export class CustomTranslateLoader implements TranslateLoader {
constructor(private availableLang: any = { en, pl }) {}
getTranslation(lang: string): Observable<any> {
return of(this.availableLang[lang].default);
}
}
tsconfig.json
"resolveJsonModule": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
error after ng build my-lib --prod:
ERROR: Can't resolve all parameters for CustomTranslateLoader in /Projects/my-app/projects/my-lib/src/lib/core/translate/custom-loader.ts: (?).
An unhandled exception occurred: Can't resolve all parameters for CustomTranslateLoader in /Projects/my-app/projects/my-lib/src/lib/core/translate/custom-loader.ts: (?).