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); }
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); }
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); } }