private void UpdateAllTranslationsWithNewDefaultText(Dictionary<string, string> textChanges, CompileMessages errors)
{
foreach (Translation otherTranslation in _agsEditor.CurrentGame.Translations)
{
otherTranslation.LoadData();
Dictionary<string, string> newTranslation = new Dictionary<string, string>();
foreach (string sourceLine in otherTranslation.TranslatedLines.Keys)
{
string otherTranslationOfThisLine = otherTranslation.TranslatedLines[sourceLine];
string newKeyName = null;
if ((textChanges.ContainsKey(sourceLine)) && (textChanges[sourceLine].Length > 0))
{
newKeyName = textChanges[sourceLine];
if (newTranslation.ContainsKey(newKeyName))
{
if (!string.IsNullOrEmpty(otherTranslationOfThisLine))
{
errors.Add(new CompileWarning("Text '" + newKeyName + "' already has a translation; '" + sourceLine + "' translation will be lost"));
}
newKeyName = null;
}
}
else if (!newTranslation.ContainsKey(sourceLine))
{
newKeyName = sourceLine;
}
if (newKeyName != null)
{
if (newKeyName == otherTranslationOfThisLine)
{
newTranslation.Add(newKeyName, string.Empty);
}
else
{
newTranslation.Add(newKeyName, otherTranslationOfThisLine);
}
}
}
otherTranslation.TranslatedLines = newTranslation;
otherTranslation.Modified = true;
otherTranslation.SaveData();
}
}