# python: initialize_gt
URL: https://generaltranslation.com/es/docs/python/api/initialize-gt.mdx
---
title: initialize_gt
description: Referencia de la API para la función de inicialización initialize_gt
---
## Descripción general
La función `initialize_gt` configura General Translation para una aplicación de Flask o FastAPI.
Debe llamarse una sola vez antes de usar cualquier función de traducción.
La configuración se carga automáticamente desde un archivo `gt.config.json` ubicado en el directorio de trabajo actual.
Cualquier argumento con palabra clave sobrescribe los valores del archivo de configuración.
```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)
```
## Referencia
### Parámetros
str',
optional: true,
description: 'Callback personalizado para detectar la configuración regional. De forma predeterminada, analiza el encabezado Accept-Language.',
},
"load_translations?": {
type: '(locale: str) -> dict[str, str]',
optional: true,
description: 'Función personalizada para cargar traducciones de una configuración regional.',
},
"eager_loading?": {
type: 'bool',
optional: true,
default: 'True',
description: 'Carga todas las traducciones al iniciar.',
},
"config_path?": {
type: 'str',
optional: true,
description: 'Ruta a un archivo gt.config.json. De forma predeterminada, usa "gt.config.json" en el CWD.',
},
"load_config?": {
type: '(path: str | None) -> GTConfig',
optional: true,
description: 'Cargador de configuración personalizado que sustituye al predeterminado.',
},
}}
/>
### Devuelve
`I18nManager` — la instancia configurada del gestor de traducción.
***
## Archivo de configuración
Crea un `gt.config.json` en la raíz del proyecto. Todos los campos son opcionales:
```json title="gt.config.json"
{
"projectId": "your-project-id",
"defaultLocale": "en",
"locales": ["es", "fr"],
"cacheUrl": "https://custom-cache.example.com"
}
```
La configuración de `gt.config.json` se usa de forma predeterminada. Cualquier argumento con palabra clave que se pase a `initialize_gt` prevalece.
***
## Ejemplos
### Configuración mínima (con archivo de configuración)
```python
from flask import Flask
from gt_flask import initialize_gt
app = Flask(__name__)
initialize_gt(app)
```
### Con un cargador de traducciones personalizado
```python
from flask import Flask
from gt_flask import initialize_gt
app = Flask(__name__)
def load_translations(locale: str) -> dict[str, str]:
# Carga las traducciones desde tu propia fuente
...
initialize_gt(app, load_translations=load_translations)
```
### Con detección de configuración regional personalizada
```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)
```
***
## Notas
* Se debe llamar a `initialize_gt` **una sola vez** antes de usar `t` o cualquier otra función de traducción.
* En Flask, registra un hook `before_request` para detectar la configuración regional.
* En FastAPI, registra un middleware para detectar la configuración regional y envuelve el ciclo de vida de la aplicación para habilitar la carga anticipada.