localeResolutionCallback static method
Get the best matching locale for a given locale
Implementation
static Locale? localeResolutionCallback(
Locale? locale,
Iterable<Locale> supportedLocales,
) {
if (locale == null) {
return supportedLocales.first;
}
// Check if the exact locale is supported
for (final supportedLocale in supportedLocales) {
if (supportedLocale.languageCode == locale.languageCode &&
supportedLocale.countryCode == locale.countryCode) {
return supportedLocale;
}
}
// Check if the language is supported (ignore country)
for (final supportedLocale in supportedLocales) {
if (supportedLocale.languageCode == locale.languageCode) {
return supportedLocale;
}
}
// Return default locale (English)
return supportedLocales.first;
}