refactor(utils): 重构 RequestLocaleUtils 语言标签解析逻辑
This commit is contained in:
@@ -19,15 +19,13 @@ public final class RequestLocaleUtils {
|
|||||||
return defaultLanguage();
|
return defaultLanguage();
|
||||||
}
|
}
|
||||||
|
|
||||||
int separatorIndex = preferredLanguage.indexOf('-');
|
String normalizedTag = preferredLanguage.replace('_', '-');
|
||||||
if (separatorIndex < 0) {
|
Locale locale = Locale.forLanguageTag(normalizedTag);
|
||||||
separatorIndex = preferredLanguage.indexOf('_');
|
String resolvedTag = locale.toLanguageTag();
|
||||||
|
if (!StringUtils.hasText(resolvedTag) || "und".equalsIgnoreCase(resolvedTag)) {
|
||||||
|
return normalizedTag;
|
||||||
}
|
}
|
||||||
|
return resolvedTag;
|
||||||
String language = separatorIndex > 0
|
|
||||||
? preferredLanguage.substring(0, separatorIndex)
|
|
||||||
: preferredLanguage;
|
|
||||||
return language.toLowerCase(Locale.ROOT);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String defaultLanguage() {
|
private static String defaultLanguage() {
|
||||||
|
|||||||
Reference in New Issue
Block a user