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?
As-tu essayé:
<input type="text" placeholder="{{ 'my.i18n.key' | translate }}" ng-model="myModel">
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
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
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} }}" >