0

我的角度组件中有一个对象数组,如下所示:

export class Result implements OnInit {
    sortBy = [
        { id: 'total', name: 'Sort by Price' },
        { id: 'time', name: 'Fast tour' },
        { id: 'delDate', name: 'Sort by delivery date' },
        { id: 'readyDate', name: 'Sort by tour ready date' }
      ];

....rest of code
}

在我的模板中,我在我的自定义选择组件中使用它,如下所示:

<app-material-select
                formControlName="sortBy"
                defaultValue="total"
                labelName="Sort by"
                [options]="sortBy" >
              </app-material-select>

而且我试图做一个工作来使用 angular-localize 进行翻译,但实际上没有找到,所以有什么想法吗?

4

1 回答 1

1

今晚我遇到了完全相同的问题,我找到了解决办法。由于我对 Angular 家族还很陌生,请考虑我的方法可能很幼稚。

我想你想翻译 sortBy 数组中的项目。你可以告诉 Angular 用 $localize 提取每一个。因为 $localize 似乎返回的是字符串类型,所以不能直接在 sortBy 上使用。所以,在你的情况下,你会得到这样的东西(假设你不想翻译 id):

export class Result implements OnInit {
    sortBy = [
        { id: 'total', name: $localize`Sort by Price` },
        { id: 'time', name: $localize`Fast tour` },
        { id: 'delDate', name: $localize`Sort by delivery date` },
        { id: 'readyDate', name: $localize`Sort by tour ready date` }
      ];

....rest of code
}

提取后,Angular 将为您的 .xlf 文件中的每个项目提供适当的跨单元。

于 2021-04-28T02:48:38.043 回答