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 BeGlobalWindowViewModel(BeGlobalWindow mainWindow, BeGlobalTranslationOptions options, bool tellMeAction) { LoginViewModel = new LoginViewModel(options); SettingsViewModel = new SettingsViewModel(options); Options = options; if (options != null) { var mtModel = SettingsViewModel.TranslationOptions.FirstOrDefault(m => m.Model.Equals(options.Model)); if (mtModel != null) { var selectedModelIndex = SettingsViewModel.TranslationOptions.IndexOf(mtModel); SettingsViewModel.SelectedModelOption = SettingsViewModel.TranslationOptions[selectedModelIndex]; } else if (SettingsViewModel.TranslationOptions.Count.Equals(0)) { var translationModel = new TranslationModel { Model = options.Model, DisplayName = options.Model }; SettingsViewModel.TranslationOptions.Add(translationModel); SettingsViewModel.SelectedModelOption = translationModel; } } _mainWindow = mainWindow; _tellMeAction = tellMeAction; _normalizeSourceTextHelper = new NormalizeSourceTextHelper(); }
public BeGlobalWindowViewModel(BeGlobalWindow mainWindow, BeGlobalTranslationOptions options, TranslationProviderCredential credentialStore, LanguagePair[] languagePairs) { LoginViewModel = new LoginViewModel(options); SettingsViewModel = new SettingsViewModel(options); Options = options; _mainWindow = mainWindow; _languagePairs = languagePairs; _normalizeSourceTextHelper = new NormalizeSourceTextHelper(); if (credentialStore == null) { return; } if (options.UseClientAuthentication) { _mainWindow.LoginTab.ClientKeyBox.Password = options.ClientId; _mainWindow.LoginTab.ClientSecretBox.Password = options.ClientSecret; } else { LoginViewModel.Email = options.ClientId; _mainWindow.LoginTab.PasswordBox.Password = options.ClientSecret; } }
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 BeGlobalWindowViewModel(BeGlobalWindow mainWindow, BeGlobalTranslationOptions options, LanguagePair[] languagePairs) { Options = options; _mainWindow = mainWindow; _languagePairs = languagePairs; _normalizeSourceTextHelper = new NormalizeSourceTextHelper(); TranslationOptions = new ObservableCollection <TranslationModel>(); var beGlobalTranslator = new BeGlobalV4Translator(Options?.Model); var accountId = beGlobalTranslator.GetUserInformation(); var subscriptionInfo = beGlobalTranslator.GetLanguagePairs(accountId.ToString()); GetEngineModels(subscriptionInfo.LanguagePairs); SetEngineModel(); }
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 BeGlobalWindowViewModel(BeGlobalWindow mainWindow, BeGlobalTranslationOptions options, TranslationProviderCredential credentialStore, LanguagePair[] languagePairs) { LanguageMappingsViewModel = new LanguageMappingsViewModel(options); LoginViewModel = new LoginViewModel(options, languagePairs, LanguageMappingsViewModel, this); Options = options; _mainWindow = mainWindow; if (credentialStore == null) { return; } if (options.UseClientAuthentication) { _mainWindow.LoginTab.ClientIdBox.Password = options.ClientId; _mainWindow.LoginTab.ClientSecretBox.Password = options.ClientSecret; } else { LoginViewModel.Email = options.ClientId; _mainWindow.LoginTab.UserPasswordBox.Password = options.ClientSecret; } }
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); }
public BeGlobalWindowViewModel(BeGlobalTranslationOptions options, LanguagePair[] languagePairs, TranslationProviderCredential credentials) { Options = options; BeGlobalWindow = new BeGlobalWindow(); _languagePairs = languagePairs; _normalizeSourceTextHelper = new NormalizeSourceTextHelper(); _loginMethod = Enums.LoginOptions.APICredentials.ToString(); _credentials = credentials; TranslationOptions = new ObservableCollection <TranslationModel>(); SelectedIndex = (int)Enums.LoginOptions.APICredentials; _messageBoxService = new MessageBoxService(); if (Options != null) { ReSendChecked = options.ResendDrafts; } SetLoginOptions(); if (credentials == null) { return; } var credential = _credentials.Credential.Replace("sdlmachinetranslationcloudprovider:///", string.Empty); if (credential.Contains("#")) { var splitedCredentials = credentials.Credential.Split('#'); if (splitedCredentials.Length == 2 && !string.IsNullOrEmpty(splitedCredentials[0]) && !string.IsNullOrEmpty(splitedCredentials[1])) { var beGlobalTranslator = new BeGlobalV4Translator(Options, _messageBoxService, _credentials); var accountId = beGlobalTranslator.GetUserInformation(); var subscriptionInfo = beGlobalTranslator.GetLanguagePairs(accountId.ToString()); GetEngineModels(subscriptionInfo); SetEngineModel(); SetAuthenticationOptions(); } } }