public static TranslationDict LoadFromXaml(string xamlFile, EnumLanguage lang) { var dict = new TranslationDict(); var p = "x:Key=\""; var s1 = " xml:space=\"preserve\">"; var lines = new List <string>(); using (var sr = new StreamReader(xamlFile)) { while (!sr.EndOfStream) { var s = sr.ReadLine(); if (s.Length > p.Length) { var i = s.IndexOf(p); if (i > 0) { i = i + p.Length; var j = s.IndexOf('\"', i + 1); if (j > 0) { var key = s.Substring(i, j - i); i = j + s1.Length; j = s.IndexOf('<'); var value = s.Substring(i, j - i); dict.Append(key, lang, value); } } } } } return(dict); }
public static TranslationDict LoadFromResx(string resxFile, EnumLanguage lang) { var dict = new TranslationDict(); var xDoc = new XmlDocument(); xDoc.Load(resxFile); var root = xDoc.DocumentElement; var nodeList = root.GetElementsByTagName("data"); foreach (var node in nodeList) { var e = (XmlElement)node; var key = e.GetAttribute("name"); var children = e.GetElementsByTagName("value"); foreach (var c in children) { var value = ((XmlElement)c).InnerText; dict.Append(key, lang, value); break; } } return(dict); }