private static void DoLoadFile(LanguageFile file) { TextAsset xmlText = (TextAsset)Resources.Load("Translation/" + file.name); if (xmlText != null) { XmlDocument xml = new XmlDocument(); xml.LoadXml(xmlText.text); XmlNodeList nodes = xml.GetElementsByTagName("message"); for (int i = 0; i < nodes.Count; i++) { LanguageFile.LanguageMessage message = new LanguageFile.LanguageMessage(); string id = nodes[i].Attributes["id"].Value; XmlNodeList childNodes = nodes[i].ChildNodes; for (int j = 0; j < childNodes.Count; j++) { if (childNodes[j].LocalName == "language") { if (childNodes[j].Attributes["type"] != null) { if (childNodes[j].Attributes["type"].Value == "PT") { if (!message.messageByLang.ContainsKey("PT")) { message.messageByLang.Add("PT", childNodes[j].InnerXml); } } else if (childNodes[j].Attributes["type"].Value == "EN") { if (!message.messageByLang.ContainsKey("EN")) { message.messageByLang.Add("EN", childNodes[j].InnerXml); } } else if (childNodes[j].Attributes["type"].Value == "ES") { if (!message.messageByLang.ContainsKey("ES")) { message.messageByLang.Add("ES", childNodes[j].InnerXml); } } else if (childNodes[j].Attributes["type"].Value == "PT_PT") { if (!message.messageByLang.ContainsKey("PT_PT")) { message.messageByLang.Add("PT_PT", childNodes[j].InnerXml); } } } else { message.defaultMessage = childNodes[j].InnerXml; } if (message.defaultMessage == null || message.defaultMessage == "") { if (message.messageByLang.ContainsKey("EN")) { message.defaultMessage = message.messageByLang["EN"]; } else { foreach (KeyValuePair <string, string> messageByLang in message.messageByLang) { message.defaultMessage = messageByLang.Value; break; } } } } } if (!(id == null || id == "")) { file.messages.Add(id, message); } } file.isLoaded = true; } else { Debug.Log("Fail on loading \'Translation/" + file.name + "\'"); } }
private static void DoLoadFile(LanguageFile file) { TextAsset xmlText = (TextAsset)Resources.Load("Translation/" + file.name); if (xmlText != null) { XmlDocument xml = new XmlDocument(); xml.LoadXml(xmlText.text); XmlNodeList nodes = xml.GetElementsByTagName("message"); for (int i = 0; i < nodes.Count; i++) { LanguageFile.LanguageMessage message = new LanguageFile.LanguageMessage(); string id = nodes[i].Attributes["id"].Value; XmlNodeList childNodes = nodes[i].ChildNodes; for (int j = 0; j < childNodes.Count; j++) if (childNodes[j].LocalName == "language") { if (childNodes[j].Attributes["type"] != null) { if (childNodes[j].Attributes["type"].Value == "PT") { if (!message.messageByLang.ContainsKey("PT")) message.messageByLang.Add("PT", childNodes[j].InnerXml); } else if (childNodes[j].Attributes["type"].Value == "EN") { if (!message.messageByLang.ContainsKey("EN")) message.messageByLang.Add("EN", childNodes[j].InnerXml); } else if (childNodes[j].Attributes["type"].Value == "ES") { if (!message.messageByLang.ContainsKey("ES")) message.messageByLang.Add("ES", childNodes[j].InnerXml); } else if (childNodes[j].Attributes["type"].Value == "PT_PT") { if (!message.messageByLang.ContainsKey("PT_PT")) message.messageByLang.Add("PT_PT", childNodes[j].InnerXml); } } else message.defaultMessage = childNodes[j].InnerXml; if (message.defaultMessage == null || message.defaultMessage == "") { if (message.messageByLang.ContainsKey("EN")) message.defaultMessage = message.messageByLang["EN"]; else foreach (KeyValuePair<string, string> messageByLang in message.messageByLang) { message.defaultMessage = messageByLang.Value; break; } } } if (!(id == null || id == "")) { file.messages.Add(id, message); } } file.isLoaded = true; } else Debug.Log("Fail on loading \'Translation/" + file.name + "\'"); }