Esempio n. 1
0
        public bool ReadMonologues(Location location)
        {
            ArchiveFileEntry msdEntry = (ArchiveFileEntry)_locationDirectory.Childs.TryGetValue(_name + ".msd");

            if (msdEntry == null)
            {
                return(true);
            }

            using (MsdFileReader msdReader = new MsdFileReader(msdEntry.OpenReadableContentStream()))
            {
                string[]           strings    = msdReader.ReadAllMonologues();
                LocalizableStrings monologues = new LocalizableStrings(strings.Length);
                foreach (string str in strings)
                {
                    LocalizableString localizableString = new LocalizableString(str, str);
                    monologues.Add(localizableString);
                }
                location.Monologues = monologues;
            }

            location.SaveRequest &= ~LocationProperty.Monologues;
            location.Importable  &= ~LocationProperty.Monologues;
            return(true);
        }
Esempio n. 2
0
        public static LocalizableStrings FromXml(XmlElement node)
        {
            LocalizableStrings result = new LocalizableStrings(node.ChildNodes.Count);

            foreach (XmlElement child in node.ChildNodes)
            {
                int?   order    = child.FindInt32("Order");
                bool?  isIndent = child.FindBoolean("IsIndent");
                string orig     = child.GetString("Original");
                string curr     = child.GetString("Current");

                LocalizableString str = new LocalizableString(orig, curr);
                if (order != null)
                {
                    str.Order = order.Value;
                }
                if (isIndent != null)
                {
                    str.IsIndent = isIndent.Value;
                }

                result.Add(str);
            }
            return(result);
        }
Esempio n. 3
0
        private static LocalizableStrings LoadAreaNames()
        {
            lock (_glossaryNode)
            {
                if (_glossaryNode.Value != null)
                {
                    XmlElement node = _glossaryNode.Value.GetChildElement("AreaNames");
                    return(LocalizableString.FromXml(node));
                }

                ArchiveDirectoryEntry dir    = Archives.GetEntry <ArchiveDirectoryEntry>(SourcePath);
                ArchiveFileEntry      entry1 = dir.GetChildEntry <ArchiveFileEntry>(AreaNamesFileName);

                LocalizableStrings result = new LocalizableStrings(256);

                using (DictionaryFileReader dicReader = new DictionaryFileReader(entry1.OpenReadableContentStream()))
                    foreach (string title in dicReader.Titles)
                    {
                        result.Add(new LocalizableString(title, title));
                    }

                return(result);
            }
        }