1

@ngx-translate モジュールで Angular4 (Ionic Framework を使用) を使用しています。

私は app.module.ts に持っています:

export function createTranslateLoader(http: HttpClient) {
  return new TranslateHttpLoader(http, 'https://www.example.com/i18n/', '.json');
}

www.example.com がダウンしているか、さらに悪いことにその時点でインターネット接続が機能しない場合、ローカル URL (./assets/i18n/en.json など) を使用するようにフォールバックするにはどうすればよいですか?

私はこの「解決策」について考えていました:

export function createTranslateLoader(http: HttpClient) {
  if (www.example.com = online) {
   return new TranslateHttpLoader(http, 'https://www.example.com/i18n/', '.json');
  }
  else {
   return new TranslateHttpLoader(http, './assets/i18n/', '.json');
  }
}

もちろん、私の「解決策」は機能しません.... :(誰かがこれを解決するための良い提案や実用的な解決策を持っていますか?ありがとう!

4

2 に答える 2

0

翻訳は httpclient を使用しているため、私はインターセプターを使用します。

@Injectable()
export class NoopInterceptor implements HttpInterceptor {
  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(request)
  .do(event => {
    if (event instanceof HttpResponse) {
      this.logger.logDebug(event);
    }
  })
  .catch(err => { 
   //Check for url and 404 and load what you want
  });
  }
}
于 2017-11-20T12:11:28.610 に答える