# General Translation Changelog: gt-next 6.10.0: Soporte experimental para componentes en caché
URL: https://generaltranslation.com/es/blog/gt-next_v6_10_0.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 
Authors: Ernest McCarter
Published: 2025-12-03

## Resumen

**gt-next 6.10.0** introduce soporte experimental para componentes en caché y, al mismo tiempo, deja en desuso las funciones estáticas de solicitud heredadas de gt-next@6.9.

* **Se añadió soporte experimental para componentes en caché** con `experimentalLocaleResolution`
* **Se dejaron en desuso las funciones estáticas de solicitud heredadas** de `gt-next@6.9`

***

## Componentes en caché

Para habilitar la compatibilidad con componentes en caché, agrega `experimentalLocaleResolution: true` a la configuración de gt-next y sigue [la guía de Next.js sobre Cache Components](https://nextjs.org/docs/app/getting-started/cache-components). Al usar componentes en caché con contenido traducible, debes pasar `locale` como parámetro para garantizar que la invalidación de la caché funcione correctamente entre distintas configuraciones regionales.

Considera esta estructura de la aplicación:

```tsx title="page.tsx"
import { Suspense } from "react";
import { getLocale, getLocales } from "gt-next/server";

export const generateStaticParams = () => {
  return getLocales().map(locale => ({ locale }))
}

async function CachedContent({locale: _locale}: {locale: string}) {
  "use cache"
  return (
    <div>
      <T><h1>Cached Content</h1></T>
    </div>
  )
}
export default async function Home() {
  const locale = await getLocale()
  return (
    <div>
      <CachedContent locale={locale} />
    </div>
  );
}
```


### El requisito del parámetro `locale`

Los componentes en caché usan sus parámetros como claves de caché; cualquier componente en caché que contenga contenido traducible debe aceptar un parámetro `locale` si debe actualizarse cuando cambie la configuración regional del usuario. Por ejemplo, `CachedContent` debe aceptar un parámetro `locale` para crear entradas de caché independientes para cada configuración regional. Sin este parámetro, el componente serviría el mismo contenido en caché independientemente de la configuración regional del usuario.

### Notas de configuración

Cuando `experimentalLocaleResolution` está habilitado:

* El proxy de I18n debe estar habilitado para que la resolución de la configuración regional funcione (consulta [I18n Proxy](/docs/react/nextjs/app-router-middleware))
* Anula cualquier función personalizada [`getLocale`](/docs/react/nextjs/reference/functions/get-locale) (la resolución de la configuración regional lee la ruta de la URL)
* Deshabilita las funciones [`getRegion`](/docs/react/nextjs/reference/functions/get-region) y `getDomain`
* Entra en conflicto con la configuración en desuso `experimentalEnableSSG`; solo una puede estar habilitada a la vez
* Puedes personalizar el nombre del parámetro de la configuración regional con `experimentalLocaleResolutionParam` (el valor predeterminado es `'locale'`)

```js
export default withGTConfig(nextConfig, {
  experimentalLocaleResolution: true,
  // Opcionalmente, personaliza el nombre del parámetro
  experimentalLocaleResolutionParam: 'lang',
})
```

***

## Desuso de las funciones heredadas de solicitud estática

Tras la introducción del soporte para renderizado estático en gt-next@6.9, ahora estamos dejando en desuso las funciones heredadas de solicitud estática (`getStaticLocale`, `getStaticRegion`, `getStaticDomain`) en favor de las funciones de solicitud estándar ([`getLocale`](/docs/react/nextjs/reference/functions/get-locale), [`getRegion`](/docs/react/nextjs/reference/functions/get-region), `getDomain`).

Este cambio se alinea con nuestro objetivo de simplificar la API sin perder funcionalidad. Las funciones estáticas heredadas seguirán funcionando, pero emitirán advertencias de desuso. Recomendamos [migrar a las funciones de solicitud estándar](#migration-guide) para mantener la coherencia.

***

## Guía de migración

### SSG heredado

Reemplaza las funciones heredadas de solicitud estática:

```js title="next.config.js"
// Antes (en desuso)
export default withGTConfig(nextConfig, {
  experimentalEnableSSG: true,
})

// Después  
export default withGTConfig(nextConfig, {
  // Accesible por defecto
})
```

Elimina cualquier función personalizada `getStaticLocale`, `getStaticRegion` o `getStaticDomain` y sustitúyela por funciones personalizadas [`getLocale`](/docs/react/nextjs/reference/functions/get-locale), [`getRegion`](/docs/react/nextjs/reference/functions/get-region) o `getDomain`. Debes agregar una función [`getLocale`](/docs/react/nextjs/reference/functions/get-locale) personalizada y deshabilitar la función [`getRegion`](/docs/react/nextjs/reference/functions/get-region). Para obtener más información, consulta la [guía de SSG](/docs/react/nextjs/app-router-static-site-generation).

```ts title="getLocale.ts"
import { locale } from "next/root-params";

export default async function getLocale() {
  return await locale();
}
```

```ts title="getRegion.ts"
export default async function getRegion() {
  return undefined;
}
```

### Para componentes en caché

Habilita la resolución experimental de la configuración regional y asegúrate de que los componentes en caché reciban parámetros de configuración regional:

```js
const nextConfig = {
  cacheComponents: true,
}

// Configuración
export default withGTConfig(nextConfig, {
  experimentalLocaleResolution: true,
})
```

```tsx
// Implementación del componente
async function MyCachedComponent({locale}: {locale: string}) {
  "use cache"
  // Tu contenido internacionalizado aquí
  return <T>Content for <Var>{locale}</Var></T>
}

// Uso
export default async function Page() {
  const locale = await getLocale()
  return <MyCachedComponent locale={locale} />
}
```

## Sitemap

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