123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- 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)
- }
- }
|