private CldrLocale TryLoadLanguage(string name, CldrLocale parent) { XmlReader reader = TryOpenXmlFile("main", name); if (reader == null) { return(null); } CldrLocale doc; try { doc = new CldrLocale(this, parent, ResolveLanguage(name)); doc.LoadMain(reader); } finally { reader.Dispose(); } if ((LoadOptions & CldrLoadOptions.Rbnf) != 0) { reader = TryOpenXmlFile("rbnf", name); if (reader != null) { try { doc.LoadMisc(reader, "rbnf"); } finally { reader.Dispose(); } } } if ((LoadOptions & CldrLoadOptions.Subdivision) != 0) { reader = TryOpenXmlFile("subdivisions", name); if (reader != null) { try { doc.LocaleDisplayNames.LoadMisc(reader, "subdivisions"); } finally { reader.Dispose(); } } } doc.Loaded(); if (_descriptionsProvider != null) { doc.ResolveDescription(_descriptionsProvider); } return(doc); }