我正在制作多语言应用程序。我使用的是ngx-translate软件包,一切都进行得很好,因为ngx-translate模块为我提供了2个翻译选项,它为我提供了翻译服务,以翻译components.ts和指令中的文本字符串。翻译以翻译components.html中的文本字符串。
我正在使用角度材料设计,但只能使用角度材料指令获得分页器部分(垫子-分页器),我在互联网上研究了如何翻译这些弦,相同的角度材料为您提供了一种方法实际上,它为您提供了一个示例:
https://stackblitz.com/edit/angular-5mgfxh-6mbpdq
该示例表明您必须使用帮助函数来翻译文本字符串,并在将以这种方式完成翻译的模块中调用该函数:
app.module.ts
{提供:MatPaginatorIntl,useValue:getDutchPaginatorIntl()}
export function getDutchPaginatorIntl() {
const paginatorIntl = new MatPaginatorIntl();
paginatorIntl.itemsPerPageLabel = 'Items per pagina:';
paginatorIntl.nextPageLabel = 'Volgende pagina';
paginatorIntl.previousPageLabel = 'Vorige pagina';
return paginatorIntl;
}
问题出在这里,如何在此帮助功能中注入该模块内部的TranslateService实例?
如何将该模块内部的翻译服务实例拉到该模块的帮助功能中?
作为附加数据,我导入了翻译服务提供的TranslateModule和该模块中所有组件的翻译管道。
我已经尝试过这样做:
app.module.ts
{provide: MatPaginatorIntl, useValue: getTranslatePaginatorIntl, deps: [TranslateService]}
getTranslatePaginatorIntl函数:
export function getTranslatePaginatorIntl (translate: TranslateService) {
const paginatorIntl = new MatPaginatorIntl ();
paginatorIntl.itemsPerPageLabel = 'Items per page:';
paginatorIntl.firstPageLabel = 'First page';
paginatorIntl.previousPageLabel = 'Previous page';
paginatorIntl.nextPageLabel = 'Next page';
paginatorIntl.lastPageLabel = 'Last page';
return paginatorIntl;
}
它不起作用 您能帮我吗?
我在以下示例中运行: https://stackblitz.com/edit/translate-mat-paginator-with-ngx-translate