示例#1
0
        public void GetAnalyzeTaskSettings(FileBasedProject project)
        {
            #region "AnalysisTaskSettings"
            ISettingsBundle      settings        = project.GetSettings();
            AnalysisTaskSettings analyseSettings = settings.GetSettingsGroup <AnalysisTaskSettings>();
            #endregion

            #region "ReportCrossFileRepetitions"
            analyseSettings.ReportCrossFileRepetitions.Value = true;
            #endregion

            #region "ReportInternalFuzzyMatchLeverage"
            analyseSettings.ReportInternalFuzzyMatchLeverage.Value = true;
            #endregion

            #region "ExportFrequentSettings"
            analyseSettings.ExportFrequentSegments.Value          = true;
            analyseSettings.FrequentSegmentsNoOfOccurrences.Value = 5;
            #endregion

            #region "ExportUnknownSegments"
            analyseSettings.ExportUnknownSegments.Value            = true;
            analyseSettings.UnknownSegmentsMaximumMatchValue.Value = 50;
            #endregion

            #region "UpdateAnalyzeSettings"
            project.UpdateSettings(settings);
            #endregion
        }
        /// <summary>
        /// Configures the analyze task file settings, i.e. in our implementation
        /// report cross-file repetitions and report the internal fuzzy match leverage.
        /// </summary>
        private void GetAnalyzeSettings(
            FileBasedProject project,
            string trgLocale,
            bool reportCrossFileRepetitions,
            bool reportInternalFuzzyMatchLeverage)
        #endregion
        {
            #region "trgLanguage"
            Language trgLanguage = new Language(CultureInfo.GetCultureInfo(trgLocale));
            #endregion

            #region "ISettingsBundle"
            ISettingsBundle      settings        = project.GetSettings(trgLanguage);
            AnalysisTaskSettings analyzeSettings = settings.GetSettingsGroup <AnalysisTaskSettings>();
            #endregion

            #region "ConfigureSettings"
            analyzeSettings.ReportCrossFileRepetitions.Value       = reportCrossFileRepetitions;
            analyzeSettings.ReportInternalFuzzyMatchLeverage.Value = reportInternalFuzzyMatchLeverage;
            #endregion

            #region "UpdateSettings"
            project.UpdateSettings(trgLanguage, settings);
            #endregion
        }
        /// <summary>
        /// Use project settings bundle to adapt specific project settings. For more details see Sdl.ProjectAutomation.Settings
        /// </summary>
        private void AdaptProjectSettings(FileBasedProject createdProject)
        {
            // Adapting translate task settings
            ISettingsBundle       settings          = createdProject.GetSettings();
            TranslateTaskSettings translateSettings = settings.GetSettingsGroup <TranslateTaskSettings>();

            translateSettings.NoTranslationMemoryMatchFoundAction.Value = NoTranslationMemoryMatchFoundAction.CopySourceToTarget;

            AnalysisTaskSettings analyzeSettings = settings.GetSettingsGroup <AnalysisTaskSettings>();

            analyzeSettings.ExportFrequentSegments.Value = true;

            createdProject.UpdateSettings(settings);

            // Note the most complicated settings are TranslationMemorySettings, to adapt some part of these you need to use TM API
            // for example for filters. The documentation should mention this fact and describe how user can get a TM API (link to website)
            // We should not add such examples into ProjectAutomation API as it would add to many dependencies.
        }