localized method
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);
}