# 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)