# python: Almacenamiento local de traducciones
URL: https://generaltranslation.com/es/docs/python/guides/local-tx.mdx
---
title: Almacenamiento local de traducciones
description: Guarda las traducciones localmente en lugar de obtenerlas desde una CDN
---
## ¿Qué son las traducciones locales?
De forma predeterminada, las bibliotecas de Python de GT obtienen las traducciones desde la CDN de General Translation en tiempo de ejecución. Con las traducciones locales, incluyes archivos de traducción en tu aplicación, sin necesidad de hacer solicitudes de red externas.
**Comportamiento predeterminado:** GT usa almacenamiento en CDN de forma predeterminada. Cambia al almacenamiento local solo si necesitas las ventajas específicas que ofrece.
## Consideraciones
### Beneficios de las traducciones locales
* **Respuestas más rápidas**: No se requieren viajes de ida y vuelta por la red para obtener las traducciones
* **Sin dependencia de servicios externos**: Tu aplicación funciona independientemente de la disponibilidad de la CDN
* **Funciona sin conexión**: Las traducciones forman parte de tu deployment
### Desventajas de las traducciones locales
* **Aumento del tamaño del deployment**: Cada configuración regional compatible agrega archivos de traducción
* **Volver a implementar para actualizar**: Cambiar una traducción requiere un nuevo deployment
## Configuración
### Paso 1: Configura la CLI
Instala la CLI de GT y configúrala para el almacenamiento local:
```bash
pip install gtx-cli
gt configure
```
Cuando se te indique:
* **¿Guardar en el CDN?** Selecciona "No"
* **Directorio de traducciones:** Introduce `./translations`
### Paso 2: Genera las traducciones
```bash
gt translate
```
Esto crea archivos JSON en tu directorio `translations/` — uno por cada configuración regional.
### Paso 3: Carga las traducciones en tu aplicación
Configura tu aplicación para que use los archivos de traducción locales:
```python
import json
from pathlib import Path
from flask import Flask
from gt_flask import initialize_gt
app = Flask(__name__)
def load_translations(locale: str):
path = Path('translations') / f'{locale}.json'
if path.exists():
return json.loads(path.read_text())
return {}
initialize_gt(
app,
default_locale='en',
locales=['es', 'fr', 'ja'],
load_translations=load_translations,
)
```
```python
import json
from pathlib import Path
from fastapi import FastAPI
from gt_fastapi import initialize_gt
app = FastAPI()
def load_translations(locale: str):
path = Path('translations') / f'{locale}.json'
if path.exists():
return json.loads(path.read_text())
return {}
initialize_gt(
app,
default_locale='en',
locales=['es', 'fr', 'ja'],
load_translations=load_translations,
)
```
## Integración con la construcción
Genera traducciones como parte de tu flujo de deployment:
```yaml title=".github/workflows/deploy.yml"
- name: Generate Translations
run: gt translate
- name: Deploy
run:
```
O en un `Makefile`:
```makefile
deploy:
gt translate
```
Genera siempre las traducciones antes de implementar. Si faltan archivos de traducción, `t()` recurre a la cadena original de tu `default_locale`.
## Siguientes pasos
* [Comando `translate` de la CLI](/docs/cli/translate) — referencia para la generación de traducciones
* [Patrones de traducción de cadenas](/docs/python/guides/strings) — cómo traducir contenido
* [Detección de la configuración regional y middleware](/docs/python/guides/middleware) — cómo funciona el contexto de la configuración regional