private void AddResource(Resource resource) { try { if (resource.Text != null) { strings.Add(resource.Name, resource.Text.Trim(TRIMCHARS)); } else { LOG.Warn("Resource is null: " + resource.Name); strings.Add(resource.Name, ""); } } catch (ArgumentException ae) { LOG.Error("Problem adding " + resource.Name, ae); throw ae; } }
/// <summary> /// loads a language configuration from a file path /// </summary> public static LanguageConfiguration Load(string path) { LanguageConfiguration ret = null; try { XmlDocument doc = new XmlDocument(); doc.Load(path); XmlNodeList nodes = doc.GetElementsByTagName("language"); if(nodes.Count > 0) { ret = new LanguageConfiguration(); ret.File = path; XmlNode node = nodes.Item(0); ret.Description = node.Attributes["description"].Value; ret.Ietf = node.Attributes["ietf"].Value; ret.Version = node.Attributes["version"].Value; if (node.Attributes["languagegroup"] != null) { string languageGroup = node.Attributes["languagegroup"].Value; ret.LanguageGroup = languageGroup.ToLower(); } XmlNodeList resourceNodes = doc.GetElementsByTagName("resource"); ret.Resources = new List<Resource>(resourceNodes.Count); foreach(XmlNode resourceNode in resourceNodes) { Resource res = new Resource(); res.Name = resourceNode.Attributes["name"].Value; res.Text = resourceNode.InnerText; ret.Resources.Add(res); } } else { throw new XmlException("Root element <language> is missing"); } } catch(Exception e) { LOG.Error("Could not load language file "+path, e); } return ret; }