03interpolation.go 702 B

123456789101112131415161718192021222324252627282930313233343536
  1. package main
  2. import (
  3. "fmt"
  4. "golang.org/x/text/feature/plural"
  5. "golang.org/x/text/language"
  6. "golang.org/x/text/message"
  7. "golang.org/x/text/message/catalog"
  8. )
  9. const (
  10. Lateness = "You are %d minute(s) late\n"
  11. )
  12. func init() {
  13. message.Set(language.French, Lateness,
  14. catalog.Var("minutes", plural.Selectf(1, "%d",
  15. "=1", "minute",
  16. "other", "minutes",
  17. )),
  18. catalog.String("Vous êtes en retard de %[1]d ${minutes}\n"),
  19. )
  20. }
  21. func main() {
  22. for _, lang := range []language.Tag{language.French, language.AmericanEnglish} {
  23. fmt.Printf("Language: %v\n", lang)
  24. p := message.NewPrinter(lang)
  25. for i := 1; i <= 2; i++ {
  26. fmt.Print("\t")
  27. p.Printf(Lateness, i)
  28. }
  29. fmt.Println()
  30. }
  31. }