web-dev-qa-db-fra.com

Angular2 i18n pour le texte fictif

Existe-t-il un moyen de traduire le texte de substitution pour un champ de texte de saisie en utilisant l'i18n de Angular 2?

<input placeholder="hello world" i18n>

Je ne vois rien dans la documentation à ce sujet: https://angular.io/docs/ts/latest/cookbook/i18n.html

11
Simon Briggs

Il y a eu un exemple, mais je n'arrive plus à le trouver.

Vous devriez pouvoir utiliser i18n-attributename. Par exemple:

<input type="number" placeholder="From" i18n-placeholder="From placeholder"/>

Cela nécessiterait une entrée comme celle-ci:

<trans-unit id="generatedId" datatype="html">
  <source>From</source>
  <target state="translated">Van</target>
  <note priority="1" from="description">From placeholder</note>
</trans-unit>

Dans votre fichier messages.xlf. Je ne pouvais pas le faire fonctionner sans traduction cependant. Vous devrez donc ajouter l’état = traduit et une valeur.

Même si nous ne donnons pas de valeur à i18n-placeholder , alors tout va bien aussi ...

<input type="number" placeholder="From" i18n-placeholder/>

cela fonctionnera bien.

25
evandongen

Pour ajouter à la réponse de @evandongen, voici où cela est documenté dans la documentation Angular:

https://angular.io/guide/i18n#add-i18n-translation-attributes

Ajouter des attributs de traduction i18n


Pour marquer un attribut pour traduction, ajoutez un attribut sous la forme de i18n-x, où x est le nom de l'attribut à traduire. Le L'exemple suivant montre comment marquer l'attribut title pour traduction en ajoutant l'attribut i18n-title sur la balise img:

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

Cette technique fonctionne pour tout attribut d'élément any.

Vous pouvez également attribuer une signification, une description et un identifiant avec le i18n-x="<meaning>|<description>@@<id>" syntaxe.

0
Chris Halcrow