Как правильно установить Angular locale глобально? - PullRequest
0 голосов
/ 04 июля 2019

Я пытаюсь установить французский в качестве глобальной локали в приложении Angular.

Следуя документации, я сделал это в своем app.module.ts:

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

registerLocaleData(localeFr, 'fr-FR')

В пользовательском канале я хотел бы использовать @angular/common formatDate, но для этого требуется параметр locale. Есть ли способ получить локаль, которую я зарегистрировал?

Я также пытался предоставить LOCALE_ID ({ provide: LOCALE_ID, useValue: 'fr-FR' }), но кажется, что я не могу использовать его, не вводя его. Я не уверен, что использование registerLocaleData() уместно в этом случае? (если это так, я хотел бы понять, почему)

Кстати, я не хочу вставлять DatePipe в свой конструктор, поскольку мне просто нужно использовать formatDate, и это усложнит мои модульные тесты.

1 Ответ

0 голосов
/ 11 июля 2019

Попробуйте импортировать localeFrExtra и использовать его с функцией регистра:

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

registerLocaleData(localeFr, 'fr-FR', localeFrExtra);

С Angular Documentation :

Файлы в @angular/ common / locales содержит большинство нужных вам данных о локалях, но некоторые расширенные опции форматирования могут быть доступны только в дополнительном наборе данных, который вы можете импортировать из @ angular / common / locales / extra.Сообщение об ошибке информирует вас, когда это так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...