# General Translation React SDKs (gt-react, gt-next, gt-react-native): getTranslationsSnapshot
URL: https://generaltranslation.com/fr/docs/react/reference/functions/get-translations-snapshot.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Charge les traductions d’un paramètre régional pour `<GTProvider>`. Référence de l’API de getTranslationsSnapshot.

La fonction `getTranslationsSnapshot` charge les traductions d’un paramètre régional dans le format attendu par [`<GTProvider>`](/docs/react/reference/components/gt-provider) pour sa prop `translations`. Appelez-la après l’initialisation afin de produire l’instantané que le provider consomme de manière synchrone.

*Disponible dans `gt-react`, `gt-next`, `gt-tanstack-start` et `gt-react-native`.*

Dans `gt-next`, utilisez cette fonction avec le Pages Router. L’export React Server Component de l’App Router lève une exception ; sa configuration de traduction côté serveur est gérée par `gt-next`.

## Vue d’ensemble [#overview]

Après avoir [initialisé](/docs/react/reference/config#initialization) `gt-react`, attendez le résultat de `getTranslationsSnapshot` pour le paramètre régional actif, puis transmettez-le au provider.

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

*Remarque : appelez `getTranslationsSnapshot` après [`initializeGT`](/docs/react/reference/config#initialize) ou [`initializeGTSPA`](/docs/react/reference/config#initialize-spa), qui créent le cache de traduction qu’elle utilise.*

## Fonctionnement [#how-it-works]

`getTranslationsSnapshot` demande à la fonction [`loadTranslations`](/docs/react/reference/functions/load-translations) configurée de charger le paramètre régional via le cache de traduction, puis renvoie un instantané sérialisable. En transmettant cet instantané à [`<GTProvider>`](/docs/react/reference/components/gt-provider), le contenu traduit peut être affiché de manière synchrone, sans flash de chargement.

## Paramètres [#parameters]

| Paramètre           | Description                                                    | Type     | Facultatif | Par défaut |
| ------------------- | -------------------------------------------------------------- | -------- | ---------- | ---------- |
| [`locale`](#locale) | Le paramètre régional à utiliser pour charger les traductions. | `string` | Non        | —          |

### `locale` [#locale]

**Type** `string` · **Obligatoire**

Le paramètre régional pour lequel charger les traductions, sous la forme d’un code BCP 47.

## Renvoie [#returns]

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

Une promesse qui renvoie un instantané des traductions pour le paramètre régional, au format attendu par [`<GTProvider>`](/docs/react/reference/components/gt-provider) pour sa prop `translations`.

## Erreurs [#errors]

En développement, si [`loadTranslations`](/docs/react/reference/functions/load-translations) est rejetée, `getTranslationsSnapshot` consigne un avertissement et se résout en `{}`. Le paramètre régional en échec est omis : transmettre l&#39;instantané à un provider ne crée donc pas d&#39;entrée vide.

En production, le cache de traduction consigne l&#39;erreur du loader et renvoie un catalogue vide : l&#39;instantané contient donc `{ [locale]: {} }`. Le chargement en échec n&#39;est pas mis en cache dans le cache d&#39;origine et un chargement ultérieur peut réessayer, mais transmettre cet instantané à un autre provider risque d&#39;y créer un catalogue vide.

Si votre loader intercepte une erreur et renvoie `{}`, le cache considère cet objet vide comme un chargement réussi et le conserve jusqu&#39;à l&#39;expiration de `cacheExpiryTime`.

## Exemples [#examples]

*Les exemples importent `gt-react` ; importez plutôt depuis le paquet de votre 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>
  );
}
```

## Notes [#notes]

* Appelez `getTranslationsSnapshot` après l’initialisation.
* Passez le résultat à la prop `translations` de [`<GTProvider>`](/docs/react/reference/components/gt-provider).

## Sitemap

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