# node: Gestion des erreurs et contenus de remplacement URL: https://generaltranslation.com/fr/docs/node/guides/error-handling.mdx --- title: Gestion des erreurs et contenus de remplacement description: Ce qui se passe lorsqu’aucune traduction n’est disponible et comment gérer la situation --- ## Comportement par défaut du contenu de remplacement Lorsqu’une traduction n’est pas disponible — que le paramètre régional ne soit pas pris en charge, que le fichier de traduction soit manquant ou que le CDN soit inaccessible — `gt-node` renvoie la chaîne source de votre `defaultLocale`. Votre application ne plante jamais à cause d’une traduction manquante. ```js import { getGT } from 'gt-node'; app.get('/api/greeting', async (req, res) => { const gt = await getGT(); // Si la traduction espagnole n'est pas disponible, renvoie l'original en anglais res.json({ message: gt('Hello, world!') }); }); ``` Ce contenu de remplacement est appliqué automatiquement. Vous n'avez pas besoin d'entourer les appels de traduction d'un bloc try/catch pour gérer les traductions manquantes. ## Paramètres régionaux absents Si une requête est reçue pour un paramètre régional que vous n’avez pas configuré dans `locales`, les fonctions de traduction reviennent à `defaultLocale` : ```js initializeGT({ defaultLocale: 'en', locales: ['en', 'es', 'fr'], // Japonais non inclus }); // Requête avec Accept-Language : ja // gt('Hello!') → retourne 'Hello!' (contenu de remplacement en anglais) ``` Pour prendre en charge un nouveau paramètre régional, ajoutez-le à votre tableau `locales` et régénérez les traductions : ```bash npx gt translate ``` ## Vérifier les paramètres régionaux disponibles Utilisez [`getLocales()`](/docs/node/api/get-locales) et [`getDefaultLocale()`](/docs/node/api/get-default-locale) pour voir ce qui est disponible à l’exécution : ```js import { getLocales, getDefaultLocale } from 'gt-node'; app.get('/api/locales', (req, res) => { res.json({ supported: getLocales(), default: getDefaultLocale(), }); }); ``` ## Gérer la traduction dans les réponses d’API Lors de la création d’API, vous pouvez vouloir indiquer explicitement lorsque le contenu est dans une langue de repli : ```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, }); }); ``` ## Déboguer les traductions ### Vérifiez quel paramètre régional est actif ```js import { getLocale } from 'gt-node'; app.use((req, res, next) => { console.log(`[i18n] Request locale: ${getLocale()}`); next(); }); ``` ### Vérifiez que les traductions sont chargées En développement, `gt-node` traduit on-demand via l’API. Si certaines traductions semblent manquer : 1. Vérifiez que `GT_API_KEY` et `GT_PROJECT_ID` sont définis 2. Vérifiez que le paramètre régional est bien présent dans votre tableau `locales` 3. Recherchez des erreurs dans les journaux du serveur ### Checklist de production Avant de déployer, vérifiez : * [ ] `npx gt translate` s’exécute correctement dans votre script de build * [ ] Tous les paramètres régionaux cibles sont définis dans `gt.config.json` * [ ] `GT_PROJECT_ID` est défini dans l’environnement de production * [ ] `GT_API_KEY` est défini dans l’environnement de production (pour `npx gt translate`) En développement, les traductions se font on-demand et peuvent être lentes. En production, pré-générez toujours les traductions avec `npx gt translate` — voir les [docs de la CLI](/docs/cli/translate). ## Étapes suivantes * [Approches de traduction de chaînes](/docs/node/guides/strings) — les deux approches de traduction * [Stockage local des traductions](/docs/node/guides/local-tx) — intégrez les traductions au bundle pour une utilisation hors ligne * [Référence de l’API `getLocale`](/docs/node/api/get-locale)