private void IncludeTermbaseInStudio(ITermbase termbase, TermbaseGeneration termbaseCreator, string termbasePath) { ITelemetryTracker telemetryTracker = new TelemetryTracker(); try { telemetryTracker.StartTrackRequest("Including the termbase into Trados Studio"); telemetryTracker.TrackEvent("Including the termbase into Trados Studio", null); #region TbConfig var project = SdlTradosStudio.Application.GetController <ProjectsController>().CurrentProject; TermbaseConfiguration termbaseConfig = project.GetTermbaseConfiguration(); #endregion #region AddTb var studioTermbase = new LocalTermbase(termbasePath); termbaseConfig.Termbases.Add(studioTermbase); #endregion #region TermRecOptions TermRecognitionOptions options = termbaseConfig.TermRecognitionOptions; options.MinimumMatchValue = 50; options.SearchDepth = 200; options.ShowWithNoAvailableTranslation = true; options.SearchOrder = TermbaseSearchOrder.Hierarchical; #endregion #region TermbaseLanguageIndex var langs = termbaseCreator.GetProjectLanguages(); termbaseConfig.LanguageIndexes.Clear(); foreach (var lang in langs.Keys) { termbaseConfig.LanguageIndexes.Add(new TermbaseLanguageIndex(new Language(CultureInfo.GetCultureInfo(langs[lang])), lang)); } #endregion #region UpdateTermbaseConfiguration project.UpdateTermbaseConfiguration(termbaseConfig); #endregion } catch (Exception e) { telemetryTracker.TrackException(new UploadTermbaseException(PluginResources.Error_IncludeTermbaseInStudio + e.Message)); telemetryTracker.TrackTrace((new UploadTermbaseException(PluginResources.Error_IncludeTermbaseInStudio + e.Message)).StackTrace, Microsoft.ApplicationInsights.DataContracts.SeverityLevel.Error); throw new UploadTermbaseException(PluginResources.Error_IncludeTermbaseInStudio + e.Message); } }
public void AddTermbase(FileBasedProject project, string termbaseFileName) { #region "TbConfig" TermbaseConfiguration termbaseConfig = project.GetTermbaseConfiguration(); #endregion #region "AddTb" Termbase tb = new LocalTermbase(termbaseFileName); termbaseConfig.Termbases.Add(tb); #endregion #region "TermRecOptions" TermRecognitionOptions options = termbaseConfig.TermRecognitionOptions; options.MinimumMatchValue = 50; options.SearchDepth = 200; options.ShowWithNoAvailableTranslation = true; options.SearchOrder = TermbaseSearchOrder.Hierarchical; #endregion #region "ProjectLanguagesAndTbIndexes" string[] termbaseIndex = { "English", "German", "French" }; Language projSourceLang = new Language(CultureInfo.GetCultureInfo("en-US")); Language projTargetLang1 = new Language(CultureInfo.GetCultureInfo("de-DE")); Language projTargetLang2 = new Language(CultureInfo.GetCultureInfo("fr-FR")); #endregion #region "TermbaseLanguageIndex" termbaseConfig.LanguageIndexes.Add(new TermbaseLanguageIndex(projSourceLang, termbaseIndex[0])); termbaseConfig.LanguageIndexes.Add(new TermbaseLanguageIndex(projTargetLang1, termbaseIndex[1])); termbaseConfig.LanguageIndexes.Add(new TermbaseLanguageIndex(projTargetLang2, termbaseIndex[2])); #endregion #region "UpdateTermbaseConfiguration" project.UpdateTermbaseConfiguration(termbaseConfig); #endregion }