首页 > 解决方案 > 在条件运算符(三元)上使用 Angular i18n

问题描述

是否可以在需要条件操作的字符串上使用 i18n

<h2 i18n>{{ updateMode ? 'Edit' : 'Add'}}</h2>

标签: angularangular5angular-i18n

解决方案


<h2 i18n>{{ updateMode ? 'Edit' : 'Add'}}</h2>

在你的 .xlf 文件中,你会得到类似这样的东西

<source>
  <x id="INTERPOLATION" equiv-text="{{updateMode  ? 'Edit': 'Add'}}"/>
</source>

目标应如下所示:

<target>
  {{updateMode  ? 'TranslatedValue1' : 'TranslatedValue2'}}
</target>

编辑:这个答案是不相关的,因为角度 v.9.0 你不能再使用三元运算符,而是使用:

<ng-container *ngIf="updateMode" i18n="@@translationID1>TranslatedValue1</ng-container>
<ng-container *ngIf="!updateMode" i18n="@@translationID2>TranslatedValue2</ng-container>

推荐阅读