golang.org/x/text@v0.14.0/message/examples_test.go (about) 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 5 package message_test 6 7 import ( 8 "fmt" 9 "net/http" 10 11 "golang.org/x/text/language" 12 "golang.org/x/text/message" 13 ) 14 15 func Example_http() { 16 // languages supported by this service: 17 http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { 18 lang, _ := r.Cookie("lang") 19 accept := r.Header.Get("Accept-Language") 20 fallback := "en" 21 tag := message.MatchLanguage(lang.String(), accept, fallback) 22 23 p := message.NewPrinter(tag) 24 25 p.Fprintln(w, "User language is", tag) 26 }) 27 } 28 29 func ExamplePrinter_numbers() { 30 for _, lang := range []string{"en", "de", "de-CH", "fr", "bn"} { 31 p := message.NewPrinter(language.Make(lang)) 32 p.Printf("%-6s %g\n", lang, 123456.78) 33 } 34 35 // Output: 36 // en 123,456.78 37 // de 123.456,78 38 // de-CH 123’456.78 39 // fr 123 456,78 40 // bn ১,২৩,৪৫৬.৭৮ 41 } 42 43 func ExamplePrinter_mVerb() { 44 message.SetString(language.Dutch, "You have chosen to play %m.", "U heeft ervoor gekozen om %m te spelen.") 45 message.SetString(language.Dutch, "basketball", "basketbal") 46 message.SetString(language.Dutch, "hockey", "ijshockey") 47 message.SetString(language.Dutch, "soccer", "voetbal") 48 message.SetString(language.BritishEnglish, "soccer", "football") 49 50 for _, sport := range []string{"soccer", "basketball", "hockey"} { 51 for _, lang := range []string{"en", "en-GB", "nl"} { 52 p := message.NewPrinter(language.Make(lang)) 53 fmt.Printf("%-6s %s\n", lang, p.Sprintf("You have chosen to play %m.", sport)) 54 } 55 fmt.Println() 56 } 57 58 // Output: 59 // en You have chosen to play soccer. 60 // en-GB You have chosen to play football. 61 // nl U heeft ervoor gekozen om voetbal te spelen. 62 // 63 // en You have chosen to play basketball. 64 // en-GB You have chosen to play basketball. 65 // nl U heeft ervoor gekozen om basketbal te spelen. 66 // 67 // en You have chosen to play hockey. 68 // en-GB You have chosen to play hockey. 69 // nl U heeft ervoor gekozen om ijshockey te spelen. 70 }