有没有办法使用Angular 2的i18n翻译输入文本字段的占位符文本?
<input placeholder="hello world" i18n>
我在文档中没有看到任何关于此的内容: https://angular.io/docs/ts/latest/cookbook/i18n.html
答案 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>"
语法。