Retour

gt-react@10.8.0

Ernest McCarter avatarErnest McCarter
gt-react10.8.0feature flagsi18ntraduction

Vue d’ensemble

Dans gt-react 10.8.0, nous avons ajouté la prise en charge des flags de fonctionnalité via le champ enableI18n. Cela vous permet de désactiver l’internationalisation de manière conditionnelle, aussi bien avec des modèles de chargement synchrones qu’asynchrones.


Comportement synchrone

Lorsque enableI18n est défini à false, la fonctionnalité i18n est désactivée comme suit :

  • en limitant la liste des paramètres régionaux au seul paramètre régional par défaut
  • en définissant le paramètre régional de l’utilisateur sur le paramètre régional par défaut
<GTProvider enableI18n={false}>
  {/* i18n désactivé - seul le paramètre régional par défaut est disponible */}
</GTProvider>

Comportement asynchrone

Pour les flags de fonctionnalité dynamiques, utilisez enableI18nLoaded pour indiquer l’état de chargement :

<GTProvider 
  enableI18n={featureFlag} 
  enableI18nLoaded={isLoaded}
>
  {/* Contenu */}
</GTProvider>

Lorsque enableI18nLoaded n’est pas undefined :

  • false : le flag de fonctionnalité est en cours de chargement (utilise la valeur enableI18n par défaut)
  • true : le flag de fonctionnalité a fini de se charger

Pendant le chargement, la bibliothèque vérifie le cookie generaltranslation.enable-i18n pour déterminer l’état actuel. Une fois chargé, la valeur explicite enableI18n prévaut.


Considérations relatives au SSG/SSR

Avec le SSG, le premier cycle de rendu est perdu lorsque la valeur par défaut de enableI18n est false, car la génération statique ne peut pas déterminer l’état du flag de fonctionnalité à l’exécution.

Le SSR se comporte actuellement de façon similaire, même si nous prévoyons d’ajouter une véritable prise en charge du SSR pour le Pages Router de Next.js dans de prochaines versions. Pour le App Router de Next.js, utilisez gt-next à la place.