В случае Статическое содержимое Вы можете использовать какой-либо тип translate
трубы или свой собственный.
Но в случае динамического связывания, как вы делали в своем примере, вы можете использовать некоторые глобальные методы для проверки условия для выбранного вами языка, как это -
<label *ngFor='let item of items'>{{parseLanguage(item)}}</label>
parseLanguage(item) {
if(this.selectedLang == 'X'){ return item.name_ar}
else return item.name_en
}
Или другой способ - получить только один ответ от сервера в соответствии с выбранным языком.
Обновление
Я создал один канал для одного и того же, который принимает весь объект, содержащий значения diff. языки и возврат в соответствии с выбранным языком, надеюсь, это работает для вас -
import { Component, NgModule, Pipe, PipeTransform } from '@angular/core'
@Pipe({ name: 'translate'})
export class TranslatePipe implements PipeTransform {
languageSelected: string;
constructor() { }
transform(value) {
console.log(value, 'in pipe');
// Made a check for global language selected and return accordingly
if(this.languageSelected == 'arabic'){
return value.name_ar;
}
else {
return value.name_en;
}
}
}
<p *ngFor='let item of items'>
{{item | translate}}
</p>