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.