# General Translation React SDKs (gt-react, gt-next, gt-react-native): Migrazione delle librerie i18n URL: https://generaltranslation.com/it/docs/react/guides/migrating-i18n-libraries.mdx --- title: Migrazione delle librerie i18n description: Come migrare una configurazione di internazionalizzazione React esistente a General Translation senza perdere le traduzioni correnti. related: links: - /docs/react/guides/translating-with-dictionaries - /docs/react/guides/translating-jsx - /docs/react/guides/translating-strings - /docs/react/guides/configuring --- Migra una funzionalità o una route completa alla volta, così da poter continuare a testare la selezione dell'impostazione regionale, l'output tradotto e il comportamento di fallback durante l'intera migrazione. ## Prima di iniziare [#before-start] Completa il Quickstart per il tuo framework e mantieni attivo il provider i18n esistente finché non avrai migrato l'ultimo consumer: * [React SPA Quickstart](/docs/react/react-spa-quickstart) * [Next.js Quickstart](/docs/react/nextjs-quickstart) * [TanStack Start Quickstart](/docs/react/tanstack-start-quickstart) * [React Native Quickstart](/docs/react/react-native-quickstart) Annota l'impostazione regionale sorgente corrente, le impostazioni regionali supportate, il comportamento di fallback e il formato dell'URL dell'impostazione regionale. Prima di spostare i contenuti, usa gli stessi valori in `gt.config.json`. ## Scegli una strategia di migrazione [#strategies] ### Sostituisci le chiavi con il contenuto sorgente Scegli questo approccio se vuoi che il testo traducibile si trovi accanto al componente che lo renderizza. Sostituisci le ricerche tramite chiave con [``](/docs/react/reference/components/t) per JSX e [`useGT`](/docs/react/reference/hooks/use-gt) per le stringhe: ```tsx // Prima const { t } = useTranslation(); return

{t('home.welcome')}

; // Dopo return (

Welcome back

); ``` Copia dal vecchio dizionario il valore nell’impostazione regionale sorgente anziché quello tradotto. General Translation usa quel contenuto sorgente e la struttura circostante come contesto di traduzione. ### Mantieni i dizionari esistenti Scegli questo approccio quando le chiavi stabili fanno parte del workflow dei tuoi contenuti o quando non è necessario sostituire ogni lookup. Sposta il dizionario sorgente nella [configurazione del dizionario](/docs/react/guides/translating-with-dictionaries), quindi sostituisci il vecchio hook con [`useTranslations`](/docs/react/reference/hooks/use-translations): ```tsx // Prima import { useTranslation } from 'react-i18next'; const { t } = useTranslation(); return

{t('home.welcome')}

; // Dopo import { useTranslations } from 'gt-react'; const t = useTranslations(); return

{t('home.welcome')}

; ``` In Next.js, colloca `dictionary.json`, `dictionary.ts` o `dictionary.js` nella radice del progetto o in `src/`. [`withGTConfig`](/docs/react/nextjs/config) li rileva automaticamente. ### Usa temporaneamente entrambe le librerie Scegli questo approccio per una migrazione graduale di route o funzionalità distribuite in modo indipendente. Entrambe le librerie possono essere eseguite contemporaneamente e, se entrambe le integrazioni utilizzano provider, questi possono coesistere. Ogni stringa deve avere un unico responsabile della traduzione ed entrambe le librerie devono ricevere la stessa impostazione regionale attiva. Due librerie i18n possono non essere allineate sull'impostazione regionale attiva, sui cookie, sul routing degli URL e sulle regole di fallback. Definisci un'unica fonte di riferimento per l'impostazione regionale, verifica la navigazione tra route migrate e non migrate e rimuovi il vecchio provider non appena non viene più utilizzato. ## Migra una funzionalità [#migrate-feature] 1. Scegli una route o un componente ed elenca tutte le vecchie chiavi di traduzione che utilizza. 2. Copia il testo dell'impostazione regionale sorgente e le eventuali regole di interpolazione o plurale. 3. Sostituisci ogni lookup con [``](/docs/react/reference/components/t), [`useGT`](/docs/react/reference/hooks/use-gt) o [`useTranslations`](/docs/react/reference/hooks/use-translations), in base alla strategia scelta. 4. Mantieni le variabili come tali, anziché inserire i relativi valori correnti nel testo sorgente. 5. Esegui [`npx gt translate`](/docs/cli/reference/commands/translate). 6. Testa l'impostazione regionale sorgente, ogni impostazione regionale di destinazione, il fallback per le traduzioni mancanti e il cambio dell'impostazione regionale. 7. Rimuovi le vecchie chiavi solo quando nel repository non rimangono più riferimenti a esse. Ripeti questa sequenza finché il vecchio provider e la relativa dipendenza non hanno più consumer, quindi rimuovi la configurazione, i file generati e i comandi di build. ## Mantieni le traduzioni esistenti [#preserve-translations] Mantenere un dizionario sorgente conserva le chiavi, ma i file esistenti nelle lingue di destinazione non vengono importati automaticamente in General Translation. Continua a caricare questi dizionari durante la migrazione oppure carica le traduzioni revisionate tramite il [workflow di caricamento di Core](/docs/platform/core/reference/gt-class-methods/translation/upload-translations). Non copiare manualmente le stringhe tradotte in [``](/docs/react/reference/components/t) come contenuto sorgente. Mantieni la lingua sorgente originale nel codice e verifica le traduzioni importate rispetto alla stessa versione sorgente. ## Next steps - /docs/react/guides/translating-with-dictionaries - /docs/react/guides/translating-jsx - /docs/react/guides/translating-strings - /docs/react/guides/configuring