# node: withGT
URL: https://generaltranslation.com/fr/docs/node/api/with-gt.mdx
---
title: withGT
description: Référence de l’API du wrapper de requête withGT
---
## Vue d’ensemble
La fonction `withGT` encapsule une fonction de rappel afin de fournir le contexte de paramètre régional aux fonctions de traduction.
Sur un serveur Node.js, chaque requête correspond généralement à un utilisateur différent, avec un paramètre régional différent.
`withGT` définit le paramètre régional pour toutes les fonctions de traduction appelées dans la fonction de rappel.
```js
import { withGT } from 'gt-node';
app.get('/api/greeting', (req, res) => {
withGT(req.locale, () => {
// Les fonctions de traduction ici utilisent req.locale
});
});
```
**Contexte de la requête :**
`withGT` utilise en interne l’async local storage pour associer le paramètre régional à la requête en cours.
Tous les appels à `getGT` et `getMessages` dans la fonction de rappel utiliseront le paramètre régional fourni.
## Référence
### Paramètres
T',
optional: false,
},
}}
/>
### Description
| Param | Description |
| -------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `locale` | Un [code de langue](/docs/core/locales) (par ex. `'es'`, `'fr-CA'`) à utiliser pour les traductions au sein de la fonction de rappel. |
| `fn` | Une fonction de rappel à exécuter avec le contexte de paramètre régional spécifié. Peut être synchrone ou asynchrone. |
### Renvoie
`T` — la valeur renvoyée par la fonction de rappel `fn`.
***
## Exemples
### Middleware pour Express
```js title="server.js"
import express from 'express';
import { initializeGT, withGT, getGT } from 'gt-node';
initializeGT({
defaultLocale: 'en-US',
locales: ['en-US', 'es', 'fr'],
projectId: process.env.GT_PROJECT_ID,
});
const app = express();
app.use((req, res, next) => {
const locale = req.headers['accept-language']?.split(',')[0] || 'en-US';
withGT(locale, () => {
next();
});
});
app.get('/api/greeting', async (req, res) => {
const gt = await getGT();
res.json({ message: gt('Hello, world!') });
});
```
### Encapsuler un handler asynchrone
```js title="handler.js"
import { withGT, getGT } from 'gt-node';
export async function handleRequest(locale: string) {
return withGT(locale, async () => {
const gt = await getGT();
return gt('Welcome to our app!');
});
}
```
***
## Remarques
* `initializeGT` doit être appelé avant toute utilisation de `withGT`. Sinon, une erreur sera levée.
* Le contexte du paramètre régional est limité à la fonction de rappel et n'affecte pas les autres requêtes simultanées.
* `withGT` fonctionne avec des fonctions de rappel synchrones comme asynchrones.
## Étapes suivantes
* Consultez [`initializeGT`](/docs/node/api/initialize-gt) pour la configuration initiale.
* Consultez [`getGT`](/docs/node/api/get-gt) pour traduire des chaînes dans le contexte d’une requête.