private void LoadLanguageData(string elmName, List <AttributeValue> list) { if (elmName != "language") { return; } LanguageInfo locale = null; string scripts = null; string territories = null; bool secondary = false; foreach (AttributeValue value in list) { switch (value.Name) { case "type": locale = _loader.GetLocaleInfo(value.Value); break; case "scripts": scripts = value.Value; break; case "territories": territories = value.Value; break; case "alt": if (value.Value == "secondary") { secondary = true; } break; default: _loader.Warning("Invalid attribute " + value.Name); break; } } if (locale != null) { if (scripts.HasValue()) { var als = scripts.SplitAtSpaces(); WritingScript[] s = new WritingScript[als.Length]; for (int i = 0; i < s.Length; i++) { s[i] = _loader.GetScript(als[i]); } locale.AddScripts(s, secondary); } if (territories.HasValue()) { locale.AddTerritories(territories.SplitAtSpaces(_loader._territories), secondary); } } }