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 :
- S'il détecte une traduction valide et stockée pour le contenu donné, il affichera la traduction.
- Si aucune traduction n'est trouvée, il tentera de traduire dynamiquement le contenu via l'API General Translation.
- Après la traduction, la traduction sera affichée et stockée en mémoire pour une utilisation future.
- 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 ?