# General Translation Overview: Concetti chiave URL: https://generaltranslation.com/it/docs/overview/key-concepts.mdx --- title: Concetti chiave description: "Comprendere i concetti fondamentali di General Translation, tra cui internazionalizzazione, localizzazione, traduzione, locales e contesto" --- General Translation localizza il tuo prodotto in qualsiasi lingua. In questa pagina vengono definiti, in modo semplice e chiaro, i concetti fondamentali alla base di questo processo." ## Internazionalizzazione, localizzazione e traduzione [#i18n-l10n] Questi tre termini sono correlati ma distinti. Distinguerli chiaramente aiuta a seguire più facilmente la documentazione. ### Internazionalizzazione (i18n) L'internazionalizzazione, detta anche **i18n**, è il processo di preparazione di una base di codice affinché possa supportare più locales e gestire dettagli specifici delle locales come date e numeri, plurali, valute e layout (ad esempio, con lingue che si leggono da destra a sinistra). Questo si fa con una libreria di internazionalizzazione come [`gt-react`](/docs/react/react-quickstart) per le app React o [`gt-next`](/docs/react/nextjs-quickstart) per Next.js, che si occupa di questo lavoro per te. L'internazionalizzazione è distinta dalla traduzione di contenuti o componenti. Prepara la base di codice a supportare traduzioni e localizzazione." ### Traduzione Per traduzione si intende la conversione di contenuti da una lingua o da un dialetto a un altro. Ogni lingua è identificata da un [codice locale](#locales). *Esempio: tradurre* `es` *(spagnolo) in* `en-US` *(inglese americano) significa riscrivere il contenuto in spagnolo in inglese americano. Tradurre la stessa sorgente in* `en-GB` *produce invece l'inglese britannico. Anche il dialetto conta: tradurre* `en-GB` *in* `en-US` *riscrive l'inglese britannico in inglese americano.* ```js gt.translate('Tenemos un ascensor', 'en-US'); // "Abbiamo un ascensore" gt.translate('Tenemos un ascensor', 'en-GB'); // "Abbiamo un lift" gt.translate('We have a lift', 'en-US'); // "Abbiamo un ascensore" ``` ### Localizzazione (l10n) La localizzazione, scritta anche **l10n**, è il processo di adattamento di un prodotto a una particolare impostazione regionale. In General Translation, usiamo la localizzazione come termine ombrello per l'intero workflow: internazionalizzazione, traduzione e gli strumenti che le integrano. Abbiamo creato l'intero stack di localizzazione per gestire questo workflow end-to-end. La localizzazione può anche andare oltre la lingua. A seconda dell'impostazione regionale, può significare accettare pagamenti in una Currency diversa, formattare date e numeri in modo diverso e rispettare le normative locali. ## Locales e codici locale [#locales] Una **locale** è una lingua o un dialetto. Un **codice locale** è un modo standardizzato per fare riferimento a una locale. In questa documentazione, "locale" di solito indica il codice locale. *Esempio:* `en-US` *è un codice locale dell'inglese parlato negli Stati Uniti.* I codici locale indicano a General Translation in quale lingua è scritto un file sorgente, in quale lingua tradurre e come formattare valori dipendenti dalle locales, come date, numeri e valute." ### Come funzionano i codici locale General Translation utilizza lo standard **BCP 47** per i tag di lingua. Un codice locale combina fino a tre sottotag separati da `-`: * **Lingua** (obbligatoria): la lingua principale, ad esempio `en` per l'inglese o `zh` per il cinese. * **Scrittura** (facoltativa): il sistema di scrittura, ad esempio `Hant` per i caratteri cinesi tradizionali. * **Regione** (facoltativa): il paese o la regione, ad esempio `US` per gli Stati Uniti. I codici possono essere generici o specifici: * `zh` indica il cinese. * `zh-Hant` indica il cinese scritto con caratteri tradizionali. * `zh-Hant-HK` indica il cinese scritto con caratteri tradizionali, nella variante parlata a Hong Kong. Consulta [Capire i codici locale](/docs/platform/core/guides/locale-codes) per una spiegazione completa e un elenco con ricerca delle [impostazioni regionali supportate](/docs/platform/dashboard/reference/supported-locales). ### Locales sorgente e di destinazione * L'**locale sorgente** è la lingua in cui sono scritti i tuoi contenuti (detta anche locale predefinita). * Un'**locale di destinazione** è una lingua in cui esegui la traduzione. La maggior parte dei progetti ha una locale sorgente e una o più locales di destinazione." ## Contesto di traduzione [#context] Il **contesto** indica all'IA come interpretare e tradurre il tuo prodotto. Un buon contesto è ciò che fa sì che le traduzioni rispecchino il tuo brand, il tuo prodotto e la tua voce, invece di sembrare testo generato automaticamente. Il contesto aiuta General Translation a: * Mantenere invariati i nomi del brand e del prodotto che non devono mai essere tradotti. * Risolvere parole ambigue — per esempio, se "cells" significa stanze, telefoni, batteri o celle di un foglio di calcolo. * Mantenere coerenti terminologia e stile in tutta la tua Organizzazione e nei tuoi Progetti. General Translation applica il contesto tramite i **Gruppi di contesto**, che combinano due elementi: * Il **Glossario** definisce i termini chiave: nomi di prodotti, nomi di funzionalità e termini tecnici che richiedono un trattamento coerente. * Le **Direttive** definiscono stile e tono: pubblico, livello di formalità, convenzioni e formattazione. Consulta [Aggiungere il contesto di traduzione](/docs/platform/dashboard/guides/adding-translation-context) per configurarlo. ## Contenuti statici e dinamici [#content] Capire la differenza tra contenuti statici e dinamici ti aiuta a decidere cosa deve essere tradotto. * **Il contenuto statico** non cambia mai: testo grezzo e stringhe che uno sviluppatore può leggere nel codice sorgente, come "Welcome to my app!". Una buona regola pratica è che qualsiasi testo tu possa leggere direttamente nel sorgente è statico, anche le stringhe visualizzate solo in modo condizionale. Il contenuto statico viene tradotto, a meno che non sia un nome proprio. * **Il contenuto dinamico** può cambiare a runtime in base all'utente, all'ambiente o ai dati: il nome, l'email o il saldo di un utente. Non puoi conoscerne il valore leggendo soltanto il sorgente. Quando il contenuto dinamico corrisponde a un insieme finito di casi noti — un conteggio al singolare o al plurale, oppure un valore come *active* o *archived* — General Translation può creare ramificazioni in base a esso e generare una traduzione corretta per ogni caso, usando componenti logici come [``](/docs/react/reference/components/plural) e [``](/docs/react/reference/components/branch), oppure [``](/docs/react/reference/components/derive) per catalogare ogni possibile valore e tradurre ogni variante. Vedi [Gestire plurali e ramificazioni](/docs/react/guides/handling-plurals-and-branches). ### Variabili e formattazione Nelle librerie di i18n, racchiudi i valori dinamici nel componente [``](/docs/react/reference/components/var) in modo che rimangano invariati in ogni lingua: ```jsx import { T, Var } from 'gt-next'; Hello, {name}! ; ``` Questo offre due vantaggi: generi un'unica traduzione come `¡Hola, {name}!` invece di una traduzione separata per ogni possibile nome, e il nome stesso non viene mai trasformato in una forma tradotta. Per i valori che devono essere formattati ma non tradotti — come prezzi, date e numeri — usa invece i componenti di formattazione ([``](/docs/react/reference/components/currency), [``](/docs/react/reference/components/datetime) e [``](/docs/react/reference/components/num)). ``, ``, `` e `` sono tutti disponibili in `gt-next`, `gt-react` e `gt-react-native`. ### Informazioni private `` serve anche a tenere le informazioni private — nomi, email, indirizzi o un Social Security Number — fuori dalle traduzioni. Il contenuto racchiuso in `` viene visualizzato così com'è e non viene mai inviato all'API di General Translation. *Nota: fanno eccezione un* [``](/docs/react/reference/components/t) *annidato all'interno di un* `` *(il cui contenuto figlio viene tradotto) oppure i dati che invii tu stesso all'API dall'interno di un* `` *(ad esempio, una chiamata `fetch`). Nessuno dei due casi rientra nell'uso previsto di* ``*.*