From 3283c678dbe795e3b91d577233e08891a6bcb809 Mon Sep 17 00:00:00 2001 From: Timi Date: Fri, 7 Nov 2025 16:55:59 +0800 Subject: [PATCH] fix TimiSpring.getLanguage fail on Chrome --- src/main/java/com/imyeyu/spring/TimiSpring.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) 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; }