# General Translation Python SDKs: Detectar la configuración regional de la solicitud URL: https://generaltranslation.com/es/docs/python/guides/detecting-locale.mdx --- title: Detectar la configuración regional de la solicitud description: Cómo determinar automáticamente la configuración regional de cada solicitud, o hacerlo con tu propia lógica, en General Translation para Python. related: links: - /docs/python/guides/translating-strings - /docs/python/guides/configuring - /docs/python/guides/declaring-variables - /docs/python/guides/storing-translations --- Cada llamada a [`t`](/docs/python/reference/functions/t) traduce según la configuración regional actual de la solicitud. [`initialize_gt`](/docs/python/reference/functions/initialize-gt) registra la detección de la configuración regional por ti; puedes usar la predeterminada o proporcionar tu propio callback. ## Usa la detección predeterminada [#default] De forma predeterminada, el SDK lee la cabecera `Accept-Language`, analiza sus valores de calidad y elige la mejor coincidencia entre las configuraciones regionales que hayas configurado; si no encuentra ninguna, usa la configuración regional predeterminada. Flask hace esto en un hook `before_request`; FastAPI lo hace en middleware HTTP. No hace falta ninguna configuración adicional. Consulta la configuración regional resuelta desde cualquier punto de una solicitud con [`get_locale`](/docs/python/reference/functions/get-locale). ```python from gt_flask import get_locale # o bien: from gt_fastapi import get_locale get_locale() ``` ## Define una detección personalizada [#custom] Para respetar una elección explícita —un parámetro de consulta, una cookie o un prefijo de ruta—, pasa un callback `get_locale` a `initialize_gt`. Un callback personalizado reemplaza por completo la detección de `Accept-Language`; si proporcionas el tuyo, no se usa la integrada. ```python def detect_locale(request): return request.args.get("lang") or request.cookies.get("locale") or "en" initialize_gt(app, default_locale="en", locales=["es", "fr"], get_locale=detect_locale) ``` ```python def detect_locale(request): return request.query_params.get("lang") or request.cookies.get("locale") or "en" initialize_gt(app, default_locale="en", locales=["es", "fr"], get_locale=detect_locale) ``` El valor que devuelvas se almacena tal cual para la solicitud. Si tu callback devuelve un valor falsy, como `None`, la configuración regional pasará a ser la configuración regional predeterminada configurada (no `Accept-Language`), así que devuelve un contenido alternativo explícito si quieres un comportamiento distinto. *Nota: A diferencia de la detección integrada de `Accept-Language`, el valor devuelto por un callback personalizado no se vuelve a validar con las `locales` configuradas. Devuelve una configuración regional compatible o resuelve tú mismo los valores no compatibles.* ## Next steps - /docs/python/guides/translating-strings - /docs/python/guides/configuring - /docs/python/guides/declaring-variables - /docs/python/guides/storing-translations