Exemplo n.º 1
0
        internal bool LoadInfo(CldrLoader loader, XmlReader reader)
        {
            var text = reader.GetAttribute("gdp");

            if (text.HasValue())
            {
                long.TryParse(text, NumberStyles.Integer, CultureInfo.InvariantCulture, out _gdp);
            }
            text = reader.GetAttribute("population");
            if (text.HasValue())
            {
                long.TryParse(text, NumberStyles.Integer, CultureInfo.InvariantCulture, out _population);
            }
            reader.LoadElements(loader, LanguagePopulation);
            return(true);
        }
Exemplo n.º 2
0
        private bool LanguagePopulation(XmlReader reader, CldrLoader loader)
        {
            if (reader.Name == "languagePopulation")
            {
                var   type = reader.GetAttribute("type");
                float population;
                var   perc = reader.GetAttribute("populationPercent");
                if (perc.HasValue() &&
                    float.TryParse(perc, NumberStyles.Float, CultureInfo.InvariantCulture, out population))
                {
                    LanguagePopulation lang = new LanguagePopulation();
                    lang.Locale  = loader.GetLocaleInfo(type);
                    lang.Percent = population;
                    var sts = reader.GetAttribute("officialStatus");
                    if (sts.HasValue())
                    {
                        switch (sts)
                        {
                        case "official":
                            lang.OfficialStatus = LanguageOfficialStatus.Official;
                            break;

                        case "official_regional":
                            lang.OfficialStatus = LanguageOfficialStatus.OfficialRegional;
                            break;

                        case "de_facto_official":
                            lang.OfficialStatus = LanguageOfficialStatus.DeFactoOfficial;
                            break;

                        default:
                            lang.OfficialStatus = (LanguageOfficialStatus)5;
                            break;
                        }
                    }
                    _languages.Add(lang);
                }
            }
            return(false);
        }
Exemplo n.º 3
0
        internal bool LoadUses(XmlReader reader, CldrLoader loader)
        {
            if (reader.Name == "usesMetazone")
            {
                int count = reader.AttributeCount;
                var uses  = new DateRangeValue <MetaTimeZone>();

                for (int i = 0; i < count; i++)
                {
                    reader.MoveToAttribute(i);
                    var val = reader.Value;
                    if (!val.HasValue())
                    {
                        continue;
                    }
                    switch (reader.Name)
                    {
                    case "from":
                        uses.From = ParseDate(val);
                        break;

                    case "to":
                        uses.To = ParseDate(val);
                        break;

                    case "mzone":
                        uses.Value = loader.GetMetaZone(val);
                        break;
                    }
                }
                reader.MoveToElement();
                if (uses.Value != null)
                {
                    _uses.Add(uses);
                }
            }
            return(false);
        }
Exemplo n.º 4
0
 internal CldrLocale(CldrLoader loader, CldrLocale parent, LanguageInfo info)
     : base(loader, parent, info.Code)
 {
     _info       = info;
     info.Locale = this;
 }