Как сделать переводы для NgbDatepicker в Angular без подкласса NgbDatepickerI18n?

В настоящее время я читаю об интернационализации компонентов ng-bootstrap. В их документации для средства выбора даты указано:

Начиная с версии 2.0.0 средство выбора даты будет использовать локаль приложения, если она присутствует, для получения переводов названий дней недели и месяцев. Внутренняя служба, выполняющая перевод, называется NgbDatepickerI18n, и при необходимости вы можете предоставить собственную реализацию.

(веб-сайт ng-bootstrap)

Глядя на документацию Angular i18n, в ней говорится:

Если вы хотите импортировать данные локали для других языков, вы можете сделать это вручную:

src/app/app.module.ts

import { registerLocaleData } from '@angular/common';
import localeFr from '@angular/common/locales/fr';

// the second parameter 'fr' is optional
registerLocaleData(localeFr, 'fr');

(веб-сайт Angular)

Но почему у меня не работает? Мне все еще нужно сделать собственную реализацию NgbDatepickerI18n, или я что-то упустил?


Вот пример игровой площадки:

https://stackblitz.com/edit/angular-mezpyn?file=app%2Fdatepicker-popup.module.ts


person andreas    schedule 05.04.2019    source источник


Ответы (1)


У меня была такая же проблема, и поскольку ответа нет, это решение:

После импорта и регистрации данных локали, как вы это делали, в app.module.ts нужно добавить

providers: [
    { provide: LOCALE_ID, useValue: 'fr-FR' },
    ... other providers
],

Документация не проясняет, на мой взгляд.

person alex    schedule 12.11.2019
comment
Я хотел бы проголосовать за это более одного раза. Наконец-то кто-то, кто знает, как изменить язык с помощью данных I18n. - person sirzento; 12.02.2020
comment
Где LOCALE_ID импортируется из @angular/core. Я только сейчас заметил этот ответ, спасибо! - person andreas; 13.02.2020
comment
у вас есть рабочий пример для этого? В stackblitz выше дни все еще на английском языке. - person user2622344; 13.07.2020