【问题标题】:Angular i18n how to translate select optionsAngular i18n如何翻译选择选项
【发布时间】:2020-03-17 07:55:09
【问题描述】:

我正在使用 Angular 7 上的响应式表单,我需要使用 制作一个下拉列表,并且我需要将选项从英语翻译成法语。选项在我的 Ts 文件中设置。我听说过 ICU 表达式,我已经阅读了文档,但我不明白它如何适合我的情况。有人可以帮我吗?

我的 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>

我的 T:

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

提前致谢。

【问题讨论】:

    标签: angular internationalization angular-i18n


    【解决方案1】:

    抱歉回复晚了,我终于成功了。

    我的 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>
    

    此解决方案的唯一问题是,如果您要翻译的列表很长,它就会变得难以阅读……

    我希望这会对某人有所帮助。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-06
    • 2019-09-19
    相关资源
    最近更新 更多