Angular 2のi18nを使用して、入力テキストフィールドのプレースホルダーテキストを翻訳する方法はありますか?
<input placeholder="hello world" i18n>
これに関するドキュメントには何もありません: https://angular.io/docs/ts/latest/cookbook/i18n.html
例はありましたが、もう見つけられないようです。
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/>
正常に動作します。
@evandongenからの回答に追加するには、これがAngular docsに記載されている場所です。
更新されたリンク:
https://angular.io/guide/i18n#translate-attributes
i18n翻訳属性を追加
属性を翻訳対象としてマークするには、i18n-xの形式で属性を追加します。ここで、xは翻訳する属性の名前です。次の例は、imgタグにi18n-title属性を追加して、title属性を翻訳対象としてマークする方法を示しています。
<img [src]="logo" i18n-title title="Angular logo" />
この手法は、any要素の任意の属性に対して機能します。
i18n-x="<meaning>|<description>@@<id>"
構文を使用して、意味、説明、IDを割り当てることもできます。