我使用角度平移来翻译给定的标识符。
标识符列表:
{
'UserName': 'Benutzername',
'EmailAddress': 'E-mail Adresse'
}在视图im中,使用翻译过滤器:
<p>{{ 'UserName' | translate }}</p>是否有一种方法可以告诉翻译过滤器匹配不敏感的情况:
<p>{{ 'username' | translate }}</p>
<p>{{ 'UsErNaMe' | translate }}</P>编辑:
这是一个更大的项目,所以它不是一个选项,只是小写所有标识符,并让他们通过一个额外的过滤器,如{{ 'UseRnAme' | lowercase | translate }},因为这意味着调整每一行的html代码。翻译指令也在一些地方使用,<p translate>UsErNamE</p>。
发布于 2016-06-21 10:59:35
简短的回答是否定的。
很长的答案是,如果您知道您的翻译键在哪种情况下,如果所使用的键和标识符符合几个要求,您就可以解决这个问题。
如果您的翻译键都是大写或小写,没有下划线或连字符,这将是最简单的。如果是这样的话,您可以使用自己的指令包装翻译服务,这将改变键的大小写。
如果翻译键是PascalCase,那么您将能够将camelCase、SNAKE_CASE或kabab-case的指令标识符规范化为PascalCase。您将无法将ALLUPPERCASE或大小写规范化为PascalCase。
发布于 2016-06-21 11:05:50
扩展@Martin的答案,如果您确实决定将您的翻译文本放在一种情况下,您可以添加筛选器,以便将该值进一步传递给翻译directive.Like,如下所示:
<p>{{ 'username'| uppercase/lowercase | translate }}</p>
<p>{{ 'UsErNaMe'| uppercase/lowercase | translate }}</P>发布于 2018-08-14 15:56:21
尝试以下操作:(使用翻译过滤器,而不管区分大小写和文本之间的空格)
步骤1:定义一个自定义过滤器来翻译控制器中的文本:
app.register.filter('translated', ['$translate', function ($translate) {
return function (text) {
return $translate.instant(text.replace(/\s/g,'').toUpperCase());
};
}]);第二步:使用自定义筛选器“已翻译”而不是“翻译”,
<p>{{ 'username' | translated}}</p>
<p>{{ 'UsErNaMe' | translated}}</p>
<p>{{ 'User Name' | translated}}</p>
<p>{{ 'User Name' | translated}}</p>第三步:翻译
{
'USERNAME': 'Benutzername',
'EmailAddress': 'E-mail Adresse'
}希望是有用的。
https://stackoverflow.com/questions/37942455
复制相似问题