角4; paginator的"每页项目数"翻译

big*_*ter 6 angular-material2 angular

我在Angular 4上使用了材质设计.我在底部有一个带有分页器的表:

在此输入图像描述

有没有办法翻译Angular4中的"每页项目数"?

我有权访问这个标签

this.paginator._intl.itemsPerPageLabel
Run Code Online (Sandbox Code Playgroud)

在我的组件的.ts文件中,我放入ngOnInit()

我也有i18n fo .json文件的翻译,其结构是:

"MESSAGES_LIST_TABLE": {
      "DATE": "Date",
      "FROM": "From",
      "TO": "To",
      "MESSAGE": "Message",
      "AMOUNT": "Amount",
      "BALANCE": "Balance",
      "AVAILABLE_BALANCE": "Avail. bal",
      "ITEMS_PER_PAGE": "Items per page"
}
Run Code Online (Sandbox Code Playgroud)

我能以某种方式翻译它吗?

this.paginator._intl.itemsPerPageLabel = {{'CUSTOMER.MESSAGES_LIST_TABLE.ITEMS_PER_PAGE' | translate}}
Run Code Online (Sandbox Code Playgroud)

Sha*_*uch 5

您制作了一个从MatPaginatorIntl扩展的Injectable

@Injectable()
export class MatPaginatorIntlGerman extends MatPaginatorIntl {
    itemsPerPageLabel = 'Pro Seite: ';
    nextPageLabel = 'Nächste Seite';
    previousPageLabel = 'Vorherige Seite';

    getRangeLabel = (page: number, pageSize: number, length: number) => {
        return ((page * pageSize) + 1) + ' - ' + ((page * pageSize) + pageSize) + ' von ' + length;
    }
}
Run Code Online (Sandbox Code Playgroud)

并在模块中像这样提供

{
    provide: MatPaginatorIntl,
    useClass: forwardRef(() => MatPaginatorIntlGerman)
}
Run Code Online (Sandbox Code Playgroud)


小智 5

/sf/answers/3577928371/

//Atribute @ViewChild(MatPaginator) paginator: MatPaginator;

ngOnInit(){ ... this.paginator._intl.itemsPerPageLabel = 'My translation for items per page.'; ... }

  • 与其发布另一个问题的确切答案(仅使用较少的上下文),不如将此问题标记为另一个问题的副本。 (2认同)