戻る

gt-react@10.8.0

Ernest McCarter avatarErnest McCarter
gt-react10.8.0feature flagsi18ntranslation

概要

gt-react 10.8.0 では、enableI18n フィールドを通じてフィーチャーフラグのサポートを追加しました。これにより、同期および非同期の両方のロードパターンに対応しながら、国際化を条件付きで無効化できるようになります。


同期的な動作

enableI18nfalse に設定されている場合、i18n 機能は次のように無効化されます。

  • ロケール一覧をデフォルトロケールのみになるように設定する
  • ユーザーのロケールをデフォルトロケールに設定する
<GTProvider enableI18n={false}>
  {/* i18n無効 - デフォルトロケールのみ使用可能 */}
</GTProvider>

非同期動作

動的なフィーチャーフラグでは、読み込み状態を示すために enableI18nLoaded を使用します。

<GTProvider 
  enableI18n={featureFlag} 
  enableI18nLoaded={isLoaded}
>
  {/* コンテンツ */}
</GTProvider>

enableI18nLoadedundefined ではない場合:

  • false: フラグを読み込み中(デフォルトの enableI18n の値を使用)
  • true: フラグの読み込みが完了

読み込み中は、ライブラリが generaltranslation.enable-i18n クッキーを確認して現在の状態を判定します。読み込み完了後は、明示的に指定された enableI18n の値が優先されます。


SSG/SSR に関する考慮事項

SSG では、デフォルトの enableI18n の値が false の場合、静的生成では実行時の feature flag の状態を判定できないため、最初のレンダーサイクルは失われます。

SSR も現在は同様の挙動ですが、今後のリリースで Next.js Pages Router 向けに適切な SSR サポートを追加する予定です。Next.js App Router では、代わりに gt-next を使用してください。