in locales-common/src/main/java/com/spotify/i18n/locales/common/impl/LocaleAffinityCalculatorBaseImpl.java [106:120]
private int getBestDistance(@Nullable final String languageTag) {
return LanguageTagUtils.parse(languageTag)
.map(LocaleAffinityCalculatorBaseImpl::getMaximizedLanguageScriptRegion)
.map(
maxParsed ->
againstLocales().stream()
.map(LocaleAffinityCalculatorBaseImpl::getMaximizedLanguageScriptRegion)
.map(
maxSupported ->
getDistanceBetweenInputAndSupported(maxParsed, maxSupported))
.map(Math::abs)
.min(Integer::compare)
.orElse(Integer.MAX_VALUE))
.orElse(Integer.MAX_VALUE);
}