// 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! }