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