Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }