# General Translation React SDKs (gt-react, gt-next, gt-react-native): Routing delle impostazioni regionali del Pages Router
URL: https://generaltranslation.com/it/docs/react/nextjs/pages-router-middleware.mdx
---
title: Routing delle impostazioni regionali del Pages Router
description: Come configurare il routing internazionalizzato di Next.js con General Translation nel Pages Router.
related:
links:
- /docs/react/nextjs-pages-router-quickstart
- /docs/react/nextjs/pages-router-static-site-generation
- /docs/react/nextjs/config
---
Il Pages Router utilizza il routing internazionalizzato di Next.js per risolvere gli URL localizzati e passare l'impostazione regionale attiva a `gt-next`. Le route restano nelle consuete posizioni in `pages`.
## Configura il routing delle impostazioni regionali [#configure-routing]
Importa le impostazioni regionali da `gt.config.json` in `next.config.ts`. L'array `locales` deve includere `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 serve l'impostazione regionale predefinita senza prefisso e aggiunge un prefisso alle altre. Ad esempio, per l'inglese usa `/about`, mentre per il francese `/fr/about`.
Mantieni ogni pagina nella radice di `pages`; non aggiungere un segmento `[locale]`:
`withGTServerSideProps` e `withGTStaticProps` leggono l'impostazione regionale dal contesto della funzione dati di Next.js. Per il routing delle impostazioni regionali nel Pages Router non sono necessari middleware `gt-next`, `proxy.ts` o `middleware.ts`.
## Collega i cambi di impostazione regionale [#locale-changes]
Passa un callback `_reload` compatibile con l'impostazione regionale a [`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 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,
});
}}
>
);
}
```
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.
## Come funziona il rilevamento dell'impostazione regionale [#locale-detection]
Next.js determina l'impostazione regionale della richiesta prima dell'esecuzione di `getServerSideProps` o `getStaticProps`:
* Un prefisso dell'impostazione regionale come `/fr/about` imposta `context.locale` su `fr`.
* Il cookie `NEXT_LOCALE` memorizza la preferenza dell'utente e può reindirizzare una richiesta priva di prefisso.
* Le preferenze linguistiche del browser possono selezionare un'impostazione regionale quando non è memorizzata alcuna preferenza.
* Viene utilizzato `defaultLocale` quando nessun'altra impostazione regionale configurata corrisponde.
Imposta `localeDetection: false` in `nextConfig.i18n` per disabilitare i reindirizzamenti automatici basati sul browser e sui cookie. Le route con prefisso dell'impostazione regionale e la navigazione del router compatibile con le impostazioni regionali continuano a funzionare.
**Modificato nella versione v11.1.3:** La configurazione di Pages Router ora utilizza il routing internazionalizzato di Next.js anziché il middleware `gt-next` e un segmento `pages/[locale]`. Il rilevamento delle richieste esistente rimane come fallback di compatibilità quando Next.js non fornisce `context.locale`.
## Next steps
- /docs/react/nextjs-pages-router-quickstart
- /docs/react/nextjs/pages-router-static-site-generation
- /docs/react/nextjs/config