戻る

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 の場合、静的生成では実行時の機能フラグの状態を判別できないため、最初のレンダリングが犠牲になります。

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