# General Translation Python SDKs: Rilevamento dell'impostazione regionale della richiesta
URL: https://generaltranslation.com/it/docs/python/guides/detecting-locale.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Come determinare automaticamente l'impostazione regionale di ogni richiesta o tramite una logica personalizzata in General Translation per Python.

Ogni chiamata a [`t`](/docs/python/reference/functions/t) traduce nell&#39;impostazione regionale della richiesta corrente. [`initialize_gt`](/docs/python/reference/functions/initialize-gt) configura automaticamente il rilevamento dell&#39;impostazione regionale; puoi usare quello predefinito o fornire una tua callback.

## Usa il rilevamento predefinito [#default]

Per impostazione predefinita, l’SDK legge l&#39;header `Accept-Language`, ne analizza i pesi di qualità e seleziona la corrispondenza migliore tra le impostazioni regionali configurate, usando come fallback l&#39;impostazione regionale predefinita. Flask lo fa in un hook `before_request`; FastAPI lo fa nel middleware HTTP. Non è necessaria alcuna configurazione aggiuntiva.

Leggi l&#39;impostazione regionale determinata in qualsiasi punto della richiesta con [`get_locale`](/docs/python/reference/functions/get-locale).

```python
from gt_flask import get_locale  # oppure: from gt_fastapi import get_locale

get_locale()
```

## Configurare un rilevamento personalizzato [#custom]

Per rispettare una scelta esplicita — un parametro di query, un cookie o un prefisso del percorso — passa una callback [`get_locale`](/docs/python/reference/functions/get-locale) a [`initialize_gt`](/docs/python/reference/functions/initialize-gt). Una callback personalizzata sostituisce completamente il rilevamento basato su `Accept-Language`; se ne fornisci una, non viene usato altro.

<Tabs items={['Flask', 'FastAPI']}>
  <Tab value="Flask">
    ```python
    def detect_locale(request):
        return request.args.get("lang") or request.cookies.get("locale") or "en"

    initialize_gt(app, default_locale="en", locales=["es", "fr"], get_locale=detect_locale)
    ```
  </Tab>

  <Tab value="FastAPI">
    ```python
    def detect_locale(request):
        return request.query_params.get("lang") or request.cookies.get("locale") or "en"

    initialize_gt(app, default_locale="en", locales=["es", "fr"], get_locale=detect_locale)
    ```
  </Tab>
</Tabs>

Il valore restituito viene memorizzato così com&#39;è per la richiesta. Se la callback restituisce un valore falsy come `None`, viene usata l&#39;impostazione regionale predefinita configurata (non `Accept-Language`), quindi restituisci un fallback esplicito se vuoi un comportamento diverso.

*Nota: A differenza del rilevamento `Accept-Language` integrato, il valore restituito da una callback personalizzata non viene nuovamente validato rispetto ai `locales` configurati. Restituisci un&#39;impostazione regionale supportata oppure gestisci tu stesso i valori non supportati.*

## Next steps

- /docs/python/guides/translating-strings
- /docs/python/guides/configuring
- /docs/python/guides/declaring-variables
- /docs/python/guides/storing-translations

## Sitemap

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