# gt-react: General Translation React SDK: Memorizzazione locale delle traduzioni URL: https://generaltranslation.com/it/docs/react/guides/local-tx.mdx --- title: Memorizzazione locale delle traduzioni description: Salva le traduzioni nel bundle della tua app invece di usare una CDN --- {/* GENERATO AUTOMATICAMENTE: non modificare direttamente. Modifica invece il template in content/docs-templates/. */} ## Cosa sono le traduzioni locali? Le traduzioni locali vengono archiviate nel bundle della tua app, anziché essere recuperate da una CDN (Content Distribution Network). Quando aggiungi il comando `gt translate` al processo di build, vengono generate traduzioni in formato JSON. Il passaggio finale consiste nell'inserire queste traduzioni nella tua app, dove potranno essere utilizzate. Esistono due modi per farlo: 1. **Nel bundle della tua app** (locale): salva le traduzioni nel bundle della tua app dopo la generazione 2. **In una CDN** (predefinito): recupera le traduzioni da una CDN in fase di runtime Per impostazione predefinita, `gt-react` recupera le traduzioni dalla CDN di General Translation. Quando traduci la tua app usando la nostra API, le traduzioni vengono salvate automaticamente sulla nostra CDN. **Comportamento predefinito:** GT usa l'archiviazione su CDN per impostazione predefinita. Passa all'archiviazione locale solo se ti servono i vantaggi specifici che offre. ## Pro e contro ### Vantaggi delle traduzioni locali * **Tempi di caricamento più rapidi**: Le traduzioni locali vengono servite direttamente dalla tua app e si caricano più velocemente rispetto a quelle servite da una CDN * **Nessuna dipendenza da servizi esterni**: La capacità della tua app di caricare le traduzioni non dipende dalla disponibilità della CDN. Se non vengono trovate traduzioni per un'impostazione regionale, l'app usa automaticamente la lingua predefinita * **Funziona offline**: Le traduzioni sono incluse nel pacchetto della tua app ### Svantaggi delle traduzioni locali * **Aumento delle dimensioni del bundle**: Le traduzioni locali aumentano le dimensioni del bundle della tua app, rendendone potenzialmente più lento il caricamento iniziale * **Gestione dei contenuti**: Per modificare una traduzione, devi ridistribuire la tua app con la nuova traduzione ogni volta che apporti modifiche ## Setup ### Passaggio 1: Crea la funzione `loadTranslations` Aggiungi un file `loadTranslations.[js|ts]` in `./src` con il seguente contenuto: ```ts title="src/loadTranslations.ts" export default async function loadTranslations(locale: string) { const t = await import(`./_gt/${locale}.json`); return t.default; } ``` ### Passaggio 2: Configura GTProvider Passa `loadTranslations` come proprietà al componente [``](/docs/react/api/components/gtprovider): ```tsx title="src/App.tsx" import { GTProvider } from 'gt-react'; import loadTranslations from './loadTranslations'; export default function App() { return ( ); } ``` ### Passaggio 3: Configura la CLI Esegui il comando di configurazione e seleziona l'archiviazione locale: ```bash npx gt configure ``` Quando richiesto: * **Salvare nel CDN?** Seleziona "No" * **Directory delle traduzioni:** la CLI userà automaticamente `./src/_gt` In alternativa, puoi configurare manualmente il file `gt.config.json` per usare la traduzione locale. Per maggiori informazioni, consulta la [documentazione sulla configurazione della CLI](/docs/cli/reference/config). ### Passaggio 4: Genera le traduzioni Ora, quando esegui il comando `translate`, le traduzioni verranno scaricate automaticamente e incluse nella tua codebase: ```bash npx gt translate ``` Le traduzioni verranno archiviate in `src/_gt/` e incluse nel bundle della tua app. ## Integrazione con il processo di build ### Processo di build in React Aggiungi la generazione delle traduzioni allo script di build: ```json { "scripts": { "build": "npx gt translate && <...YOUR_BUILD_COMMAND...>" } } ``` ### Pipeline di CI/CD ```yaml # .github/workflows/deploy.yml - name: Generate Translations run: npx gt translate - name: Build Application run: npm run build ``` ## Problemi comuni ### File di traduzione mancanti Assicurati che le traduzioni vengano generate prima di eseguire la build: ```bash # ❌ Build senza traduzioni <...YOUR_BUILD_COMMAND...> # ✅ Genera prima le traduzioni npx gt translate && <...YOUR_BUILD_COMMAND...> ``` ### Errori nel percorso di importazione Assicurati che la struttura delle directory corrisponda nella funzione `loadTranslations`: ```ts // ❌ Percorso errato const t = await import(`../translations/${locale}.json`); // ✅ Percorso corretto per src/_gt const t = await import(`./_gt/${locale}.json`); ``` ### Bundle di dimensioni elevate Valuta il code splitting per le app che supportano molte lingue: ```ts // Carica le traduzioni solo quando necessario export default async function loadTranslations(locale: string) { // Carica solo se l'impostazione regionale è attiva if (locale === getCurrentLocale()) { const translations = await import(`./_gt/${locale}.json`); return translations.default; } return {}; } ``` L'archiviazione locale è la soluzione migliore per le app con traduzioni stabili che non richiedono aggiornamenti frequenti. ## Passaggi successivi * [Guida alle lingue](/docs/react/guides/languages) - Configura le lingue supportate