Reputation: 270
How can I set the default locale in Angular 17?
In angular.json I added
"projects": {
"myproject": {
....
"i18n": {
"sourceLocale": "it-IT"
}
},
in main.ts
import localeIt from '@angular/common/locales/it';
import localeItExtra from '@angular/common/locales/extra/it';
import { registerLocaleData } from '@angular/common';
registerLocaleData(localeIt, 'it-IT',localeItExtra);
and in package.json
"@angular/localize": "^17.3.2",
but when in a template I write
test number {{12.234|number}} test currency {{45.657|currency}}
I get
test number 12.234 test currency $45.66
instead of
test number 12,234 test currency €45.66
where am I wrong?
Upvotes: 2
Views: 4885
Reputation: 57696
I followed the below steps.
command
ng add @angular/localize
{ provide: LOCALE_ID, useValue: 'it-IT' }
into the providers arraycode
bootstrapApplication(App, {
providers: [{ provide: LOCALE_ID, useValue: 'it-IT' }],
});
registerLocaleData
code
...
import { Component, LOCALE_ID } from '@angular/core';
import localeIt from '@angular/common/locales/it';
import localeItExtra from '@angular/common/locales/extra/it';
registerLocaleData(localeIt, 'it-IT', localeItExtra);
...
full code
/// <reference types="@angular/localize" />
import { CommonModule, registerLocaleData } from '@angular/common';
import { bootstrapApplication } from '@angular/platform-browser';
import 'zone.js';
import { Component, LOCALE_ID } from '@angular/core';
import localeIt from '@angular/common/locales/it';
import localeItExtra from '@angular/common/locales/extra/it';
registerLocaleData(localeIt, 'it-IT', localeItExtra);
@Component({
selector: 'app-root',
standalone: true,
imports: [CommonModule],
template: `
test number {{12.234|number}} test currency {{45.657|currency}}
`,
})
export class App {
name = 'Angular';
}
bootstrapApplication(App, {
providers: [{ provide: LOCALE_ID, useValue: 'it-IT' }],
});
Upvotes: 5