I'm trying to translate via component, because I intend to use the translation in a sweetAlert pop up. I'm getting "Cannot read property 'instant' of undefined" though. I'd like to understand where I'm mistaken.
Note: I'm using lazy load modules
AppModule
imports: [
..., // for short
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps: [HttpClient]
},
})
],
My service where I'm trying to use TranslateService
@Injectable({
providedIn: "root"
})
export class UtilsService {
constructor(
private alertMsg: ToastrService,
private http: HttpClient,
private router: Router,
private storage: StorageService,
private translate: TranslateService
) {
}
}
showAlertRequestError(err: HttpErrorResponse) {
debugger
let erroMsgTranslated: string;
switch (err.status) {
case 500:
case 404:
erroMsgTranslated = this.translate.instant('STATUSCODEMESSAGES.CLIENTERRORS.404')
Toast.fire(erroMsgTranslated, ` Message: ${err.message}. Status: ${err.status}`, 'error');
break;
case 400:
Toast.fire('', ` Message: ${err.error.error}. Status: ${err.status}`, 'info');
break;
case 408:
erroMsgTranslated = this.translate.instant('STATUSCODEMESSAGES.CLIENTERRORS.408')
Toast.fire(erroMsgTranslated, ` Message: ${err.error.error}. Status: ${err.status}`, 'warning');
break;
default:
Toast.fire(`${err.message},`, `Stats: ${err.status}`, 'warning')
}
}