pkg.go 672 B

12345678910111213141516171819202122232425
  1. // Copyright 2017 The Go Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style
  3. // license that can be found in the LICENSE file.
  4. package pkg
  5. import (
  6. "net/http"
  7. "golang.org/x/text/language"
  8. "golang.org/x/text/message"
  9. )
  10. var matcher = language.NewMatcher(message.DefaultCatalog.Languages())
  11. func Generize(w http.ResponseWriter, r *http.Request) {
  12. lang, _ := r.Cookie("lang")
  13. accept := r.Header.Get("Accept-Language")
  14. tag := message.MatchLanguage(lang.String(), accept)
  15. p := message.NewPrinter(tag)
  16. p.Fprintf(w, "Hello %s!\n", r.Header.Get("From"))
  17. p.Fprintf(w, "Do you like your browser (%s)?\n", r.Header.Get("User-Agent"))
  18. }