使用angular-translate时,我遇到了一个奇怪的问题(没有显示翻译),参数插值作为日期对象。
但首先要做的事情是:here是挑战者。
使用清理策略' escapeParameters'在翻译提供商中,
为什么json的格式如下:
$scope.title = { day: 'tomorrow', today: new Date() };
我的翻译结果总是{},使用合同规定的表格
{{'VARIABLE_REPLACEMENT' | translate : title}}
<translate="VARIABLE_REPLACEMENT" translate-values="{ day: 'tomorrow', today: title.today }">
正如您所看到的,使用angular-translate的其他方法似乎工作得很好。这是某种错误吗?或者我做错了什么?
答案 0 :(得分:1)
看起来像一个已知的错误。他们在https://angular-translate.github.io/docs/#/guide/19_security说
目前清洁模式存在问题,它将加倍 编码UTF-8字符或特殊字符。建议:使用 &#39;逃&#39; [而不是&#39; escapeParameters&#39;]策略,直到这样 解决。
所以,我想如果您想在第一次和第三次测试中使用这些变体,您可能必须坚持使用&#39; escape&#39;战略。或者,将日期字符串格式化为没有导致问题的任何字符。
当我编辑您的plunker以使用&#39; escape&#39;时,您的所有四项测试都运行良好。
答案 1 :(得分:0)
对于每个人都在想,我在angular-translate的github存储库上打开了一个问题:这个问题将在2.11.2(当前版本的下一个版本)中修复。 有关此问题的更多信息here。