| // 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 plural_test |
| |
| import ( |
| "golang.org/x/text/feature/plural" |
| "golang.org/x/text/language" |
| "golang.org/x/text/message" |
| ) |
| |
| func ExampleSelect() { |
| // Manually set some translations. This is typically done programmatically. |
| message.Set(language.English, "%d files remaining", |
| plural.Selectf(1, "%d", |
| "=0", "done!", |
| plural.One, "one file remaining", |
| plural.Other, "%[1]d files remaining", |
| )) |
| message.Set(language.Dutch, "%d files remaining", |
| plural.Selectf(1, "%d", |
| "=0", "klaar!", |
| // One can also use a string instead of a Kind |
| "one", "nog één bestand te gaan", |
| "other", "nog %[1]d bestanden te gaan", |
| )) |
| |
| p := message.NewPrinter(language.English) |
| p.Printf("%d files remaining", 5) |
| p.Println() |
| p.Printf("%d files remaining", 1) |
| p.Println() |
| |
| p = message.NewPrinter(language.Dutch) |
| p.Printf("%d files remaining", 1) |
| p.Println() |
| p.Printf("%d files remaining", 0) |
| p.Println() |
| |
| // Output: |
| // 5 files remaining |
| // one file remaining |
| // nog één bestand te gaan |
| // klaar! |
| } |