setLocale method
- Locale locale
Sets a new language and saves it in SharedPreferences
It ensures that language is either 'en' or 'es' and after updating _locale, notifyListeners is called to update depending widgets
Implementation
Future<void> setLocale(Locale locale) async {
if (!['en', 'es'].contains(locale.languageCode)) return;
_locale = locale;
notifyListeners();
final prefs = await SharedPreferences.getInstance();
await prefs.setString('language', locale.languageCode);
}