Gibt es eine Möglichkeit, den Platzhaltertext für ein Eingabetextfeld mithilfe von i18n von Angular 2 zu übersetzen?
<input placeholder="hello world" i18n>
Ich sehe dazu nichts in der Dokumentation: https://angular.io/docs/ts/latest/cookbook/i18n.html
Es hat ein Beispiel gegeben, aber ich finde es scheinbar nicht mehr.
Sie sollten i18n-attributename
verwenden können. Zum Beispiel:
<input type="number" placeholder="From" i18n-placeholder="From placeholder"/>
Das würde einen Eintrag wie diesen benötigen:
<trans-unit id="generatedId" datatype="html">
<source>From</source>
<target state="translated">Van</target>
<note priority="1" from="description">From placeholder</note>
</trans-unit>
In Ihrer messages.xlf-Datei. Ich konnte es jedoch nicht ohne Übersetzung schaffen. Sie müssen also den Status = übersetzt und einen Wert hinzufügen.
Selbst wenn wir keinen Wert in i18n-Platzhalter angeben, dann ist es auch in Ordnung .
<input type="number" placeholder="From" i18n-placeholder/>
es wird gut funktionieren.
Zur Antwort von @evandongen hinzufügen, wird dies in den Angular -Dokumenten dokumentiert:
https://angular.io/guide/i18n#add-i18n-translation-attributes
I18n-Übersetzungsattribute hinzufügen
Um ein Attribut für die Übersetzung zu markieren, fügen Sie ein Attribut in der Form .__ hinzu. i18n-x, wobei x der Name des zu übersetzenden Attributs ist. Das Das folgende Beispiel zeigt, wie das title-Attribut für .__ markiert wird. Übersetzung durch Hinzufügen des Attributs i18n-title zum Tag img:
<img [src]="logo" i18n-title title="Angular logo" />
Diese Technik funktioniert für jedes Attribut von any -Element.
Sie können mit .__ auch eine Bedeutung, eine Beschreibung und eine ID zuweisen.
i18n-x="<meaning>|<description>@@<id>"
-Syntax.