/// <summary>
        /// Add a server TM to be used for anaysis. The project languages are
        /// set according to the TM.
        /// </summary>
        private void AddServerTm(FileBasedProject project, string serverAddress, string organizationPath, string tmName, bool useWindowsSecurity, string username, string password)
        #endregion
        {
            #region "TranslationProviderConfiguration"
            Uri tmAddress = new Uri(String.Format("sdltm.{1}{2}/{3}", serverAddress, organizationPath, tmName));
            TranslationProviderConfiguration config = project.GetTranslationProviderConfiguration();
            #endregion

            #region "TranslationProviderCascadeEntryForServerTM"
            TranslationProviderCascadeEntry tm = new TranslationProviderCascadeEntry
                                                 (
                new TranslationProviderReference(tmAddress),
                true,
                false,
                false
                                                 );
            config.Entries.Add(tm);
            project.UpdateTranslationProviderConfiguration(config);
            #endregion

            #region "CredentialsForServerTm"
            project.Credentials.AddCredential(new Uri(serverAddress), String.Format("user={0};password={1};type=CustomUser", username, password, useWindowsSecurity ? "WindowsUser" : "CustomUser"));
            project.UpdateTranslationProviderConfiguration(config);
            #endregion
        }
Example #2
0
        public void Execute()
        {
            var projectInfo = new ProjectInfo
            {
                Name            = "TestProject",
                SourceLanguage  = new Language(CultureInfo.GetCultureInfo("en-US")),                //import Sdl.core.globalization.dll
                TargetLanguages = new[] { new Language(CultureInfo.GetCultureInfo("de-DE")), },
                //file path where you want to save the project
                LocalProjectFolder = $@""
            };

            //import Sdl.ProjectAutomation.FileBased
            var fileBasedProject = new FileBasedProject(projectInfo);

            //HERE YOU NEED TO ADD THE PATH FOR FILES YOU WANT TO INCLUDE IN YOUR PROJECT
            var filesPath = new[] { @"C" };

            //add files to project
            var projectFiles = fileBasedProject.AddFiles(filesPath);
            //Translation provider configuration
            var translationProviderConfig = new TranslationProviderConfiguration();
            var entry = new TranslationProviderCascadeEntry(
                @"En-DeTM.sdltm", true, true, true);

            translationProviderConfig.Entries.Add(entry);
            fileBasedProject.UpdateTranslationProviderConfiguration(translationProviderConfig);
            //we need to run automatic task to create the project in studio
            fileBasedProject.RunAutomaticTask(projectFiles.GetIds(), AutomaticTaskTemplateIds.Scan);
            var taskSequence = fileBasedProject.RunAutomaticTasks(projectFiles.GetIds(),
                                                                  new[]
            {
                AutomaticTaskTemplateIds.ConvertToTranslatableFormat,
                AutomaticTaskTemplateIds.CopyToTargetLanguages, AutomaticTaskTemplateIds.PerfectMatch,
                AutomaticTaskTemplateIds.PreTranslateFiles,
            });

            if (taskSequence.Status == TaskStatus.Completed)
            {
                //project was created succesfully
            }
            else
            {
                if (taskSequence.Status.Equals(TaskStatus.Failed))
                {
                    foreach (var subTask in taskSequence.SubTasks)
                    {
                    }
                }
            }
            fileBasedProject.Save();
        }
        /// <summary>
        /// Adds the TM that should be used for the analysis. The project languages are
        /// set according to the TM.
        /// </summary>
        #region "AddTmFunction"
        private void AddTm(FileBasedProject project, string tmFilePath)
        #endregion
        {
            #region "TranslationProviderConfiguration"
            TranslationProviderConfiguration config = project.GetTranslationProviderConfiguration();
            #endregion

            #region "TranslationProviderCascadeEntry"
            TranslationProviderCascadeEntry tm = new TranslationProviderCascadeEntry(
                tmFilePath,
                true,
                true,
                false);
            config.Entries.Add(tm);

            project.UpdateTranslationProviderConfiguration(config);
            #endregion
        }
Example #4
0
        private static void Main(string[] args)
        {
            var projectInfo = new ProjectInfo
            {
                Name               = "",
                SourceLanguage     = new Language(""),
                TargetLanguages    = new[] { new Language("") },
                LocalProjectFolder = $@"PathWhereProjectsWillBeSaved\{GetDateTimeToString(DateTime.Now)}"
            };

            var project = new FileBasedProject(projectInfo);

            UpdateProjectProviderSettings(project);

            var tpConfig = project.GetTranslationProviderConfiguration();

            var tpUriString    = "";
            var tpReference    = new TranslationProviderReference(new Uri(tpUriString), null, true);
            var tpCascadeEntry = new TranslationProviderCascadeEntry(tpReference, true, true, false);

            tpConfig.Entries.Add(tpCascadeEntry);
            project.UpdateTranslationProviderConfiguration(tpConfig);

            var apiKey = "";

            project.Credentials.AddCredential(new Uri(tpUriString), apiKey);
            project.Save();

            var projFiles =
                project.AddFiles(
                    new[] { @"filepaths" });

            //var projFiles = project.AddFolderWithFiles(@"", true);

            project.RunAutomaticTasks(projFiles.GetIds(), new[]
            {
                AutomaticTaskTemplateIds.Scan,
                AutomaticTaskTemplateIds.ConvertToTranslatableFormat,
                AutomaticTaskTemplateIds.CopyToTargetLanguages,
                AutomaticTaskTemplateIds.PreTranslateFiles,
            });

            project.Save();
        }
Example #5
0
        private void AddServerTm(FileBasedProject project, string serverAddress, string organizationPath, string tmName, bool useWindowsSecurity, string username, string password)
        {
            var tmAddress = new Uri($"sdltm.{serverAddress}{organizationPath}/{tmName}");
            var config    = project.GetTranslationProviderConfiguration();

            var tm = new TranslationProviderCascadeEntry
                     (
                new TranslationProviderReference(tmAddress),
                true,
                true,
                false
                     );

            config.Entries.Add(tm);
            project.UpdateTranslationProviderConfiguration(config);

            project.Credentials.AddCredential(new Uri(serverAddress),
                                              $"user={username};password={password};type={(useWindowsSecurity ? "WindowsUser" : "CustomUser")}");
            project.UpdateTranslationProviderConfiguration(config);
        }