0

I want to avoid the error "GET http: // localhost: 4200 / assets / i18n / 1 / fr.json 404 (Not Found)" in the console and in the network of navigator in Angular //custom.translate.loader.ts******

        return Observable.create(observer => {
            this.http.get('./assets/i18n/' + loggedUser.selectedOrganizationId + '/' + lang + 
            '.json').subscribe((res: Response) => {
                observer.next(res);
                observer.complete();
            },
                error => {
                    this.http.get('/assets/i18n/default/' + lang + '.json').subscribe((res: Response) 
                      => {
                        observer.next(res);
                        observer.complete();
                    })

                }
            );
        });

enter image description here

enter image description here

wiem khardani
  • 53
  • 1
  • 11

1 Answers1

0

First you need to set the language in app component

import { TranslateService } from '@ngx-translate/core';
constructor(private _translate: TranslateService
  ) {
    _translate.setDefaultLang('fr-CA');
  }

I think your url is wrong, you need to remove the json from url. change to the below code

 return Observable.create(observer => {
            this.http.get('./assets/i18n/' + loggedUser.selectedOrganizationId + '/' + lang) .subscribe((res: Response) => {
                observer.next(res);
                observer.complete();
            },
                error => {
                    this.http.get('/assets/i18n/default/' + lang + '.json').subscribe((res: Response) 
                      => {
                        observer.next(res);
                        observer.complete();
                    })

                }
            );
        });
surendra kumar
  • 1,686
  • 11
  • 15
  • Thanks surendra kumar , But, the error still exists "zone.js:2935 GET http://localhost:4200/assets/i18n/1/fr 404 (Not Found)" – wiem khardani Jul 06 '20 at 12:29