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("sdlmachinetranslationcloudprovider"));

            if (translationProvider != null)
            {
                var uri           = translationProvider.MainTranslationProvider?.Uri;
                var languagePairs = GetProjectLanguagePairs(currentProject);
                var options       = new BeGlobalTranslationOptions(uri);
                var beGlobalVm    = new BeGlobalWindowViewModel(options, languagePairs, null);
                beGlobalVm.BeGlobalWindow.DataContext = beGlobalVm;
                beGlobalVm.BeGlobalWindow.ShowDialog();
                if (beGlobalVm.BeGlobalWindow.DialogResult.HasValue && beGlobalVm.BeGlobalWindow.DialogResult.Value)
                {
                    settings.Entries
                    .Find(entry =>
                          entry.MainTranslationProvider.Uri.OriginalString.Contains("sdlmachinetranslationcloudprovider"))
                    .MainTranslationProvider.Uri = options.Uri;

                    currentProject.UpdateTranslationProviderConfiguration(settings);
                }
            }
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        public ITranslationProvider[] Browse(IWin32Window owner, LanguagePair[] languagePairs, ITranslationProviderCredentialStore credentialStore)
        {
            try
            {
                var options     = new BeGlobalTranslationOptions();
                var token       = string.Empty;
                var credentials = GetCredentials(credentialStore, "sdlmachinetranslationcloudprovider:///");

                var beGlobalVm = new BeGlobalWindowViewModel(options, languagePairs, credentials);
                beGlobalVm.BeGlobalWindow.DataContext = beGlobalVm;

                beGlobalVm.BeGlobalWindow.ShowDialog();
                if (beGlobalVm.BeGlobalWindow.DialogResult.HasValue && beGlobalVm.BeGlobalWindow.DialogResult.Value)
                {
                    var messageBoxService = new MessageBoxService();
                    beGlobalVm.Options.ClientId     = beGlobalVm.BeGlobalWindow.ClientIdBox?.Password.TrimEnd();
                    beGlobalVm.Options.ClientSecret = beGlobalVm.BeGlobalWindow.ClientSecretBox?.Password.TrimEnd();
                    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 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);
                }
            }
        }
Beispiel #5
0
        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 token = string.Empty;
                AppItializer.EnsureInitializer();

                var beGlobalVm = new BeGlobalWindowViewModel(editProvider.Options, languagePairs, credentials);
                beGlobalVm.BeGlobalWindow.DataContext = beGlobalVm;

                beGlobalVm.BeGlobalWindow.ShowDialog();
                if (beGlobalVm.BeGlobalWindow.DialogResult.HasValue && beGlobalVm.BeGlobalWindow.DialogResult.Value)
                {
                    editProvider.Options              = beGlobalVm.Options;
                    editProvider.Options.ClientId     = beGlobalVm.BeGlobalWindow.ClientIdBox.Password.TrimEnd();
                    editProvider.Options.ClientSecret = beGlobalVm.BeGlobalWindow.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);
        }
Beispiel #7
0
        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);
        }