resolveLocale function
Implementation
Locale resolveLocale({
required List<Locale> supportedLocales,
required List<Locale> preferredLocales,
}) {
for (final preferred in preferredLocales) {
for (final supported in supportedLocales) {
final langMatched = preferred.languageCode == supported.languageCode;
final countryMatched = preferred.countryCode == supported.countryCode;
if (langMatched && countryMatched) {
return supported;
}
}
}
for (final preferred in preferredLocales) {
for (final supported in supportedLocales) {
final langMatched = preferred.languageCode == supported.languageCode;
if (langMatched) {
return supported;
}
}
}
return supportedLocales.first;
}