# General Translation React SDKs (gt-react, gt-next): Middleware del Pages Router URL: https://generaltranslation.com/it/docs/react/nextjs/pages-router-middleware.mdx --- title: Middleware del Pages Router description: Come configurare il routing delle impostazioni regionali di General Translation nel Pages Router di 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 il middleware e un segmento radice `[locale]` affinché le richieste del Pages Router vengano indirizzate alla route localizzata corretta. ## Configura il middleware [#middleware] Crea `proxy.ts` nella radice del progetto (`middleware.ts` in Next.js 15 e versioni precedenti): ```ts title="proxy.ts" import { createNextMiddleware } from 'gt-next/middleware'; export default createNextMiddleware(); export const config = { matcher: ['/((?!api|static|.*\\..*|_next).*)'], }; ``` Il middleware rileva l'impostazione regionale dall'URL, dal cookie, dagli header del browser o dall'impostazione regionale predefinita. Quindi reindirizza la richiesta o la riscrive sulla route localizzata corrispondente. ## Aggiungi la route dell'impostazione regionale [#locale-route] Sposta le pagine del Pages Router in `pages/[locale]`. Mantieni `_app.tsx` nella radice di `pages`: Il segmento della route riceve l'impostazione regionale selezionata dal middleware. Consulta [`createNextMiddleware`](/docs/react/nextjs/reference/functions/create-next-middleware) per le opzioni di routing e la configurazione dei percorsi localizzati. ## Collega i cambi di impostazione regionale [#locale-changes] Sovrascrivi `_reload` in [`GTProvider`](/docs/react/reference/components/gt-provider) affinché i cambi di impostazione regionale usino la navigazione del Pages Router e carichino i props della pagina per l'impostazione regionale selezionata: ```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 } ); }} > ); } ``` Per le pagine renderizzate lato server, usa invece `WithGTServerSideProps`. Il callback sostituisce il ricaricamento completo della pagina predefinito del provider con una navigazione tramite 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