summaryrefslogtreecommitdiff
path: root/vendor/golang.org/x/text/message/examples_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/golang.org/x/text/message/examples_test.go')
-rw-r--r--vendor/golang.org/x/text/message/examples_test.go70
1 files changed, 70 insertions, 0 deletions
diff --git a/vendor/golang.org/x/text/message/examples_test.go b/vendor/golang.org/x/text/message/examples_test.go
new file mode 100644
index 0000000..8c3dff5
--- /dev/null
+++ b/vendor/golang.org/x/text/message/examples_test.go
@@ -0,0 +1,70 @@
+// 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.
+}