|
@@ -0,0 +1,47 @@
|
|
|
+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)
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|