| // Copyright 2017 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package message_test |
| |
| import ( |
| "fmt" |
| "net/http" |
| |
| "golang.org/x/text/language" |
| "golang.org/x/text/message" |
| ) |
| |
| func Example_http() { |
| // languages supported by this service: |
| http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { |
| lang, _ := r.Cookie("lang") |
| accept := r.Header.Get("Accept-Language") |
| fallback := "en" |
| tag := message.MatchLanguage(lang.String(), accept, fallback) |
| |
| p := message.NewPrinter(tag) |
| |
| p.Fprintln(w, "User language is", tag) |
| }) |
| } |
| |
| func ExamplePrinter_numbers() { |
| for _, lang := range []string{"en", "de", "de-CH", "fr", "bn"} { |
| p := message.NewPrinter(language.Make(lang)) |
| p.Printf("%-6s %g\n", lang, 123456.78) |
| } |
| |
| // Output: |
| // en 123,456.78 |
| // de 123.456,78 |
| // de-CH 123’456.78 |
| // fr 123 456,78 |
| // bn ১,২৩,৪৫৬.৭৮ |
| } |
| |
| func ExamplePrinter_mVerb() { |
| message.SetString(language.Dutch, "You have chosen to play %m.", "U heeft ervoor gekozen om %m te spelen.") |
| message.SetString(language.Dutch, "basketball", "basketbal") |
| message.SetString(language.Dutch, "hockey", "ijshockey") |
| message.SetString(language.Dutch, "soccer", "voetbal") |
| message.SetString(language.BritishEnglish, "soccer", "football") |
| |
| for _, sport := range []string{"soccer", "basketball", "hockey"} { |
| for _, lang := range []string{"en", "en-GB", "nl"} { |
| p := message.NewPrinter(language.Make(lang)) |
| fmt.Printf("%-6s %s\n", lang, p.Sprintf("You have chosen to play %m.", sport)) |
| } |
| fmt.Println() |
| } |
| |
| // Output: |
| // en You have chosen to play soccer. |
| // en-GB You have chosen to play football. |
| // nl U heeft ervoor gekozen om voetbal te spelen. |
| // |
| // en You have chosen to play basketball. |
| // en-GB You have chosen to play basketball. |
| // nl U heeft ervoor gekozen om basketbal te spelen. |
| // |
| // en You have chosen to play hockey. |
| // en-GB You have chosen to play hockey. |
| // nl U heeft ervoor gekozen om ijshockey te spelen. |
| } |