我在我的项目中使用angular-translate。 我的观点中有多个字符串,我想翻译,比如
<ul>
<li ng-repeat ="title.value as title in vm.states">
</ul>
vm.states是一个数组,其中包含我的项目的所有(抽象除外)状态。 有些州看起来像
'user.details'
(不是抽象的状态)
和
'user.details.edit'
我喜欢翻译这些字符串,我在翻译文件中有对象
user: {
details: {
edit: "Edit User"
},
...
}
而不是点ID喜欢写一些文本,这将是user.details
翻译,
但我不能因为json不接受两个同名的属性。
是否可以使用角度翻译翻译这些文本并保持状态&#39;名字?
答案 0 :(得分:2)
您不需要将angular-translate
引用与州名相关联。事实上,对于可重复使用的翻译,最好不要这样做。
您不能做的是拥有user.details
和user.details.edit
的记录。
原因是user.details
不能同时是字符串和包含属性的对象。
解决此问题的一种方法是使用UPPER_CASE作为包含对象的翻译,使用小写(或camelCase)作为属性名称。
您可以拥有USER.details
和USER.DETAILS.edit
。那些不相互冲突。
或者您可以执行相反操作并拥有user.DETAILS
和user.details.EDIT
。