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); } }
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; }
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); } } } }
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; }
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); } } }
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; }
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(); }
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(); }
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); } } }