# General Translation Python SDKs: TranslationsLoader URL: https://generaltranslation.com/es/docs/python/reference/classes/translations-loader.mdx --- title: TranslationsLoader description: El tipo invocable para cargadores de traducción personalizados en General Translation para Python. Referencia de la API de TranslationsLoader. --- El tipo de un cargador de traducción personalizado: el callback que pasas como `load_translations` para aportar tus propias traducciones. Asocia un código de configuración regional con un diccionario de traducciones. *Nota: `TranslationsLoader` es un **alias de tipo**, no una clase, un protocolo ni un ABC. No se subclasifica; puedes proporcionar cualquier invocable que cumpla con su firma.* ## Resumen general [#overview] `TranslationsLoader` se define como un alias de tipo `Callable`: ```python from collections.abc import Awaitable, Callable TranslationsLoader = Callable[[str], dict[str, str] | Awaitable[dict[str, str]]] ``` Un cargador toma un código de configuración regional y devuelve un `dict[str, str]` que relaciona los hashes de los mensajes con sus cadenas traducidas. Puede ser síncrono o devolver un awaitable; el gestor espera el resultado cuando es awaitable. Importa `TranslationsLoader` desde `gt_i18n`. Los paquetes del framework no lo reexportan. ## Cómo funciona [#how-it-works] * **Entrada.** Una única cadena con el código de configuración regional (por ejemplo, `"es"`). * **Salida.** Un `dict[str, str]` de hash → cadena traducida, o un objeto awaitable que devuelva uno. * **Dónde se usa.** Se pasa como `load_translations` a [`I18nManager`](/docs/python/reference/classes/i18n-manager) o [`initialize_gt`](/docs/python/reference/functions/initialize-gt). Cuando se proporciona, reemplaza el cargador de CDN integrado. Las claves deben ser hashes generados por [`hash_message`](/docs/python/reference/functions/hash-message). ## Ejemplo [#example] ```python import json from pathlib import Path from gt_i18n import I18nManager, TranslationsLoader # Un loader síncrono que lee un archivo JSON por locale def load_translations(locale: str) -> dict[str, str]: path = Path("translations") / f"{locale}.json" return json.loads(path.read_text()) if path.exists() else {} loader: TranslationsLoader = load_translations manager = I18nManager(default_locale="en", locales=["es"], load_translations=loader) ``` ```python # Un loader asíncrono también es válido async def load_translations(locale: str) -> dict[str, str]: return await fetch_from_somewhere(locale) ```