private void SaveAs() { var foreignTranslation = new Translation { LanguageCode = GetSelectedLanguageCode() }; foreach (TranslateItem translateItem in translate) { //Item is not translated (yet), skip it if (string.IsNullOrEmpty(translateItem.TranslatedValue)) { continue; } if (!foreignTranslation.HasTranslationCategory(translateItem.Category)) { foreignTranslation.AddTranslationCategory(new TranslationCategory(translateItem.Category)); } foreignTranslation.GetTranslationCategory(translateItem.Category).AddTranslationItem(new TranslationItem(translateItem.Name, translateItem.Property, translateItem.TranslatedValue)); } var fileDialog = new SaveFileDialog { Title = saveAsText.Text, FileName = translations.Text + ".xml" }; if (fileDialog.ShowDialog(this) == DialogResult.OK) { TranslationSerializer.Serialize(foreignTranslation, fileDialog.FileName); changesMade = false; } }
public static void SaveTranslation(string languageCode, IEnumerable <TranslationItemWithCategory> items, string filename) { Translation foreignTranslation = new Translation { GitExVersion = GitCommands.Settings.GitExtensionsVersionString, LanguageCode = languageCode }; foreach (TranslationItemWithCategory translateItem in items) { if (translateItem.Status == TranslationType.Obsolete && (String.IsNullOrEmpty(translateItem.TranslatedValue) || String.IsNullOrEmpty(translateItem.NeutralValue))) { continue; } TranslationItem ti = translateItem.GetTranslationItem().Clone(); if (ti.Status == TranslationType.New) { ti.Status = TranslationType.Unfinished; } Debug.Assert(!string.IsNullOrEmpty(ti.Value) || ti.Status != TranslationType.Translated); ti.Value = ti.Value ?? String.Empty; Debug.Assert(ti.Status != TranslationType.Translated || translateItem.IsSourceEqual(ti.Source)); foreignTranslation.FindOrAddTranslationCategory(translateItem.Category).AddTranslationItem(ti); } TranslationSerializer.Serialize(foreignTranslation, filename); }
private void SaveAs() { var foreignTranslation = new Translation { LanguageCode = GetSelectedLanguageCode() }; foreach (TranslateItem translateItem in translate) { string value = translateItem.TranslatedValue ?? String.Empty; TranslationItem ti = new TranslationItem(translateItem.Name, translateItem.Property, translateItem.NeutralValue, value); ti.Status = translateItem.Status; if (ti.Status == TranslationType.Obsolete && (String.IsNullOrEmpty(value) || String.IsNullOrEmpty(translateItem.NeutralValue))) { continue; } if (string.IsNullOrEmpty(value)) { if (ti.Status == TranslationType.Translated || ti.Status == TranslationType.New) { ti.Status = TranslationType.Unfinished; } } else { // TODO: Support in form if (ti.Status == TranslationType.Unfinished) { ti.Status = TranslationType.Translated; } } foreignTranslation.FindOrAddTranslationCategory(translateItem.Category).AddTranslationItem(ti); } using (var fileDialog = new SaveFileDialog { Title = saveAsText.Text, FileName = translations.Text + ".xml", Filter = saveAsTextFilter.Text + "|*.xml", DefaultExt = ".xml", AddExtension = true }) { if (fileDialog.ShowDialog(this) == DialogResult.OK) { TranslationSerializer.Serialize(foreignTranslation, fileDialog.FileName); changesMade = false; } } }
public static void SaveTranslation(string languageCode, IEnumerable <TranslationItemWithCategory> items, string filename) { var foreignTranslation = new Translation(GitCommands.AppSettings.GitExtensionsVersionString, languageCode); foreach (TranslationItemWithCategory translateItem in items) { var item = translateItem.GetTranslationItem(); var ti = new TranslationItem(item.Name, item.Property, item.Source, item.Value); ti.Value = ti.Value ?? String.Empty; foreignTranslation.FindOrAddTranslationCategory(translateItem.Category).Body.AddTranslationItem(ti); } TranslationSerializer.Serialize(foreignTranslation, filename); }
private void SaveAs() { var foreignTranslation = new Translation { LanguageCode = GetSelectedLanguageCode() }; if (foreignTranslation.LanguageCode != null) { foreach (TranslateItem translateItem in translate) { //Item is not translated (yet), skip it if (string.IsNullOrEmpty(translateItem.TranslatedValue)) { continue; } TranslationItem ti = new TranslationItem(translateItem.Name, translateItem.Property, translateItem.TranslatedValue); foreignTranslation.FindOrAddTranslationCategory(translateItem.Category).AddTranslationItem(ti); } } else { // English language foreach (TranslateItem translateItem in translate) { TranslationItem ti = new TranslationItem(translateItem.Name, translateItem.Property, translateItem.NeutralValue); foreignTranslation.FindOrAddTranslationCategory(translateItem.Category).AddTranslationItem(ti); } } var fileDialog = new SaveFileDialog { Title = saveAsText.Text, FileName = translations.Text + ".xml", Filter = saveAsTextFilter.Text + "|*.xml", DefaultExt = ".xml", AddExtension = true }; if (fileDialog.ShowDialog(this) == DialogResult.OK) { TranslationSerializer.Serialize(foreignTranslation, fileDialog.FileName); changesMade = false; } }
public static void SaveTranslation(string targetLanguageCode, IDictionary <string, List <TranslationItemWithCategory> > items, string filename) { var ext = Path.GetExtension(filename); foreach (var pair in items) { var foreignTranslation = new TranslationFile(GitCommands.AppSettings.ProductVersion, "en", targetLanguageCode); foreach (var translateItem in pair.Value) { var item = translateItem.GetTranslationItem(); var ti = new TranslationItem(item.Name, item.Property, item.Source, item.Value); ti.Value = ti.Value ?? String.Empty; foreignTranslation.FindOrAddTranslationCategory(translateItem.Category) .Body.AddTranslationItem(ti); } var newfilename = Path.ChangeExtension(filename, pair.Key + ext); TranslationSerializer.Serialize(foreignTranslation, newfilename); } }