我构建一个Angular应用程序,我想在整个应用程序中添加翻译。为此,我正在使用ngx-translation method。当我使用参数构建翻译时,我遇到了一个问题:我的应用程序显示[对象对象]。我使用了一个使用[message]字段的指令,这个值需要翻译,但我不知道如何在我的消息值中添加翻译。
我的组件如下:
<app-confirmation-dialog
[translate]="'demo.greeting'"
[translateParams]="{name: 'Andreas'}"
[message]="?????????"
[confirmationLabel]="'quit anyway'"
(onConfirmation)="onCancel()"></app-confirmation-dialog>
我在翻译文件中添加了相同的密钥:
{
....
"demo": {
"greeting": "Hello {{name}}!"
}
....
}
您是否有任何想法在我的消息值中添加翻译?
在这种情况下,您将无法轻松使用指令形式的翻译,因为您将message
作为元素的属性传递(在本例中是指令的输入)。如果你继续使用指令形式[translate]
那么它将以你不想要的方式搞乱你自己的指令。
相反,使用管道表单,将参数对象作为参数传递:
<app-confirmation-dialog
[message]="'demo.greeting' | translate: {name: 'Andreas'}"
[confirmationLabel]="'quit anyway'"
(onConfirmation)="onCancel()">
</app-confirmation-dialog>