# 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