# 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