# 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