# General Translation React SDKs (gt-react, gt-next, gt-react-native): getTranslationsSnapshot
URL: https://generaltranslation.com/es/docs/react/reference/functions/get-translations-snapshot.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Carga las traducciones de una configuración regional para `<GTProvider>`. Referencia de la API de getTranslationsSnapshot.

La función `getTranslationsSnapshot` carga las traducciones de una configuración regional con la estructura que [`<GTProvider>`](/docs/react/reference/components/gt-provider) espera para su prop `translations`. Llámala después de la inicialización para generar la instantánea que el proveedor consume de forma síncrona.

*Disponible en `gt-react`, `gt-next`, `gt-tanstack-start` y `gt-react-native`.*

En `gt-next`, usa esta función con el Pages Router. La exportación de React Server Component del App Router lanza una excepción; su configuración de traducción en el servidor la gestiona `gt-next`.

## Resumen general [#overview]

Después de [inicializar](/docs/react/reference/config#initialization) `gt-react`, usa `await` con `getTranslationsSnapshot` para la configuración regional activa y pasa el resultado al proveedor.

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

*Nota: llama a `getTranslationsSnapshot` después de [`initializeGT`](/docs/react/reference/config#initialize) o [`initializeGTSPA`](/docs/react/reference/config#initialize-spa), que crean la caché de traducciones que utiliza.*

## Cómo funciona [#how-it-works]

`getTranslationsSnapshot` solicita a la función [`loadTranslations`](/docs/react/reference/functions/load-translations) configurada que cargue la configuración regional a través de la caché de traducciones y luego devuelve una instantánea serializable. Pasar esta instantánea a [`<GTProvider>`](/docs/react/reference/components/gt-provider) permite que el contenido traducido se renderice de forma síncrona, sin parpadeos durante la carga.

## Parámetros [#parameters]

| Parámetro           | Descripción                                                       | Tipo     | Opcional | Predeterminado |
| ------------------- | ----------------------------------------------------------------- | -------- | -------- | -------------- |
| [`locale`](#locale) | La configuración regional de la que se cargarán las traducciones. | `string` | No       | —              |

### `locale` [#locale]

**Tipo** `string` · **Obligatorio**

La configuración regional de la que se cargarán las traducciones, indicada como un código BCP 47.

## Devuelve [#returns]

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

Una promesa que se resuelve con la instantánea de traducciones de la configuración regional, con la estructura que [`<GTProvider>`](/docs/react/reference/components/gt-provider) espera en su prop `translations`.

## Errores [#errors]

En desarrollo, si [`loadTranslations`](/docs/react/reference/functions/load-translations) se rechaza, `getTranslationsSnapshot` registra una advertencia y se resuelve como `{}`. La configuración regional fallida se omite, por lo que pasar la instantánea a un proveedor no introduce una entrada vacía.

En producción, la caché de traducciones registra el error del loader y devuelve un catálogo vacío, de modo que la instantánea contiene `{ [locale]: {} }`. La carga fallida no se almacena en la caché de origen y una carga posterior puede reintentarla, pero pasar esa instantánea a otro proveedor sí puede introducir allí un catálogo vacío.

Si tu loader captura un error y devuelve `{}`, la caché considera ese objeto vacío como una carga exitosa y lo conserva hasta que expire `cacheExpiryTime`.

## Ejemplos [#examples]

*Los ejemplos importan desde `gt-react`; importa desde el paquete de tu framework en su lugar.*

```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>
  );
}
```

## Notas [#notes]

* Llama a `getTranslationsSnapshot` después de inicializar.
* Pasa el resultado a la prop `translations` de [`<GTProvider>`](/docs/react/reference/components/gt-provider).

## Sitemap

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