Atrás

gt-react@10.8.0

Ernest McCarter avatarErnest McCarter
gt-react10.8.0feature flagsi18ntranslation

Descripción general

En gt-react 10.8.0, hemos añadido compatibilidad con feature flags mediante el campo enableI18n. Esto te permite desactivar condicionalmente la internacionalización, con soporte tanto para patrones de carga síncronos como asíncronos.


Comportamiento sincrónico

Cuando enableI18n se establece en false, la funcionalidad de i18n se desactiva:

  • Configurando la lista de locales para que solo incluya el locale predeterminado
  • Configurando el locale del usuario en el locale predeterminado
<GTProvider enableI18n={false}>
  {/* i18n deshabilitado - solo está disponible el idioma predeterminado */}
</GTProvider>

Comportamiento asíncrono

Para los feature flags dinámicos, usa enableI18nLoaded para indicar el estado de carga:

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

Cuando enableI18nLoaded no es undefined:

  • false: El feature flag se está cargando (usa el valor predeterminado de enableI18n)
  • true: El feature flag ha terminado de cargarse

Durante la carga, la biblioteca comprueba la cookie generaltranslation.enable-i18n para determinar el estado actual. Una vez cargado, el valor explícito de enableI18n tiene prioridad.


Consideraciones sobre SSG/SSR

Con SSG, se sacrifica el primer ciclo de renderizado cuando el valor predeterminado de enableI18n es false, ya que la generación estática no puede determinar el estado de la feature flag en tiempo de ejecución.

SSR actualmente se comporta de forma similar, aunque planeamos agregar compatibilidad adecuada con SSR para Next.js Pages Router en próximas versiones. Para Next.js App Router, usa gt-next en su lugar.