in locales-common/src/main/java/com/spotify/i18n/locales/common/impl/LocalesResolverBaseImpl.java [314:332]
private Optional<LanguageRange> getLanguageRangeWithMitigatedUnknownLanguageCode(
final LanguageRange languageRange) {
String languageCode =
Optional.of(languageRange.getRange())
.filter(lr -> lr.contains("-"))
.map(lr -> lr.substring(0, lr.indexOf("-")))
.orElse(languageRange.getRange());
if (!"*".equals(languageCode) && !AVAILABLE_UNICODE_LANGUAGE_CODES.contains(languageCode)) {
return Optional.ofNullable(
AVAILABLE_UNICODE_LOCALES_MATCHER.getBestMatch(languageRange.getRange()))
.map(
bestMatchingLocale ->
new LanguageRange(
bestMatchingLocale.toLanguageTag().toLowerCase(), languageRange.getWeight()));
} else {
return Optional.of(languageRange);
}
}