web-dev-qa-db-de.com

Angular2 i18n für Platzhaltertext

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

11
Simon Briggs

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.

25
evandongen

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.

0
Chris Halcrow