web-dev-qa-db-fra.com

comment traduire dynamiquement les espaces réservés html5

J'utilise angular-translate pour traduire le contenu de la page dans différentes langues.

<input  type ='text' placeholder = ' {username | translate}'>

Cela fonctionne très bien lorsque la page se charge .. mais il ne parvient pas à se traduire lorsque j'utilise $translate.uses('fr') selon les changements de liste déroulante de langue.

Quelqu'un peut-il gentiment suggérer la solution pour traduire les espaces réservés pendant que la langue change dynamiquement?

36
praveenpds

As-tu essayé:

<input type="text" placeholder="{{ 'my.i18n.key' | translate }}" ng-model="myModel">
91
DrDyne

Il y a une directive dans angular-translate pour vous aider. Voir ce problème .

<input placeholder="Regular Placeholder" translate translate-attr-placeholder="text" translate-value-browser="{{app.browser}}">

Voici un aperçu d'un plunkr de travail à partir de ce fil: http://plnkr.co/edit/J4Ai71puzOaA0op7kDgo?p=preview

31

La solution + ira fonctionne pour moi.

<input type ='text' placeholder = "{'USERNAME' | translate}">

où nom d'utilisateur est la clé de la traduction. De sorte que la ligne de traduction JSON pourrait ressembler à ce qui suit en espagnol

"USERNAME": "Nombre",

Les deux ensemble mettent Nombre en tant qu'espace réservé dans la zone de saisie

3
Mike_Laird

J'utilise cette méthode:

Dans en.json:

{
   "ENTER_TEXT": "{{label}} را وارد کنید",
   "DISCOUNT_CODE": "کد تخفیف"
}

Dans modèle:

<input type="text" placeholder="{{'ENTER_TEXT' | translate: {label: 'DISCOUNT_CODE' | translate} }}" >
1