Angular i18n如何翻译选择选项



我正在Angular 7上开发一个反应式表单,我需要用做一个下拉列表,我需要将选项从英语翻译成法语。选项设置在我的Ts文件中。我听说过重症监护室的表达方式,我读过文件,但我不明白它如何适合我的情况。有人能帮我吗?

我的HTML:

<select name="material" class="form-control input-underline input-lg" formControlName="material"
[(ngModel)]="portal.material" type="text" required i18n>
<option selected disabled value=undefined [ngValue]="null">Select a material</option>
<option *ngFor="let item of material_tab" [ngValue]="item">{{item.name}}</option>    
</select>

我的Ts:

materials_tab = [{ name: 'Wood' }, { name: 'Cardboard' }, { name: 'Plastic' }, { name: 'Paper' }, { name: 'Glass' }, { name: 'Metal' }, { name: 'Other' }];

提前谢谢。

很抱歉回答晚了,我终于做到了。

我的HTML:

<option *ngFor="let item of materials_tab" [ngValue]="item" i18n>{item, select, Wood {Wood} Cardboard {Cardboard} Plastic {Plastic} Paper {Paper} Glass {Glass} Metal {Metal} Other {Other}}</option>

我的TS:

materials_tab = ['Wood', 'Cardboard', 'Plastic', 'Paper', 'Glass', 'Metal', 'Other'];

翻译出现在i18n执行之后(此处为法语(:

<source>{VAR_SELECT, select, Wood {Wood} Cardboard {Cardboard} Plastic {Plastic} Paper {Paper} Glass {Glass} Metal {Metal} Other {Other} }</source><target state="new">{VAR_SELECT, select, Wood {Bois} Cardboard {Carton} Plastic {Plastique} Paper {Papier} Glass {Verre} Metal {Métal} Other {Autre} }</target>

这个解决方案的唯一问题是,如果你有一个很长的列表要翻译,它就会变得不可读。。。

我希望这能帮助到别人。

最新更新