internal void LoadFullData() { if (m_IsLoaded) { return; } XmlLanguageData languageData = null; XmlSerializer serializer = new XmlSerializer(typeof(XmlLanguageData)); using (FileStream fs = File.OpenRead(m_SourceFilePath)) { languageData = (XmlLanguageData)serializer.Deserialize(fs); } prepareFastAccessCaches(languageData); m_IsLoaded = true; }
private void prepareFastAccessCaches(XmlLanguageData languageData) { var _translationGroups = languageData.Groups; m_HasSingleGroup = _translationGroups.Count == 1; if (m_HasSingleGroup) { m_SingleGroupCache = createCacheFromGroup(languageData.Groups[0]); } else { m_MultiGroupCache = new Dictionary <string, Dictionary <string, string> >(languageData.Groups.Count); for (int i = 0; i < languageData.Groups.Count; i++) { m_MultiGroupCache.Add(languageData.Groups[i].Name, createCacheFromGroup(languageData.Groups[i])); } } }