# gt-node: General Translation Node.js SDK: Démarrage rapide
URL: https://generaltranslation.com/fr/docs/node/quickstart.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Installez la bibliothèque `gt-node` de General Translation et traduisez votre premier service Node.js.

`gt-node` traduit les chaînes de caractères sur les serveurs et services Node.js. Vous l’initialisez une seule fois, associez le paramètre régional à chaque requête entrante et traduisez les chaînes dans vos gestionnaires.

Utilisez `gt-node` pour les services backend tels que les API Express ou Fastify. Pour les applications React, utilisez [`gt-react`](/docs/react/react-quickstart) ; pour Next.js, utilisez [`gt-next`](/docs/react/nextjs-quickstart).

*Remarque : `gt-node` nécessite Node.js 18 ou une version ultérieure. L’association du paramètre régional par requête utilise `AsyncLocalStorage` de `node:async_hooks`.*

## Ce que fait gt-node [#what-it-does]

`gt-node` vous offre :

* **Traduction de chaînes** avec [`getGT`](/docs/node/reference/functions/get-gt), pour les chaînes propres au gestionnaire.
* **Messages enregistrés** avec [`msg`](/docs/node/reference/functions/msg) et [`getMessages`](/docs/node/reference/functions/get-messages), pour les constantes partagées et les erreurs.
* **Traduction à l’exécution** avec [`tx`](/docs/node/reference/functions/tx), pour le contenu dynamique.
* **Association du paramètre régional par requête** avec [`withGT`](/docs/node/reference/functions/with-gt), ainsi que des fonctions utilitaires pour détecter le paramètre régional de la requête.

## Démarrage rapide [#quickstart]

Installez la bibliothèque, initialisez-la, définissez un paramètre régional pour chaque requête et traduisez une chaîne.

### 1. Installer `gt-node`

Installez `gt-node` et Express comme dépendances, et la [CLI `gt`](/docs/cli/quickstart) comme dépendance de développement.

<Tabs items={['npm', 'yarn', 'bun', 'pnpm']}>
  <Tab value="npm">
    ```bash
    npm install gt-node express && npm install gt --save-dev
    ```
  </Tab>

  <Tab value="yarn">
    ```bash
    yarn add gt-node express && yarn add --dev gt
    ```
  </Tab>

  <Tab value="bun">
    ```bash
    bun add gt-node express && bun add --dev gt
    ```
  </Tab>

  <Tab value="pnpm">
    ```bash
    pnpm add gt-node express && pnpm add --save-dev gt
    ```
  </Tab>
</Tabs>

*Remarque : le code serveur ci-dessous utilise la syntaxe `import` des modules ES. Définissez `"type": "module"` dans votre `package.json` afin que Node.js puisse l’exécuter.*

### 2. Initialiser la bibliothèque

Rendez votre ID de projet et votre clé API de développement accessibles au processus Node.js :

```bash
export GT_PROJECT_ID="your-project-id"
export GT_DEV_API_KEY="gtx-dev-..."
```

Appelez [`initializeGT`](/docs/node/reference/functions/initialize-gt) une seule fois au démarrage, avant de traiter les requêtes. Fournissez directement vos paramètres régionaux. Si les champs d’identification sont omis, `gt-node` lit `GT_PROJECT_ID`, `GT_API_KEY` et `GT_DEV_API_KEY` depuis l’environnement ; il ne lit pas automatiquement `gt.config.json`.

```ts title="server.js"
import { initializeGT } from 'gt-node';

initializeGT({
  defaultLocale: 'en',
  locales: ['en', 'es', 'fr'],
});
```

### 3. Associer le paramètre régional de la requête

Encapsulez chaque requête dans [`withGT`](/docs/node/reference/functions/with-gt) afin que les fonctions de traduction connaissent le paramètre régional cible. Utilisez [`getRequestLocale`](/docs/node/reference/functions/get-request-locale) pour le détecter à partir de l’en-tête `Accept-Language`.

```js title="server.js"
import express from 'express';
import { withGT, getRequestLocale } from 'gt-node';

const app = express();
app.use((req, res, next) => withGT(getRequestLocale(req), () => next()));
```

### 4. Traduire une chaîne

Dans un gestionnaire, utilisez await [`getGT`](/docs/node/reference/functions/get-gt) pour obtenir une fonction de traduction pour le paramètre régional de la requête, puis traduire des chaînes. Interpolez les valeurs à l’aide de placeholders ICU.

```js title="server.js"
import { getGT } from 'gt-node';

app.get('/api/greeting', async (req, res) => {
  const gt = await getGT();
  res.json({ message: gt('Hello, {name}!', { name: 'Alice' }) });
});

app.listen(3000, () => console.log('Listening on http://localhost:3000'));
```

### 5. Exécutez et vérifiez

Combinez les extraits des étapes 2 à 4 dans un seul fichier `server.js`, puis démarrez le serveur. Avant de générer les traductions, le gestionnaire renvoie votre chaîne source, ce qui confirme que le service est correctement configuré.

```bash
node server.js
```

Dans un autre terminal, envoyez une requête :

```bash
curl http://localhost:3000/api/greeting
```

```json title="Output"
{"message":"Hello, Alice!"}
```

### 6. Générer les traductions

Exécutez la CLI avant de déployer en production afin que les traductions soient disponibles à l’exécution.

```bash
npx gt translate
```

*Remarque : [`gt translate`](/docs/cli/reference/commands/translate) lit un `gt.config.json` et nécessite un ID de projet et une clé API. Exécutez d’abord [`npx gt init`](/docs/cli/reference/commands/init) pour les créer.*

(Consultez [Traduire des chaînes](/docs/node/guides/translating-strings) pour savoir quand utiliser [`getGT`](/docs/node/reference/functions/get-gt), [`msg`](/docs/node/reference/functions/msg) et [`tx`](/docs/node/reference/functions/tx), et [Configurer gt-node](/docs/node/guides/configuring) pour en savoir plus sur les identifiants et la livraison).

## Next steps

- /docs/node/guides/translating-strings
- /docs/node/guides/detecting-locale
- /docs/node/guides/configuring
- /docs/node/guides/storing-translations

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
