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