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));
            }
        }
Ejemplo n.º 2
0
        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));
            }
        }