Traductions locales

Comment configurer des traductions locales pour votre application Next.js

Que sont les traductions locales ?

Les traductions locales sont stockées dans le bundle de votre application, contrairement à celles qui sont récupérées depuis un CDN (Content Distribution Network).

Supposons que vous ayez ajouté la commande gtx-cli translate à votre processus CD. Cela va générer des traductions au format JSON pour votre application. L'étape finale consiste à extraire ces traductions de notre API et à les intégrer dans votre application, où elles pourront être utilisées.

Il existe deux façons de procéder :

  • Dans le bundle de votre application : Après la génération des traductions, enregistrez-les dans le bundle de votre application.
  • Dans un CDN (par défaut) : Récupérez les traductions depuis un CDN au moment de l'exécution.

Par défaut, gt-next va récupérer les traductions depuis le General Translation CDN, et lors de la traduction de votre application via notre API, les traductions seront automatiquement enregistrées sur notre CDN.

Aperçu

Ce guide vous montrera comment stocker les traductions dans le bundle de votre application Next.js, plutôt que d'utiliser un CDN externe, comme le nôtre. Cela signifie que les traductions seront intégrées dans le code de votre application et évitera la dépendance à une infrastructure externe.

Dans ce guide, nous allons vous expliquer :

Les avantages et inconvénients de l'utilisation de traductions locales.

Comment configurer des traductions locales pour votre application Next.js.


Compromis

Quels sont les avantages ?

  1. Temps de chargement plus rapides : Les traductions locales sont servies directement depuis votre application, ce qui signifie qu'elles se chargeront plus rapidement que les traductions servies depuis un CDN.

  2. Aucune dépendance à des services externes : La capacité de votre application à charger les traductions ne dépend pas de la disponibilité du CDN. Avec gt-next, si des traductions ne sont pas trouvées pour une langue donnée, l'application reviendra automatiquement à la langue par défaut et affichera le contenu original.

Quels sont les inconvénients ?

  1. Taille du bundle augmentée : Les traductions locales augmenteront la taille du bundle de votre application puisqu'elles seront servies en même temps que votre application. Cela signifie que votre application peut mettre plus de temps à se charger côté client.

  2. Gestion du contenu : Si vous souhaitez modifier une traduction (par exemple, si vous n'aimez pas la façon dont votre contenu a été formulé dans une autre langue), vous devez redéployer votre application avec la nouvelle traduction à chaque fois que vous effectuez des modifications.


Configuration

Prérequis

Assurez-vous d'avoir déjà configuré votre application Next.js avec GT. Si ce n'est pas le cas, veuillez d'abord compléter le Guide de démarrage rapide.

Étapes

Ajoutez un fichier loadTranslations.[js|ts] sous ./src avec le contenu suivant :

src/loadTranslations.ts
export default async function loadTranslations(locale: string) {
  const t = await import(`../public/_gt/${locale}.json`);
  return t.default;
}
src/loadTranslations.js
export default async function loadTranslations(locale) {
  const t = await import(`../public/_gt/${locale}.json`);
  return t.default;
}

Exécutez la commande suivante dans la racine de votre projet, et lorsqu'on vous demande si vous voulez sauvegarder les traductions sur le CDN GT, sélectionnez l'option "No".

npx gtx-cli configure

Lorsqu'on vous demande le chemin vers le répertoire des traductions, entrez ./public/_gt.

Alternativement, vous pouvez configurer manuellement le fichier gt.config.json pour utiliser les traductions locales. Consultez la documentation Configuration CLI pour plus d'informations.

Maintenant, lorsque vous exécutez la commande de traduction, les traductions seront automatiquement téléchargées et incluses dans votre base de code.

npx gtx-cli translate

La fonction loadTranslations sera alors utilisée pour charger ces traductions dans votre application.

C'est tout ! Votre application ne chargera maintenant que les traductions de vos fichiers locaux.

Personnalisation avancée

Vous pouvez personnaliser davantage la fonction loadTranslations pour charger les traductions depuis d'autres sources, comme votre base de données ou votre propre CDN. Consultez la documentation loadTranslations() pour plus d'informations.


Notes

  • Les traductions locales sont une alternative à la récupération des traductions depuis un CDN.
  • Il existe des avantages et des inconvénients à utiliser des traductions locales, qui sont abordés dans la section Compromis.

Prochaines étapes

  • Consultez loadTranslations() pour plus d'informations sur la création d'un chargeur de traductions personnalisé.

Comment trouvez-vous ce guide ?