Indietro

gt-react@10.8.0

Ernest McCarter avatarErnest McCarter
gt-react10.8.0feature flagsi18ntraduzione

Panoramica

In gt-react 10.8.0 abbiamo aggiunto il supporto per i feature flag tramite il campo enableI18n. Questo ti consente di disattivare l'internazionalizzazione in modo condizionale, con supporto sia per il caricamento sincrono sia per quello asincrono.


Comportamento sincrono

Quando enableI18n è impostato su false, la funzionalità i18n viene disabilitata:

  • Limitando l'elenco delle impostazioni regionali alla sola impostazione regionale predefinita
  • Impostando l'impostazione regionale dell'utente su quella predefinita
<GTProvider enableI18n={false}>
  {/* i18n disabilitato - disponibile solo l'impostazione regionale predefinita */}
</GTProvider>

Comportamento asincrono

Per i feature flag dinamici, usa enableI18nLoaded per indicare lo stato di caricamento:

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

Quando enableI18nLoaded non è undefined:

  • false: il feature flag è in fase di caricamento (usa il valore predefinito di enableI18n)
  • true: il feature flag ha completato il caricamento

Durante il caricamento, la libreria controlla il cookie generaltranslation.enable-i18n per determinare lo stato attuale. Una volta completato il caricamento, il valore esplicito di enableI18n ha la precedenza.


Considerazioni su SSG/SSR

Con SSG, il primo ciclo di rendering viene sacrificato quando il valore predefinito di enableI18n è false, poiché la generazione statica non può determinare lo stato del feature flag in runtime.

Anche SSR attualmente si comporta in modo simile, anche se prevediamo di aggiungere un supporto SSR adeguato per Next.js Pages Router nelle prossime release. Per Next.js App Router, usa invece gt-next.