private void PopulateColumn(LanguageFile languageFile, int columnIndex) { ClearColumn(columnIndex); IDictionary <string, string> resources = GreenshotLanguage.ReadLanguageFile(languageFile); foreach (string key in resources.Keys) { LanguageEntry entry = GetOrCreateLanguageEntry(key); if (columnIndex == 1) { entry.Entry1 = resources[key]; } else if (columnIndex == 2) { entry.Entry2 = resources[key]; } else { throw new ArgumentOutOfRangeException("Argument columnIndex must be either 1 or 2"); } } if (columnIndex == 1) { unsavedChangesInLanguage1 = false; } if (columnIndex == 2) { unsavedChangesInLanguage2 = false; } }
private IList <LanguageEntry> LoadResources(string languagePath) { LanguageFiles = new BindingList <LanguageFile>(); foreach (LanguageFile languageFile in GreenshotLanguage.GetLanguageFiles(languagePath, "language*.xml")) { LanguageFiles.Add(languageFile); // default: first non-english file is for right column, english file for left column if (LanguageFile2 == null && !"en-US".Equals(languageFile.IETF)) { LanguageFile2 = languageFile; } else if (LanguageFile1 == null || "en-US".Equals(languageFile.IETF)) { LanguageFile1 = languageFile; } } if (LanguageFile1 != null) { PopulateColumn(LanguageFile1, 1); } if (LanguageFile2 != null) { PopulateColumn(LanguageFile2, 2); } return(new List <LanguageEntry>(languageResources.Values)); }