diff --git a/lib/pangea/learning_settings/utils/locale_provider.dart b/lib/pangea/learning_settings/utils/locale_provider.dart index f2c2076df..f27aca747 100644 --- a/lib/pangea/learning_settings/utils/locale_provider.dart +++ b/lib/pangea/learning_settings/utils/locale_provider.dart @@ -1,18 +1,22 @@ import 'package:flutter/material.dart'; +import 'package:intl/intl.dart' as intl; + class LocaleProvider extends ChangeNotifier { Locale? _locale; Locale? get locale => _locale; void setLocale(String? value) { - if (value == null || value.isEmpty) { + final split = value?.split('_'); + if (split == null || + split.isEmpty || + !intl.DateFormat.localeExists(split[0])) { _locale = null; notifyListeners(); return; } - final split = value.split('-'); _locale = Locale(split[0], split.length > 1 ? split[1] : null); notifyListeners(); }