# General Translation React SDKs (gt-react, gt-next, gt-react-native): enrutamiento por configuración regional del Pages Router URL: https://generaltranslation.com/es/docs/react/nextjs/pages-router-middleware.mdx --- title: enrutamiento por configuración regional del Pages Router description: Cómo configurar el enrutamiento internacionalizado de Next.js con General Translation en el Pages Router. related: links: - /docs/react/nextjs-pages-router-quickstart - /docs/react/nextjs/pages-router-static-site-generation - /docs/react/nextjs/config --- El Pages Router usa el enrutamiento internacionalizado de Next.js para resolver URL localizadas y pasar la configuración regional activa a `gt-next`. Las rutas permanecen en sus ubicaciones habituales en `pages`. ## Configura el enrutamiento por configuración regional [#configure-routing] Importa la configuración regional de `gt.config.json` en `next.config.ts`. La lista `locales` debe incluir `defaultLocale`: ```json title="gt.config.json" { "defaultLocale": "en", "locales": ["en", "es", "fr"] } ``` ```ts title="next.config.ts" import type { NextConfig } from 'next'; import { withGTConfig } from 'gt-next/config'; import gtConfig from './gt.config.json'; const nextConfig: NextConfig = { i18n: { locales: gtConfig.locales, defaultLocale: gtConfig.defaultLocale, }, }; export default withGTConfig(nextConfig); ``` Next.js sirve la configuración regional predeterminada sin prefijo y añade prefijos a las demás. Por ejemplo, el inglés usa `/about` y el francés, `/fr/about`. Mantén todas las páginas en la raíz de `pages`; no añadas un segmento `[locale]`: `withGTServerSideProps` y `withGTStaticProps` leen la configuración regional del contexto de la función de datos de Next.js. No se necesita middleware de `gt-next`, `proxy.ts` ni `middleware.ts` para el enrutamiento por configuración regional del Pages Router. ## Conectar los cambios de configuración regional [#locale-changes] Pasa un callback `_reload` adaptado a la configuración regional a [`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 Router from 'next/router'; import { GTProvider, type WithGTStaticProps } from 'gt-next'; export default function App({ Component, pageProps, }: AppProps) { const { locale, translations } = pageProps; return ( { void Router.push(Router.pathname, 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. ## Cómo funciona la detección de la configuración regional [#locale-detection] Next.js resuelve la configuración regional de la solicitud antes de ejecutar `getServerSideProps` o `getStaticProps`: * Un prefijo de configuración regional como `/fr/about` establece `context.locale` en `fr`. * La cookie `NEXT_LOCALE` almacena la preferencia del usuario y puede redirigir una solicitud sin prefijo. * Las preferencias de idioma del navegador pueden seleccionar una configuración regional cuando no hay ninguna preferencia almacenada. * Se usa `defaultLocale` cuando no coincide ninguna otra configuración regional configurada. Establece `localeDetection: false` dentro de `nextConfig.i18n` para desactivar las redirecciones automáticas basadas en el navegador y las cookies. Las rutas con prefijo de configuración regional y la navegación del router adaptada a la configuración regional seguirán funcionando. **Modificado en v11.1.3:** La configuración de Pages Router ahora usa el enrutamiento internacionalizado de Next.js en lugar del middleware `gt-next` y un segmento `pages/[locale]`. La detección de solicitudes existente se mantiene como alternativa de compatibilidad cuando Next.js no proporciona `context.locale`. ## Next steps - /docs/react/nextjs-pages-router-quickstart - /docs/react/nextjs/pages-router-static-site-generation - /docs/react/nextjs/config