Как создать файлы перевода, если в kendo-ui по умолчанию используются выражения на английском языке, но в моем приложении используется другой язык? - PullRequest
0 голосов
/ 29 мая 2019

Я пытаюсь интегрировать i18n в мое приложение angular7. Он также использует кендо-интерфейс. Шаблоны Kendo-ui содержат выражения на английском языке, а код моего приложения содержит выражения на венгерском языке. Если я сгенерирую файл messages.xlf с ng xi18n --output-path translate, он будет содержать английские выражения из kendo-ui и венгерские выражения из моего приложения.

Какой может быть правильный способ генерации messages.xlf?

1 Ответ

0 голосов
/ 31 мая 2019

Я был неправ, потому что нет необходимости использовать угловой i18n для переводов Kenod-UI. MessageService был идеален для меня: https://www.telerik.com/kendo-angular-ui/components/globalization/localization/messages/#toc-using-the-message-service

Поэтому я сохранил исходное решение ngx-translate в своем коде приложения и добавил нового провайдера (реализацию MessageService), который разрешает переводы из Kendo-UI.

Это код моей службы сообщений:

export class KendoMessageService extends MessageService {
  constructor(private translateService: TranslateService) {}

  public get(key: string): string {
    const resolvedValue = this.translateService.instant(key);
    return resolvedValue !== key ? resolvedValue : void 0;
  }
}
...