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