fix TimiSpring.getLanguage fail on Chrome

This commit is contained in:
Timi
2025-11-07 16:55:59 +08:00
parent 3eb6bd7df5
commit 3283c678db

View File

@ -20,6 +20,7 @@ import org.springframework.web.context.request.ServletRequestAttributes;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Locale;
/**
@ -351,14 +352,17 @@ public class TimiSpring {
public static Language getLanguage() {
String name = getRequestArg("lang");
if (TimiJava.isEmpty(name)) {
name = getHeader("Accept-Language");
List<Locale.LanguageRange> rangeList = Locale.LanguageRange.parse(getHeader("Accept-Language"));
for (Locale.LanguageRange item : rangeList) {
if (item.getRange().contains("-")) {
name = item.getRange();
break;
}
}
}
if (TimiJava.isNotEmpty(name)) {
name = name.replace("-", "_");
}
if (TimiJava.isEmpty(name)) {
name = getLocale().toString();
}
if (TimiJava.isEmpty(name)) { // use for not support
return Language.zh_CN;
}