private static LanguageChange CompareLanguages(byte index, ILanguage original, IReader originalReader, ILanguage modified, IReader newReader) { LocaleTable originalLocales = original.LoadStrings(originalReader); LocaleTable newLocales = modified.LoadStrings(newReader); // Compare each locale in the two tables LanguageChange result = new LanguageChange(index); for (int i = 0; i < originalLocales.Strings.Count; i++) { string oldValue = originalLocales.Strings[i].Value; string newValue = newLocales.Strings[i].Value; if (oldValue != newValue) result.LocaleChanges.Add(new LocaleChange(i, newValue)); } return result; }