# node: Gestión de errores y alternativas de respaldo
URL: https://generaltranslation.com/es/docs/node/guides/error-handling.mdx
---
title: Gestión de errores y alternativas de respaldo
description: Qué ocurre cuando no hay traducciones disponibles y cómo gestionarlo
---
## Comportamiento predeterminado de respaldo
Cuando no hay una traducción disponible —ya sea porque la configuración regional no es compatible, falta el archivo de traducción o no se puede acceder a la CDN—, `gt-node` devuelve la cadena original en tu `defaultLocale`. Tu aplicación nunca se bloquea por una traducción faltante.
```js
import { getGT } from 'gt-node';
app.get('/api/greeting', async (req, res) => {
const gt = await getGT();
// Si la traducción al español no está disponible, devuelve el original en inglés
res.json({ message: gt('Hello, world!') });
});
```
Este mecanismo de respaldo es automático. No necesitas envolver las llamadas de traducción en try/catch si faltan traducciones.
## Configuraciones regionales no configuradas
Si llega una solicitud para una configuración regional que no hayas incluido en `locales`, las funciones de traducción usan `defaultLocale` como valor de respaldo:
```js
initializeGT({
defaultLocale: 'en',
locales: ['en', 'es', 'fr'], // Japonés no incluido
});
// Solicitud con Accept-Language: ja
// gt('Hello!') → returns 'Hello!' (de respaldo en inglés)
```
Para añadir compatibilidad con una nueva configuración regional, agrégala a tu arreglo `locales` y vuelve a generar las traducciones:
```bash
npx gt translate
```
## Comprobar qué configuraciones regionales están disponibles
Usa [`getLocales()`](/docs/node/api/get-locales) y [`getDefaultLocale()`](/docs/node/api/get-default-locale) para ver qué está disponible en tiempo de ejecución:
```js
import { getLocales, getDefaultLocale } from 'gt-node';
app.get('/api/locales', (req, res) => {
res.json({
supported: getLocales(),
default: getDefaultLocale(),
});
});
```
## Gestión de la traducción en las respuestas de la API
Al desarrollar APIs, puede que quieras indicar explícitamente cuándo el contenido está en un idioma de respaldo:
```js
import { getGT, getLocale, getDefaultLocale } from 'gt-node';
app.get('/api/greeting', async (req, res) => {
const gt = await getGT();
const locale = getLocale();
const defaultLocale = getDefaultLocale();
res.json({
message: gt('Hello, world!'),
locale,
isFallback: locale !== defaultLocale,
});
});
```
## Depuración de las traducciones
### Comprueba qué configuración regional está activa
```js
import { getLocale } from 'gt-node';
app.use((req, res, next) => {
console.log(`[i18n] Request locale: ${getLocale()}`);
next();
});
```
### Verifica que las traducciones estén cargadas
En desarrollo, `gt-node` traduce on-demand mediante la API. Si parece que faltan traducciones:
1. Confirma que `GT_API_KEY` y `GT_PROJECT_ID` estén configurados
2. Verifica que la configuración regional esté en tu array `locales`
3. Busca errores en los logs del servidor
### Lista de verificación de producción
Antes de implementar, verifica lo siguiente:
* [ ] `npx gt translate` se ejecuta correctamente en tu script de build
* [ ] Todas las configuraciones regionales de destino están incluidas en `gt.config.json`
* [ ] `GT_PROJECT_ID` está configurado en el entorno de producción
* [ ] `GT_API_KEY` está configurado en el entorno de producción (para `npx gt translate`)
En desarrollo, las traducciones se realizan on-demand y pueden ser lentas. En producción, genera siempre las traducciones por adelantado con `npx gt translate`; consulta la [documentación de la CLI](/docs/cli/translate).
## Próximos pasos
* [Patrones de traducción de cadenas](/docs/node/guides/strings) — los dos métodos de traducción
* [Almacenamiento local de traducciones](/docs/node/guides/local-tx) — agrupa las traducciones en el bundle para usarlas sin conexión
* [Referencia de la API de `getLocale`](/docs/node/api/get-locale)