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: 英文
func AcceptLanguage(c *gin.Context) string {
preferredLanguage := language.English
acceptLanguage := "en_US"
// Query请求查询
if v, ok := c.GetQuery("lang"); ok && v != "" {
acceptLanguage = v
}
// Header请求头
if v := c.GetHeader("Accept-Language"); v != "" {
acceptLanguage = v
}
tags, _, _ := language.ParseAcceptLanguage(acceptLanguage)
if v, ok := c.GetQuery("language"); ok && v != "" {
tags, _, _ := language.ParseAcceptLanguage(v)
if len(tags) > 0 {
preferredLanguage = tags[0]
}
}
// Header请求头
if v := c.GetHeader("Accept-Language"); v != "" {
tags, _, _ := language.ParseAcceptLanguage(v)
if len(tags) > 0 {
preferredLanguage = tags[0]
}
}
// 只取前缀
lang := preferredLanguage.String()
arr := strings.Split(lang, "-")