create static method

Future<LocalizationDelegate> create({
  1. required String fallbackLocale,
  2. required List<String> supportedLocales,
  3. String basePath = Constants.localizedAssetsPath,
  4. ITranslatePreferences? preferences,
})

Implementation

static Future<LocalizationDelegate> create(
    {required String fallbackLocale,
    required List<String> supportedLocales,
    String basePath = Constants.localizedAssetsPath,
    ITranslatePreferences? preferences}) async {
  WidgetsFlutterBinding.ensureInitialized();

  var fallback = localeFromString(fallbackLocale);
  var localesMap =
      await LocaleService.getLocalesMap(supportedLocales, basePath);
  var locales = localesMap.keys.toList();

  ConfigurationValidator.validate(fallback, locales);

  var delegate =
      LocalizationDelegate._(fallback, locales, localesMap, preferences);

  if (!await delegate._loadPreferences()) {
    await delegate._loadDeviceLocale();
  }

  return delegate;
}