Angularjs 如何动态翻译html5占位符
我使用Angle translate将页面内容翻译成不同的语言Angularjs 如何动态翻译html5占位符,angularjs,internationalization,translate,Angularjs,Internationalization,Translate,我使用Angle translate将页面内容翻译成不同的语言 <input type ='text' placeholder = ' {username | translate}'> 这在页面加载时可以正常工作。但在我使用$translate.uses('fr')时无法翻译,具体取决于语言下拉列表的更改 有谁能建议在语言动态变化时翻译占位符的解决方案吗?您是否尝试过: <input type="text" placeholder="{{ 'my.i18n.key' |
<input type ='text' placeholder = ' {username | translate}'>
这在页面加载时可以正常工作。但在我使用$translate.uses('fr')
时无法翻译,具体取决于语言下拉列表的更改
有谁能建议在语言动态变化时翻译占位符的解决方案吗?您是否尝试过:
<input type="text" placeholder="{{ 'my.i18n.key' | translate }}" ng-model="myModel">
+ira的解决方案适合我
<input type ='text' placeholder = "{'USERNAME' | translate}">
两者结合在一起,将Nombre作为输入框内的占位符有一个角度转换指令来帮助实现这一点。 看
以下是该线程的工作plunkr预览:
我使用这种方法:
在en.json中:
{
"ENTER_TEXT": "{{label}} را وارد کنید",
"DISCOUNT_CODE": "کد تخفیف"
}
<input type="text" placeholder="{{'ENTER_TEXT' | translate: {label: 'DISCOUNT_CODE' | translate} }}" >
在模板中:
{
"ENTER_TEXT": "{{label}} را وارد کنید",
"DISCOUNT_CODE": "کد تخفیف"
}
<input type="text" placeholder="{{'ENTER_TEXT' | translate: {label: 'DISCOUNT_CODE' | translate} }}" >
我使用了占位符=“{{'some_text'| translate}”
而不是占位符=“{”一些文本“|翻译}”
对我有用的用户名必须是字符串,所以你有:对我来说没有。。不翻译runtime对我来说,它不起作用,问题是在运行时而不是在开始时进行翻译。这种方法已被弃用,请参阅@armyofda12mnkeys的回答,有一个指令可以翻译在Internet explorer上不起作用的占位符,文档对此非常清楚。继续插值时,将出现错误/崩溃。您应该使用自定义占位符指令来处理它。答案很接近,但从技术上讲,最好使用
ng attr placeholder
作为属性,因为这样Angular可以延迟显示值,直到它实际准备就绪(翻译后)。使用原始的占位符
属性时的jank通常非常快,以至于您看不到它,但是如果您按照发布的答案进行操作,用户可能会看到未翻译的键。这是转换占位符属性的最佳解决方案。