# General Translation React SDKs (gt-react, gt-next): Middleware du Pages Router
URL: https://generaltranslation.com/fr/docs/react/nextjs/pages-router-middleware.mdx
---
title: Middleware du Pages Router
description: Comment configurer le routage par paramètre régional avec General Translation pour le Pages Router de Next.js.
related:
links:
- /docs/react/nextjs-pages-router-quickstart
- /docs/react/nextjs/pages-router-static-site-generation
- /docs/react/nextjs/reference/functions/create-next-middleware
---
Configurez le middleware et un segment racine `[locale]` pour que les requêtes du Pages Router aboutissent à la route localisée appropriée.
## Configurer le middleware [#middleware]
Créez `proxy.ts` à la racine de votre projet (`middleware.ts` avec Next.js 15 et les versions antérieures) :
```ts title="proxy.ts"
import { createNextMiddleware } from 'gt-next/middleware';
export default createNextMiddleware();
export const config = {
matcher: ['/((?!api|static|.*\\..*|_next).*)'],
};
```
Le middleware détecte le paramètre régional à partir de l’URL, du cookie, des en-têtes du navigateur ou du paramètre régional par défaut. Il redirige ensuite la requête ou la réécrit vers la route localisée correspondante.
## Ajouter la route du paramètre régional [#locale-route]
Déplacez vos pages Pages Router dans `pages/[locale]`. Conservez `_app.tsx` à la racine de `pages` :
Le segment de route reçoit le paramètre régional sélectionné par le middleware. Consultez [`createNextMiddleware`](/docs/react/nextjs/reference/functions/create-next-middleware) pour découvrir les options de routage et la configuration des chemins localisés.
## Gérer les changements de paramètre régional [#locale-changes]
Redéfinissez `_reload` dans [`GTProvider`](/docs/react/reference/components/gt-provider) afin que les changements de paramètre régional utilisent la navigation de Pages Router et chargent les props de la page pour le paramètre régional sélectionné :
```tsx title="pages/_app.tsx"
import type { AppProps } from 'next/app';
import { useRouter } from 'next/router';
import { GTProvider, type WithGTStaticProps } from 'gt-next';
export default function App({
Component,
pageProps,
}: AppProps) {
const router = useRouter();
const { locale, translations, ...restPageProps } = pageProps;
return (
{
void router.push(
{ pathname: router.pathname, query: router.query },
router.asPath,
{ locale: nextLocale }
);
}}
>
);
}
```
Pour les pages générées côté serveur, utilisez plutôt `WithGTServerSideProps`. Le callback remplace le rechargement complet de la page effectué par défaut par le provider par une navigation via le Pages Router.
## Next steps
- /docs/react/nextjs-pages-router-quickstart
- /docs/react/nextjs/pages-router-static-site-generation
- /docs/react/nextjs/reference/functions/create-next-middleware