gt-react@10.8.0
概要
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: 機能フラグの読み込みは完了しています
読み込み中は、ライブラリが generaltranslation.enable-i18n クッキーを確認して現在の状態を判定します。読み込み完了後は、明示的に指定された enableI18n の値が優先されます。
SSG/SSR に関する考慮事項
SSG では、デフォルトの enableI18n の値が false の場合、静的生成では実行時の機能フラグの状態を判別できないため、最初のレンダリングが犠牲になります。
現在の SSR も同様の挙動ですが、今後のリリースで Next.js Pages Router 向けの適切な SSR サポートを追加する予定です。Next.js App Router では、代わりに gt-next を使用してください。