LocalizeScope constructor

const LocalizeScope({
  1. Key? key,
  2. required AppLocalizeBase localize,
  3. required Widget builder(
    1. BuildContext context,
    2. AppLocalizeBase localize
    ),
})

Widget to detect localization changes.

Passing localize will rebuild all widgets for language changes made in AppLocalizeBase.

Place it on top of MaterialApp, etc. as shown in the example below. Also, pass appropriate values for MaterialApp.locale, MaterialApp.localizationsDelegates, MaterialApp.supportedLocales, and MaterialApp. localeResolutionCallback, respectively.

ローカライズの変更を検知するためのウィジェット。

localizeを渡すことでAppLocalizeBaseで行われた言語の変更に対してすべてのウィジェットを再ビルドします。

下記例のようにMaterialAppなどの上に置いてください。また、builderlocalizeからMaterialApp.localeMaterialApp.localizationsDelegatesMaterialApp.supportedLocalesMaterialApp.localeResolutionCallbackに対してそれぞれ適切な値を渡してください。

LocalizeScope(
  localize: AppLocalize(),
  builder: (context, localize) {
    return MaterialApp(
      locale: localize.locale,
      localizationsDelegates: localize.delegates(),
      supportedLocales: localize.supportedLocales(),
      localeResolutionCallback: localize.localeResolutionCallback(),
    );
  }
);

Implementation

const LocalizeScope({
  super.key,
  required this.localize,
  required this.builder,
});