localized method

PaywallLocalizedContent<T> localized(
  1. Locale locale
)

Implementation

PaywallLocalizedContent<T> localized(Locale locale) {
  T? resolved = values[locale.languageCode];
  if (resolved == null && InAppPurchaser.iOrNull?.configDelegate != null) {
    final delegate = InAppPurchaser.i.configDelegate!;
    Object? translate(Object? e) {
      if (e is String) return delegate.localize(locale, e);
      if (e is Map) return e.map((k, v) => MapEntry(k, translate(v)));
      if (e is List) return e.map(translate).toList();
      return e;
    }

    final translated = translate(value ?? values['en']);
    if (translated is T) resolved = translated;
  }
  return copyWith(value: resolved);
}