Production vs Développement

Différences entre les environnements de production et de développement

Aperçu

gt-next se comporte différemment selon l'environnement dans lequel votre application Next.js s'exécute.

Il détecte l'environnement en vérifiant la variable d'environnement NODE_ENV.

Comportement en production

Variables d'environnement

En production, gt-next lira uniquement les variables d'environnement GT_PROJECT_ID et GT_API_KEY.

La clé API doit être une clé API de production, commençant par gtx-api-.

Si vous utilisez une clé API de développement, gt-next générera une erreur.

Comportement de chargement des traductions

En production, gt-next tentera de charger les traductions depuis le CDN General Translation, par défaut.

Si vous avez configuré un comportement de chargement des traductions personnalisé, comme des traductions locales, via la fonction loadTranslations, gt-next utilisera celui-ci à la place.

Le rechargement à chaud des traductions est désactivé car il s'agit de la production.

La traduction à la demande pour le contenu dynamique utilisant le composant <Tx> ou la fonction tx() est activée, mais uniquement dans les composants serveur.

Comportement en développement

Variables d'environnement

gt-next acceptera les variables d'environnement GT_PROJECT_ID et GT_API_KEY.

La clé API peut être soit une clé API de production, commençant par gtx-api-, soit une clé API de développement, commençant par gtx-dev-.

Si une clé API de production est fournie en développement, gt-next se comportera comme si vous étiez en production. Cela signifie que le rechargement à chaud des traductions sera désactivé, et les composants sans traductions afficheront le contenu original.

Comportement de chargement des traductions

En développement, gt-next tentera d'abord de charger les traductions de la même manière qu'en production. Ces traductions sont chargées en mémoire.

Lors du rendu d'un composant (qui utilise useGT(), <T>, ou useDict()) dans une langue différente de la langue par défaut, gt-next effectuera les actions suivantes :

  1. S'il détecte une traduction valide et stockée pour le contenu donné, il affichera la traduction.
  2. Si aucune traduction n'est trouvée, il tentera de traduire dynamiquement le contenu via l'API General Translation.
  3. Après la traduction, la traduction sera affichée et stockée en mémoire pour une utilisation future.
  4. Si la traduction expire, il reviendra au contenu original et l'affichera.

Notre API met également en cache en interne les traductions de développement pour une courte période, donc si la même traduction est demandée à nouveau, elle sera servie depuis le cache.

Ces traductions sont isolées au niveau du projet, elles ne seront donc pas mélangées avec les traductions d'autres projets. De plus, le cache est unique aux sessions de développement, donc les traductions en cache ne seront pas utilisées en production.

gt-next détectera les modifications apportées aux composants qui utilisent useGT(), <T>, ou useDict() et traduira dynamiquement le contenu modifié via notre API.

Clés API de production vs de développement

Pour aider à distinguer le comportement de production et de développement de gt-next, nous avons le concept de "Clés API de production" et de "Clés API de développement".

Clés API de production

Les clés API de production sont des clés API commençant par gtx-api-.

Lorsqu'une clé API de production est fournie, gt-next se comportera comme décrit dans la section Comportement en production.

Cela signifie que si vous exécutez votre application Next.js en mode développement et que vous fournissez une clé API de production, gt-next se comportera comme si vous étiez en production. Le rechargement à chaud des traductions sera désactivé, et les composants sans traduction afficheront le contenu original.

En dehors de ce comportement, gt-next n'utilisera pas la clé API de production d'une autre manière.

L'outil CLI lit la variable d'environnement GT_API_KEY et n'accepte que les clés API de production.

L'outil CLI appliquera la facturation et la limitation de débit en utilisant la catégorie "production".

Clés API de développement

Les clés API de développement sont des clés API commençant par gtx-dev-.

Lorsqu'une clé API de développement est fournie, gt-next se comportera comme décrit dans la section Comportement en développement.

Lors de l'utilisation d'une clé API de développement, la facturation et la limitation de débit seront appliquées en utilisant la catégorie "développement".

Les traductions créées avec une clé API de développement ne seront pas stockées et ne seront pas disponibles pour une utilisation en production.

Le but des traductions de développement est de vous permettre de tester votre application avant de la déployer en production.

Comment trouvez-vous ce guide ?