i18n消息中的动态var

时间:2019-06-12 08:22:24

标签: angular internationalization angular7 angular-i18n

我有一个Angular 7项目,具有多种语言,并且我还在i18n文件中翻译了验证消息 因此,我遇到了长度验证消息的问题,该消息应为“此字段必须少于xxx个字符” 有些字段的长度为8个字符,而其他字段的长度为10个字符,依此类推。

所以我想找到一种方法来使验证消息具有某种如何采用参数并将其放在消息中的方式,例如我发送该字段长度为10个字符且验证消息为“此字段必须小于10个字符”

1 个答案:

答案 0 :(得分:0)

您可以在翻译中使用属性绑定。因此,您可以在该字段的组件内部或每个字段的全局设置内定义特定的长度。

然后您可以使用i18n定义,例如:

<div i18n="@@field.max-length">max {{maxLength}} characters</div>

然后您可以在所有输入中重复使用此定义。

生成的xliff看起来像这样:

<trans-unit id="@@field.max-length" datatype="html">
   <source>max <x id="INTERPOLATION" equiv-text="{{maxLength}}"/> characters</source>
   <target>max <x id="INTERPOLATION" equiv-text="{{maxLength}}"/> characters</target>
   [...]
</trans-unit>