# General Translation React SDKs (gt-react, gt-next, gt-react-native): getTranslationsSnapshot
URL: https://generaltranslation.com/it/docs/react/reference/functions/get-translations-snapshot.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Carica le traduzioni di una impostazione regionale per `<GTProvider>`. Riferimento API per getTranslationsSnapshot.

La funzione `getTranslationsSnapshot` carica le traduzioni di una impostazione regionale nel formato previsto da [`<GTProvider>`](/docs/react/reference/components/gt-provider) per la prop `translations`. Chiamala dopo l&#39;inizializzazione per generare lo snapshot delle traduzioni che il provider utilizza in modo sincrono.

*Disponibile in `gt-react`, `gt-next`, `gt-tanstack-start` e `gt-react-native`.*

In `gt-next`, usa questa funzione con il Pages Router. L&#39;export React Server Component dell&#39;App Router genera un&#39;eccezione; la configurazione delle traduzioni lato server è gestita da `gt-next`.

## Panoramica [#overview]

Dopo aver [inizializzato](/docs/react/reference/config#initialization) `gt-react`, usa `await` con `getTranslationsSnapshot` per l&#39;impostazione regionale attiva e passa il risultato al provider.

```tsx
const translations = await getTranslationsSnapshot(locale);
```

*Nota: chiama `getTranslationsSnapshot` dopo [`initializeGT`](/docs/react/reference/config#initialize) o [`initializeGTSPA`](/docs/react/reference/config#initialize-spa), che creano la cache delle traduzioni da essa utilizzata.*

## Come funziona [#how-it-works]

`getTranslationsSnapshot` chiede alla funzione [`loadTranslations`](/docs/react/reference/functions/load-translations) configurata di caricare l&#39;impostazione regionale attraverso la cache delle traduzioni, quindi restituisce uno snapshot delle traduzioni serializzabile. Passare questo snapshot delle traduzioni a [`<GTProvider>`](/docs/react/reference/components/gt-provider) consente ai contenuti tradotti di essere renderizzati in modo sincrono, senza un flash di caricamento.

## Parametri [#parameters]

| Parametro           | Descrizione                                                  | Tipo     | Facoltativo | Predefinito |
| ------------------- | ------------------------------------------------------------ | -------- | ----------- | ----------- |
| [`locale`](#locale) | L&#39;impostazione regionale per cui caricare le traduzioni. | `string` | No          | —           |

### `locale` [#locale]

**Tipo** `string` · **Obbligatorio**

L&#39;impostazione regionale di cui caricare le traduzioni, espressa come codice BCP 47.

## Restituisce [#returns]

**Tipo** `Promise<Record<Locale, Record<Hash, Translation>>>`

Una Promise che restituisce lo snapshot delle traduzioni per l&#39;impostazione regionale, nel formato previsto da [`<GTProvider>`](/docs/react/reference/components/gt-provider) per la prop `translations`.

## Errori [#errors]

In development, se [`loadTranslations`](/docs/react/reference/functions/load-translations) viene rifiutata, `getTranslationsSnapshot` registra un avviso e si risolve in `{}`. L&#39;impostazione regionale non riuscita viene omessa, quindi il passaggio dello snapshot delle traduzioni a un provider non inserisce una entry vuota.

In production, la cache delle traduzioni registra l&#39;errore del loader e restituisce un catalogo vuoto, quindi lo snapshot delle traduzioni contiene `{ [locale]: {} }`. Il caricamento non riuscito non viene memorizzato nella cache di origine e un caricamento successivo può riprovare, ma il passaggio di quello snapshot delle traduzioni a un altro provider può inserirvi un catalogo vuoto.

Se il tuo loader intercetta un errore e restituisce `{}`, la cache considera quell&#39;oggetto vuoto come un caricamento riuscito e lo conserva fino alla scadenza di `cacheExpiryTime`.

## Esempi [#examples]

*Gli esempi importano da `gt-react`; importa invece dal package del tuo framework.*

```tsx title="src/routes/root.tsx"
import {
  GTProvider,
  initializeGT,
  getTranslationsSnapshot,
  parseLocale,
} from 'gt-react';
import gtConfig from '../../gt.config.json';

const loadTranslations = (locale: string) =>
  import(`../_gt/${locale}.json`).then((m) => m.default);

initializeGT({ ...gtConfig, loadTranslations });

export async function loadRoot(request: Request) {
  const locale = parseLocale(request);
  return {
    locale,
    translations: await getTranslationsSnapshot(locale), // [!code highlight]
  };
}

export function Root({ locale, translations, children }) {
  return (
    <GTProvider locale={locale} translations={translations}>
      {children}
    </GTProvider>
  );
}
```

## Note [#notes]

* Chiama `getTranslationsSnapshot` dopo l&#39;inizializzazione.
* Passa il risultato alla prop `translations` di [`<GTProvider>`](/docs/react/reference/components/gt-provider).

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
