public void CreateTemplate(TranslationProviderServer tmServer) { #region "TemplateProps" ServerBasedLanguageResourcesTemplate template = new ServerBasedLanguageResourcesTemplate(tmServer); template.Name = "Sample Language Resources Template"; template.Description = "Language Resources template created through API"; #endregion #region "variables" LanguageResourceBundle variables = new LanguageResourceBundle(CultureInfo.GetCultureInfo("en-US")); variables.Variables.Add("SDL Trados Studio 2009"); variables.Variables.Add("SDL MultiTerm 2009"); #endregion #region "abbreviations" LanguageResourceBundle abbreviations = new LanguageResourceBundle(CultureInfo.GetCultureInfo("en-US")); abbreviations.Abbreviations.Add("hr."); abbreviations.Abbreviations.Add("cont."); #endregion #region "AddResources" template.LanguageResourceBundles.Add(variables); template.LanguageResourceBundles.Add(abbreviations); #endregion #region "save" template.Save(); MessageBox.Show("Unsaved changes? " + template.IsDirty.ToString()); #endregion #region "delete" template.Delete(); #endregion }
public void Execute() { var uri = new Uri(@"Add your url"); var translationProviderServer = new TranslationProviderServer(uri, false, "user name", "password"); //Add Translation memory id var guid = new Guid(""); var tm = translationProviderServer.GetTranslationMemory(guid, TranslationMemoryProperties.None); var langDirection = tm.GetLanguageDirection(new LanguagePair(new CultureInfo("en-us"), new CultureInfo("ro-ro"))); var iterator = new RegularIterator(10); var translationUnits = langDirection.GetTranslationUnits(ref iterator); //Add the id of the translation unit you want to update var tu = langDirection.GetTranslationUnit( new PersistentObjectToken(1, new Guid(""))); //segment visitor var textVisitor = new TextVisitor(); var segmentElement = tu.TargetSegment.Elements[0]; segmentElement.AcceptSegmentElementVisitor(textVisitor); langDirection.UpdateTranslationUnit(tu); tm.Save(); }
private void btnReindex_Click(object sender, EventArgs e) { if (tabControlTMLifting.SelectedTab == tabControlTMLifting.TabPages["tabPageFileBasedTM"]) { var tms = lstTms.Items.OfType <TranslationMemoryInfo>().ToList(); if (tms.Capacity > 0) { groupBoxProgress.Visible = true; labelMessage.Text = "In progress, please wait... "; progressBarFileBased.Style = ProgressBarStyle.Marquee; btnReindex.Enabled = false; _bw.RunWorkerAsync(tms); cancelBtn.Enabled = true; } } else { foreach (dynamic row in gridServerBasedTMs.SelectedRows) { var selectedRow = gridServerBasedTMs.Rows[row.Index].DataBoundItem as TranslationMemoryDetails; var uriServer = new Uri(Properties.Settings.Default.Uri); var translationProvider = new TranslationProviderServer(uriServer, false, Properties.Settings.Default.UserName, Properties.Settings.Default.Password); var selectedTm = translationProvider.GetTranslationMemory(selectedRow.Id, TranslationMemoryProperties.None); var reindexOperation = new ScheduledReindexOperation() { TranslationMemory = selectedTm }; reindexOperation.Refresh(); reindexOperation.Queue(); gridServerBasedTMs.Rows[row.Index].Cells["Status"].Value = reindexOperation.Status; } } }
public void GetFieldTemplates(TranslationProviderServer tmServer) { #region "LoopTemplates" StringBuilder templateList = new StringBuilder(); foreach (ServerBasedFieldsTemplate template in tmServer.GetFieldsTemplates(FieldsTemplateProperties.All)) #endregion { #region "GeneralTemplateInfo" templateList.AppendFormat("Template name: {0}\n", template.Name); templateList.AppendFormat("Template description: {0}\n", template.Description); #endregion #region "fields" templateList.AppendLine("Fields: "); foreach (FieldDefinition def in template.FieldDefinitions) { templateList.AppendFormat("{0}({1})", def.Name, def.ValueType.ToString()); } templateList.AppendLine(string.Empty); #endregion } MessageBox.Show(templateList.ToString(), "Template List"); }
private void ApplyChanges() { var selectedSearchResult = SourceSearchResults.Where(s => s.TuSelected).ToList(); var tusToAnonymize = new List <AnonymizeTranslationMemory>(); //file base tms var fileBasedSearchResult = selectedSearchResult.Where(t => !t.IsServer).ToList(); if (fileBasedSearchResult.Count > 0) { BackupFileBasedTm(); tusToAnonymize = GetTranslationUnitsToAnonymize(fileBasedSearchResult); Tm.AnonymizeFileBasedTu(tusToAnonymize); } //server based tms var serverBasedSearchResult = selectedSearchResult.Where(t => t.IsServer).ToList(); if (serverBasedSearchResult.Count > 0) { tusToAnonymize = GetTranslationUnitsToAnonymize(serverBasedSearchResult); var uri = new Uri(_tmViewModel.Credentials.Url); var translationProvider = new TranslationProviderServer(uri, false, _tmViewModel.Credentials.UserName, _tmViewModel.Credentials.Password); BackupServerBasedTm(translationProvider, tusToAnonymize); Tm.AnonymizeServerBasedTu(translationProvider, tusToAnonymize); } RemoveSelectedTusToAnonymize(); }
public void CreateTemplate(TranslationProviderServer tmServer) { #region "CreateTemplate" ServerBasedFieldsTemplate template = new ServerBasedFieldsTemplate(tmServer); template.Name = "Sample Template"; template.Description = "Fields template created by API"; #endregion #region "AddTextField" FieldDefinition projField = new FieldDefinition("Project id", FieldValueType.MultipleString); #endregion #region "AddListField" FieldDefinition clientField = new FieldDefinition("Client", FieldValueType.MultiplePicklist); clientField.PicklistItems.Add("Microsoft"); clientField.PicklistItems.Add("SAP"); #endregion #region "AddFieldsToTemplate" template.FieldDefinitions.Add(projField); template.FieldDefinitions.Add(clientField); #endregion #region "save" template.Save(); MessageBox.Show("Unsaved changes? " + template.IsDirty.ToString()); #endregion #region "delete" template.Delete(); #endregion }
/// <summary> /// Selects the particular server TM as chosen by the user through the dropdown list. /// </summary> public void SelectServerTm(string tmName, string uri, string userName, string password) { var tmServer = new TranslationProviderServer(GetUri(uri), false, userName, password); ServerTM = tmServer.GetTranslationMemory(tmName, TranslationMemoryProperties.None); Server = true; }
public static AnonymizeTranslationMemory ServerBasedTmGetTranslationUnits(TranslationProviderServer translationProvider, string tmPath, ObservableCollection <SourceSearchResult> sourceSearchResult, List <Rule> selectedRules) { var allTusForLanguageDirections = new List <TranslationUnit>(); System.Windows.Application.Current.Dispatcher.Invoke(delegate { var translationMemory = translationProvider.GetTranslationMemory(tmPath, TranslationMemoryProperties.All); var languageDirections = translationMemory.LanguageDirections; var pi = new PersonalInformation(selectedRules); foreach (var languageDirection in languageDirections) { var unitsCount = languageDirection.GetTranslationUnitCount(); var tmIterator = new RegularIterator(unitsCount); var translationUnits = languageDirection.GetTranslationUnits(ref tmIterator); if (translationUnits != null) { allTusForLanguageDirections.AddRange(translationUnits); foreach (var translationUnit in translationUnits) { var sourceText = translationUnit.SourceSegment.ToPlain(); if (pi.ContainsPi(sourceText)) { var searchResult = new SourceSearchResult { Id = translationUnit.ResourceId.Guid.ToString(), SourceText = sourceText, MatchResult = new MatchResult { Positions = pi.GetPersonalDataPositions(sourceText) }, TmFilePath = tmPath, IsServer = true, SegmentNumber = translationUnit.ResourceId.Id.ToString() }; var targetText = translationUnit.TargetSegment.ToPlain(); if (pi.ContainsPi(targetText)) { searchResult.TargetText = targetText; searchResult.TargetMatchResult = new MatchResult { Positions = pi.GetPersonalDataPositions(targetText) }; } sourceSearchResult.Add(searchResult); } } } } }); return(new AnonymizeTranslationMemory { TmPath = tmPath, TranslationUnits = allTusForLanguageDirections }); }
public void DeleteContainer(TranslationProviderServer tmServer, string organization, string containerName) { if (!organization.EndsWith("/")) { organization += "/"; } TranslationMemoryContainer container = tmServer.GetContainer(organization + containerName, ContainerProperties.None); container.Delete(false); }
public SelectServersViewModel(Window controlWindow, SettingsService settingsService, TranslationProviderServer translationProviderServer) { _controlWindow = controlWindow; _settingsService = settingsService; _translationProviderServer = translationProviderServer; _backgroundWorker = new BackgroundWorker(); _backgroundWorker.DoWork += BackgroundWorker_DoWork; _backgroundWorker.RunWorkerAsync(); }
public void Create(TranslationProviderServer tmServer) { TranslationMemoryContainer container = new TranslationMemoryContainer(tmServer); DatabaseServer dbServ = tmServer.GetDatabaseServer("DB01", GetDbServProperties()); container.DatabaseServer = dbServ; container.DatabaseName = "DbName"; container.Name = "NiceName"; container.Save(); }
public void GetLicensingInformation(TranslationProviderServer tmServer) { string licInfo = string.Empty; LicensingStatusInformation info; info = tmServer.GetLicensingStatusInformation(); licInfo += "Max. concurrent users: " + info.MaxConcurrentUsers.ToString(); licInfo += "Max. TU count: " + info.MaxTranslationUnitCount.ToString(); licInfo += "Current TU count: " + info.CurrentTranslationUnitCount.ToString(); MessageBox.Show(licInfo, "Licensing Information"); }
public void DeleteTm(TranslationProviderServer tmServer, string organizationPath, string tmName) { string tmPath = organizationPath; if (!tmPath.EndsWith("/")) { tmPath += "/"; } ServerBasedTranslationMemory tm = tmServer.GetTranslationMemory(tmPath + tmName, TranslationMemoryProperties.All); tm.Delete(); }
public void GetDBServers(TranslationProviderServer tmServer) { string serverInfo = string.Empty; foreach (DatabaseServer dbServer in tmServer.GetDatabaseServers(DatabaseServerProperties.None)) { serverInfo += "Server name: " + dbServer.ServerName + "\n"; serverInfo += "Friendly server name: " + dbServer.Name + "\n"; serverInfo += "Server description: " + dbServer.Description + "\n"; serverInfo += "Server type: " + dbServer.ServerType + "\n\n"; } MessageBox.Show(serverInfo, "Container Information"); }
private void AddDetailsCallback(string userName, string password, string uri) { try { Properties.Settings.Default.UserName = userName; Properties.Settings.Default.Password = password; Properties.Settings.Default.Uri = uri; Properties.Settings.Default.Save(); var uriServer = new Uri(Properties.Settings.Default.Uri); var translationProvider = new TranslationProviderServer(uriServer, false, Properties.Settings.Default.UserName, Properties.Settings.Default.Password); var translationMemories = translationProvider.GetTranslationMemories(TranslationMemoryProperties.None); var tmDetails = new List <TranslationMemoryDetails>(); foreach (var tm in translationMemories) { tmDetails.Add(new TranslationMemoryDetails { Id = tm.Id, Name = tm.Name, Description = tm.Description, CreatedOn = tm.CreationDate, Location = tm.ParentResourceGroupPath, Size = tm.GetTranslationUnitCount() }); var result = tm.CurrentReindexOperation; } var sortedBindingList = new SortableBindingList <TranslationMemoryDetails>(tmDetails); gridServerBasedTMs.DataSource = sortedBindingList; gridServerBasedTMs.Columns["Id"].Visible = false; gridServerBasedTMs.Columns["Name"].Visible = true; gridServerBasedTMs.Columns["Description"].Visible = true; gridServerBasedTMs.Columns["CreatedOn"].Visible = true; gridServerBasedTMs.Columns["Location"].Visible = true; gridServerBasedTMs.Columns["Size"].Visible = true; gridServerBasedTMs.Columns["Status"].Visible = true; gridServerBasedTMs.AllowUserToAddRows = false; gridServerBasedTMs.ReadOnly = true; gridServerBasedTMs.Visible = true; connectToServerBtn.Text = "Logout"; } catch (Exception ex) { throw new SystemException(Constants.AuthentificationErrorMsg); } }
public void GetDBContainers(TranslationProviderServer tmServer) { string dbInfo = string.Empty; foreach (TranslationMemoryContainer container in tmServer.GetContainers(ContainerProperties.None)) { dbInfo += "DB Name: " + container.DatabaseName + "\n"; dbInfo += "Friendly name: " + container.Name + "\n"; dbInfo += "DB Server: " + container.DatabaseServer + "\n"; dbInfo += "Description: " + container.Description + "\n\n"; dbInfo += "ParentOrganization: " + container.ParentResourceGroupPath + "\n\n"; } MessageBox.Show(dbInfo); }
public void GetTmsForTemplate(TranslationProviderServer tmServer, string templateName) { #region "SelectTemplate" ServerBasedLanguageResourcesTemplate template = tmServer.GetLanguageResourcesTemplate(templateName, LanguageResourcesTemplateProperties.All); #endregion #region "LoopTms" string tmList = string.Empty; foreach (ServerBasedTranslationMemory tm in template.TranslationMemories) { tmList += tm.Name + "\n"; } MessageBox.Show(tmList); #endregion }
private void PreviewChanges() { var selectedTms = _tmsCollection.Where(t => t.IsSelected).ToList(); var selectedRulesCount = RulesCollection.Count(r => r.IsSelected); if (selectedTms.Count > 0 && selectedRulesCount > 0) { var serverTms = selectedTms.Where(s => s.IsServerTm).ToList(); if (serverTms.Any()) { var uri = new Uri(_translationMemoryViewModel.Credentials.Url); var translationProvider = new TranslationProviderServer(uri, false, _translationMemoryViewModel.Credentials.UserName, _translationMemoryViewModel.Credentials.Password); //get all tus for selected translation memories foreach (var serverTm in serverTms) { var tus = Tm.ServerBasedTmGetTranslationUnits(translationProvider, serverTm.Path, SourceSearchResults, GetSelectedRules()); if (!_anonymizeTranslationMemories.Exists(n => n.TmPath.Equals(tus.TmPath))) { _anonymizeTranslationMemories.Add(tus); } } } //file based tms foreach (var tm in selectedTms.Where(s => !s.IsServerTm)) { var tus = Tm.FileBaseTmGetTranslationUnits(tm.Path, SourceSearchResults, GetSelectedRules()); if (!_anonymizeTranslationMemories.Exists(n => n.TmPath.Equals(tus.TmPath))) { _anonymizeTranslationMemories.Add(tus); } } var previewWindow = new PreviewWindow(); var previewViewModel = new PreviewWindowViewModel(SourceSearchResults, _anonymizeTranslationMemories, _tmsCollection, _translationMemoryViewModel); previewWindow.DataContext = previewViewModel; previewWindow.Show(); } else { MessageBox.Show(@"Please select at least one translation memory and a rule to preview the changes", "", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
public static void AnonymizeServerBasedTu(TranslationProviderServer translationProvider, List <AnonymizeTranslationMemory> tusToAnonymize) { try { foreach (var tuToAonymize in tusToAnonymize) { var translationMemory = translationProvider.GetTranslationMemory(tuToAonymize.TmPath, TranslationMemoryProperties.All); var languageDirections = translationMemory.LanguageDirections; foreach (var languageDirection in languageDirections) { foreach (var translationUnit in tuToAonymize.TranslationUnits) { var sourceTranslationElements = translationUnit.SourceSegment.Elements.ToList(); var elementsContainsTag = sourceTranslationElements.Any(s => s.GetType().UnderlyingSystemType.Name.Equals("Tag")); if (elementsContainsTag) { AnonymizeSegmentsWithTags(translationUnit, sourceTranslationElements, true); } else { AnonymizeSegmentsWithoutTags(translationUnit, sourceTranslationElements, true); } languageDirection.UpdateTranslationUnit(translationUnit); } } } } catch (Exception exception) { if (exception.Message.Equals("One or more errors occurred.")) { if (exception.InnerException != null) { MessageBox.Show(exception.InnerException.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show(exception.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
public void GetTmsForTemplate(TranslationProviderServer tmServer, string templateName) { #region "GetTemplate" ServerBasedFieldsTemplate template = tmServer.GetFieldsTemplate(templateName, FieldsTemplateProperties.All); #endregion #region "TmLoop" StringBuilder tmList = new StringBuilder(); foreach (ServerBasedTranslationMemory tm in template.TranslationMemories) { tmList.AppendLine(tm.Name); } MessageBox.Show(tmList.ToString()); #endregion }
/// <summary> /// Tests connection to TranslationProviderServer. /// </summary> public void Test(TranslationProviderServer tmServer) { #region "license" ServerLicensing license = new ServerLicensing(); license.GetLicensingInformation(tmServer); #endregion #region "dbservers" ServerDBServers dbServ = new ServerDBServers(); dbServ.GetDBServers(tmServer); #endregion #region "containers" ServerContainers containers = new ServerContainers(); containers.GetDBContainers(tmServer); #endregion #region "CreateContainer" ServerContainer newContainer = new ServerContainer(); newContainer.CreateAdvanced(tmServer, _organizationPath, _temporaryContainer); #endregion #region "DeleteContainer" newContainer.DeleteContainer(tmServer, _organizationPath, _temporaryContainer); #endregion #region "CreateTm" ServerTmCreator newTm = new ServerTmCreator(); newTm.Create(tmServer, _organizationPath, _existingContainer, _temporaryTranslationMemory); #endregion #region "DeleteTm" newTm.DeleteTm(tmServer, _organizationPath, _temporaryTranslationMemory); #endregion #region "export" ServerExporter export = new ServerExporter(); export.ExportToTmx(tmServer, _organizationPath, _existingTranslationMemory, _exportFileName); #endregion #region "import" ServerImporter import = new ServerImporter(); import.ImportTmx(tmServer, _organizationPath, _existingTranslationMemory, _importFileName); #endregion }
private void ImportXliffToExistingTm() { var uri = new Uri(@"uri"); var translationProviderServer = new TranslationProviderServer(uri, false, "user name", "password"); //Import to existing tm var guid = new Guid("Existing TM Guid"); var tm = translationProviderServer.GetTranslationMemory(guid, TranslationMemoryProperties.None); var langDirection = tm.LanguageDirections; var import = new ScheduledServerTranslationMemoryImport(langDirection[0]) { Source = new FileInfo(@"path to xliff") }; import.Queue(); }
public void GetTemplates(TranslationProviderServer tmServer) { #region "LoopTemplates" string templateList = string.Empty; foreach (ServerBasedLanguageResourcesTemplate template in tmServer.GetLanguageResourcesTemplates(LanguageResourcesTemplateProperties.All)) #endregion { #region "info" templateList += "Template name: " + template.Name + "\n"; templateList += "Description: " + template.Description + "\n"; #endregion #region "VarCount" LanguageResourceBundle bundle = template.LanguageResourceBundles[0]; templateList += "Number of variables in template: " + bundle.Variables.Count.ToString() + "\n\n"; #endregion } MessageBox.Show(templateList, "Available language resources remplates"); }
private async void ApplyChanges() { if (SourceSearchResults.Any(s => s.TuSelected)) { System.Windows.Application.Current.Dispatcher.Invoke(delegate { _waitWindow = new WaitWindow(); _waitWindow.Show(); }); var selectedSearchResult = SourceSearchResults.Where(s => s.TuSelected).ToList(); List <AnonymizeTranslationMemory> tusToAnonymize; //file base tms var fileBasedSearchResult = selectedSearchResult.Where(t => !t.IsServer).ToList(); if (fileBasedSearchResult.Count > 0) { BackupFileBasedTm(); tusToAnonymize = GetTranslationUnitsToAnonymize(fileBasedSearchResult); Tm.AnonymizeFileBasedTu(tusToAnonymize); } //server based tms var serverBasedSearchResult = selectedSearchResult.Where(t => t.IsServer).ToList(); if (serverBasedSearchResult.Count > 0) { tusToAnonymize = GetTranslationUnitsToAnonymize(serverBasedSearchResult); var uri = new Uri(_tmViewModel.Credentials.Url); var translationProvider = new TranslationProviderServer(uri, false, _tmViewModel.Credentials.UserName, _tmViewModel.Credentials.Password); BackupServerBasedTm(translationProvider, tusToAnonymize); Tm.AnonymizeServerBasedTu(translationProvider, tusToAnonymize); } RemoveSelectedTusToAnonymize(); _waitWindow?.Close(); } else { await _dialogCoordinator.ShowMessageAsync(this, "", "Please select at least one translation unit to apply the changes"); } }
/// <summary> /// Establishing a connection to the TM Server. /// This connection is primarily needed for populating the /// TM dropdown list with the TM names. /// </summary> public void Connect(string serverUri, string userName, string password, ComboBox tmList) { try { var tmServer = new TranslationProviderServer(GetUri(serverUri), false, userName, password); foreach (ServerBasedTranslationMemory item in tmServer.GetTranslationMemories(TranslationMemoryProperties.All)) { //Resolve path to the TM inclusive name of the organization(s) string tmPath = item.ParentResourceGroupPath == "/" ? "" : item.ParentResourceGroupPath; tmList.Items.Add(tmPath + "/" + item.Name); } if (tmList.Items.Count > 0) { tmList.Enabled = true; tmList.SelectedIndex = 0; } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public void Execute() { var uri = new Uri(@"Add your url"); var translationProviderServer = new TranslationProviderServer(uri, false, "user name", "password"); var serverTm = new ServerBasedTranslationMemory(translationProviderServer) { Name = "Tm from API" }; var resourceTemplate = translationProviderServer.GetLanguageResourcesTemplates(LanguageResourcesTemplateProperties.All); var containters = translationProviderServer.GetContainers(ContainerProperties.All); var container = containters.FirstOrDefault(c => c.Name.Equals("APSIC_TM_Container")); if (container != null) { serverTm.Container = container; serverTm.ParentResourceGroupPath = container.ParentResourceGroupPath; serverTm.LanguageResourcesTemplate = resourceTemplate?[0]; CreateLanguageDirections(serverTm.LanguageDirections); serverTm.Save(); } }
public void CreateAdvanced(TranslationProviderServer tmServer, string organization, string newContainerName) { #region "count" ReadOnlyCollection <DatabaseServer> dbs = tmServer.GetDatabaseServers(DatabaseServerProperties.Containers); if (dbs.Count == 0) { throw new Exception("No DB server registered."); } #endregion #region "CheckExists" foreach (TranslationMemoryContainer item in dbs[0].Containers) { if (item.Name == newContainerName) { throw new Exception("Container with that name already exists."); } } #endregion #region "CreateContainer" TranslationMemoryContainer container = new TranslationMemoryContainer(tmServer); container.DatabaseServer = dbs[0]; container.DatabaseName = newContainerName + "DB"; container.Name = newContainerName; container.ParentResourceGroupPath = organization; container.Save(); #endregion #region "CheckCreated" if (!dbs[0].Containers.Contains(container)) { throw new Exception("Container was not created."); } #endregion }
public void ExportToTmx(TranslationProviderServer tmServer, string orgName, string tmName, string exportFilePath) { #region "OpenTm" if (!orgName.StartsWith("/")) { orgName = "/" + orgName; } if (!orgName.EndsWith("/")) { orgName += "/"; } ServerBasedTranslationMemory tm = tmServer.GetTranslationMemory( orgName + tmName, TranslationMemoryProperties.All); #endregion #region "exporter" ScheduledServerTranslationMemoryExport exporter = new ScheduledServerTranslationMemoryExport( this.GetLanguageDirection(tm, CultureInfo.GetCultureInfo("en-US"), CultureInfo.GetCultureInfo("de-DE"))); #endregion #region "settings" exporter.ChunkSize = 25; exporter.ContinueOnError = true; #endregion #region "wait" exporter.Queue(); exporter.Refresh(); bool continueWaiting = true; while (continueWaiting) { switch (exporter.Status) { case ScheduledOperationStatus.Abort: case ScheduledOperationStatus.Aborted: case ScheduledOperationStatus.Cancel: case ScheduledOperationStatus.Cancelled: case ScheduledOperationStatus.Completed: case ScheduledOperationStatus.Error: continueWaiting = false; break; case ScheduledOperationStatus.Aborting: case ScheduledOperationStatus.Allocated: case ScheduledOperationStatus.Cancelling: case ScheduledOperationStatus.NotSet: case ScheduledOperationStatus.Queued: case ScheduledOperationStatus.Recovered: case ScheduledOperationStatus.Recovering: case ScheduledOperationStatus.Recovery: continueWaiting = true; exporter.Refresh(); break; default: continueWaiting = false; break; } } #endregion #region "completed" if (exporter.Status == ScheduledOperationStatus.Completed) { using (Stream outputStream = new FileStream(exportFilePath, FileMode.Create)) { var result = exporter.DownloadExport(outputStream); if (result) { MessageBox.Show("Export successfuly finished."); } } } else if (exporter.Status == ScheduledOperationStatus.Error) { MessageBox.Show(exporter.ErrorMessage); } else { MessageBox.Show("Export did not finish."); } #endregion }
private void BackupServerBasedTm(TranslationProviderServer translationProvider, List <AnonymizeTranslationMemory> tusToAnonymize) { _backupTms.Clear(); if (!Directory.Exists(Constants.ServerTmBackupPath)) { Directory.CreateDirectory(Constants.ServerTmBackupPath); } try { foreach (var tuToAonymize in tusToAnonymize) { var translationMemory = translationProvider.GetTranslationMemory(tuToAonymize.TmPath, TranslationMemoryProperties.All); var languageDirections = translationMemory.LanguageDirections; foreach (var languageDirection in languageDirections) { var folderPath = Path.Combine(Constants.ServerTmBackupPath, translationMemory.Name, languageDirection.TargetLanguageCode); if (!Directory.Exists(folderPath)) { Directory.CreateDirectory(folderPath); } var fileName = translationMemory.Name + languageDirection.TargetLanguageCode + ".tmx.gz"; _filePath = Path.Combine(folderPath, fileName); //if tm does not exist download it if (!File.Exists(_filePath)) { _tmExporter = new ScheduledServerTranslationMemoryExport(languageDirection) { ContinueOnError = true }; _tmExporter.Queue(); _tmExporter.Refresh(); var continueWaiting = true; while (continueWaiting) { switch (_tmExporter.Status) { case ScheduledOperationStatus.Abort: case ScheduledOperationStatus.Aborted: case ScheduledOperationStatus.Cancel: case ScheduledOperationStatus.Cancelled: case ScheduledOperationStatus.Completed: case ScheduledOperationStatus.Error: continueWaiting = false; break; case ScheduledOperationStatus.Aborting: case ScheduledOperationStatus.Allocated: case ScheduledOperationStatus.Cancelling: case ScheduledOperationStatus.NotSet: case ScheduledOperationStatus.Queued: case ScheduledOperationStatus.Recovered: case ScheduledOperationStatus.Recovering: case ScheduledOperationStatus.Recovery: _tmExporter.Refresh(); break; default: continueWaiting = false; break; } } if (_tmExporter.Status == ScheduledOperationStatus.Completed) { var backup = new ServerTmBackUp { ScheduledExport = _tmExporter, FilePath = _filePath }; _backupTms.Add(backup); } else if (_tmExporter.Status == ScheduledOperationStatus.Error) { MessageBox.Show(_tmExporter.ErrorMessage, "", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } if (!_backgroundWorker.IsBusy) { _backgroundWorker.RunWorkerAsync(); } } } catch (Exception exception) { if (exception.Message.Equals("One or more errors occurred.")) { if (exception.InnerException != null) { MessageBox.Show(exception.InnerException.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show(exception.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
public void Create(TranslationProviderServer tmServer, string organizationPath, string containerName, string tmName) { #region "CheckExists" foreach (ServerBasedTranslationMemory item in tmServer.GetTranslationMemories(TranslationMemoryProperties.None)) { if (item.Name == tmName) { throw new Exception("TM with that name already exists."); } } #endregion #region "TM" ServerBasedTranslationMemory newTM = new ServerBasedTranslationMemory(tmServer); newTM.Name = tmName; newTM.Description = "Programmatically created sample TM"; newTM.Copyright = "(c) 2010 SDL International"; #endregion string containerPath = organizationPath; if (!containerPath.EndsWith("/")) { containerPath += "/"; } #region "container" containerPath += containerName; TranslationMemoryContainer container = tmServer.GetContainer(containerPath, GetContainerProperties()); newTM.Container = container; #endregion #region "LanguageDirection" CreateLanguageDirections(newTM.LanguageDirections); #endregion #region "org" newTM.ParentResourceGroupPath = organizationPath; #endregion string templatePath = organizationPath; if (!templatePath.EndsWith("/")) { templatePath += "/"; } #region "templates" string sampleFieldTemplateName = "MyFieldTemplate"; foreach (ServerBasedFieldsTemplate template in tmServer.GetFieldsTemplates(FieldsTemplateProperties.All)) { if (template.Name == sampleFieldTemplateName) { newTM.FieldsTemplate = tmServer.GetFieldsTemplate( templatePath + sampleFieldTemplateName, FieldsTemplateProperties.Fields); break; } } string sampleLanguageResourcesTemplateName = "MyLanguageResourcesTemplate"; foreach (ServerBasedLanguageResourcesTemplate template in tmServer.GetLanguageResourcesTemplates( LanguageResourcesTemplateProperties.LanguageResources)) { if (template.Name == sampleLanguageResourcesTemplateName) { newTM.LanguageResourcesTemplate = tmServer.GetLanguageResourcesTemplate( templatePath + sampleLanguageResourcesTemplateName, LanguageResourcesTemplateProperties.None); break; } } #endregion newTM.Save(); }