通过ngx-translate翻译Kendo-UI网格组件时遇到了问题。
这是我的部分代码。我创建了一个网格组件,它只包含我们网格组件的基本展示。
然后我添加了资产/ i18n / en.json我们的翻译。我写了一个从Kendo-UI扩展MessageService的服务:代码
export class CustomMessageService extends MessageService {
constructor(@Injectable() private translateService: TranslateService) {
super();
}
get(key: string): string {
return (this.translateService.instant(key) as any).value;
}
}
在app.module里面我用这个服务而不是他们的服务(与文档相同)
providers: [
{
provide: MessageService,
useClass: CustomMessageService
}],
而且有一个问题。只是在CustomMessageService中获取方法没有看到我的翻译。
Stackblitz:https://stackblitz.com/edit/angular-u7aeks
我不知道为什么我不能正确翻译它。有解决方案吗
TLTR:在使用瞬间之前加载语言环境
translateService.instant是同步的,但您需要确保已翻译您的翻译。
我在这里修复你的例子。 https://stackblitz.com/edit/angular-pcipfd
这是基于这个评论https://github.com/ngx-translate/core/issues/517#issuecomment-299637956