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