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
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.
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.