角度変換を使用して、ページコンテンツをさまざまな言語に翻訳しています。
_<input type ='text' placeholder = ' {username | translate}'>
_
これはページが読み込まれたときにうまく機能しますが、言語ドロップダウンの変更に応じて$translate.uses('fr')
を使用すると翻訳に失敗します。
言語が動的に変化する間にプレースホルダーを翻訳するソリューションを親切に提案できますか?
試しましたか:
<input type="text" placeholder="{{ 'my.i18n.key' | translate }}" ng-model="myModel">
これを支援するために、angular-translateにはディレクティブがあります。 この問題 を参照してください。
<input placeholder="Regular Placeholder" translate translate-attr-placeholder="text" translate-value-browser="{{app.browser}}">
以下は、そのスレッドから動作するplunkrのプレビューです。 http://plnkr.co/edit/J4Ai71puzOaA0op7kDgo?p=preview
+ iraのソリューションは私にとっては有効です。
<input type ='text' placeholder = "{'USERNAME' | translate}">
ここで、usernameは翻訳のキーです。そのため、翻訳JSON行はスペイン語で次のようになります。
"USERNAME": "Nombre",
2つを組み合わせて、Nombreを入力ボックス内のプレースホルダーとして配置します
私はこの方法を使用します:
en.json:
{
"ENTER_TEXT": "{{label}} را وارد کنید",
"DISCOUNT_CODE": "کد تخفیف"
}
テンプレート:
<input type="text" placeholder="{{'ENTER_TEXT' | translate: {label: 'DISCOUNT_CODE' | translate} }}" >