我在Angular应用程序中使用ngx-translate。
我的HTML模板:
<span [ngClass]="(role === 'ADMIN') ? 'badge badge-danger' : 'badge badge-success'">{{ 'ADMIN.USER.ROLES.' + role | translate }}</span>
我的i18n json文件:
"ADMIN": {
"USER": {
"ROLES": {
"ADMIN": "Administrator",
"FOO": "Auditor FOO",
"DOO": "Auditor DOO",
"ROO": "Auditor ROO",
"unknown": "Unknown"
}
}
}
如果我的角色是BIPBIP
,我想使用'ADMIN.USER.ROLES.unknown'键。
我在寻找HTML模板解决方案(不是Javascript):
this._translateService.get("app.key").subscribe(res=>{
if(...) {
// message does not exist
}
else {
// message exists
}
}))
我真的认为这应该用JavaScript中的函数来完成。假设你有一个名为ADMIN
的映射对象,你可以这样做。
<span [ngClass]="(role === 'ADMIN') ? 'badge badge-danger' : 'badge badge-success'">{{ this.ADMIN.USER.ROLES[role] ? 'ADMIN.USER.ROLES.' + role : 'ADMIN.USER.ROLES.unknown' | translate }}</span>