# node: Gestione degli errori e fallback URL: https://generaltranslation.com/it/docs/node/guides/error-handling.mdx --- title: Gestione degli errori e fallback description: Cosa succede quando le traduzioni non sono disponibili e come gestire la situazione --- ## Comportamento di fallback predefinito Quando una traduzione non è disponibile — perché l'impostazione regionale non è supportata, il file di traduzione manca o il CDN è irraggiungibile — `gt-node` restituisce la stringa originale nel tuo `defaultLocale`. La tua app non si blocca mai a causa di una traduzione mancante. ```js import { getGT } from 'gt-node'; app.get('/api/greeting', async (req, res) => { const gt = await getGT(); // Se la traduzione in spagnolo non è disponibile, restituisce l'originale inglese res.json({ message: gt('Hello, world!') }); }); ``` Questo fallback è automatico. Non è necessario racchiudere le chiamate di traduzione in blocchi try/catch in caso di traduzioni mancanti. ## Impostazioni regionali mancanti Se arriva una richiesta per un'impostazione regionale che non hai configurato in `locales`, le funzioni di traduzione usano `defaultLocale` come valore di fallback: ```js initializeGT({ defaultLocale: 'en', locales: ['en', 'es', 'fr'], // Giapponese non incluso }); // Richiesta con Accept-Language: ja // gt('Hello!') → restituisce 'Hello!' (fallback in inglese) ``` Per supportare una nuova impostazione regionale, aggiungila all'array `locales` e rigenera le traduzioni: ```bash npx gt translate ``` ## Verificare le impostazioni regionali disponibili Usa [`getLocales()`](/docs/node/api/get-locales) e [`getDefaultLocale()`](/docs/node/api/get-default-locale) per vedere quali impostazioni regionali sono disponibili a runtime: ```js import { getLocales, getDefaultLocale } from 'gt-node'; app.get('/api/locales', (req, res) => { res.json({ supported: getLocales(), default: getDefaultLocale(), }); }); ``` ## Gestire la traduzione nelle risposte API Quando sviluppi API, potresti voler indicare esplicitamente quando il contenuto è in una lingua di fallback: ```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, }); }); ``` ## Debug delle traduzioni ### Verifica quale impostazione regionale è attiva ```js import { getLocale } from 'gt-node'; app.use((req, res, next) => { console.log(`[i18n] Request locale: ${getLocale()}`); next(); }); ``` ### Verifica che le traduzioni vengano caricate In fase di sviluppo, `gt-node` traduce on-demand tramite l'API. Se sembra che manchino delle traduzioni: 1. Verifica che `GT_API_KEY` e `GT_PROJECT_ID` siano impostati 2. Verifica che l'impostazione regionale sia inclusa nell'array `locales` 3. Controlla se ci sono errori nei log del server ### Checklist di produzione Prima di implementare, verifica: * [ ] `npx gt translate` venga eseguito correttamente nel tuo script di build * [ ] Tutte le impostazioni regionali di destinazione siano elencate in `gt.config.json` * [ ] `GT_PROJECT_ID` sia impostato nell'ambiente di produzione * [ ] `GT_API_KEY` sia impostata nell'ambiente di produzione (per `npx gt translate`) Durante lo sviluppo, le traduzioni avvengono on-demand e potrebbero essere lente. In produzione, pre-genera sempre le traduzioni con `npx gt translate` — vedi i [docs della CLI](/docs/cli/translate). ## Prossimi passaggi * [Pattern per la traduzione delle stringhe](/docs/node/guides/strings) — i due approcci alla traduzione * [Archiviazione locale delle traduzioni](/docs/node/guides/local-tx) — includi le traduzioni nel bundle per l'uso offline * [`getLocale` riferimento API](/docs/node/api/get-locale)