我想在翻译中使用变量,但我不知道如何在我的模板中使用它。
在我的HTML模板中:
<md-input-container class="md-block">
<md-autocomplete md-no-cache="vm.noCache"
md-search-text="user.searchUser"
md-items="userItem in vm.querySearch(user.searchUser)"
md-item-text="userItem.display"
md-selected-item-change="vm.selectedItemChange(userItem, user)"
md-min-length="0"
required>
<md-item-template>
<span md-highlight-text="user.searchUser" md-highlight-flags="^i">{{userItem.display}}</span>
</md-item-template>
<md-not-found>
{{ 'user.autocomplete.no_user' | translate:'{ username: user.searchUser }' }}
</md-not-found>
</md-autocomplete>
</md-input-container>
和我的翻译文件(json):
"user": {
"autocomplete": {
"no_user" : "No user has been found ({{username}})",
}
}
如何使用user.searchUser显示该消息?
非常感谢!
答案 0 :(得分:12)
这里是直接在HTML模板中进行的答案:
{{ 'user.autocomplete.no_user' | translate:{ username: user.searchUser } }}
答案 1 :(得分:1)
您可以创建一个包含所有翻译参数的对象,并将其用于翻译,如下所示:
{{ 'user.autocomplete.no_user' | translate:translationParameters }}
请查看this plunker我是如何做到的,有关详细信息,请参阅<{3>}的转换过滤器中的变量替换部分的结尾部分
答案 2 :(得分:1)
这就是你在 Angular 5+ 中可以做到的
翻译文件:
{
"HELLO": "Hello {user}"
}
模板:
{ 'HELLO' | translate: { user: "World" } }
显示:Hello World
答案 3 :(得分:-1)
{{ELEMENT_TRANSLATE|translate}}
{{ 'ELEMENT_TRANSLATE'|translate:'{value: 111 }'}}
{{ 'ELEMENT_TRANSLATE'|translate:{value: user.searchUser} }}
最后一个是最好的。