Angular ngx-translate - 检查翻译键是否直接存在于 HTML 模板中

卡米尔

我想使用ngx-translate| translate管道翻译我的 Angular HTML 模板中的一些值目前我的代码如下所示:

<div>
{{equipment.type.name}}
</div>

equipment来自 component.ts 的对象在哪里所以只显示设备类型的名称。

我想要实现的是翻译这些类型的设备,所以我在我的 i18n json 文件中添加了一些翻译:

  "EQUIPMENT-TYPE": {
    "chair": "Chair",
    "table": "Table",
  }

我修改了我的 HTML 模板如下:

<div>
{{'EQUIPMENT-TYPE' + equipment.type.name | translate}}
</div>

它确实有效,但只有在 i18n json 文件中添加了翻译时才有效。

我的问题是:是否可以检查 json 文件中是否存在特定的翻译键,如果不存在,则仅显示设备类型的名称?

下面的代码不起作用,它总是尝试翻译密钥,即使它不存在:

<div>
{{ ('EQUIPMENT-TYPE' + equipment.type.name) ?  ('EQUIPMENT-TYPE' + equipment.type.name | translate) : equipment.type.name }}
</div>
法塔赫·穆罕默德

在 ngx-translate 中,如果翻译不存在,键的字符串将直接返回,所以试试这个:

{{ ('EQUIPMENT-TYPE' + equipment.type.name | translate) !== 'EQUIPMENT-TYPE' + equipment.type.name  ?  ('EQUIPMENT-TYPE' + equipment.type.name | translate) : equipment.type.name }}

如果翻译不存在, translateService 将直接返回字符串,所以

 this.translateService.instant('stringToBeTranslated') is equal to stringToBeTranslated// it does not exist

但是当你将它添加到你的 json 中时

'stringToBeTranslated': "test"

this.translateService.instant('stringToBeTranslated) is equal to test

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

检查键是否存在于JavaScript对象中?

如何检查键是否存在于对象数组中

ngx-translate:如何“翻译” html属性?

页面刷新后,angular4中的ngx-translate切换回英语

@ ngx-translate与Angular 5中的延迟加载模块

Angular 5和ngx-translate带有共享模块的松散翻译(如果刷新)

Angular6-使用ngx-translate通过API调用加载后端的翻译

ngx-translate:翻译html中的字符串

Ngx-translate:如何使用键参考直接在Angular中访问JSON数组值

在Angular 5中哪里可以使用ngx-translate和ngrx进行翻译?

ngx-translate在Angular 7中使用变量作为参数

如何检查对象是否存在于Angular中的对象数组中

ngx-translate在Angular 8中无法在生产模式下工作

如何检查数组数据是否已经存在于angular中

如何在ngx-translate中的另一个翻译中翻译键

Angular 9-ngx-translate,避免在多个组件中重复构造函数代码

检查键是否存在于OrderedDict中

ngx-translate即时翻译问题

检查键及其值是否存在于对象中

如何检查复选框是否已经存在于数组ID的angular中:

Javascript:检查键是否存在于对象数组中

使用 Angular Universal 进行 Ngx-translate

ngx-translate with angular material 2 MdSnackBar

angular 5 和 firebase/angularfire,使用键检查键是否存在于另一个表中

使用 angular ngx-translate 翻译 json 数组

Angular 9 的 ngx-translate 在 IE 中不起作用

使用 ngx-translate 在 Ionic/Angular 应用程序中设置语言时遇到问题

如果输入值已存在于数组中,则检查 Angular HTML 模板

Angular ngx-translate 保存选择的语言