Назад

gt-react@10.8.0

Ernest McCarter avatarErnest McCarter
gt-react10.8.0фича-флагиi18nперевод

Обзор

В gt-react 10.8.0 мы добавили поддержку фича-флага через поле enableI18n. Это позволяет при необходимости отключать интернационализацию и поддерживает как синхронные, так и асинхронные сценарии загрузки.


Синхронное поведение

Когда enableI18n установлено в false, функциональность i18n отключается следующим образом:

  • Список локалей ограничивается только локалью по умолчанию
  • Локаль пользователя устанавливается в значение локали по умолчанию
<GTProvider enableI18n={false}>
  {/* i18n отключён — доступна только локаль по умолчанию */}
</GTProvider>

Асинхронная работа

Для динамических фич-флагов используйте enableI18nLoaded, чтобы указать состояние загрузки:

<GTProvider 
  enableI18n={featureFlag} 
  enableI18nLoaded={isLoaded}
>
  {/* Содержимое */}
</GTProvider>

Когда enableI18nLoaded не равно undefined:

  • false: Фича-флаг загружается (используется значение enableI18n по умолчанию)
  • true: Фича-флаг завершил загрузку

Во время загрузки библиотека проверяет cookie generaltranslation.enable-i18n, чтобы определить текущее состояние. После завершения загрузки приоритет отдается явному значению enableI18n.


Особенности SSG/SSR

При SSG первый цикл рендеринга пропускается, если значение enableI18n по умолчанию — false, поскольку при статической генерации нельзя определить состояние фича-флага во время выполнения.

Сейчас SSR ведёт себя аналогично, хотя в будущих релизах мы планируем добавить полноценную поддержку SSR для Next.js Pages Router. Для Next.js App Router используйте gt-next.