javascript - Angular 平移不区分大小写

标签 javascript angularjs angular-translate

我正在使用angular-translate翻译给定的标识符。

标识符列表:

{
  'UserName': 'Benutzername',
  'EmailAddress': 'E-mail Adresse'
}

在 View 中使用翻译过滤器:

<p>{{ 'UserName' | translate }}</p>

有没有办法告诉翻译过滤器匹配不区分大小写:

<p>{{ 'username' | translate }}</p>
<p>{{ 'UsErNaMe' | translate }}</P>

编辑:

这适用于较大的项目,因此不能选择仅小写所有标识符并将它们放入像 {{ 'UseRnAme' | lowercase | translate }} 这样的附加过滤器中。因为这意味着调整 html 代码中的每一行。在某些地方也使用了翻译指令<p translate>UsErNamE</p> .

最佳答案

简短的回答是否定的。

长的答案是,如果您知道翻译 key 的情况,并且使用的 key 和标识符符合一些要求,则可以解决该问题。

如果您的翻译键全部大写或全部小写且没有下划线或连字符,这将是最简单的。如果是这种情况,您可以使用自己的指令包装翻译服务,这将更改键的大小写。

如果翻译键是 PascalCase,那么您将能够将 CamelCase 或 SNAKE_CASE 或 kabab-case 指令标识符规范化为 PascalCase。您无法将 ALLUPPERCASE 或 alllowercase 规范化为 PascalCase。

关于javascript - Angular 平移不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37942455/

相关文章:

javascript - 使用 ui-router 简单地启动一个功能而不改变状态

javascript - React ...防止无限循环

php - 对变量求和并不断显示和更新它

angularjs - Jasmine 测试来测试 Controller 是否已定义

javascript - Angularjs 两阶段解析(解决依赖关系)

javascript - Angular-translate,翻译数据库中的内容

javascript - 通过网页修改本地文件

javascript - 使用 map reduce 等,你如何在嵌套数组中找到符合特定条件的第一个项目,并在找到后停止?

javascript - AngularJS - 函数永远无法获得控制

AngularJS 翻译动态字符串