# General Translation Knowledge Base: Internazionalizzazione vs. localizzazione (i18n vs. l10n)
URL: https://generaltranslation.com/it/kb/internationalization-vs-localization.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: L'internazionalizzazione (i18n) è il lavoro di sviluppo e progettazione che permette a un unico prodotto di supportare molte impostazioni regionali, ad esempio formattando le date con Intl e gestendo il testo right-to-left. La localizzazione (l10n) adatta il prodotto a una specifica impostazione regionale e comprende la traduzione, ma anche valute, formati di data, unità di misura, tono e aspetti legali.
Category: Internazionalizzazione
Last updated: 2026-10-20
Authors: Kevin Wu, Jackie Chen
Published: 2026-10-20

L&#39;internazionalizzazione rende un prodotto adattabile; la localizzazione sfrutta questa predisposizione per un mercato specifico. Sviluppatori, designer, traduttori e team di prodotto si occupano spesso di entrambe nell&#39;ambito dello stesso rilascio. La traduzione è solo una componente della localizzazione, accanto a formati, layout e convenzioni locali.

## Che cos&#39;è l&#39;internazionalizzazione (i18n) e che cos&#39;è la localizzazione (l10n)?

* L&#39;**internazionalizzazione (i18n)** prepara la tua base di codice a supportare più impostazioni regionali (gestione di date, plurali, valute e layout). Il W3C la definisce come una progettazione e uno sviluppo che &quot;consentono una facile localizzazione&quot; per un pubblico che varia per cultura, regione o lingua. In pratica significa estrarre il testo visibile all&#39;utente dalle stringhe hardcoded, formattare i valori in base all&#39;impostazione regionale, supportare il testo right-to-left e usare Unicode in modo coerente. (Consulta [Localization vs. Internationalization](https://www.w3.org/International/questions/qa-i18n) del W3C.)
* La **traduzione** converte i contenuti da una lingua a un&#39;altra.
* La **localizzazione (l10n)** è il processo, più ampio, di adattamento del tuo prodotto a un&#39;altra impostazione regionale. Oltre alla traduzione, il W3C elenca i formati di numeri, date e orari, le valute, l&#39;ordinamento, i simboli, le icone e i colori, i formati di indirizzi e numeri di telefono, i requisiti legali e i riferimenti che in una determinata cultura potrebbero essere fraintesi.

Un&#39;impostazione regionale è una lingua o un dialetto insieme alle relative convenzioni, indicata con un codice come `en-US` o `de-DE`.

## Da dove vengono i18n, l10n e g11n

Sono numeronimi: la prima lettera, il numero di lettere intermedie e l&#39;ultima lettera. &quot;Internationalization&quot; ha 18 lettere tra la i e la n, quindi diventa i18n; &quot;localization&quot; ne ha 10 tra la l e la n, quindi diventa l10n. Allo stesso modo, &quot;globalization&quot; diventa g11n.

Dei tre, &quot;globalizzazione&quot; è il termine usato in modo meno uniforme. Il W3C osserva che alcuni lo usano come sinonimo di internazionalizzazione, mentre il [glossario sulla globalizzazione di Microsoft](https://learn.microsoft.com/en-us/globalization/reference/glossary) usa &quot;globalizzazione&quot; per indicare il lavoro necessario a far funzionare un&#39;applicazione in qualsiasi impostazione regionale e &quot;internazionalizzazione&quot; per l&#39;intero processo di distribuzione del software sui mercati di tutto il mondo. Quando trovate g11n, verificate in quale accezione lo usa l&#39;autore.

## La localizzazione è la stessa cosa della traduzione?

La traduzione è solo una delle fasi della localizzazione. La [guida alla localizzazione di Microsoft](https://learn.microsoft.com/en-us/globalization/localization/localization) cita come esempio una frase sul prezzo di un biglietto del treno in una determinata data: tradurla in tedesco non basta, perché il prezzo va indicato in euro e la data va scritta nel formato giorno-mese-anno. La stessa guida fa notare che localizzare dall&#39;inglese americano all&#39;inglese britannico può non richiedere alcuna traduzione, ma solo interventi su ortografia, lessico e formati.

## Un esempio per ciascuno

**L&#39;internazionalizzazione è una modifica al codice.** Ecco il riepilogo di un ordine, prima e dopo:

```js title="order-summary.mjs"
const date = new Date(Date.UTC(2026, 6, 30));
const total = 1234.5;

// Prima: testo in inglese, formato data statunitense e simbolo del dollaro sono scritti direttamente nel codice
console.log(
  `Order placed on ${date.getUTCMonth() + 1}/${date.getUTCDate()}/${date.getUTCFullYear()}. Total: $${total.toFixed(2)}`
);

// Dopo: il testo proviene da un messaggio per ogni impostazione regionale e Intl formatta i valori
const messages = {
  'en-US': 'Order placed on {date}. Total: {total}',
  'de-DE': 'Bestellt am {date}. Gesamt: {total}',
};

function orderSummary(locale, currency) {
  const values = {
    date: new Intl.DateTimeFormat(locale, { timeZone: 'UTC' }).format(date),
    total: new Intl.NumberFormat(locale, { style: 'currency', currency }).format(total),
  };
  return messages[locale].replace(/\{(\w+)\}/g, (_, key) => values[key]);
}

console.log(orderSummary('en-US', 'USD'));
console.log(orderSummary('de-DE', 'EUR'));
```

Eseguendolo con Node.js 24:

```text title="Output"
Order placed on 7/30/2026. Total: $1234.50
Order placed on 7/30/2026. Total: $1,234.50
Bestellt am 30.7.2026. Gesamt: 1.234,50 €
```

Il codice di formattazione funziona con entrambe le impostazioni regionali; il messaggio in tedesco viene fornito a parte. `Intl.NumberFormat` formatta un importo nella valuta scelta, ma non converte i dollari in euro. Qui l&#39;importo è identico solo a scopo illustrativo: non si tratta di un calcolo basato sul tasso di cambio.

**La localizzazione è la pagina adattata.** Localizzare per la Germania la pagina di un prodotto statunitense non significa cambiare solo le parole:

| Elemento            | Pagina en-US                      | Pagina de-DE                                       |
| ------------------- | --------------------------------- | -------------------------------------------------- |
| Prezzo              | $49.00                            | 49,00 €                                            |
| Data                | July 30, 2026                     | 30. Juli 2026                                      |
| Orari di assistenza | 3:00 PM                           | 15:00                                              |
| Peso                | 2.2 lb                            | 1 kg                                               |
| Tono                | &quot;Start your free trial&quot; | &quot;Sie&quot; formale al posto di &quot;du&quot; |

Una volta internazionalizzato il codice, i formati delle prime tre righe vengono gestiti da `Intl`. L&#39;unità di misura, il tono e l&#39;eventuale modifica del prezzo sono invece decisioni di localizzazione che qualcuno deve prendere per ciascun mercato.

## Chi si occupa di i18n e l10n?

* **Gli sviluppatori** si occupano dell&#39;internazionalizzazione: racchiudono o estraggono le stringhe, aggiungono la formattazione locale-aware e la gestione dei plurali, configurano il routing per impostazione regionale e adattano i layout ai testi più lunghi e ai sistemi di scrittura right-to-left.
* **Traduttori, revisori e responsabili della localizzazione** si occupano della localizzazione: traducono, garantiscono la coerenza terminologica, adattano il tono e gli esempi e verificano ogni lingua direttamente nel prodotto in funzione.
* **I team di prodotto e legale** stabiliscono cosa cambia da un mercato all&#39;altro, ad esempio valute, metodi di pagamento e avvisi obbligatori.

## In sintesi

|             | Internazionalizzazione (i18n)                                                                        | Localizzazione (l10n)                                                     |
| ----------- | ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| Cosa cambia | Il codice e il design                                                                                | I contenuti e le convenzioni di una singola impostazione regionale        |
| Quando      | Da impostare prima di aggiungere la prima lingua; da mantenere man mano che le funzionalità evolvono | Per ogni impostazione regionale, e di nuovo a ogni modifica dei contenuti |
| Chi         | Sviluppatori                                                                                         | Traduttori, revisori, responsabili della localizzazione                   |
| Risultato   | Un&#39;unica base di codice che supporta tutte le impostazioni locali di destinazione                | Un prodotto adattato e revisionato per una singola impostazione regionale |
| Esempio     | Sostituire `$${total}` con `Intl.NumberFormat`                                                       | Tradurre il checkout in tedesco con registro formale                      |

## Errori comuni

* **Confondere la localizzazione con la traduzione.** Una pagina tradotta con date in formato statunitense, prezzi in dollari e modi di dire che non hanno equivalenti nella lingua di destinazione continua a sembrare straniera. Secondo il W3C, la localizzazione è &quot;spesso una questione sostanzialmente più complessa&quot; della traduzione dell&#39;interfaccia e della documentazione.
* **Introdurre l&#39;i18n troppo tardi.** Stringhe hardcoded, frasi concatenate e pulsanti a larghezza fissa rendono più difficile localizzare una base di codice di grandi dimensioni. Le etichette tradotte possono sforare il layout anche quando il significato è corretto. La [pseudo-localizzazione](/kb/pseudo-localization) fa emergere molti di questi problemi prima che inizi la traduzione.
* **Implementare a mano la logica del plurale.** `count === 1 ? 'item' : 'items'` funziona per l&#39;inglese, che ha 2 forme plurali, ma l&#39;arabo ne ha 6. (Vedi [Come gestire i plurali in React?](/kb/how-to-handle-plurals-in-react))
* **Tradurre senza contesto.** Un traduttore o un modello che vede &quot;Save&quot; isolato non può capire se significa salvare su disco o risparmiare denaro.

Prima del lancio, consulta la [checklist per il lancio di un&#39;app multilingue](/kb/multilingual-app-launch-checklist) per sapere cosa testare in ciascuna impostazione regionale.

## Come General Translation suddivide i18n e l10n

Per l&#39;internazionalizzazione, le librerie open source di General Translation, come `gt-next`, `gt-react`, `gt-vue` e `gt-node`, si occupano della parte di codice. Il componente [`<T>`](/docs/react/reference/components/t) racchiude il JSX direttamente dove viene scritto, quindi non serve alcun file di chiavi in cui estrarre le stringhe, mentre [`<DateTime>`](/docs/react/reference/components/datetime), [`<Currency>`](/docs/react/reference/components/currency) e [`<Plural>`](/docs/react/reference/components/plural) formattano i valori in base all&#39;impostazione regionale:

```jsx title="OrderSummary.jsx"
import { T, DateTime, Currency } from 'gt-next';

export function OrderSummary({ date, total, currency }) {
  return (
    <T>
      Order placed on <DateTime>{date}</DateTime>. Total:{' '}
      <Currency currency={currency}>{total}</Currency>
    </T>
  );
}
```

Per la localizzazione, aggiungi un&#39;impostazione regionale in `gt.config.json` ed esegui [`npx gt translate`](/docs/cli/reference/commands/translate) per generarne le traduzioni. La piattaforma di traduzione usa come contesto il componente, le variabili e le note degli sviluppatori, i [Gruppi di contesto](/docs/platform/dashboard/guides/defining-context-for-translations) permettono di condividere terminologia e regole di stile tra più progetti e il tuo team [revisiona le traduzioni](/docs/platform/dashboard/guides/reviewing-translations) nella Dashboard. Per verificare un sito pubblico, il [Report Card](https://generaltranslation.com/report-card) gratuito valuta la qualità della sua localizzazione, inclusi i tag `hreflang`, le dichiarazioni della lingua, il routing delle impostazioni regionali, i metadati tradotti e la direzione del testo.

## Punti chiave

* L&#39;internazionalizzazione (i18n) predispone un supporto condiviso per più impostazioni regionali. Questo supporto va mantenuto man mano che le funzionalità evolvono; l&#39;internazionalizzazione di per sé non produce traduzioni.
* La localizzazione (l10n) adatta il prodotto a ciascuna impostazione regionale: non solo traduzione, ma anche valuta, formati di data e numeri, unità di misura, tono e aspetti legali e culturali.
* I numeri in i18n, l10n e g11n indicano quante lettere ci sono tra la prima e l&#39;ultima; il significato di g11n varia a seconda della fonte.

## Related questions

- [Checklist per il test di localizzazione delle app multilingue](https://generaltranslation.com/it/kb/multilingual-app-launch-checklist.mdx): Verifica nove aspetti in ogni impostazione regionale supportata su una build di produzione: percorsi completi, inclusi gli stati di errore e le email, cambio di lingua, plurali, valuta e fusi orari, espansione del testo, layout right-to-left, accessibilità, distribuzione delle traduzioni e URL per lingua scansionabili. Assegna a ogni verifica un criterio di superamento esplicito.
- [Conviene creare un sistema i18n in autonomia o usare General Translation?](https://generaltranslation.com/it/kb/general-translation-vs-in-house-i18n.mdx): Un sistema i18n fatto in casa (un dizionario per lingua e un piccolo helper t()) va bene per una o due lingue e pochi testi. Man mano che l'app cresce, ti ritrovi a ricostruire regole del plurale, fallback e sincronizzazione dei file, e le traduzioni vanno comunque prodotte. Le librerie open source di General Translation si occupano del rendering, mentre General Translation genera e aggiorna le traduzioni a partire dal tuo codice.
- [Che cos'è la pseudo-localizzazione?](https://generaltranslation.com/it/kb/pseudo-localization.mdx): La pseudo-localizzazione è un test che sostituisce il testo di origine con una versione alterata, con caratteri accentati, allungata di circa il 40% e racchiusa tra parentesi quadre, così che stringhe hardcoded, troncamenti, font che non vengono visualizzati correttamente e frasi concatenate emergano prima ancora che esista una traduzione. Android include a questo scopo le pseudo-impostazioni regionali en-XA e ar-XB.
- [Che cos'è un sistema di gestione delle traduzioni (TMS)?](https://generaltranslation.com/it/kb/what-is-a-translation-management-system.mdx): Un sistema di gestione delle traduzioni (TMS) è un software che archivia il contenuto di origine e le relative traduzioni e gestisce il flusso di lavoro di traduzione: memoria di traduzione, glossari, revisione, traduzione automatica e integrazioni. La sua memoria di traduzione riutilizza le traduzioni precedenti tramite corrispondenze esatte o parziali (fuzzy match). Crowdin, Lokalise, Phrase, Smartling e Transifex sono alcuni degli esempi più diffusi.
- [General Translation vs. i18next, react-intl e next-intl: quale libreria i18n scegliere?](https://generaltranslation.com/it/kb/general-translation-vs-i18n-libraries.mdx): Le librerie open source come i18next, react-intl e next-intl non traducono nulla. Si limitano a visualizzare le traduzioni che fornisci in un file di catalogo per ciascuna lingua, scritte da te, dai tuoi traduttori o da un servizio esterno. Anche le librerie di General Translation sono open source e svolgono lo stesso compito, ma General Translation si occupa anche della traduzione, usando il tuo codice come contesto.

## Previous and next questions

- Previous question: [Come tradurre Markdown e MDX senza compromettere la sintassi?](https://generaltranslation.com/it/kb/translate-markdown-files.mdx)
- Next question: [La traduzione con l'IA è abbastanza accurata per un'app in produzione?](https://generaltranslation.com/it/kb/is-ai-translation-accurate.mdx)

## Sitemap

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