# 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