extractLocalization method

String extractLocalization(
  1. dynamic data, {
  2. String? locale,
  3. String? defaultLocale,
})

Tries to localize text by given locale. Set setCustomExtractor to provide custom parsing.

Default extractor works only with locale map {'locale' : 'value'} locale - default is current locale. defaultLocale - default is locale passed into constructor.

Enable/Disable debug mode to show/hide missing localizations.

Implementation

String extractLocalization(dynamic data,
    {String? locale, String? defaultLocale}) {
  locale ??= this.locale;
  defaultLocale ??= this.defaultLocale;

  if (_mapExtractor != null) {
    return _mapExtractor!(data, locale, defaultLocale);
  }

  if (data is Map) {
    if (data.containsKey(locale)) {
      return data[locale];
    }

    if (data.containsKey(defaultLocale)) {
      return data[defaultLocale];
    }
  }

  return debug ? 'empty_{$locale} at ${data?.toString()}' : '';
}