コード例 #1
0
        private static void Main()
        {
            // This form created for obtain UI synchronization context only
            using (new Form())
            {
                // Store the shared JoinableTaskContext
                ThreadHelper.JoinableTaskContext = new JoinableTaskContext();
            }

            // required for translation
            PluginRegistry.Initialize();

            // we will be instantiating a number of forms using their default .ctors
            // this would lead to InvalidOperationException thrown in GitModuleForm()
            // set the flag that will stop this from happening
            GitModuleForm.IsUnitTestActive = true;

            var    neutralItems = TranslationHelpers.LoadNeutralItems();
            string filename     = Path.Combine(Translator.GetTranslationDir(), "English.xlf");

            TranslationHelpers.SaveTranslation(null, neutralItems, filename);

            var translationsNames = Translator.GetAllTranslations();

            foreach (var name in translationsNames)
            {
                var translation    = Translator.GetTranslation(name);
                var translateItems = TranslationHelpers.LoadTranslation(translation, neutralItems);
                filename = Path.Combine(Translator.GetTranslationDir(), name + ".xlf");
                TranslationHelpers.SaveTranslation(translation.First().Value.TargetLanguage, translateItems, filename);
            }
        }
コード例 #2
0
        private static void ShowStatus()
        {
            Cursor.Current = Cursors.WaitCursor;
            var neutralItems = TranslationHelpers.LoadNeutralItems();

            var translationsNames = Translator.GetAllTranslations();
            var list = new List <KeyValuePair <string, int> >();

            foreach (var name in translationsNames)
            {
                Translation translation = Translator.GetTranslation(name);
                List <TranslationItemWithCategory> translateItems = TranslationHelpers.LoadTranslation(translation, neutralItems);
                int translatedCount = translateItems.Count(translateItem => translateItem.Status != TranslationType.Obsolete &&
                                                           !string.IsNullOrEmpty(translateItem.TranslatedValue));
                list.Add(new KeyValuePair <string, int>(name, translatedCount));
            }
            using (var stream = File.CreateText("statistic.csv"))
            {
                stream.WriteLine(string.Format("{0};{1};{2};{3}", "Language", "Percent", "TranslatedItems", "TotalItems"));
                foreach (var item in list.OrderByDescending(item => item.Value))
                {
                    stream.WriteLine(string.Format("{0};{1:F}%;{2};{3}", item.Key,
                                                   100.0f * item.Value / neutralItems.Count, item.Value, neutralItems.Count));
                }
            }
            Cursor.Current = Cursors.Default;
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: uhml/gitextensions
        private static void ShowStatus()
        {
            using (new WaitCursorScope())
            {
                var neutralItems = TranslationHelpers.LoadNeutralItems();

                var translationsNames = Translator.GetAllTranslations();
                var list = new List <KeyValuePair <string, int> >();
                foreach (var name in translationsNames)
                {
                    var translation     = Translator.GetTranslation(name);
                    var translateItems  = TranslationHelpers.LoadTranslation(translation, neutralItems);
                    int translatedCount = translateItems
                                          .Sum(p => p.Value.Count(translateItem => !string.IsNullOrEmpty(translateItem.TranslatedValue)));
                    list.Add(new KeyValuePair <string, int>(name, translatedCount));
                }

                using (var stream = File.CreateText("statistic.csv"))
                {
                    stream.WriteLine("{0};{1};{2};{3}", "Language", "Percent", "TranslatedItems", "TotalItems");
                    foreach (var(language, translatedItems) in list.OrderByDescending(item => item.Value))
                    {
                        stream.WriteLine(
                            "{0};{1:F}%;{2};{3}", language, 100.0f * translatedItems / neutralItems.Count, translatedItems,
                            neutralItems.Count);
                    }
                }
            }
        }
コード例 #4
0
        private static void UpdateAllTranslations()
        {
            Cursor.Current = Cursors.WaitCursor;
            var neutralItems = TranslationHelpers.LoadNeutralItems();

            var translationsNames = Translator.GetAllTranslations();

            foreach (var name in translationsNames)
            {
                Translation translation = Translator.GetTranslation(name);
                List <TranslationItemWithCategory> translateItems = TranslationHelpers.LoadTranslation(translation, neutralItems);
                string filename = Path.Combine(Translator.GetTranslationDir(), name + ".xml");
                TranslationHelpers.SaveTranslation(translation.LanguageCode, translateItems, filename);
            }
            Cursor.Current = Cursors.Default;
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: tank09/gitextensions
        private static void UpdateAllTranslations()
        {
            using (new WaitCursorScope())
            {
                var    neutralItems = TranslationHelpers.LoadNeutralItems();
                string filename     = Path.Combine(Translator.GetTranslationDir(), "English.xlf");
                TranslationHelpers.SaveTranslation(null, neutralItems, filename);

                var translationsNames = Translator.GetAllTranslations();
                foreach (var name in translationsNames)
                {
                    var translation    = Translator.GetTranslation(name);
                    var translateItems = TranslationHelpers.LoadTranslation(translation, neutralItems);
                    filename = Path.Combine(Translator.GetTranslationDir(), name + ".xlf");
                    TranslationHelpers.SaveTranslation(translation.First().Value.TargetLanguage, translateItems, filename);
                }
            }
        }
コード例 #6
0
        private static void UpdateAllTranslations()
        {
            Cursor.Current = Cursors.WaitCursor;
            var    neutralItems = TranslationHelpers.LoadNeutralItems();
            string filename     = Path.Combine(Translator.GetTranslationDir(), "English.xlf");

            TranslationHelpers.SaveTranslation(null, neutralItems, filename);

            var translationsNames = Translator.GetAllTranslations();

            foreach (var name in translationsNames)
            {
                var translation    = Translator.GetTranslation(name);
                var translateItems = TranslationHelpers.LoadTranslation(translation, neutralItems);
                filename = Path.Combine(Translator.GetTranslationDir(), name + ".xlf");
                TranslationHelpers.SaveTranslation(translation.First().Value.LanguageCode, translateItems, filename);
            }
            Cursor.Current = Cursors.Default;
        }
コード例 #7
0
        private void LoadTranslation()
        {
            if (translation != null)
            {
                IEnumerable <TranslationItemWithCategory> neutralItems =
                    (from translationCategory in neutralTranslation.TranslationCategories
                     from translationItem in translationCategory.Body.TranslationItems
                     select new TranslationItemWithCategory(translationCategory.Name, translationItem));
                translationItems = TranslationHelpers.LoadTranslation(translation, neutralItems);
            }
            else
            {
                List <TranslationItemWithCategory> neutralItems =
                    (from translationCategory in neutralTranslation.TranslationCategories
                     from translationItem in translationCategory.Body.TranslationItems
                     select new TranslationItemWithCategory(translationCategory.Name, translationItem.Clone())).ToList();
                translationItems = neutralItems;
            }

            UpdateProgress();
        }
コード例 #8
0
        private void LoadTranslation()
        {
            if (_translation.Count != 0)
            {
                var items = TranslationHelpers.GetItemsDictionary(_translation);
                translationItems = TranslationHelpers.LoadTranslation(_translation, items);
            }
            else
            {
                var neutralItems = new Dictionary <string, List <TranslationItemWithCategory> >();
                foreach (var pair in _neutralTranslation)
                {
                    var list = from item in pair.Value.TranslationCategories
                               from translationItem in item.Body.TranslationItems
                               select new TranslationItemWithCategory(item.Name, translationItem.Clone());
                    neutralItems.Add(pair.Key, list.ToList());
                }
                translationItems = neutralItems;
            }

            UpdateProgress();
        }
コード例 #9
0
ファイル: Program.cs プロジェクト: uhml/gitextensions
        private static void UpdateAllTranslations()
        {
            using (new WaitCursorScope())
            {
                // we will be instantiating a number of forms using their default .ctors
                // this would lead to InvalidOperationException thrown in GitModuleForm()
                // set the flag that will stop this from happening
                GitModuleForm.IsUnitTestActive = true;

                var    neutralItems = TranslationHelpers.LoadNeutralItems();
                string filename     = Path.Combine(Translator.GetTranslationDir(), "English.xlf");
                TranslationHelpers.SaveTranslation(null, neutralItems, filename);

                var translationsNames = Translator.GetAllTranslations();
                foreach (var name in translationsNames)
                {
                    var translation    = Translator.GetTranslation(name);
                    var translateItems = TranslationHelpers.LoadTranslation(translation, neutralItems);
                    filename = Path.Combine(Translator.GetTranslationDir(), name + ".xlf");
                    TranslationHelpers.SaveTranslation(translation.First().Value.TargetLanguage, translateItems, filename);
                }
            }
        }