Angular 5 Нарушение изменения - вручную импортировать язык
Список изменений:
По умолчанию Angular теперь содержит только локальные данные для языка en-US, если вы установите значение LOCALE_ID в другой языковой стандарт, вы необходимо импортировать новые данные локали для этого языка, потому что мы не используем intl API больше.
Но я не могу найти ссылку, что означает "импорт", как это сделать, и я получаю
xxx.html: 30 Ошибка ERROR: Отсутствуют данные локали для locale "de-CH"
Я настраиваю локаль с помощью:
import { LOCALE_ID } from '@angular/core';
и
providers: [
{ provide: LOCALE_ID, useValue: 'de-CH' }
],
Ответы
Ответ 1
Это действительно сложно найти в текущей версии:( Вот что я узнал:
Различные локали находятся в пакете @angular/common/locales/
. В вашем случае это:
import lcoaleDECH from '@angular/common/locales/de-CH';
Теперь вам нужно зарегистрировать эти определения локали в своем проекте. Существует функция, называемая registerLocaleData
, которая находится в: @angular/common
.
Итак, ваш код в вашем app.module.ts
должен выглядеть так:
import {LOCALE_ID} from '@angular/core';
import { registerLocaleData } from '@angular/common';
import lcoaleDECH from '@angular/common/locales/de-CH';
registerLocaleData(lcoaleDECH);
@NgModule({
...
providers: [
{ provide: LOCALE_ID, useValue: 'de-ch' },
]
...
})
....
Ответ 2
Для
{ provide: LOCALE_ID, useValue: 'pt-BR' }
Использование:
import { registerLocaleData } from '@angular/common';
import localePt from '@angular/common/locales/pt';
registerLocaleData(localePt);