fix: 请求解析language语言头

This commit is contained in:
TsMask
2024-01-25 11:15:28 +08:00
parent ea8b197e8b
commit 557a4d23c7

View File

@@ -104,19 +104,22 @@ func UaOsBrowser(c *gin.Context) (string, string) {
// AcceptLanguage 解析客户端接收语言 zh中文 en: 英文 // AcceptLanguage 解析客户端接收语言 zh中文 en: 英文
func AcceptLanguage(c *gin.Context) string { func AcceptLanguage(c *gin.Context) string {
preferredLanguage := language.English preferredLanguage := language.English
acceptLanguage := "en_US"
// Query请求查询 // Query请求查询
if v, ok := c.GetQuery("lang"); ok && v != "" { if v, ok := c.GetQuery("language"); ok && v != "" {
acceptLanguage = v tags, _, _ := language.ParseAcceptLanguage(v)
if len(tags) > 0 {
preferredLanguage = tags[0]
}
} }
// Header请求头 // Header请求头
if v := c.GetHeader("Accept-Language"); v != "" { if v := c.GetHeader("Accept-Language"); v != "" {
acceptLanguage = v tags, _, _ := language.ParseAcceptLanguage(v)
} if len(tags) > 0 {
tags, _, _ := language.ParseAcceptLanguage(acceptLanguage) preferredLanguage = tags[0]
if len(tags) > 0 { }
preferredLanguage = tags[0]
} }
// 只取前缀 // 只取前缀
lang := preferredLanguage.String() lang := preferredLanguage.String()
arr := strings.Split(lang, "-") arr := strings.Split(lang, "-")