Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何动态翻译html5占位符_Angularjs_Internationalization_Translate - Fatal编程技术网

Angularjs 如何动态翻译html5占位符

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' |

我使用Angle translate将页面内容翻译成不同的语言

<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通常非常快,以至于您看不到它,但是如果您按照发布的答案进行操作,用户可能会看到未翻译的键。这是转换占位符属性的最佳解决方案。