Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular ngx translate-检查HTML模板中是否直接存在翻译键_Angular_Translation_Ngx Translate - Fatal编程技术网

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

Angular ngx translate-检查HTML模板中是否直接存在翻译键,angular,translation,ngx-translate,Angular,Translation,Ngx Translate,我想使用ngx translate和|translate管道翻译我的Angular HTML模板中的一些值。目前,我的代码如下所示: <div> {{equipment.type.name}} </div> 我修改了我的HTML模板,如下所示: <div> {{'EQUIPMENT-TYPE' + equipment.type.name | translate}} </div> {{'EQUIPMENT-TYPE'+EQUIPMENT.TYP

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

<div>
{{equipment.type.name}}
</div>
我修改了我的HTML模板,如下所示:

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

{{'EQUIPMENT-TYPE'+EQUIPMENT.TYPE.name}
它实际上是有效的,但只有在i18n json文件中添加了翻译时才有效

我的问题是:是否可以检查json文件中是否存在特定的翻译密钥,如果不存在,是否可以只播放设备类型的名称?

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

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

{{('EQUIPMENT-TYPE'+EQUIPMENT.TYPE.name)?('EQUIPMENT-TYPE'+EQUIPMENT.TYPE.name |翻译):EQUIPMENT.TYPE.name}

在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

在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