/// <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 }
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 }
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(); }
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); }