2018-08-02T00:46:56Z||2018-08-02T00:46:56Z
本文适用于Go 1.10
根据GoDoc文档: https://godoc.org/golang.org/x/text/language
首先引入package:
import "golang.org/x/text/language"
初始化matcher对象:
var matcher = language.NewMatcher([]language.Tag{
language.English, // The first language is used as fallback.
language.MustParse("en-AU"),
language.Danish,
language.Chinese,
})
然后在HTTP Handler中判断当前匹配的语言:
handler(w http.ResponseWriter, r *http.Request) {
lang, _ := r.Cookie("lang")
accept := r.Header.Get("Accept-Language")
tag, _ := language.MatchStrings(matcher, lang.String(), accept)
// tag should now be used for the initialization of any
// locale-specific service.
}