func main()

in generator.go [126:186]


func main() {
	cldrVersion := flag.Int("cldr", 45, "CLDR version")
	cldrZipFilePath := flag.String("file", "", "CLDR core.zip path")
	flag.Parse()

	data, err := readCLDRCoreFile(*cldrZipFilePath, *cldrVersion)
	if err != nil {
		log.Fatalf("failed to read CLDR zip: %v", err)
	}

	sortedLanguages := buildLanguageGraph(data).getSorted()
	var nonEmptyLanguages []string
	for _, tag := range sortedLanguages {
		localeLDML := data[tag]
		parsedTag := language.Make(tag)

		var localeCalendar cldrLocaleData
		if parsedTag.Parent() != language.Und {
			existing, ok := localesData[localeLDML.Parent]
			if ok {
				localeCalendar = existing.clone()
			} else {
				localeCalendar = cldrLocaleData{}
			}
		} else {
			localeCalendar = cldrLocaleData{}
		}

		gregorianCalendar := findGregorianCalendar(localeLDML.LDML)
		if gregorianCalendar != nil {
			err = fillLocaleData(tag, gregorianCalendar, &localeCalendar)
			if err != nil {
				log.Fatal(err)
			}
		}

		if !localeCalendar.isEmpty() {
			localesData[tag] = &localeCalendar
			nonEmptyLanguages = append(nonEmptyLanguages, tag)
		} else {
			log.Printf("skipped locale with empty dates: %s\n", tag)
		}
	}

	sort.Strings(nonEmptyLanguages)

	var tablesTmplDataItems []*tablesTmplDataItem
	for _, tag := range nonEmptyLanguages {
		localeCalendar := localesData[tag]
		if localeCalendar.isValid() {
			tablesTmplDataItems = append(tablesTmplDataItems, newTablesTmplDataItem(tag, localeCalendar))
		} else {
			log.Printf("skipped invalid locale: %s\n", tag)
		}
	}

	err = writeTableGoFile(cldrVersion, tablesTmplDataItems)
	if err != nil {
		log.Fatal(err)
	}
}