# General Translation Python SDKs: Configurar General Translation URL: https://generaltranslation.com/es/docs/python/guides/configuring.mdx --- title: Configurar General Translation description: "Cómo inicializar General Translation en Python: esta guía abarca tu aplicación, las configuraciones regionales y la entrega de traducciones en Flask, FastAPI o la biblioteca principal." 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 se configura mediante una única llamada. En Flask y FastAPI, es `initialize_gt(app)`; en la biblioteca principal `gt-i18n`, tú mismo creas un [`I18nManager`](/docs/python/reference/classes/i18n-manager). Esta guía cubre ambas opciones, además de cómo se entregan las traducciones y cómo se precargan. ## Configura una aplicación de Flask o FastAPI [#framework] Llama a `initialize_gt(app)` una vez, antes de procesar solicitudes. Lee `gt.config.json`, crea el gestor de traducciones, registra la detección de la configuración regional en cada solicitud y carga las traducciones por adelantado. ```python title="app.py" from flask import Flask from gt_flask import initialize_gt app = Flask(__name__) initialize_gt(app, default_locale="en", locales=["es", "fr"]) ``` ```python title="main.py" from fastapi import FastAPI from gt_fastapi import initialize_gt app = FastAPI() initialize_gt(app, default_locale="en", locales=["es", "fr"]) ``` Los argumentos con nombre prevalecen sobre `gt.config.json`. Consulta la [referencia de configuración](/docs/python/reference/config) para ver todas las opciones y claves de configuración. Las dos integraciones comparten la misma firma de [`initialize_gt`](/docs/python/reference/functions/initialize-gt); solo cambia su implementación interna. Flask registra un `before_request` que establece la configuración regional; FastAPI envuelve el ciclo de vida de la aplicación (para cargar por adelantado) y añade un middleware HTTP que establece la configuración regional. ## Configura la biblioteca principal [#core] El paquete principal `gt-i18n` no incluye `initialize_gt`. Crea un [`I18nManager`](/docs/python/reference/classes/i18n-manager), regístralo como administrador activo con [`set_i18n_manager`](/docs/python/reference/functions/set-i18n-manager) y establece tú mismo la configuración regional de la petición. La detección de la configuración regional y la carga anticipada no son automáticas aquí. ```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") # tú controlas la configuración regional por solicitud print(t("Hello, world!")) ``` Cualquier función de traducción ([`t`](/docs/python/reference/functions/t), [`get_locale`](/docs/python/reference/functions/get-locale), etc.) lee desde el gestor configurado con `set_i18n_manager`. Si llamas a una de ellas antes de configurar un gestor, se produce `RuntimeError`. ## Elige cómo se entregan las traducciones [#delivery] El SDK resuelve las traducciones en uno de estos modos: * **General Translation CDN:** establece `project_id` (en la configuración o como argumento con nombre) para que las traducciones se carguen desde la CDN en `{cache_url}/{project_id}/{locale}`. Puedes reemplazar la URL base con `cache_url`. * **Archivos locales:** pasa un `callback` `load_translations` que devuelva un `dict[str, str]` para una configuración regional. Esto sustituye al cargador de la CDN. Consulta [Almacenar traducciones localmente](/docs/python/guides/storing-translations). No se usa ninguna clave de API. La entrega por CDN depende por completo de `project_id` y `cache_url`. ## Precargar traducciones [#preload] La función [`t`](/docs/python/reference/functions/t) lee desde una caché en memoria, así que las traducciones deben cargarse antes de que una solicitud las use. De forma predeterminada, `initialize_gt` las carga de forma anticipada al iniciarse (`eager_loading=True`). *Nota: La carga anticipada solo se ejecuta cuando se conocen los `locales` de destino. En Flask, esto comprueba los `locales` que pasas directamente a `initialize_gt`, no los que se cargan desde `gt.config.json`; si tus configuraciones regionales provienen únicamente del archivo de configuración, pásalas explícitamente o carga las traducciones tú mismo. Si las traducciones aún no se han cargado, `t` devuelve la cadena de origen.* *Nota: La caché en memoria caduca después de `cache_expiry_time` (60 segundos de forma predeterminada), y la ruta de lectura síncrona que usa `t` no la recarga; una vez caducada, `t` vuelve a las cadenas de origen hasta que el cargador asíncrono se ejecute de nuevo. `initialize_gt` no expone `cache_expiry_time`.* ## Gestiona las traducciones faltantes [#missing] Cuando falta una traducción, `t` devuelve la cadena de origen interpolada con tus variables en lugar de lanzar un error, por lo que la solicitud siempre se puede renderizar. Genera las traducciones con el [CLI](/docs/cli/quickstart) antes de desplegar para que estén listas en producción. ## Next steps - /docs/python/guides/translating-strings - /docs/python/guides/detecting-locale - /docs/python/guides/declaring-variables - /docs/python/guides/storing-translations