diff --git a/src/main/java/com/imyeyu/spring/TimiSpring.java b/src/main/java/com/imyeyu/spring/TimiSpring.java index 31b7289..9b40c94 100644 --- a/src/main/java/com/imyeyu/spring/TimiSpring.java +++ b/src/main/java/com/imyeyu/spring/TimiSpring.java @@ -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 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; }