private Dictionary <string, string> GetTranslations() { Dictionary <string, string> translations = new Dictionary <string, string>(); foreach (string line in TranslationTexts.Lines()) { string[] parts = line.Split('\t'); if (parts.Length == 2) { string key = parts[0].TrimEnd().TrimStart(); if (!translations.ContainsKey(key)) { translations.Add(key, parts[1].TrimEnd().TrimStart()); } } else if (!string.IsNullOrEmpty(parts[0])) { string key = parts[0].TrimEnd().TrimStart(); if (!translations.ContainsKey(key)) { translations.Add(key, ""); } } } return(translations); }
private void ParseTranslations() { Dictionary <string, string> translations = new Dictionary <string, string>(); bool getNextFind = false; string findLine = null; bool getNextReplace = false; string replaceLine = null; foreach (string line in TranslationTexts.Lines()) { if (line.StartsWith("FIND")) { getNextFind = true; } else if (getNextFind) { findLine = line; getNextFind = false; } else if (line.StartsWith("REPLACE")) { getNextReplace = true; } else if (getNextReplace) { replaceLine = line; getNextReplace = false; string[] findParts = findLine.Split(','); string[] replaceParts = replaceLine.Split(','); for (int i = 0; i < findParts.Length; i++) { if (!translations.ContainsKey(findParts[i].TrimEnd().TrimStart())) { translations.Add(findParts[i].TrimEnd().TrimStart(), replaceParts[i].TrimEnd().TrimStart()); } } } } StringBuilder sb = new StringBuilder(); TranslationCollection translationLists = new TranslationCollection(); foreach (var key in translations.Keys.OrderBy(k => k)) { string value = translations[key]; sb.Append(key); sb.Append('\t'); sb.AppendLine(value); translationLists.Add(new Translation(key, value)); } Translations = translationLists; TranslationTexts = sb.ToString(); }