# General Translation Python SDKs: Quickstart
URL: https://generaltranslation.com/es/docs/python/quickstart.mdx
---
title: Quickstart
description: Instala el SDK de Python de General Translation y traduce tu primera app de Flask o FastAPI.
related:
links:
- /docs/python/guides/translating-strings
- /docs/python/guides/detecting-locale
- /docs/python/guides/declaring-variables
- /docs/python/guides/storing-translations
---
El SDK de Python de General Translation traduce las cadenas visibles para el usuario en apps de Flask y FastAPI. Lo inicializas una sola vez en tu app y luego envuelves las cadenas de tus rutas con la función [`t`](/docs/python/reference/functions/t), que las traduce a la configuración regional de la solicitud actual.
Instala la integración para tu framework: `gt-flask` para Flask y `gt-fastapi` para FastAPI. Ambas se basan en el runtime compartido `gt-i18n`, que también puedes usar directamente en un proyecto sin framework.
El SDK de Python es **experimental e inestable**. `gt-i18n`, `gt-flask` y `gt-fastapi` aún están en una fase temprana de desarrollo y pueden introducir cambios incompatibles entre versiones. Requiere Python 3.10 o posterior.
## Qué hace el SDK de Python [#overview]
El SDK te ofrece:
* **traducción de cadenas** con [`t`](/docs/python/reference/functions/t), usando la sintaxis de mensajes ICU.
* **detección de la configuración regional en cada solicitud** a partir de la cabecera `Accept-Language`, o mediante tu propia lógica.
* **variantes finitas** con [`derive`](/docs/python/reference/functions/derive) y valores no traducibles con [`declare_var`](/docs/python/reference/functions/declare-var).
* **entrega de traducciones por CDN o de forma local** generadas por la [CLI de General Translation](/docs/cli/quickstart).
## Quickstart [#quickstart]
Instala la integración, agrega un archivo de configuración, inicialízala en tu aplicación y traduce una cadena.
### 1. Instala la integración
```bash
pip install gt-flask
```
```bash
pip install gt-fastapi
```
### 2. Configura tus locales
Crea un `gt.config.json` en la raíz de tu proyecto con tu ID del proyecto y tus locales. Consulta la [referencia de configuración](/docs/python/reference/config) para ver todas las claves.
```json title="gt.config.json"
{
"projectId": "your-project-id",
"defaultLocale": "en",
"locales": ["es", "fr"]
}
```
Con el marcador de posición `projectId`, la aplicación sigue ejecutándose y la configuración regional de la solicitud sigue cambiando, pero todas las cadenas se devuelven en el idioma de origen. Eso es lo esperado hasta que establezcas tu propio ID del proyecto y publiques las traducciones.
### 3. Inicializa con tu aplicación
Llama a `initialize_gt(app)` una vez al iniciar la aplicación. Lee `gt.config.json`, registra la detección de la configuración regional en cada solicitud y precarga las traducciones. No hay ningún parámetro de clave de API: la carga desde la CDN usa `project_id` y `cache_url`.
```python title="app.py"
from flask import Flask
from gt_flask import initialize_gt, t, get_locale
app = Flask(__name__)
initialize_gt(app)
@app.route("/")
def index():
return {"message": t("Hello, world!"), "locale": get_locale()}
```
Ejecútalo con:
```bash
flask --app app run
```
```python title="main.py"
from fastapi import FastAPI
from gt_fastapi import initialize_gt, t, get_locale
app = FastAPI()
initialize_gt(app)
@app.get("/")
def index():
return {"message": t("Hello, world!"), "locale": get_locale()}
```
FastAPI necesita un servidor ASGI independiente. Instala Uvicorn e inicia la aplicación con:
```bash
pip install "uvicorn[standard]"
uvicorn main:app
```
### 4. Traduce con variables
Usa marcadores de posición de ICU y pasa los valores como argumentos con nombre.
```python
t("Hello, {name}!", name="Alice")
```
### 5. Generar traducciones
Usa la [CLI de General Translation](/docs/cli/quickstart) para traducir tu contenido antes de desplegarlo, de modo que las traducciones estén disponibles en tiempo de ejecución. La CLI es una herramienta de Node, por lo que requiere tener Node instalado y se ejecuta con `npx`.
```bash
npx gt translate
```
## Usa la biblioteca principal sin un framework [#core]
Si no usas Flask o FastAPI, instala `gt-i18n` directamente. No existe [`initialize_gt`](/docs/python/reference/functions/initialize-gt) en la biblioteca principal; crea un [`I18nManager`](/docs/python/reference/classes/i18n-manager), regístralo con [`set_i18n_manager`](/docs/python/reference/functions/set-i18n-manager) y establece tú mismo la configuración regional de la petición.
```bash
pip install gt-i18n
```
```python
from gt_i18n import I18nManager, set_i18n_manager, t
manager = I18nManager(default_locale="en", locales=["es", "fr"])
set_i18n_manager(manager)
manager.set_locale("es")
print(t("Hello, world!"))
```
Consulta [Traducir cadenas](/docs/python/guides/translating-strings) para ver el contexto y las variables, y [Detectar la configuración regional de la solicitud](/docs/python/guides/detecting-locale) para personalizar la detección de la configuración regional.
## Next steps
- /docs/python/guides/translating-strings
- /docs/python/guides/detecting-locale
- /docs/python/guides/declaring-variables
- /docs/python/guides/storing-translations