Beispiel #1
0
        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);
        }
Beispiel #3
0
        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));
        }
Beispiel #5
0
        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);
        }
Beispiel #8
0
        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;
        }