ng2-translate не работает с пользовательским TranslateLoader
при получении данных из API. Ниже мой пользовательский TranslateLoader
перевестиCustomLoader.ts
@Injectable()
export class CustomTranslateLoader implements TranslateLoader {
constructor(private http: Http, private apiService: AuthHttp) { console.log("customer loader initialized"); }
getTranslation(lang: string): Observable<any>{
var apiAddress = "http://test.com/api/gettranslationsfromDB?culture=" + lang;
return this.apiService.get(apiAddress).map((res) => res.json());
//return Observable.of({ "hello": "translatedhello","welcome":"translatedwelcome"});
}
}
Ответ от API
{ "hello": "translatedhello","welcome":"translatedwelcome"}
Добавлен TranslateLoader для поставщиков в app.module.ts.
providers: [CustomTranslateLoader, { provide: TranslateLoader, useClass: CustomTranslateLoader}]
На моей HTML-странице у меня есть ниже
<h4>{{ 'hello' | translate }}</h4>
Я все еще вижу, как hello
отображается. Это отлично работает, если я заменяю
return this.apiService.get(apiAddress).map((res) => res.json());
с
return Observable.of({ "hello": "translatedhello","welcome":"translatedwelcome"});
Так что я почти уверен, что с конфигурацией все в порядке. Что мне здесь не хватает?