# General Translation Python SDKs: TranslationsLoader
URL: https://generaltranslation.com/es/docs/python/reference/classes/translations-loader.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: El tipo invocable para cargadores de traducción personalizados en General Translation para Python. Referencia de la API de TranslationsLoader.

`TranslationsLoader` es el tipo del 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)
```

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
