public void GetPretranslateTaskSettings(FileBasedProject project) { #region "PetranslateTaskSettings" ISettingsBundle settings = project.GetSettings(); TranslateTaskSettings pretranslateSettings = settings.GetSettingsGroup <TranslateTaskSettings>(); #endregion #region "MinimumScore" pretranslateSettings.MinimumMatchScore.Value = 95; #endregion #region "ExactMatches" pretranslateSettings.ConfirmAfterApplyingExactMatch.Value = true; pretranslateSettings.LockExactMatchSegments.Value = false; #endregion #region "ContextMatches" pretranslateSettings.ConfirmAfterApplyingInContextExactMatch.Value = true; pretranslateSettings.LockContextMatchSegments.Value = true; #endregion #region "NoMatch" pretranslateSettings.NoTranslationMemoryMatchFoundAction.Value = NoTranslationMemoryMatchFoundAction.CopySourceToTarget; #endregion #region "TranslationOverwrite" pretranslateSettings.TranslationOverwriteMode.Value = TranslationUpdateMode.OverwriteExistingTranslation; #endregion #region "UpdateTaskSettings" project.UpdateSettings(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. }
public void ConfigureBatchTaskSettings(FileBasedProject project, string trgLocale, int minMatchValue) { #region "SetLanguage" Language trgLanguage = new Language(CultureInfo.GetCultureInfo(trgLocale)); #endregion #region "TaskSettings" ISettingsBundle settings = project.GetSettings(trgLanguage); TranslateTaskSettings pretranslateSettings = settings.GetSettingsGroup <TranslateTaskSettings>(); #endregion #region "MinimumMatchScore" pretranslateSettings.MinimumMatchScore.Value = minMatchValue; #endregion #region "UpdateSettings" project.UpdateSettings(trgLanguage, settings); #endregion }
private static void RunFinetune(FileBasedProject testProject) { ISettingsBundle settings = testProject.GetSettings(); FinetuneBatchTaskSettings finetuneSettings = settings.GetSettingsGroup <FinetuneBatchTaskSettings>(); TranslateTaskSettings pretranslateSettings = settings.GetSettingsGroup <TranslateTaskSettings>(); /*pretranslateSettings.Finetune = true; * pretranslateSettings.ExtractFuzzies = true; * pretranslateSettings.FuzzyMaxResults = 5; * pretranslateSettings.ExtractFillerUnits = true; * pretranslateSettings.FuzzyMinPercentage = 60; * pretranslateSettings.BatchTranslate = false; * pretranslateSettings.AddFiskmoProvider = false; * pretranslateSettings.ExtractConcordanceUnits = true; * pretranslateSettings.MaxFinetuningSentences = 100000; * pretranslateSettings.IncludePlaceholderTags = false; * pretranslateSettings.IncludeTagPairs = false;*/ var finetuneTaskSettingsWindow = new FiskmoTranslationProvider.FinetuneWpfControl(finetuneSettings); Window window = new Window { Title = "Finetune task settings", Content = finetuneTaskSettingsWindow }; window.ShowDialog(); testProject.UpdateSettings(settings); AutomaticTask pretranslateTask = testProject.RunAutomaticTask( testProject.GetTargetLanguageFiles().GetIds(), AutomaticTaskTemplateIds.PreTranslateFiles); AutomaticTask finetuneTask = testProject.RunAutomaticTask( testProject.GetTargetLanguageFiles().GetIds(), "FiskmoBatchTask"); testProject.Save(); }