# General Translation React SDKs (gt-react, gt-next): middleware del Pages Router
URL: https://generaltranslation.com/es/docs/react/nextjs/pages-router-middleware.mdx
---
title: middleware del Pages Router
description: Cómo configurar el enrutamiento por configuración regional de General Translation en el 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
---
Configura el middleware y un segmento raíz `[locale]` para que las solicitudes del Pages Router se resuelvan en la ruta localizada correcta.
## Configura el middleware [#middleware]
Crea `proxy.ts` en la raíz del proyecto (`middleware.ts` en Next.js 15 y versiones anteriores):
```ts title="proxy.ts"
import { createNextMiddleware } from 'gt-next/middleware';
export default createNextMiddleware();
export const config = {
matcher: ['/((?!api|static|.*\\..*|_next).*)'],
};
```
El middleware detecta la configuración regional a partir de la URL, la cookie, las cabeceras del navegador o la configuración regional predeterminada. Luego redirige o reescribe la solicitud a la ruta localizada correspondiente.
## Añade la ruta de la configuración regional [#locale-route]
Mueve las páginas de tu Pages Router a `pages/[locale]`. Mantén `_app.tsx` en la raíz de `pages`:
El segmento de la ruta recibe la configuración regional seleccionada por el middleware. Consulta [`createNextMiddleware`](/docs/react/nextjs/reference/functions/create-next-middleware) para ver las opciones de enrutamiento y la configuración de rutas localizadas.
## Conectar los cambios de configuración regional [#locale-changes]
Sobrescribe `_reload` en [`GTProvider`](/docs/react/reference/components/gt-provider) para que los cambios de configuración regional utilicen la navegación de Pages Router y carguen las props de la página de la configuración regional seleccionada:
```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 }
);
}}
>
);
}
```
Para las páginas renderizadas en el servidor, usa `WithGTServerSideProps` en su lugar. El callback sustituye la recarga predeterminada de toda la página del proveedor por una navegación con 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