# General Translation Changelog: gt-next 6.10.0: Prise en charge expérimentale des composants mis en cache
URL: https://generaltranslation.com/fr/blog/gt-next_v6_10_0.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 
Authors: Ernest McCarter
Published: 2025-12-03

## Vue d’ensemble

**gt-next 6.10.0** introduit la prise en charge expérimentale des composants mis en cache, tout en dépréciant les anciennes fonctions de requête statiques de gt-next@6.9.

* **Ajout de la prise en charge expérimentale des composants mis en cache** avec `experimentalLocaleResolution`
* **Dépréciation des anciennes fonctions de requête statiques** de `gt-next@6.9`

***

## Composants mis en cache

Pour activer la prise en charge des composants mis en cache, ajoutez `experimentalLocaleResolution: true` à votre configuration gt-next et suivez [le guide Next.js sur les composants mis en cache](https://nextjs.org/docs/app/getting-started/cache-components). Lorsque vous utilisez des composants mis en cache avec du contenu traduisible, vous devez transmettre `locale` comme paramètre afin de garantir une invalidation correcte du cache entre les différents paramètres régionaux.

Prenons la structure d’application suivante :

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


### Obligation du paramètre `locale`

Les composants mis en cache utilisent leurs paramètres comme clés de cache ; tout composant mis en cache qui contient du contenu traduisible doit accepter un paramètre `locale` pour se mettre à jour lorsque le paramètre régional de l&#39;utilisateur change. Par exemple, `CachedContent` doit accepter un paramètre `locale` afin de créer des entrées de cache distinctes pour chaque paramètre régional. Sans ce paramètre, le composant servirait le même contenu mis en cache, quel que soit le paramètre régional de l&#39;utilisateur.

### Notes de configuration

Lorsque `experimentalLocaleResolution` est activé :

* Le proxy I18n doit être activé pour que la résolution du paramètre régional fonctionne (voir [I18n Proxy](/docs/react/nextjs/app-router-middleware))
* Il remplace toute fonction [`getLocale`](/docs/react/nextjs/reference/functions/get-locale) personnalisée (la résolution du paramètre régional lit le chemin de l’URL)
* Il désactive les fonctions [`getRegion`](/docs/react/nextjs/reference/functions/get-region) et `getDomain`
* Il entre en conflit avec la configuration dépréciée `experimentalEnableSSG` - une seule peut être activée à la fois
* Vous pouvez personnaliser le nom du paramètre régional avec `experimentalLocaleResolutionParam` (valeur par défaut : `'locale'`)

```js
export default withGTConfig(nextConfig, {
  experimentalLocaleResolution: true,
  // Personnaliser le nom du paramètre (optionnel)
  experimentalLocaleResolutionParam: 'lang',
})
```

***

## Dépréciation des anciennes fonctions de requête statique

Depuis l’introduction de la prise en charge du rendu statique dans gt-next@6.9, nous déprécions les anciennes fonctions de requête statique (`getStaticLocale`, `getStaticRegion`, `getStaticDomain`) au profit des fonctions de requête standard ([`getLocale`](/docs/react/nextjs/reference/functions/get-locale), [`getRegion`](/docs/react/nextjs/reference/functions/get-region), `getDomain`).

Cette dépréciation s’inscrit dans notre objectif de simplifier la surface de l’API tout en conservant l’ensemble des fonctionnalités. Les anciennes fonctions statiques continueront de fonctionner, mais elles afficheront des avertissements de dépréciation. Nous recommandons de [migrer vers les fonctions de requête standard](#migration-guide) par souci de cohérence.

***

## Guide de migration

### Ancien SSG

Remplacez les fonctions de requête statiques dépréciées :

```js title="next.config.js"
// Avant (déprécié)
export default withGTConfig(nextConfig, {
  experimentalEnableSSG: true,
})

// Après  
export default withGTConfig(nextConfig, {
  // Accessible par défaut
})
```

Remplacez toutes les fonctions personnalisées `getStaticLocale`, `getStaticRegion` ou `getStaticDomain` par des fonctions personnalisées [`getLocale`](/docs/react/nextjs/reference/functions/get-locale), [`getRegion`](/docs/react/nextjs/reference/functions/get-region) ou `getDomain`. Vous devez ajouter une fonction [`getLocale`](/docs/react/nextjs/reference/functions/get-locale) personnalisée et désactiver la fonction [`getRegion`](/docs/react/nextjs/reference/functions/get-region). Pour plus d’informations, consultez le [guide 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;
}
```

### Pour les composants mis en cache

Activez la résolution expérimentale du paramètre régional et assurez-vous que les composants mis en cache reçoivent les paramètres régionaux :

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

// Configuration
export default withGTConfig(nextConfig, {
  experimentalLocaleResolution: true,
})
```

```tsx
// Implémentation du composant
async function MyCachedComponent({locale}: {locale: string}) {
  "use cache"
  // Votre contenu internationalisé ici
  return <T>Content for <Var>{locale}</Var></T>
}

// Utilisation
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.
