angular - Saknas lokaldat för lokal "de-DE"
Jag använder Angular 9
I en av mina komponenter använder jag valutaformatering enligt nedan:
import { formatCurrency } from '@angular/common';
formatCurrency(23456, 'de-DE', '$')
Här, om jag anger de-DE som kultur, får jag följande fel:
Saknas lokaliseringsdata för lokalen "de-DE"
Men om jag anger kulturen som en-DE fungerar det bra.
Vad är problemet här? Snälla hjälp till med detta.
Svar #1
Som standard innehåller Angular endast lokaliseringsdata för engelska.
Du kommer att behöva importera och registrera rätt språkversion om du vill att det ska fungera.
import { registerLocaleData } from '@angular/common';
import localeDe from '@angular/common/locales/de';
import localeDeExtra from '@angular/common/locales/extra/de';
registerLocaleData(localeDe, 'de-DE', localeDeExtra);
då bör du kunna använda det.
Det skulle vara mest logiskt att registrera lokalen inne i din app.module.ts
Svar #2
om du vill ändra språket på din app behöver du registrera din lokalisering i app.module.ts så här :
//Get LOCALE_ID, the register and the german package
import { NgModule, LOCALE_ID } from '@angular/core';
import { registerLocaleData } from '@angular/common';
import * as de from '@angular/common/locales/de';
...
@NgModule({
declarations: [
AppComponent,
...
],
imports: [
BrowserModule
],
providers: [
{ provide: LOCALE_ID, useValue: 'de-DE' } //Add the id and the language code here
],
bootstrap: [AppComponent]
})
export class AppModule {
constructor() {
registerLocaleData(de.default); //Then register the language
}
}
Hoppas att det hjälper dig
