resolveLocaleList method
Resolves the best matching locale from a list of preferredLocales
(e.g. the device locales sorted by preference).
Implementation
E resolveLocaleList(List<Locale> preferredLocales) {
for (final locale in preferredLocales) {
final tag = locale.toLanguageTag();
final resolved = parse(tag);
if (resolved != baseLocale) {
// a non-base locale is always an actual match
return resolved;
}
if (locale.languageCode == baseLocale.languageCode) {
// the base locale was matched on purpose (same language)
return resolved;
}
}
return baseLocale;
}