2017-10-04 5 views
19

Changelog importieren sagt:Angular 5 Brechen Änderung - manuell locale

By default Angular now only contains locale data for the language en-US, if you set the value of LOCALE_ID to another locale, you will have to import new locale data for this language because we don’t use the intl API anymore.

Aber ich kann keinen Hinweis, was "Import" Mittel und Wege finden, wie es zu tun, und ich bekomme

xxx.html:30 ERROR Error: Missing locale data for the locale "de-CH"

I konfigurieren locale mit:

import { LOCALE_ID } from '@angular/core'; 

und

providers: [ 
    { provide: LOCALE_ID, useValue: 'de-CH' } 
    ], 
+0

das einzige, was ich denke, es kann Angular (v 5) ist immer noch in frühen RC das Dokument könnte aktualisieren –

Antwort

29

Dies ist wirklich schwer in der aktuellen Version zu finden :(. Hier ist, was ich herausgefunden habe:

Die verschiedenen Locales sind in der Packung @angular/common/locales/. In Ihrem Fall ist dies:

import localeDECH from '@angular/common/locales/de-CH'; 

Jetzt müssen Sie diese Ländereinstellungen in Ihrem Projekt registrieren. Es gibt eine Funktion namens registerLocaleData, die sich befindet in: @angular/common.

So Ihr Code in Ihre app.module.ts sollte wie folgt aussehen:

import {LOCALE_ID} from '@angular/core'; 
import { registerLocaleData } from '@angular/common'; 
import localeDECH from '@angular/common/locales/de-CH'; 

registerLocaleData(lcoaleDECH); 

@NgModule({ 
... 
providers: [ 
    { provide: LOCALE_ID, useValue: 'de-ch' }, 
] 
... 
}) 
.... 
3

Für

{ provide: LOCALE_ID, useValue: 'pt-BR' } 

Verwendung:

import { registerLocaleData } from '@angular/common'; 
import localePt from '@angular/common/locales/pt'; 
registerLocaleData(localePt); 
+0

Arbeitete wie ein Charme, danke! –