angular - Manglende lokaliseringsdata for lokalitet "de-DE"
Jeg bruker Angular 9
I en av komponentene mine bruker jeg valutaformatering som vist nedenfor:
import { formatCurrency } from '@angular/common';
formatCurrency(23456, 'de-DE', '$')
Her, hvis jeg sender de-DE som kultur, får jeg feilen som nedenfor:
Mangler lokaliseringsdata for lokaliteten "de-DE"
Men, hvis jeg setter kulturen til en-DE, fungerer det fint.
Hva er problemet her? Vennligst hjelp med dette.
Svar #1
Som standard inneholder Angular bare lokaliseringsdataene for engelsk.
Du må importere og registrere riktig lokalitet hvis du vil at det skal fungere.
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);
da burde du kunne bruke det.
Det vil gi mest mening å registrere lokaliteten inne i app.module.ts
Svar #2
hvis du vil endre språket i appen din, må du registrere ditt lokale i app.module.ts slik:
//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
}
}
Håper det vil hjelpe deg
