我正在使用angular-translate将页面内容翻译成不同的语言。
<input type ='text' placeholder = ' {username | translate}'>
这在页面加载时工作正常..但是当我根据语言下拉列表更改使用$translate.uses('fr')
时,它无法翻译。
当语言动态变化时,任何人都可以建议翻译占位符的解决方案吗?
答案 0 :(得分:88)
你有没有尝试过:
<input type="text" placeholder="{{ 'my.i18n.key' | translate }}" ng-model="myModel">
答案 1 :(得分:31)
angular-translate中有一个指令来帮助解决这个问题。 请参阅this issue。
<input placeholder="Regular Placeholder" translate translate-attr-placeholder="text" translate-value-browser="{{app.browser}}">
以下是该线程中正在运行的plunkr的预览: http://plnkr.co/edit/J4Ai71puzOaA0op7kDgo?p=preview
答案 2 :(得分:3)
+ ira的解决方案适合我。
<input type ='text' placeholder = "{'USERNAME' | translate}">
其中username是翻译的关键。因此,翻译JSON行在西班牙语中可能如下所示
"USERNAME": "Nombre",
两者一起将Nombre作为占位符放在输入框
中答案 3 :(得分:1)
我使用此方法:
在 en.json 中:
{
"ENTER_TEXT": "{{label}} را وارد کنید",
"DISCOUNT_CODE": "کد تخفیف"
}
在模板中:
<input type="text" placeholder="{{'ENTER_TEXT' | translate: {label: 'DISCOUNT_CODE' | translate} }}" >
答案 4 :(得分:0)
我使用了占位符=“ {{'some_text'|翻译}}”“ 而不是占位符=“ {{” some_text“ |翻译}}” 对我有用的