Angular2 i18n用于占位符文本

时间:2016-10-31 09:02:02

标签: angular input internationalization placeholder

有没有办法使用Angular 2的i18n翻译输入文本字段的占位符文本?

<input placeholder="hello world" i18n>

我在文档中没有看到任何关于此的内容: https://angular.io/docs/ts/latest/cookbook/i18n.html

3 个答案:

答案 0 :(得分:27)

有一个例子,但我似乎无法再找到它了。

您应该可以使用i18n-attributename。例如:

<input type="number" placeholder="From" i18n-placeholder="From placeholder"/>

这需要这样的条目:

<trans-unit id="generatedId" datatype="html">
  <source>From</source>
  <target state="translated">Van</target>
  <note priority="1" from="description">From placeholder</note>
</trans-unit>

在messages.xlf文件中。没有翻译,我无法让它工作。所以你需要添加state = translated和一个值。

即使我们没有在 i18n-placeholder 中给出价值,那也没关系。 就像这样:

<input type="number" placeholder="From" i18n-placeholder/>

它会正常工作。

答案 1 :(得分:1)

我使用了此属性

 <input type="submit" value="{{ 'LOGIN.LOG' | translate }}">

答案 2 :(得分:0)

要添加@evandongen的答案,请在Angular文档中记录:

https://angular.io/guide/i18n#add-i18n-translation-attributes

  

添加i18n翻译属性

           

要标记要翻译的属性,请添加以下形式的属性   i18n-x,其中x是要翻译的属性的名称。该   以下示例显示如何标记title属性   通过在img标签上添加i18n-title属性进行翻译:

     

<img [src]="logo" i18n-title title="Angular logo" />

     

此技术适用于任何元素的任何属性。

     

您还可以使用分配含义,说明和ID   i18n-x="<meaning>|<description>@@<id>"语法。