# General Translation React SDKs (gt-react, gt-next, gt-react-native): gtMiddleware
URL: https://generaltranslation.com/it/docs/react/tanstack-start/reference/functions/gt-middleware.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Crea uno stato dell'impostazione regionale relativo alla richiesta per le funzioni server di TanStack Start. Riferimento API per gtMiddleware.

L&#39;export `gtMiddleware` è il middleware globale per le richieste di TanStack Start. Importalo da `gt-tanstack-start` e registralo prima di chiamare gli helper Runtime sul server.

## Panoramica [#overview]

```ts title="src/start.ts"
import { createCsrfMiddleware, createStart } from '@tanstack/react-start';
import { gtMiddleware } from 'gt-tanstack-start';

const csrfMiddleware = createCsrfMiddleware({
  filter: ({ handlerType }) => handlerType === 'serverFn',
});

export const startInstance = createStart(() => ({
  requestMiddleware: [csrfMiddleware, gtMiddleware],
}));
```

## Come funziona [#how-it-works]

* Risolve l&#39;impostazione regionale, la regione e l&#39;impostazione di internazionalizzazione dalla richiesta in ingresso e dalla configurazione di General Translation.
* Quando `localeRouting` è abilitato, dà priorità al primo segmento di percorso supportato rispetto al cookie dell&#39;impostazione regionale e all&#39;header `Accept-Language`. L&#39;impostazione regionale predefinita rimane senza prefisso.
* Rispetta il percorso di base di TanStack Router tramite `TSS_ROUTER_BASEPATH`.
* Memorizza questi valori nello stato locale della richiesta per il rendering lato server, le route server e le funzioni server.
* Mantiene isolato lo stato della richiesta durante richieste server concorrenti.
* Salva in modo persistente l&#39;impostazione regionale risolta nel cookie dell&#39;impostazione regionale di General Translation.

Chiama [`initializeGT`](/docs/react/reference/config#initialize) da `gt-tanstack-start` prima che il middleware gestisca una richiesta. Il middleware solleva un&#39;eccezione se l&#39;inizializzazione non ha creato il relativo condition store.

## Helper del server [#server-helpers]

Il middleware rende disponibile lo stato della richiesta a:

* [`getLocale`](/docs/react/tanstack-start/reference/functions/get-locale)
* [`getEnableI18n`](/docs/react/tanstack-start/reference/functions/get-enable-i18n)
* [`getGT`](/docs/react/tanstack-start/reference/functions/get-gt)
* [`getMessages`](/docs/react/tanstack-start/reference/functions/get-messages)
* [`getTranslations`](/docs/react/tanstack-start/reference/functions/get-translations)

Questi helper sono isomorfi. I loro rami lato server generano un errore se vengono chiamati al di fuori del contesto della richiesta attiva del middleware; i loro rami lato client leggono il condition store del browser inizializzato da [`initializeGT`](/docs/react/reference/config#initialize).

## Cronologia delle versioni [#version-history]

| Versione | Modifiche                                                                                                                                                     |
| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `11.1.5` | Esportato `gtMiddleware` dalla condizione browser della radice, in modo che i file di setup possano usare l&#39;importazione dalla radice nelle build client. |

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
