50 votes

Angular 5 Breaking change - importer les paramètres régionaux manuellement

Changelog dit:

Par défaut Angulaire ne contient de données locale pour la langue fr-US, si vous définissez la valeur de LOCALE_ID vers une autre zone, vous importer de nouvelles données de paramètres régionaux pour cette langue, parce que nous n'utilisons pas l'intl API plus.

Mais je ne peux trouver aucune référence de ce que "l'importation" désigne, comment le faire et je reçois

xxx.html:30 erreur ERREUR: Manque de données locale pour l' locale "de-CH"

- Je configurer les paramètres régionaux avec :

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

et

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

109voto

michael Points 5466

C'est vraiment difficile à trouver dans la version actuelle :(. Voici ce que j'ai découvert:

Les différents paramètres régionaux se trouvent dans le package @angular/common/locales/ . Dans votre cas c'est:

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

Vous devez maintenant enregistrer ces définitions de paramètres régionaux dans votre projet. Il existe une fonction appelée registerLocaleData située dans: @angular/common .

Donc, votre code dans votre app.module.ts devrait ressembler à ceci:

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

registerLocaleData(localeDECH);

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

21voto

João Orso Points 164

Pour

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

Utilisation:

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

3voto

Angulaire tuyaux peuvent vous aider avec l'internationalisation: la DatePipe, CurrencyPipe, DecimalPipe et PercentPipe utilisation des données des paramètres régionaux de format de données basé sur le LOCALE_ID.

Par défaut, Angulaire ne contient que les données de paramètres régionaux pour fr-fr. Si vous définissez la valeur de LOCALE_ID vers une autre zone, vous devez importer les données de paramètres régionaux pour que les nouveaux paramètres régionaux. La CLI importe les données de paramètres régionaux pour vous lorsque vous utilisez le paramètre --locale avec ng servir et ng construire.

Si vous souhaitez importer les données des paramètres régionaux pour les autres langues, vous pouvez le faire manuellement:

src/app/app.module.ts
content_copy
import { registerLocaleData } from '@angular/common';
import localeFr from '@angular/common/locales/fr';

registerLocaleData(localeFr);

Les fichiers de @angulaire/common/paramètres régionaux contiennent la plupart des données de paramètres régionaux que vous avez besoin, mais certaines options de formatage avancées peuvent n'être disponibles dans le jeu de données que vous pouvez importer depuis @angulaire/common/locales/extra. Un message d'erreur vous informe lorsque c'est le cas.

src/app/app.module.ts
content_copy
import { registerLocaleData } from '@angular/common';
import localeFrCa from '@angular/common/locales/fr-CA';
import localeFrCaExtra from '@angular/common/locales/extra/fr-CA';

registerLocaleData(localeFrCa, localeFrCaExtra);

Voir le tableau sur les anciens et les nouveaux paramètres régionaux de trop enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X