# python: initialize_gt
URL: https://generaltranslation.com/it/docs/python/api/initialize-gt.mdx
---
title: initialize_gt
description: Riferimento API della funzione di setup initialize_gt
---
## Panoramica
La funzione `initialize_gt` configura General Translation per un'app Flask o FastAPI.
Deve essere chiamata una sola volta prima di utilizzare qualsiasi funzione di traduzione.
Le impostazioni vengono caricate automaticamente da un file `gt.config.json` nella directory di lavoro corrente.
Gli argomenti con nome specificati sovrascrivono i valori del file di configurazione.
```python
from flask import Flask
from gt_flask import initialize_gt
app = Flask(__name__)
initialize_gt(app)
```
```python
from fastapi import FastAPI
from gt_fastapi import initialize_gt
app = FastAPI()
initialize_gt(app)
```
## Riferimento
### Parametri
str',
optional: true,
description: "Callback personalizzata per il rilevamento dell'impostazione regionale. Per impostazione predefinita, analizza l'header Accept-Language.",
},
"load_translations?": {
type: '(locale: str) -> dict[str, str]',
optional: true,
description: "Funzione personalizzata per caricare le traduzioni per un'impostazione regionale.",
},
"eager_loading?": {
type: 'bool',
optional: true,
default: 'True',
description: "Carica tutte le traduzioni all'avvio.",
},
"config_path?": {
type: 'str',
optional: true,
description: 'Percorso di un file gt.config.json. Per impostazione predefinita, usa "gt.config.json" nella directory di lavoro corrente.',
},
"load_config?": {
type: '(path: str | None) -> GTConfig',
optional: true,
description: 'Loader di configurazione personalizzato che sostituisce quello predefinito.',
},
}}
/>
### Restituisce
`I18nManager` — l'istanza configurata del gestore della traduzione.
***
## File di configurazione
Crea un file `gt.config.json` nella directory principale del progetto. Tutti i campi sono facoltativi:
```json title="gt.config.json"
{
"projectId": "your-project-id",
"defaultLocale": "en",
"locales": ["es", "fr"],
"cacheUrl": "https://custom-cache.example.com"
}
```
Le impostazioni di `gt.config.json` vengono usate come valori predefiniti. Gli eventuali argomenti con nome passati a `initialize_gt` hanno la precedenza.
***
## Esempi
### Setup minimo (con file di configurazione)
```python
from flask import Flask
from gt_flask import initialize_gt
app = Flask(__name__)
initialize_gt(app)
```
### Con un loader di traduzione personalizzato
```python
from flask import Flask
from gt_flask import initialize_gt
app = Flask(__name__)
def load_translations(locale: str) -> dict[str, str]:
# Carica le traduzioni dalla tua sorgente
...
initialize_gt(app, load_translations=load_translations)
```
### Con il rilevamento personalizzato dell'impostazione regionale
```python
from flask import Flask
from gt_flask import initialize_gt
app = Flask(__name__)
def get_locale(request):
return request.args.get("lang", "en")
initialize_gt(app, get_locale=get_locale)
```
***
## Note
* `initialize_gt` deve essere chiamata **una sola volta** prima di usare `t` o qualsiasi altra funzione di traduzione.
* In Flask, registra un Hook `before_request` per il rilevamento dell'impostazione regionale.
* In FastAPI, registra un middleware per il rilevamento dell'impostazione regionale e avvolge il ciclo di vita dell'app per il caricamento anticipato.