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);