Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular ngx翻译自定义加载程序不';找不到翻译_Angular_Typescript_Localization_Internationalization_Ngx Translate - Fatal编程技术网

Angular ngx翻译自定义加载程序不';找不到翻译

Angular ngx翻译自定义加载程序不';找不到翻译,angular,typescript,localization,internationalization,ngx-translate,Angular,Typescript,Localization,Internationalization,Ngx Translate,我决定为翻译实现自定义加载程序,因为我遇到了一个问题,即在加载程序加载正确的翻译之前,字符串需要被翻译。我在ngx translate github上遵循了这个示例,但现在无论在哪里,我都会得到键而不是值。我的自定义加载程序: class CustomLoader implements TranslateLoader { getTranslation(lang: string): Observable<any> { return Observable.of({ K

我决定为翻译实现自定义加载程序,因为我遇到了一个问题,即在加载程序加载正确的翻译之前,字符串需要被翻译。我在ngx translate github上遵循了这个示例,但现在无论在哪里,我都会得到键而不是值。我的自定义加载程序:

    class CustomLoader implements TranslateLoader {
  getTranslation(lang: string): Observable<any> {
    return Observable.of({ KEY: 'value' });
  }
}
我的翻译在./assets/i18n/中,都是json。有人知道我需要更改什么以便loader找到我的翻译吗?

试试这个

export function HttpLoaderFactory(http: Http) {
  return new TranslateHttpLoader(http, "./assets/i18n/locale-", ".json");
} 
然后

TranslateModule.forRoot({
      loader: {
        provide: TranslateLoader,
        useFactory: HttpLoaderFactory,
        deps: [Http]
      }
    })

但这不是一个普通的异步加载程序吗?我想制作一个同步的,这样我就可以使用translate.instant()方法了
TranslateModule.forRoot({
      loader: {
        provide: TranslateLoader,
        useFactory: HttpLoaderFactory,
        deps: [Http]
      }
    })