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 の場合、静的生成では実行時の feature flag の状態を判定できないため、最初のレンダーサイクルは失われます。
SSR も現在は同様の挙動ですが、今後のリリースで Next.js Pages Router 向けに適切な SSR サポートを追加する予定です。Next.js App Router では、代わりに gt-next を使用してください。