ListViewItem CreateItem(LocString str) { ListViewItem item = new ListViewItem(new string[] {str.Name, str.NonLocalized, str.Localized}); item.Tag = str; item.Group = groupMap[str.File]; item.ImageIndex = string.IsNullOrEmpty(str.Localized) ? 1 : 0; item.IndentCount = 1; return item; }
private void ProcessString(LocString str) { if (str.NonLocalized != "") { if (!stringDict.ContainsKey(str.NonLocalized)) stringDict[str.NonLocalized] = new List<LocString>(); stringDict[str.NonLocalized].Add(str); } }
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(); } }