public IEnumerable <string> ExtractWords() { ProjectFile[] files = Project.GetSourceLanguageFiles(); int i = 0; foreach (ProjectFile file in files) { if (file.Role != FileRole.Translatable) { continue; } FileTypeManager.SettingsBundle = Sdl.Core.Settings.SettingsUtil.CreateSettingsBundle(null); // disable xliff validation to speed up things FileTypeManager.SettingsBundle.GetSettingsGroup("SDL XLIFF 1.0 v 1.0.0.0").GetSetting <bool>("ValidateXliff").Value = false; IMultiFileConverter converter = FileTypeManager.GetConverter(file.LocalFilePath, (sender, e) => { }); TextExtractionBilingualContentHandler extractor = new TextExtractionBilingualContentHandler(); converter.AddBilingualProcessor(new Sdl.FileTypeSupport.Framework.Core.Utilities.BilingualApi.BilingualContentHandlerAdapter(extractor)); converter.Parse(); foreach (string text in extractor.Text) { foreach (string word in GetWords(text)) { yield return(word); } } i++; OnProgress((int)(100.0 * i / (double)files.Length)); } }
public IEnumerable<string> ExtractWords() { ProjectFile[] files = Project.GetSourceLanguageFiles(); int i = 0; foreach (ProjectFile file in files) { if (file.Role != FileRole.Translatable) { continue; } FileTypeManager.SettingsBundle = Sdl.Core.Settings.SettingsUtil.CreateSettingsBundle(null); // disable xliff validation to speed up things FileTypeManager.SettingsBundle.GetSettingsGroup("SDL XLIFF 1.0 v 1.0.0.0").GetSetting<bool>("ValidateXliff").Value = false; IMultiFileConverter converter = FileTypeManager.GetConverter(file.LocalFilePath, (sender, e) => { }); TextExtractionBilingualContentHandler extractor = new TextExtractionBilingualContentHandler(); converter.AddBilingualProcessor(new Sdl.FileTypeSupport.Framework.Core.Utilities.BilingualApi.BilingualContentHandlerAdapter(extractor)); converter.Parse(); foreach (string text in extractor.Text) { foreach (string word in GetWords(text)) { yield return word; } } i++; OnProgress((int)(100.0 * i / (double)files.Length)); } }