如何在指令字段中使用翻译?

问题描述 投票:1回答:1

我构建一个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}}!"
  }
  ....
}

您是否有任何想法在我的消息值中添加翻译?

angular translation ngx-translate
1个回答
1
投票

在这种情况下,您将无法轻松使用指令形式的翻译,因为您将message作为元素的属性传递(在本例中是指令的输入)。如果你继续使用指令形式[translate]那么它将以你不想要的方式搞乱你自己的指令。

相反,使用管道表单,将参数对象作为参数传递:

<app-confirmation-dialog
  [message]="'demo.greeting' | translate: {name: 'Andreas'}"
  [confirmationLabel]="'quit anyway'"
  (onConfirmation)="onCancel()">
</app-confirmation-dialog>
© www.soinside.com 2019 - 2024. All rights reserved.