mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
* WIP: add k8s grouper - This shares a great deal of behaviour with allGrouper. Once it's tested, refactor that to share as much as possible - Glide hell. Checked in the yaml and lock files but a glide i -v will be required to bring vendor/ up-to-date. Will address once this is ready. * Update README. Make the watch tracking work. (To follow: add the junk that was pulled in via the glide update.) * Vendor updates. * go fmt * Use the allGrouper with a k8s-backed DBStore instead. This is much tidier :-) * Fix up go vet
43 lines
1.0 KiB
Go
43 lines
1.0 KiB
Go
// 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 (
|
||
"net/http"
|
||
|
||
"golang.org/x/text/language"
|
||
"golang.org/x/text/message"
|
||
)
|
||
|
||
func Example_http() {
|
||
// languages supported by this service:
|
||
matcher := language.NewMatcher(message.DefaultCatalog.Languages())
|
||
|
||
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
|
||
lang, _ := r.Cookie("lang")
|
||
accept := r.Header.Get("Accept-Language")
|
||
fallback := "en"
|
||
tag, _ := language.MatchStrings(matcher, 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 ১,২৩,৪৫৬.৭৮
|
||
}
|