gt-react@10.8.0
Vue d’ensemble
Dans gt-react 10.8.0, nous avons ajouté la prise en charge des feature flags via le champ enableI18n. Cela vous permet de désactiver l’internationalisation de manière conditionnelle, avec prise en charge des modèles de chargement synchrones et asynchrones.
Comportement synchrone
Quand enableI18n est défini sur false, la fonctionnalité i18n est désactivée en :
- Limitant la liste des locales à la seule locale par défaut
- Définissant la locale de l’utilisateur sur la locale par défaut
<GTProvider enableI18n={false}>
{/* i18n désactivée - seule la locale par défaut est disponible */}
</GTProvider>Comportement asynchrone
Pour les feature flags dynamiques, utilisez enableI18nLoaded pour indiquer l’état de chargement :
<GTProvider
enableI18n={featureFlag}
enableI18nLoaded={isLoaded}
>
{/* Contenu */}
</GTProvider>Lorsque enableI18nLoaded n’est pas undefined :
false: le feature flag est en cours de chargement (utilise la valeur par défaut deenableI18n)true: le feature flag a terminé son chargement
Pendant le chargement, la bibliothèque vérifie le cookie generaltranslation.enable-i18n pour déterminer l’état actuel. Une fois le chargement terminé, la valeur explicite de enableI18n est prioritaire.
Considérations SSG/SSR
Avec SSG, le premier cycle de rendu est sacrifié lorsque la valeur par défaut de enableI18n est false, car la génération statique ne peut pas déterminer l’état du feature flag au moment de l’exécution.
SSR se comporte actuellement de manière similaire, mais nous prévoyons d’ajouter une prise en charge SSR complète pour le Pages Router de Next.js dans de futures versions. Pour l’App Router de Next.js, utilisez plutôt gt-next.