Beispiel #1
0
        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);
        }
Beispiel #3
0
        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;
                }
            }
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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;
            }
        }
Beispiel #6
0
        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);
            }
        }