protected override void Execute() { var projectInfo = new ProjectInfo { Name = "", SourceLanguage = new Language(""), TargetLanguages = new[] { new Language("") }, LocalProjectFolder = @"", }; var fileBasedProject = new FileBasedProject(projectInfo); var allProviders = TranslationProviderManager.GetTranslationProviderFactories(); //get a list of all providers AddServerTm(fileBasedProject, "", "", "", false, "", ""); var projectFiles = fileBasedProject.AddFiles(new[] { @"" }); fileBasedProject.RunAutomaticTasks(projectFiles.GetIds(), new[] { AutomaticTaskTemplateIds.Scan, AutomaticTaskTemplateIds.ConvertToTranslatableFormat, AutomaticTaskTemplateIds.CopyToTargetLanguages, AutomaticTaskTemplateIds.PreTranslateFiles, }); fileBasedProject.Save(); }
/// <summary> /// Instantiate all file TMs for each language pair /// </summary> /// <returns></returns> private Dictionary <Language, List <ITranslationProvider> > InstantiateProjectTms() { var tms = new Dictionary <Language, List <ITranslationProvider> >(); foreach (var lang in this.Project.GetProjectInfo().TargetLanguages) { var tpConfig = this.Project.GetTranslationProviderConfiguration(lang); if (!tpConfig.OverrideParent) { tpConfig = this.Project.GetTranslationProviderConfiguration(); } List <ITranslationProvider> tps = new List <ITranslationProvider>(); foreach (var entry in tpConfig.Entries) { var uri = entry.MainTranslationProvider.Uri; //only instantiate file TMs, users can use server tms by creating project TMs if neceessary //handling server TM creds is too involved. if (uri.Scheme.Contains("sdltm.file")) { var factory = TranslationProviderManager.GetTranslationProviderFactory(uri); var tp = factory.CreateTranslationProvider(uri, entry.MainTranslationProvider.State, null); if (tp.TranslationMethod == TranslationMethod.TranslationMemory) { tps.Add(tp); } } } tms.Add(lang, tps); } return(tms); }
public ITranslationProvider CreateTranslationProvider(Uri translationProviderUri, string translationProviderState, ITranslationProviderCredentialStore credentialStore) { var fileBasedUri = new Uri("sdltm.file://" + translationProviderUri.AbsolutePath); var tProviderFactory = TranslationProviderManager.GetTranslationProviderFactory(fileBasedUri); var tProvider = tProviderFactory.CreateTranslationProvider(fileBasedUri, translationProviderState, credentialStore); return(new AddSourceTmTranslationProvider(tProvider)); }
public ITranslationProvider CreateTranslationProvider(Uri translationProviderUri, string translationProviderState, ITranslationProviderCredentialStore credentialStore) { var fileBasedUri = translationProviderUri.GetInnerProviderUri(); var tProviderFactory = TranslationProviderManager.GetTranslationProviderFactory(fileBasedUri); var tProvider = tProviderFactory.CreateTranslationProvider(fileBasedUri, translationProviderState, credentialStore); return(new RecordSourceTuTmTranslationProvider(tProvider)); }
public ITranslationProvider CreateTranslationProvider(Uri translationProviderUri, string translationProviderState, ITranslationProviderCredentialStore credentialStore) { var puis = JsonConvert.DeserializeObject <List <ProviderUriInfo> >(translationProviderState); var managedTranslationProviders = (from pui in puis let providerFactory = TranslationProviderManager.GetTranslationProviderFactory(pui.Uri) select providerFactory.CreateTranslationProvider(pui.Uri, pui.SerializedState, credentialStore)) .ToList(); return(new ControlledMtProvidersProvider(managedTranslationProviders)); }
public TranslationProviderInfo GetTranslationProviderInfo(Uri translationProviderUri, string translationProviderState) { var innerFactory = TranslationProviderManager.GetTranslationProviderFactory(translationProviderUri.GetInnerProviderUri()); var info = innerFactory.GetTranslationProviderInfo(translationProviderUri.GetInnerProviderUri(), translationProviderState); return(new TranslationProviderInfo() { Name = "Add Source TM", TranslationMethod = TranslationMethod.TranslationMemory }); }
/// <summary> /// Instantiate all file TMs for each language pair /// </summary> /// <returns></returns> private Dictionary <Language, List <ITranslationMemoryLanguageDirection> > InstantiateProjectTms() { var tms = new Dictionary <Language, List <ITranslationMemoryLanguageDirection> >(); foreach (var lang in this.Project.GetProjectInfo().TargetLanguages) { var tpConfig = this.Project.GetTranslationProviderConfiguration(lang); if (!tpConfig.OverrideParent) { tpConfig = this.Project.GetTranslationProviderConfiguration(); } List <ITranslationMemoryLanguageDirection> tps = new List <ITranslationMemoryLanguageDirection>(); foreach (var entry in tpConfig.Entries) { var uri = entry.MainTranslationProvider.Uri; //only instantiate file TMs, users can use server tms by creating project TMs if neceessary //handling TM creds is too involved. if (uri.Scheme.Contains("sdltm.file")) { var factory = TranslationProviderManager.GetTranslationProviderFactory(uri); var tp = factory.CreateTranslationProvider(uri, entry.MainTranslationProvider.State, null); if (tp.TranslationMethod == TranslationMethod.TranslationMemory) { FileBasedTranslationMemory tm = (FileBasedTranslationMemory)tp; var langDirs = tm.SupportedLanguageDirections.Where( x => x.TargetCulture.ToString() == lang.CultureInfo.ToString()); foreach (var langDir in langDirs) { tps.Add(tm.GetLanguageDirection(langDir)); } } } } tms.Add(lang, tps); } return(tms); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); IList <ITranslationProviderWinFormsUI> uis = TranslationProviderManager.GetTranslationProviderWinFormsUIs(); var mtProvidersUri = _controlledMTProvider.GetAllMtProvidersUri(); var selectedProvidersUri = _controlledMTProvider.GetSelectedMtProvidersUri(); foreach (ITranslationProviderWinFormsUI ui in uis) { if (mtProvidersUri.Any(x => ui.SupportsTranslationProviderUri(x))) { var isChecked = selectedProvidersUri.Any(x => ui.SupportsTranslationProviderUri(x)); clbProviders.Items.Add(new ProviderItem { Provider = ui }, isChecked); } } clbProviders.SelectedIndex = 0; }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); IList <ITranslationProviderWinFormsUI> uis = TranslationProviderManager.GetTranslationProviderWinFormsUIs(); var selectedMtProviders = _controlledMtProvider.GetSelectedMtProvidersUri(); var defaultMtProvidersUri = _controlledMtProvider.GetDefaultMtProvidersUri(); foreach (ITranslationProviderWinFormsUI ui in uis) { //exclude the default MT providers if (!CheckIfDefaultMTProvider(ui, defaultMtProvidersUri) && !ui.SupportsTranslationProviderUri(new Uri(ControlledMtProvidersProvider.ProviderUri))) { var isChecked = IsMTProviderChecked(ui, selectedMtProviders); clbProviders.Items.Add(new ProviderItem { Provider = ui }, isChecked); } } clbProviders.SelectedIndex = 0; }