Production vs Développement
Différences entre les environnements de production et de développement
Aperçu
gt-react
se comporte différemment selon l'environnement dans lequel votre application React 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, la seule variable d'environnement acceptée est GT_PROJECT_ID
(ou une version préfixée de celle-ci, comme NEXT_PUBLIC_GT_PROJECT_ID
).
Si une clé API est fournie comme variable d'environnement, gt-react
générera une erreur. Cela permet d'éviter que les clés API ne soient exposées au client.
Comportement de Chargement des Traductions
En production, le fournisseur gt-react
tentera, par défaut, de charger les traductions depuis le CDN de General Translation.
Si vous avez configuré un comportement de chargement de traductions personnalisé, comme des traductions locales, via la fonction loadTranslations
, gt-react
utilisera cette configuration à la place.
Le rechargement à chaud des traductions est désactivé puisqu'il s'agit de l'environnement de production.
Comportement en développement
Variables d'environnement
Comme le développement est local et n'est pas exposé aux utilisateurs étrangers, gt-react
acceptera toutes les variables d'environnement de General Translation, même si elles sont préfixées par NEXT_PUBLIC_
, VITE_
, (ou similaire).
Comportement de chargement des traductions
En développement, le fournisseur gt-react
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 celle par défaut, le fournisseur gt-react
fera ce qui suit :
- 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.
Notre API met également en cache les traductions de développement en interne pendant 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 des traductions d'autres projets. De plus, le cache est unique aux sessions de développement, donc les traductions mises en cache ne seront pas utilisées en production.
gt-react
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 Développement
Pour aider à distinguer entre le comportement en production et en développement de gt-react
, nous avons le concept de "Clés API de Production" et "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-react
se comportera comme décrit dans la section Comportement en Production.
Cela signifie que si vous exécutez votre application React en mode développement, et que vous fournissez une clé API de Production, gt-react
se comportera comme si vous étiez en production.
Le rechargement à chaud des traductions sera désactivé, et les composants sans traductions afficheront le contenu original.
En dehors de ce comportement, gt-react
n'utilisera pas la clé API de Production de quelque manière que ce soit.
La raison pour laquelle nous vous demandons de créer une clé API de production distincte lors du déploiement en production est que l'outil CLI n'accède qu'aux clés API de Production.
L'outil CLI appliquera la facturation et les limites de taux 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-react
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 les limites de taux 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.
L'objectif 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 ?