Как подменять название поля в зависимости от языка
Есть справочник(допустим справочник стран) с полями engName и rusName. На стороне фронта нужно подменять название поля в зависимости от выбранного языка. Фронт реализован на Angular, библиотека локализация i18. Я хотел сделать pipe к пустой строке
export class TranslateNamePipe implements PipeTransform {
constructor(private translate: TranslateService) {
this.transform(this.translate.currentLang)
this.translate.onLangChange.subscribe(e => {
switch (e.lang){
case 'ru':
this.transform('rusName');
break;
case 'en':
this.transform('engName');
break;
}
});
}
transform(fieldName: string): string {
return fieldName;
}
}
и на разметке:
<mat-select formControlName="economicSectorId" panelClass="custom-select">
<mat-option *ngFor="let item of economySectors$ | async"
[value]="item.id">{{item['' | translateName]}}</mat-option>
</mat-select>
но это не работает. Может быть есть другие способы глобально для всего проекта создать поток текущего языка, при изменение которого подменялось название выводимого поля