void ApplyEntry(PoEntry entry, LocString str, TextWriter statusOutput)
{
if (str.NonLocalized == entry.NonLocalized)
{
if (str.Localized != entry.Localized)
{
statusOutput.WriteLine("Updating localized RESX for '{0}' to '{1}'", str.Name, entry.Localized);
str.Localized = entry.Localized;
}
}
else
{
// Non-localized strings don't match any more. Prompt to get new translation.
ResolvePoEntry dialog = new ResolvePoEntry();
dialog.textBoxCurrentUnlocalized.Text = str.NonLocalized;
dialog.textBoxOldUnlocalized.Text = entry.NonLocalized;
dialog.textBoxLocalized.Text = entry.Localized;
dialog.labelStringId.Text = str.Name;
dialog.labelLanguageName.Text = str.File.Culture.DisplayName;
dialog.ShowDialog();
str.Localized = dialog.textBoxLocalized.Text;
statusOutput.WriteLine("Updating localized RESX for '{0}' to '{1}'", str.Name, str.Localized);
dialog.Dispose();
}
}