diff options
Diffstat (limited to 'vendor/golang.org/x/text/unicode/cldr/examples_test.go')
-rw-r--r-- | vendor/golang.org/x/text/unicode/cldr/examples_test.go | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/vendor/golang.org/x/text/unicode/cldr/examples_test.go b/vendor/golang.org/x/text/unicode/cldr/examples_test.go new file mode 100644 index 0000000..85d79d1 --- /dev/null +++ b/vendor/golang.org/x/text/unicode/cldr/examples_test.go @@ -0,0 +1,96 @@ +package cldr_test + +import ( + "fmt" + "os" + "path/filepath" + + "golang.org/x/text/internal/gen" + "golang.org/x/text/unicode/cldr" +) + +func ExampleDecoder() { + // Obtain the default CLDR reader (only for x/text packages). + + var d cldr.Decoder + + // Speed up decoding by setting filters for only what you need. + d.SetDirFilter("main", "supplemental") + d.SetSectionFilter("numbers", "plurals") + + cldr, err := d.DecodeZip(gen.OpenCLDRCoreZip()) + if err != nil { + fmt.Println("ERROR", err) + return + } + supplemental := cldr.Supplemental() + + fmt.Println(supplemental.MeasurementData.MeasurementSystem[0].Type) + for _, lang := range cldr.Locales() { + data := cldr.RawLDML(lang) + fmt.Println(lang, data.Identity.Version.Number) + } +} + +func ExampleDecoder_DecodePath() { + // This directory will exist if a go generate has been run in any of the + // packages in x/text using the cldr package. + path := filepath.FromSlash("../../DATA/cldr/" + cldr.Version) + + var d cldr.Decoder + + // Speed up decoding by setting filters for only what you need. + d.SetDirFilter("main") + d.SetSectionFilter("numbers") + + cldr, err := d.DecodePath(path) + if err != nil { + // handle error + fmt.Println("ERROR", err) + return + } + for _, lang := range cldr.Locales() { + if numbers := cldr.RawLDML(lang).Numbers; numbers != nil { + fmt.Println(lang, len(numbers.Symbols)) + } + } +} + +func ExampleDecoder_DecodeZip() { + // This directory will exist if a go generate has been run in any of the + // packages in x/text using the cldr package. + path := filepath.FromSlash("../../DATA/cldr/" + cldr.Version) + + var d cldr.Decoder + + r, err := os.Open(filepath.Join(path, "core.zip")) + if err != nil { + fmt.Println("error:", err) + return + } + + // Only loading supplemental data can be done much faster using a dir + // filter. + d.SetDirFilter("supplemental") + cldr, err := d.DecodeZip(r) + if err != nil { + fmt.Println("error:", err) + return + } + + fmt.Println(cldr.Supplemental().MeasurementData.MeasurementSystem[0].Type) +} + +func ExampleSlice() { + var dr *cldr.CLDR // assume this is initialized + + x, _ := dr.LDML("en") + cs := x.Collations.Collation + // remove all but the default + cldr.MakeSlice(&cs).Filter(func(e cldr.Elem) bool { + return e.GetCommon().Type != x.Collations.Default() + }) + for i, c := range cs { + fmt.Println(i, c.Type) + } +} |