Per formattare date, numeri e valute non serve una libreria: il browser ha l'oggetto nativo Intl, che conosce le convenzioni di ogni lingua.

new Intl.NumberFormat("it-IT", {
  style: "currency",
  currency: "EUR",
}).format(1234.5); // "1.234,50 €"

new Intl.DateTimeFormat("it-IT", {
  dateStyle: "long",
}).format(new Date()); // "24 giugno 2026"

new Intl.RelativeTimeFormat("it").format(-2, "day"); // "2 giorni fa"

Cambi la stringa della lingua ("en-US", "de-DE") e la formattazione si adatta da sola: separatore delle migliaia, posizione del simbolo di valuta, nome del mese. Nessun if lingua === ....

C'è anche Intl.Collator per ordinare le stringhe rispettando gli accenti, e Intl.PluralRules per i plurali. È uno degli angoli più sottovalutati della piattaforma: risolve gratis problemi che intere librerie affrontano a fatica.