# 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