Angular2 i18n用于占位符文本

Sim*_*ggs 13 input placeholder internationalization angular

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

<input placeholder="hello world" i18n>

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

eva*_*gen 29

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

你应该可以使用i18n-attributename.例如:

<input type="number" placeholder="From" i18n-placeholder="From placeholder"/>
Run Code Online (Sandbox Code Playgroud)

那将需要这样的条目:

<trans-unit id="generatedId" datatype="html">
  <source>From</source>
  <target state="translated">Van</target>
  <note priority="1" from="description">From placeholder</note>
</trans-unit>
Run Code Online (Sandbox Code Playgroud)

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

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

<input type="number" placeholder="From" i18n-placeholder/>
Run Code Online (Sandbox Code Playgroud)

它会工作正常.

  • 谢谢.我没有意识到你需要_i18n-placeholder_和_placeholder_才能工作. (3认同)

Chr*_*row 7

要添加 @evandongen 的答案,这里是 Angular 文档中记录的位置:

更新的链接:

https://angular.io/guide/i18n#translate-attributes

添加 i18n 翻译属性


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

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

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

您还可以使用语法指定含义、描述和 id i18n-x="<meaning>|<description>@@<id>"