# node: Stockage local des traductions
URL: https://generaltranslation.com/fr/docs/node/guides/local-tx.mdx
---
title: Stockage local des traductions
description: Stockez les traductions dans le bundle de votre application au lieu de les télécharger depuis un CDN
---
## Que sont les traductions locales ?
Par défaut, `gt-node` récupère les traductions depuis le CDN de General Translation à l’exécution. Avec les traductions locales, vous intégrez directement les fichiers de traduction à votre application — aucune requête externe n’est nécessaire.
**Comportement par défaut :** GT utilise le stockage sur CDN par défaut. Ne passez au stockage local que si vous avez besoin des avantages spécifiques qu’il offre.
## Arbitrages
### Avantages des traductions locales
* **Réponses plus rapides** : aucune requête réseau n’est nécessaire pour récupérer les traductions à l’exécution
* **Aucune dépendance à des services externes** : votre application fonctionne sans dépendre de la disponibilité du CDN
* **Fonctionne hors ligne** : les traductions font partie de votre artefact de déploiement
### Inconvénients des traductions locales
* **Taille du bundle accrue** : chaque paramètre régional pris en charge augmente la taille de votre déploiement
* **Redéployer pour mettre à jour** : modifier une traduction nécessite un nouveau déploiement
## Configuration
### Étape 1 : Créez une fonction de chargement
Écrivez une fonction qui charge un fichier JSON de traduction correspondant à un paramètre régional donné :
```js title="loadTranslations.js"
import { readFile } from 'fs/promises';
import path from 'path';
export default async function loadTranslations(locale) {
const filePath = path.join(process.cwd(), 'translations', `${locale}.json`);
const data = await readFile(filePath, 'utf-8');
return JSON.parse(data);
}
```
### Étape 2 : Transmettez-le à `initializeGT`
```js title="server.js"
import { initializeGT } from 'gt-node';
import loadTranslations from './loadTranslations.js';
initializeGT({
defaultLocale: 'en',
locales: ['en', 'es', 'fr', 'ja'],
projectId: process.env.GT_PROJECT_ID,
loadTranslations,
});
```
### Étape 3 : Configurer la CLI
Exécutez la commande de configuration et sélectionnez le stockage local :
```bash
npx gt configure
```
Lorsque vous y êtes invité :
* **Enregistrer sur le CDN ?** Sélectionnez "Non"
* **Répertoire des traductions :** Saisissez `./translations`
### Étape 4 : Générer les traductions
```bash
npx gt translate
```
Cette commande télécharge les fichiers de traduction dans votre répertoire `translations/`.
## Intégration au processus de build
Ajoutez la génération des traductions à votre script de build pour que les traductions soient toujours à jour :
```json title="package.json"
{
"scripts": {
"build": "npx gt translate && "
}
}
```
### Pipeline de CI/CD
```yaml title=".github/workflows/deploy.yml"
- name: Generate Translations
run: npx gt translate
- name: Build Application
run: npm run build
```
## Problèmes courants
### Fichiers de traduction manquants
Générez toujours les traductions avant le build :
```bash
# ❌ Build sans traductions
node server.js
# ✅ Générer les traductions en premier
npx gt translate && node server.js
```
### Erreurs de chemin d’accès au fichier
Assurez-vous que le chemin indiqué dans votre fonction de chargement correspond au répertoire de sortie du CLI :
```js
// ❌ Chemin incorrect
const filePath = path.join(process.cwd(), 'public', `${locale}.json`);
// ✅ Correspond au répertoire configuré
const filePath = path.join(process.cwd(), 'translations', `${locale}.json`);
```
Le stockage local convient particulièrement aux applications dont les traductions sont stables et ne nécessitent pas de mises à jour fréquentes.
## Prochaines étapes
* [Commande CLI `translate`](/docs/cli/translate) — référence sur la génération de traductions
* [Configuration CLI](/docs/cli/reference/config) — configurer le répertoire de sortie et le mode de stockage
* [Approches de traduction de chaînes](/docs/node/guides/strings) — comment traduire du contenu