public ITranslationProvider[] Browse(IWin32Window owner, LanguagePair[] languagePairs, ITranslationProviderCredentialStore credentialStore) { var options = new BeGlobalTranslationOptions(); var credentials = GetCredentials(credentialStore, "beglobaltranslationprovider:///"); var beGlobalWindow = new BeGlobalWindow(); var beGlobalVm = new BeGlobalWindowViewModel(beGlobalWindow, options, credentials); beGlobalWindow.DataContext = beGlobalVm; beGlobalWindow.ShowDialog(); if (beGlobalWindow.DialogResult.HasValue && beGlobalWindow.DialogResult.Value) { var provider = new BeGlobalTranslationProvider(options) { Options = beGlobalVm.Options }; var clientId = beGlobalVm.Options.ClientId; var clientSecret = beGlobalVm.Options.ClientSecret; SetBeGlobalCredentials(credentialStore, clientId, clientSecret, true); return(new ITranslationProvider[] { provider }); } return(null); }
public override void Execute() { AppItializer.EnsureInitializer(); var currentProject = SdlTradosStudio.Application?.GetController <ProjectsController>().CurrentProject; var settings = currentProject?.GetTranslationProviderConfiguration(); var translationProvider = settings?.Entries?.FirstOrDefault(entry => entry.MainTranslationProvider.Uri.OriginalString.Contains("sdlmachinetranslationcloudprovider")); if (translationProvider != null) { var uri = translationProvider.MainTranslationProvider?.Uri; var languagePairs = GetProjectLanguagePairs(currentProject); var options = new BeGlobalTranslationOptions(uri); var beGlobalWindow = new BeGlobalWindow(); var beGlobalVm = new BeGlobalWindowViewModel(options, languagePairs, null); beGlobalWindow.DataContext = beGlobalVm; beGlobalWindow.ShowDialog(); if (beGlobalWindow.DialogResult.HasValue && beGlobalWindow.DialogResult.Value) { settings.Entries .Find(entry => entry.MainTranslationProvider.Uri.OriginalString.Contains("sdlmachinetranslationcloudprovider")) .MainTranslationProvider.Uri = options.Uri; currentProject.UpdateTranslationProviderConfiguration(settings); } } }
public override void Execute() { var currentProject = SdlTradosStudio.Application.GetController <ProjectsController>().CurrentProject; var settings = currentProject.GetTranslationProviderConfiguration(); var translationProvider = settings.Entries.FirstOrDefault(entry => entry.MainTranslationProvider.Uri.OriginalString.Contains("beglobaltranslationprovider")); if (translationProvider != null) { var uri = translationProvider.MainTranslationProvider.Uri; var options = new BeGlobalTranslationOptions(uri); var beGlobalWindow = new BeGlobalWindow(); var beGlobalVm = new BeGlobalWindowViewModel(beGlobalWindow, options, true); beGlobalWindow.DataContext = beGlobalVm; beGlobalWindow.ShowDialog(); if (beGlobalWindow.DialogResult.HasValue && beGlobalWindow.DialogResult.Value) { settings.Entries .Find(entry => entry.MainTranslationProvider.Uri.OriginalString.Contains("beglobaltranslationprovider")) .MainTranslationProvider.Uri = options.Uri; currentProject.UpdateTranslationProviderConfiguration(settings); } } }
public bool Edit(IWin32Window owner, ITranslationProvider translationProvider, LanguagePair[] languagePairs, ITranslationProviderCredentialStore credentialStore) { try { var editProvider = translationProvider as BeGlobalTranslationProvider; if (editProvider == null) { return(false); } //get saved key if there is one and put it into options var credentials = GetCredentials(credentialStore, "sdlmachinetranslationcloudprovider:///"); if (credentials != null) { var splitedCredentials = credentials.Credential.Split('#'); if (splitedCredentials.Length == 2 && !string.IsNullOrEmpty(splitedCredentials[0]) && !string.IsNullOrEmpty(splitedCredentials[1])) { editProvider.Options.ClientId = splitedCredentials[0]; editProvider.Options.ClientSecret = splitedCredentials[1]; } } var beGlobalWindow = new BeGlobalWindow(); var beGlobalVm = new BeGlobalWindowViewModel(editProvider.Options, languagePairs, credentials); beGlobalWindow.DataContext = beGlobalVm; beGlobalWindow.ShowDialog(); if (beGlobalWindow.DialogResult.HasValue && beGlobalWindow.DialogResult.Value) { editProvider.Options = beGlobalVm.Options; editProvider.Options.ClientId = beGlobalWindow.LoginTab.ClientIdBox.Password.TrimEnd(); editProvider.Options.ClientSecret = beGlobalWindow.LoginTab.ClientSecretBox.Password.TrimEnd(); SetCredentials(credentialStore, editProvider.Options.ClientId, beGlobalVm.Options.ClientSecret, true); return(true); } } catch (Exception e) { Log.Logger.Error($"{Constants.EditWindow} {e.Message}\n {e.StackTrace}"); } return(false); }
public bool Edit(IWin32Window owner, ITranslationProvider translationProvider, LanguagePair[] languagePairs, ITranslationProviderCredentialStore credentialStore) { try { var editProvider = translationProvider as BeGlobalTranslationProvider; if (editProvider == null) { return(false); } var token = string.Empty; AppItializer.EnsureInitializer(); Application.Current?.Dispatcher?.Invoke(() => { token = _studioCredentials.GetToken(); }); if (!string.IsNullOrEmpty(token)) { var beGlobalWindow = new BeGlobalWindow(); var beGlobalVm = new BeGlobalWindowViewModel(beGlobalWindow, editProvider.Options, languagePairs); beGlobalWindow.DataContext = beGlobalVm; beGlobalWindow.ShowDialog(); if (beGlobalWindow.DialogResult.HasValue && beGlobalWindow.DialogResult.Value) { editProvider.Options = beGlobalVm.Options; return(true); } } } catch (Exception e) { Log.Logger.Error($"Edit window: {e.Message}\n {e.StackTrace}"); } return(false); }
public bool Edit(IWin32Window owner, ITranslationProvider translationProvider, LanguagePair[] languagePairs, ITranslationProviderCredentialStore credentialStore) { var editProvider = translationProvider as BeGlobalTranslationProvider; if (editProvider == null) { return(false); } //get saved key if there is one and put it into options var savedCredentials = GetCredentials(credentialStore, "beglobaltranslationprovider:///"); if (savedCredentials != null) { var splitedCredentials = savedCredentials.Credential.Split('#'); var clientId = splitedCredentials[0]; var clientSecret = splitedCredentials[1]; editProvider.Options.ClientId = clientId; editProvider.Options.ClientSecret = clientSecret; } var beGlobalWindow = new BeGlobalWindow(); var beGlobalVm = new BeGlobalWindowViewModel(beGlobalWindow, editProvider.Options, savedCredentials); beGlobalWindow.DataContext = beGlobalVm; beGlobalWindow.ShowDialog(); if (beGlobalWindow.DialogResult.HasValue && beGlobalWindow.DialogResult.Value) { editProvider.Options = beGlobalVm.Options; var clientId = editProvider.Options.ClientId; var clientSecret = beGlobalVm.Options.ClientSecret; SetBeGlobalCredentials(credentialStore, clientId, clientSecret, true); return(true); } return(false); }
public ITranslationProvider[] Browse(IWin32Window owner, LanguagePair[] languagePairs, ITranslationProviderCredentialStore credentialStore) { try { AppItializer.EnsureInitializer(); var options = new BeGlobalTranslationOptions(); var token = string.Empty; Application.Current?.Dispatcher?.Invoke(() => { token = _studioCredentials.GetToken(); }); if (!string.IsNullOrEmpty(token)) { var beGlobalWindow = new BeGlobalWindow(); var beGlobalVm = new BeGlobalWindowViewModel(beGlobalWindow, options, languagePairs); beGlobalWindow.DataContext = beGlobalVm; beGlobalWindow.ShowDialog(); if (beGlobalWindow.DialogResult.HasValue && beGlobalWindow.DialogResult.Value) { var beGlobalService = new BeGlobalV4Translator(beGlobalVm.Options.Model); beGlobalVm.Options.BeGlobalService = beGlobalService; var provider = new BeGlobalTranslationProvider(options) { Options = beGlobalVm.Options }; return(new ITranslationProvider[] { provider }); } } } catch (Exception e) { Log.Logger.Error($"Browse: {e.Message}\n {e.StackTrace}"); } return(null); }
public ITranslationProvider[] Browse(IWin32Window owner, LanguagePair[] languagePairs, ITranslationProviderCredentialStore credentialStore) { try { var options = new BeGlobalTranslationOptions(); var token = string.Empty; var credentials = GetCredentials(credentialStore, "sdlmachinetranslationcloudprovider:///"); AppItializer.EnsureInitializer(); var beGlobalWindow = new BeGlobalWindow(); var beGlobalVm = new BeGlobalWindowViewModel(options, languagePairs, credentials); beGlobalWindow.DataContext = beGlobalVm; beGlobalWindow.ShowDialog(); if (beGlobalWindow.DialogResult.HasValue && beGlobalWindow.DialogResult.Value) { var messageBoxService = new MessageBoxService(); var beGlobalService = new BeGlobalV4Translator(beGlobalVm.Options, messageBoxService, credentials); beGlobalVm.Options.BeGlobalService = beGlobalService; var provider = new BeGlobalTranslationProvider(options) { Options = beGlobalVm.Options }; SetCredentials(credentialStore, beGlobalVm.Options.ClientId, beGlobalVm.Options.ClientSecret, true); return(new ITranslationProvider[] { provider }); } } catch (Exception e) { Log.Logger.Error($"{Constants.Browse} {e.Message}\n {e.StackTrace}"); } return(null); }