Example #1
0
        protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            if (!AgreementMethods.UserAgreed())
            {
                CancelHelper.CancelTaskIfRequested(true);
            }

            if (!_settings.ShouldAnonymize ?? false)
            {
                return;
            }

            var projectController        = SdlTradosStudio.Application.GetController <ProjectsController>();
            var selectedPatternsFromGrid = _settings.RegexPatterns.Where(e => e.ShouldEnable).ToList();

            if (projectController.CurrentProject != null)
            {
                ProjectBackup.CreateProjectBackup(projectController.CurrentProject.FilePath);
            }

            var key = _settings.EncryptionKey == "<dummy-encryption-key>" ? "" : AnonymizeData.DecryptData(_settings.EncryptionKey, Constants.Key);

            multiFileConverter.AddBilingualProcessor(new BilingualContentHandlerAdapter(new AnonymizerPreProcessor(selectedPatternsFromGrid, key, _settings.EncryptionState.HasFlag(State.PatternsEncrypted))));

            ParseRestOfFiles(projectController, selectedPatternsFromGrid, key);
        }
Example #2
0
        protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            Contract.Assume(settings != null);

            tempCounter = new SegmentWordCounter(projectFile.Name, settings, GetWordCounter(projectFile));
            multiFileConverter.AddBilingualProcessor(tempCounter);
        }
Example #3
0
        protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            var projectController = SdlTradosStudio.Application.GetController <ProjectsController>();

            ProjectBackup.CreateProjectBackup(projectController.CurrentProject.FilePath);
            multiFileConverter.AddBilingualProcessor(new BilingualContentHandlerAdapter(new AnonymizerPreProcessor()));
        }
Example #4
0
        protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            var usernameService        = new UserNameService();
            var resourceOriginsService = new ResourceOriginsService();

            multiFileConverter.AddBilingualProcessor(new BilingualContentHandlerAdapter(new AnonymizerProcessor(_settings, usernameService, resourceOriginsService)));
        }
        protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            //Get instances of the translation memories included in the project.

            var        languageDirection    = projectFile.GetLanguageDirection();
            var        targetLanguage       = languageDirection.TargetLanguage;
            var        tmLanguageDirections = tms[targetLanguage].Select(x => x.GetLanguageDirection(new Sdl.LanguagePlatform.Core.LanguagePair(languageDirection.SourceLanguage.CultureInfo, languageDirection.TargetLanguage.CultureInfo)));
            FileReader _task = new FileReader(tmLanguageDirections, settings, this.collectedSentencePairCount);

            multiFileConverter.AddBilingualProcessor(_task);
            multiFileConverter.Parse();
            this.collectedSentencePairCount = _task.CollectedSentencePairCount;

            var targetLang = projectFile.GetLanguageDirection().TargetLanguage;

            if (this.ProjectTranslations.ContainsKey(targetLang))
            {
                this.ProjectTranslations[targetLang].AddRange(_task.FileTranslations);
                this.ProjectNewSegments[targetLang].AddRange(_task.FileNewSegments);
                if (this.settings.ExtractFuzzies)
                {
                    this.ProjectFuzzies[targetLang].AddRange(_task.TmFuzzies);
                }
            }
            else
            {
                this.ProjectTranslations[targetLang] = _task.FileTranslations;
                this.ProjectNewSegments[targetLang]  = _task.FileNewSegments;
                if (this.settings.ExtractFuzzies)
                {
                    this.ProjectFuzzies[targetLang] = _task.TmFuzzies;
                }
            }
        }
        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));
            }
        }
        protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            var phCreator = new PlaceholderCreator(settings);
            var handler   = new BilingualContentHandlerAdapter(phCreator);

            multiFileConverter.AddBilingualProcessor(handler);
        }
Example #8
0
        /// <summary>
        /// Run export on SDLXLIFF path
        /// </summary>
        /// <param name="filePath">SDLXLIFF file for export</param>
        public bool GeneratePreviewFiles(string filePath, IMultiFileConverter multiFileConverter)
        {
            multiFileConverter.SynchronizeDocumentProperties();
            multiFileConverter.AddBilingualProcessor(new FileReader(DataExtractorObj, _settings, filePath));
            multiFileConverter.Parse();

            return true;
        }
Example #9
0
        protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            var projectController        = SdlTradosStudio.Application.GetController <ProjectsController>();
            var selectedPatternsFromGrid = _settings.RegexPatterns.Where(e => e.ShouldEnable).ToList();

            ProjectBackup.CreateProjectBackup(projectController.CurrentProject.FilePath);
            multiFileConverter.AddBilingualProcessor(new BilingualContentHandlerAdapter(new AnonymizerPreProcessor(selectedPatternsFromGrid)));
        }
Example #10
0
        /// <summary>
        /// Run export on SDLXLIFF path
        /// </summary>
        /// <param name="filePath">SDLXLIFF file for export</param>
        public bool GeneratePreviewFiles(string filePath, IMultiFileConverter multiFileConverter)
        {
            multiFileConverter.SynchronizeDocumentProperties();
            multiFileConverter.AddBilingualProcessor(new FileReader(DataExtractorObj, _settings, filePath));
            multiFileConverter.Parse();

            return(true);
        }
        protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            var segmentsToLock = GetSegmentListFromSettings();

            //In here you should add your custom bilingual processor to the file converter
            multiFileConverter.AddBilingualProcessor(
                new Sdl.FileTypeSupport.Framework.Core.Utilities.BilingualApi.BilingualContentHandlerAdapter(new SegmentLockerPreProcessor(segmentsToLock, _settings.OtherTextbox, _settings.ClearCheck)));
        }
Example #12
0
        protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            var generalSettings = GetSetting <BatchAnonymizerSettings>();

            _settings = generalSettings.UseGeneral ? generalSettings : GetAnonymizationSettings(projectFile.Language);

            multiFileConverter.AddBilingualProcessor(new BilingualContentHandlerAdapter(new AnonymizerProcessor(_settings, _userNameService, _resourceOriginsService)));
        }
Example #13
0
        private void PrepareForGenerateTarget(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            multiFileConverter.AddBilingualProcessor(new BilingualContentHandlerAdapter(new ClearTarget()));

            if (settings.CopyToTarget)
            {
                multiFileConverter.AddBilingualProcessor(new BilingualContentHandlerAdapter(new CopySourceToTarget()));
            }
        }
Example #14
0
        protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            if (!_settings.ShouldDeanonymize ?? false)
            {
                return;
            }

            multiFileConverter.AddBilingualProcessor(new BilingualContentHandlerAdapter(new DecryptDataProcessor(_settings)));
        }
Example #15
0
        public IFileProperties GetFileProperties(IMultiFileConverter converter, string filePath)
        {
            var fileProperties = converter.ItemFactory.CreateFileProperties();

            fileProperties.FileConversionProperties.InputFilePath    = filePath;
            fileProperties.FileConversionProperties.OriginalFilePath = filePath;

            return(fileProperties);
        }
        protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            var encryptSettings = GetSetting <AnonymizerSettings>();

            //process only if the decryption key matches encryption key
            if (encryptSettings.EncryptionKey.Equals(_settings.EncryptionKey))
            {
                multiFileConverter.AddBilingualProcessor(new BilingualContentHandlerAdapter(new DecryptDataProcessor(_settings)));
            }
        }
Example #17
0
 protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
 {
     if (_processor == null)
     {
         _processor = new SimplePsedoTranslateProcessor();
         var settings = GetSetting <SimplePseudoTranslateSettings>();
         _processor.Settings = settings;
     }
     multiFileConverter.AddBilingualProcessor(new BilingualContentHandlerAdapter(_processor));
 }
Example #18
0
        protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            // Creating a new FileReader and giving it access to the settings (unneeded currently) and the file; parsing text afterwards
            // The FileReader handles the task logic of searching the reference numbers, creating and populating the translation memory
            // And providing the reference numbers back

            logger = new BatchTaskLogger(Path.GetDirectoryName(projectFile.LocalFilePath), LoggingLevels.DEBUG);

            task = new FileReader(_settings, projectFile, ref logger);
            multiFileConverter.AddBilingualProcessor(task);
            multiFileConverter.Parse();
        }
Example #19
0
        protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            if (!AgreementMethods.UserAgreed())
            {
                CancelHelper.CancelTaskIfRequested(true);
            }

            if (!_settings.ShouldDeanonymize ?? false)
            {
                return;
            }

            var projectController = SdlTradosStudio.Application.GetController <ProjectsController>();

            multiFileConverter.AddBilingualProcessor(new BilingualContentHandlerAdapter(new DecryptDataProcessor(_settings)));

            var project              = projectController.CurrentProject ?? projectController.SelectedProjects.ToList()[0];
            var projectFiles         = project.GetTargetLanguageFiles();
            var unParsedProjectFiles = new List <ProjectFile>();

            foreach (var file in projectFiles)
            {
                if (TaskFiles.GetIds().Contains(file.Id))
                {
                    continue;
                }

                unParsedProjectFiles.Add(file);
            }

            var editor     = SdlTradosStudio.Application.GetController <EditorController>();
            var activeDocs = editor.GetDocuments().ToList();

            foreach (var activeDoc in activeDocs)
            {
                Application.Current.Dispatcher.Invoke(() => { editor.Close(activeDoc); });
            }

            foreach (var file in unParsedProjectFiles)
            {
                var converter        = DefaultFileTypeManager.CreateInstance(true).GetConverterToDefaultBilingual(file.LocalFilePath, file.LocalFilePath, null);
                var contentProcessor = new DecryptDataProcessor(_settings);
                converter.AddBilingualProcessor(new BilingualContentHandlerAdapter(contentProcessor));
                converter.Parse();
            }
        }
Example #20
0
        protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            if (!AgreementMethods.UserAgreed())
            {
                CancelHelper.CancelTaskIfRequested(true);
            }

            if (!_settings.ShouldDeanonymize ?? false)
            {
                return;
            }

            var projectController = SdlTradosStudio.Application.GetController <ProjectsController>();

            multiFileConverter.AddBilingualProcessor(new BilingualContentHandlerAdapter(new DecryptDataProcessor(_settings)));

            _restOfFilesParser.ParseRestOfFiles(projectController, TaskFiles, new DecryptDataProcessor(_settings), out _ignoredFiles);
        }
Example #21
0
        public override bool OnFileComplete(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            var key = CreateKey(projectFile.GetLanguageDirection());

            if (counters.ContainsKey(key))
            {
                counters[key].Add(tempCounter);
            }
            else
            {
                counters.Add(key, new List <ISegmentWordCounter>()
                {
                    tempCounter
                });
                keys.Add(key, projectFile.GetLanguageDirection());
            }

            return(false);
        }
Example #22
0
        protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            //In here you should add your custom bilingual processor to the file converter
            // We initialize the class that performs the actual work
            //FileReader _task = new FileReader(_settings, projectFile.LocalFilePath);    //AbstractBilingualContentProcessor
            //multiFileConverter.AddBilingualProcessor(_task);
            //multiFileConverter.Parse();



            //var regExPatterns = new List<string>(_settings.LockerRegEx.Split(
            //                                                                    new[] { Environment.NewLine },
            //                                                                    StringSplitOptions.None
            //                                                                ));

            var patternsFromGrid = _settings.RegexPatterns.ToList();

            multiFileConverter.AddBilingualProcessor(new Sdl.FileTypeSupport.Framework.Core.Utilities.BilingualApi.BilingualContentHandlerAdapter(new SegmentLockerPreProcessor(patternsFromGrid, _settings.IncludeTagContent)));
        }
Example #23
0
        protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            if (!AgreementMethods.UserAgreed())
            {
                CancelHelper.CancelTaskIfRequested(true);
            }

            if (!_settings.ShouldAnonymize ?? false)
            {
                return;
            }

            var selectedPatternsFromGrid = _settings.RegexPatterns.Where(e => e.ShouldEnable).ToList();

            var key = _settings.EncryptionKey == "<dummy-encryption-key>" ? "" : AnonymizeData.DecryptData(_settings.EncryptionKey, Constants.Key);

            multiFileConverter.AddBilingualProcessor(new BilingualContentHandlerAdapter(new AnonymizerPreProcessor(selectedPatternsFromGrid, key, _settings.EncryptionState.HasFlag(State.PatternsEncrypted))));

            _restOfFilesParser.ParseRestOfFiles(_projectController, TaskFiles,
                                                new AnonymizerPreProcessor(selectedPatternsFromGrid, key, _settings.EncryptionState.HasFlag(State.PatternsEncrypted)),
                                                out _ignoredFiles);
        }
        protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            //This collects existing translations and segments without full matches from the project files
            var        languageDirection = projectFile.GetLanguageDirection();
            var        targetLanguage    = languageDirection.TargetLanguage;
            FileReader _task             = new FileReader(settings);

            multiFileConverter.AddBilingualProcessor(_task);
            multiFileConverter.Parse();

            var targetLang = projectFile.GetLanguageDirection().TargetLanguage;

            if (this.ProjectTranslations.ContainsKey(targetLang))
            {
                this.ProjectTranslations[targetLang].AddRange(_task.FileTranslations);
                this.ProjectNewSegments[targetLang].AddRange(_task.FileNewSegments);
            }
            else
            {
                this.ProjectTranslations[targetLang] = _task.FileTranslations;
                this.ProjectNewSegments[targetLang]  = _task.FileNewSegments;
            }
        }
Example #25
0
 public override bool OnFileComplete(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
 {
     return(true);
 }
 protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
 {
     var worker = new Worker(_settings);
     worker.GeneratePreviewFiles(projectFile.LocalFilePath, multiFileConverter);
 }
Example #27
0
 protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
 {
     reportGenerator.AddFile(projectFile.LocalFilePath);
     multiFileConverter.AddBilingualProcessor(new BilingualContentHandlerAdapter(new SaveToTargetPreProcessor(sourceSettings, targetSettings, reportGenerator)));
 }
        protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            var worker = new Worker(_settings);

            worker.GeneratePreviewFiles(projectFile.LocalFilePath, multiFileConverter);
        }
Example #29
0
        protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            var languageName = projectFile.Language.CultureInfo.Name;

            var targetFile = _wizardContext.ProjectFiles.FirstOrDefault(a =>
                                                                        a.FileId == projectFile.Id.ToString() && a.TargetLanguage == languageName);

            if (targetFile != null)
            {
                if (!targetFile.Selected)
                {
                    return;
                }

                targetFile.Location = Path.Combine(targetFile.Project.Path, targetFile.Location.Trim('\\'));

                if (string.IsNullOrEmpty(_currentLanguage) || languageName != _currentLanguage)
                {
                    _logReport.AppendLine();
                    _logReport.AppendLine(string.Format(PluginResources.Label_Language, languageName));
                    _currentLanguage = languageName;
                }

                var sdlxliffReader = new SdlxliffReader(_segmentBuilder,
                                                        _exportSettings.ExportOptions,
                                                        GetAnalysisBands(Project as FileBasedProject));

                var xliffWriter = new XliffWriter(_exportSettings.ExportOptions.XliffSupport);

                var dateTimeStampToString = GetDateTimeStampToString(_exportSettings.DateTimeStamp);
                var workingFolder         = Path.Combine(_exportSettings.TransactionFolder, dateTimeStampToString);
                var languageFolder        = Path.Combine(workingFolder, languageName);

                var xliffFolder   = GetXliffFolder(languageFolder, targetFile);
                var xliffFilePath = Path.Combine(xliffFolder, targetFile.Name + ".xliff");

                _logReport.AppendLine(string.Format(PluginResources.label_SdlXliffFile, targetFile.Location));
                _logReport.AppendLine(string.Format(PluginResources.label_XliffFile, xliffFilePath));

                try
                {
                    var xliffData = sdlxliffReader.ReadFile(_projectInfo.Id.ToString(), targetFile.Location);
                    var exported  = xliffWriter.WriteFile(xliffData, xliffFilePath, _exportSettings.ExportOptions.IncludeTranslations);

                    if (exported)
                    {
                        targetFile.Date                        = new DateTime(_exportSettings.DateTimeStamp.Ticks, DateTimeKind.Utc);
                        targetFile.Action                      = Enumerators.Action.Export;
                        targetFile.Status                      = Enumerators.Status.Success;
                        targetFile.XliffFilePath               = xliffFilePath;
                        targetFile.ConfirmationStatistics      = sdlxliffReader.ConfirmationStatistics;
                        targetFile.TranslationOriginStatistics = sdlxliffReader.TranslationOriginStatistics;
                    }

                    var activityFile = new ProjectFileActivity
                    {
                        ProjectFileId               = targetFile.FileId,
                        ProjectFile                 = targetFile,
                        ActivityId                  = Guid.NewGuid().ToString(),
                        Action                      = Enumerators.Action.Export,
                        Status                      = exported ? Enumerators.Status.Success : Enumerators.Status.Error,
                        Date                        = targetFile.Date,
                        Name                        = Path.GetFileName(targetFile.XliffFilePath),
                        Path                        = Path.GetDirectoryName(targetFile.XliffFilePath),
                        ConfirmationStatistics      = targetFile.ConfirmationStatistics,
                        TranslationOriginStatistics = targetFile.TranslationOriginStatistics
                    };

                    targetFile.ProjectFileActivities.Add(activityFile);

                    if (!exported)
                    {
                        _isError = true;
                    }

                    _logReport.AppendLine(string.Format(PluginResources.Label_Success, exported));
                    _logReport.AppendLine();
                }
                catch (Exception ex)
                {
                    _logReport.AppendLine();
                    _logReport.AppendLine(string.Format(PluginResources.label_ExceptionMessage, ex.Message));

                    throw;
                }
            }
        }
Example #30
0
 public void SetFileExtractorProperties(IFileExtractor extractor, IMultiFileConverter converter)
 {
     extractor.ItemFactory = converter.ItemFactory;
     extractor.BilingualParser.ItemFactory = converter.ItemFactory;
 }
Example #31
0
 protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
 {
     //In here you should add your custom bilingual processor to the file converter
 }
 protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
 {
 }