# General Translation Knowledge Base: Come si formattano numeri, date e valute per ogni impostazione regionale?
URL: https://generaltranslation.com/it/kb/format-numbers-dates-currencies.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Formatta ogni valore al momento del rendering della pagina, usando l'impostazione regionale del lettore e l'API Intl di JavaScript, e tienilo fuori dalla frase tradotta. I componenti `<Num>`, `<Currency>`, `<DateTime>` e `<RelativeTime>` di General Translation fanno entrambe le cose all'interno di un `<T>`, così una sola traduzione funziona con qualsiasi valore.
Category: Formattazione per impostazione regionale
Last updated: 2026-10-21
Authors: Kevin Liu, Kevin Wu
Published: 2026-10-21

Formatta ogni valore al momento del rendering con l&#39;impostazione regionale del lettore e l&#39;API `Intl` di JavaScript, che applica il raggruppamento delle cifre, il separatore decimale, la posizione del simbolo di valuta e l&#39;ordine degli elementi della data propri di ciascuna impostazione regionale: 12.450,75 euro diventano €12,450.75 in inglese e 12.450,75 € in tedesco, mentre il 4 agosto 2026 diventa 8/4/2026 in inglese americano e 4.8.2026 in tedesco. Più complicata è la frase che contiene il valore: viene tradotta in anticipo, ma il valore esiste solo al momento del rendering, quindi ogni traduzione deve riservargli un segnaposto. Inoltre una data dipende dal fuso orario, per cui un server in UTC e un browser a Los Angeles possono renderizzare giorni diversi per lo stesso istante.

## Video

The video is narrated in English, with English captions.

[How do I format numbers, dates and currencies for each locale?](https://caxecubb9c64cezv.public.blob.vercel-storage.com/films/kb-format-numbers-dates-currencies.mp4) (45 s)

General Translation formats values for each locale with `Num`, `Currency` and `DateTime`. After `npx gt init`, `Num` groups digits and `Currency` formats an amount without converting it, `DateTime` formats dates and `RelativeTime` writes phrases such as three days ago, and `npx gt translate` writes the words around them in each language.

## Modi per formattare i valori per ogni impostazione regionale

| Approccio                                                                                                                                                                                                                                                                                                                       | Punti di forza                                                                                                                                                         | Cosa resta a carico tuo                                                                                                            |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| Solo l&#39;API `Intl` di JavaScript                                                                                                                                                                                                                                                                                             | Formatta numeri, valute, date e tempi relativi secondo le convenzioni di ogni impostazione regionale ed è integrata nel linguaggio                                     | Tradurre in ogni lingua ogni frase che contiene un valore e inserirvi il valore formattato                                         |
| I formattatori di una libreria di internazionalizzazione (i18n) ([`react-intl`](/kb/general-translation-vs-react-intl), `next-intl`, [`i18next`](/kb/general-translation-vs-i18next))                                                                                                                                           | Formatta il valore all&#39;interno di ogni messaggio tradotto, ad esempio `{total, number, ::currency/EUR}` in un messaggio ICU                                        | Scrivere ogni messaggio in un file basato su chiavi per ogni lingua e tenere aggiornati questi file                                |
| Una libreria per le date (`date-fns`, `Day.js`)                                                                                                                                                                                                                                                                                 | Formatta e calcola le date con i dati delle impostazioni locali che importi per ogni lingua                                                                            | Numeri e valute, il caricamento di ogni impostazione regionale e la traduzione di ogni frase in cui compare la data                |
| General Translation ([`<Num>`](/docs/react/reference/components/num), [`<Currency>`](/docs/react/reference/components/currency), [`<DateTime>`](/docs/react/reference/components/datetime) e [`<RelativeTime>`](/docs/react/reference/components/relative-time) all&#39;interno di [`<T>`](/docs/react/reference/components/t)) | Formatta ogni valore localmente con `Intl` in base al locale attivo; la frase circostante viene tradotta una sola volta per lingua, con uno spazio riservato al valore | Scegliere il codice valuta di ogni importo e fissare impostazione regionale, fuso orario e `baseDate` nelle pagine server-rendered |

Usa solo `Intl` quando un valore compare da solo, ad esempio in una colonna di prezzi. Usa i formattatori della tua libreria i18n se i traduttori gestiscono i messaggi in file basati su chiavi, e una libreria per le date se la usi già per i calcoli sulle date. Usa i componenti di General Translation quando i valori si trovano all&#39;interno di frasi pubblicate in più lingue e che cambiano a ogni rilascio.

## Formattare i valori all&#39;interno delle frasi tradotte

`gt-next` e `gt-react` di General Translation, insieme ai pacchetti sperimentali `gt-tanstack-start` e `gt-react-native`, forniscono un componente per ciascun tipo di valore. Per inserire un valore formattato in una frase tradotta:

1. Racchiudi la frase in [`<T>`](/docs/react/reference/components/t).

2. Racchiudi ciascun valore nel componente corrispondente al suo tipo: [`<Num>`](/docs/react/reference/components/num) per numeri, percentuali e unità; [`<Currency>`](/docs/react/reference/components/currency) per un importo in una valuta ISO 4217 (senza conversione); [`<DateTime>`](/docs/react/reference/components/datetime) per data e orario; e [`<RelativeTime>`](/docs/react/reference/components/relative-time) per espressioni come &quot;3 giorni fa&quot;.

   ```tsx
   <T>
     <p>
       Your total is <Currency currency="EUR">{total}</Currency>.
     </p>
   </T>;
   ```

3. Esegui [`npx gt translate`](/docs/cli/reference/commands/translate) per tradurre la frase una sola volta per ogni lingua.

Ogni componente esclude il proprio valore dalla traduzione e lo formatta localmente con `Intl`, senza inviarlo all&#39;API di General Translation.

## App server-rendered e Vue

Per evitare errori di idratazione in un&#39;app server-rendered, fissa l&#39;impostazione regionale e l&#39;opzione `timeZone` in [`<DateTime>`](/docs/react/reference/components/datetime), e l&#39;impostazione regionale e una `baseDate` condivisa in [`<RelativeTime>`](/docs/react/reference/components/relative-time). Nelle [app Vue](/docs/vue/guides/formatting-variables), [`<Num>`](/docs/vue/reference/components/num), [`<Currency>`](/docs/vue/reference/components/currency) e [`<DateTime>`](/docs/vue/reference/components/datetime) sono forniti da `gt-vue`. Tutti i passaggi sono descritti nella guida [Formattazione di numeri e date](/docs/react/guides/formatting-variables).

## Related questions

- [Come si gestiscono i plurali in React?](https://generaltranslation.com/it/kb/how-to-handle-plurals-in-react.mdx): Per gestire i plurali in React, fornisci per ogni lingua una frase per ciascuna forma plurale e scegli quella corretta in base alle regole del plurale di quella lingua, dato che l'inglese ha 2 forme, il russo 4 e l'arabo 6. Il componente `<Plural>` di General Translation in gt-react e gt-next accetta le tue forme sorgente, e General Translation genera le forme necessarie per ogni lingua di destinazione.
- [Come si traducono le stringhe al di fuori di JSX?](https://generaltranslation.com/it/kb/translate-strings-outside-jsx.mdx): Passa ogni stringa che non è un figlio JSX, come un segnaposto o una costante a livello di modulo, a una funzione di traduzione nel punto in cui viene renderizzata. L'hook useGT di General Translation restituisce questa funzione, mentre msg con useMessages traduce le costanti definite al di fuori di un componente.
- [Come si traduce il testo condizionale in JSX?](https://generaltranslation.com/it/kb/translate-conditional-jsx.mdx): Mantieni la frase intera e traducine ogni versione, perché un operatore ternario la spezza in frammenti che perdono il loro significato e la loro posizione nell'ordine delle parole di ciascuna lingua. General Translation lo fa con `<Branch>` all'interno di `<T>`, che traduce la frase come un'unica unità.
- [Come si traduce un'app React?](https://generaltranslation.com/it/kb/translate-react-app.mdx): Tradurre un'app React significa internazionalizzarne i componenti affinché vengano renderizzati nella lingua dell'utente, quindi tradurre ogni stringa in ciascuna lingua supportata. gt-react di General Translation traduce il JSX in-place nel componente `<T>`, mentre npx gt translate genera un file per ogni lingua.

## Previous and next questions

- Previous question: [Come si aggiunge l'i18n a un'app Next.js con App Router?](https://generaltranslation.com/it/kb/add-i18n-to-nextjs.mdx)
- Next question: [Come si internazionalizza un'app con Cursor o Claude Code?](https://generaltranslation.com/it/kb/ai-agent-i18n-setup.mdx)

## Sitemap

See the [Knowledge Base sitemap](https://generaltranslation.com/it/kb/sitemap.md) for every article.
