package main import ( "fmt" "log" "golang.org/x/text/feature/plural" "golang.org/x/text/language" "golang.org/x/text/message" ) const ( Problem = "You have %d problem.\n" ) func init() { message.Set(language.French, Problem, plural.Selectf(1, "%d", "=0", "Vous n'avez aucun problème\n", "=1", "Vous avez un problème\n", "other", "Vous avez %d problèmes\n", ), ) message.Set(language.AmericanEnglish, Problem, plural.Selectf(1, "%d", "=0", "You do not have a problem\n", "=1", "You have a problem\n", "=2", "You have a couple of problems\n", "other", "You have %d problems\n", ), ) } func main() { french, err := language.Parse("fr_FR") if err != nil { log.Fatalf("parsing fr_FR= %v", err) } for _, lang := range []language.Tag{french, language.AmericanEnglish} { fmt.Printf("Language: %v\n", lang) p := message.NewPrinter(lang) for i := 0; i < 4; i++ { fmt.Print("\t") p.Printf(Problem, i) } } }