Example #1
0
 /// <summary>
 /// Instantiates the variables and fills the list file content into
 /// a Dictionary collection object.
 /// </summary>
 public MtTranslationProviderLanguageDirection(MtTranslationProvider provider, LanguagePair languages, HtmlUtil htmlUtil)
 {
     _provider          = provider;
     _languageDirection = languages;
     _options           = _provider.Options;
     _htmlUtil          = htmlUtil;
 }
        //This will be removed for the final version, we use it for testing
        public List <GoogleGlossary> GetProjectGlossaries(IMtTranslationOptions options)
        {
            var googleGlosaries = new List <GoogleGlossary>();
            var request         = new ListGlossariesRequest
            {
                ParentAsLocationName = new LocationName(options.ProjectName, options.ProjectLocation),
                PageSize             = 50,
            };

            try
            {
                var response = _translationServiceClient.ListGlossaries(request);
                var test     = response.AsRawResponses();

                foreach (var glossaryResponse in test)
                {
                    foreach (var glossary in glossaryResponse)
                    {
                    }
                }
            }
            catch (Exception e)
            {
                _logger.Error($"{MethodBase.GetCurrentMethod().Name}: {e}");
                throw;
            }
            return(googleGlosaries);
        }
Example #3
0
        private string LookupGt(string sourcetext, IMtTranslationOptions options, string format)
        {
            if (options.SelectedGoogleVersion == Enums.GoogleApiVersion.V2)
            {
                //instantiate GtApiConnecter if necessary
                if (_gtConnect == null)
                {
                    // need to get and insert key
                    _gtConnect = new MtTranslationProviderGTApiConnecter(options.ApiKey);                     //needs key
                }
                else
                {
                    _gtConnect.ApiKey =
                        options.ApiKey;                         //reset key in case it has been changed in dialog since GtApiConnecter was instantiated
                }
                var translatedText = _gtConnect.Translate(_languageDirection, sourcetext, format);

                return(translatedText);
            }
            _googleV3Connecter = new GoogleV3Connecter(options);

            var v3TranslatedText =
                _googleV3Connecter.TranslateText(_languageDirection.SourceCulture, _languageDirection.TargetCulture, sourcetext);

            return(v3TranslatedText);
        }
Example #4
0
        private string LookupMst(string sourcetext, IMtTranslationOptions options, string format)
        {
            var catId = "";

            if (options.UseCatID)
            {
                catId = _options.CatId;                //only use specific category ID if the option is selected
            }
            var sourcelang = _languageDirection.SourceCulture.ToString();
            var targetlang = _languageDirection.TargetCulture.ToString();

            //instantiate ApiConnecter if necessary
            if (_mstConnect == null)
            {
                _mstConnect = new ApiConnecter(_options.ClientId);
            }
            else
            {
                _mstConnect.ResetCrd(options.ClientId);                 //reset key in case it has been changed in dialog since GtApiConnecter was instantiated
            }

            var translatedText = _mstConnect.Translate(sourcelang, targetlang, sourcetext, catId);

            return(translatedText);
        }
        public GoogleV3Connecter(IMtTranslationOptions options)
        {
            _options           = options;
            SupportedLanguages = new List <GoogleV3LanguageModel>();

            //We put by default NMT model if the nmt model is not supported for the language pair
            //Google knows to use basic model
            var model = "general/nmt";

            if (!string.IsNullOrEmpty(_options.GoogleEngineModel))
            {
                model = _options.GoogleEngineModel;
            }

            _modelPath = $"projects/{_options.ProjectName}/locations/{_options.ProjectLocation}/models/{model}";
            if (!string.IsNullOrEmpty(_options.GlossaryPath))
            {
                GlossaryId = Path.GetFileNameWithoutExtension(_options.GlossaryPath).Replace(" ", string.Empty);                //Google doesn't allow spaces in glossary id
                _glossaryResourceLocation = $"projects/{_options.ProjectName}/locations/{_options.ProjectLocation}/glossaries/{GlossaryId}";
            }

            try
            {
                Environment.SetEnvironmentVariable(PluginResources.GoogleApiEnvironmentVariableName, _options.JsonFilePath);
                _translationServiceClient = TranslationServiceClient.Create();
            }
            catch (Exception e)
            {
                _logger.Error($"{MethodBase.GetCurrentMethod().Name}: {e}");
            }
        }
Example #6
0
        /// <summary>
        /// Get saved key if there is one and put it into options
        /// </summary>
        private void SetSavedCredentialsOnUi(ITranslationProviderCredentialStore credentialStore,
                                             IMtTranslationOptions loadOptions)
        {
            //get google credentials
            var getCredGt = GetCredentialsFromStore(credentialStore, PluginResources.UriGt);

            if (getCredGt != null)
            {
                loadOptions.ApiKey           = getCredGt.Credential;
                loadOptions.PersistGoogleKey = getCredGt.Persist;
            }

            //get microsoft credentials
            var getCredMt = GetCredentialsFromStore(credentialStore, PluginResources.UriMs);

            if (getCredMt != null)
            {
                try
                {
                    loadOptions.ClientId = getCredMt.Credential;
                    loadOptions.PersistMicrosoftCreds = getCredMt.Persist;
                }
                catch (Exception ex)             //swallow b/c it will just fail to fill in instead of crashing the whole program
                {
                    _logger.Error($"{MethodBase.GetCurrentMethod().Name} {ex.Message}\n {ex.StackTrace}");
                }
            }
        }
Example #7
0
 public ProviderControlViewModel(IMtTranslationOptions options, RegionsProvider regionsProvider)
 {
     ViewModel        = this;
     _options         = options;
     _regionsProvider = regionsProvider;
     InitializeComponent();
 }
Example #8
0
        public MainWindowViewModel(IMtTranslationOptions options, IProviderControlViewModel providerControlViewModel,
                                   ISettingsControlViewModel settingsControlViewModel,
                                   ITranslationProviderCredentialStore credentialStore, LanguagePair[] languagePairs, HtmlUtil htmlUtil)
        {
            Options = options;
            _providerControlViewModel = providerControlViewModel;
            _settingsControlViewModel = settingsControlViewModel;
            _credentialStore          = credentialStore;
            _languagePairs            = languagePairs;
            _htmlUtil = htmlUtil;

            SaveCommand             = new RelayCommand(Save);
            ShowSettingsViewCommand = new CommandHandler(ShowSettingsPage, true);
            ShowMainViewCommand     = new CommandHandler(ShowProvidersPage, true);

            providerControlViewModel.ShowSettingsCommand   = ShowSettingsViewCommand;
            providerControlViewModel.ClearMessageRaised   += ClearMessageRaised;
            settingsControlViewModel.ShowMainWindowCommand = ShowMainViewCommand;

            AvailableViews = new List <ViewDetails>
            {
                new ViewDetails
                {
                    Name      = PluginResources.PluginsView,
                    ViewModel = providerControlViewModel.ViewModel
                },
                new ViewDetails
                {
                    Name      = PluginResources.SettingsView,
                    ViewModel = settingsControlViewModel.ViewModel
                }
            };

            ShowProvidersPage();
        }
Example #9
0
        public SettingsControlViewModel(IMtTranslationOptions options, IOpenFileDialogService openFileDialogService, bool isTellMeAction)
        {
            ViewModel              = this;
            _options               = options;
            IsTellMeAction         = isTellMeAction;
            BrowseCommand          = new RelayCommand(Browse);
            _openFileDialogService = openFileDialogService;

            SetSavedSettings();
        }
Example #10
0
 public MtProviderConfDialog(IMtTranslationOptions options, bool isTellMeAction)
 {
     _isTellMeAction = isTellMeAction;
     uriMs           = new Uri("mtenhancedprovidermst:///");
     uriGt           = new Uri("mtenhancedprovidergt:///");
     Options         = options;
     InitializeComponent();
     UpdateDialog();
     tabControl1.SelectedTab = tabPage3;
     tabPage1.Enabled        = false;
 }
Example #11
0
        public MtProviderConfDialog(IMtTranslationOptions options, ITranslationProviderCredentialStore credentialStore, List <LanguagePair> correspondingLanguages)
        {
            this._credstore = credentialStore;
            uriMs           = new Uri("mtenhancedprovidermst:///");
            uriGt           = new Uri("mtenhancedprovidergt:///");
            Options         = options;
            InitializeComponent();
            UpdateDialog();

            if (correspondingLanguages != null)
            {
                _correspondingLanguages = correspondingLanguages;
            }
        }
Example #12
0
        private void UpdateProviderCredentials(ITranslationProviderCredentialStore credentialStore,
                                               IMtTranslationOptions options)
        {
            switch (options.SelectedProvider)
            {
            case MtTranslationOptions.ProviderType.GoogleTranslate:
                SetCredentialsOnCredentialStore(credentialStore, PluginResources.UriGt, options.ApiKey,
                                                options.PersistGoogleKey);
                break;

            case MtTranslationOptions.ProviderType.MicrosoftTranslator:
                //set mst cred
                SetCredentialsOnCredentialStore(credentialStore, PluginResources.UriMs, options.ClientId,
                                                options.PersistMicrosoftCreds);
                break;
            }
        }
Example #13
0
        public MainWindowViewModel(IMtTranslationOptions options, ISettingsControlViewModel settingsControlViewModel, bool isTellMeAction)
        {
            Options                   = options;
            _isTellMeAction           = isTellMeAction;
            _settingsControlViewModel = settingsControlViewModel;
            SaveCommand               = new RelayCommand(Save);

            AvailableViews = new List <ViewDetails>
            {
                new ViewDetails
                {
                    Name      = PluginResources.SettingsView,
                    ViewModel = settingsControlViewModel.ViewModel
                }
            };

            if (_isTellMeAction)
            {
                SelectedView = AvailableViews[0];
            }
        }
Example #14
0
        private MainWindowViewModel ShowProviderWindow(LanguagePair[] languagePairs,
                                                       ITranslationProviderCredentialStore credentialStore, IMtTranslationOptions loadOptions, RegionsProvider regionsProvider)
        {
            SetSavedCredentialsOnUi(credentialStore, loadOptions);

            var dialogService     = new OpenFileDialogService();
            var providerControlVm = new ProviderControlViewModel(loadOptions, regionsProvider);

            var settingsControlVm = new SettingsControlViewModel(loadOptions, dialogService, false);
            var mainWindowVm      = new MainWindowViewModel(loadOptions, providerControlVm, settingsControlVm, credentialStore, languagePairs);

            var mainWindow = new MainWindow
            {
                DataContext = mainWindowVm
            };

            mainWindowVm.CloseEventRaised += () =>
            {
                UpdateProviderCredentials(credentialStore, loadOptions);

                mainWindow.Close();
            };

            mainWindow.ShowDialog();
            return(mainWindowVm);
        }
Example #15
0
 public ProviderControlViewModel(IMtTranslationOptions options)
 {
     ViewModel = this;
     _options  = options;
     InitializeComponent();
 }
Example #16
0
 public MtTranslationProvider(IMtTranslationOptions options, RegionsProvider regionProvider, HtmlUtil htmlUtil)
 {
     Options         = options;
     RegionsProvider = regionProvider;
     _htmlUtil       = htmlUtil;
 }
Example #17
0
 /// <summary>
 /// Instantiates the variables and fills the list file content into
 /// a Dictionary collection object.
 /// </summary>
 public MtTranslationProviderLanguageDirection(MtTranslationProvider provider, LanguagePair languages)
 {
     _provider          = provider;
     _languageDirection = languages;
     _options           = _provider.Options;
 }
 public MtTranslationProvider(IMtTranslationOptions options, RegionsProvider regionProvider)
 {
     Options         = options;
     RegionsProvider = regionProvider;
 }
 public MtTranslationProvider(IMtTranslationOptions options)
 {
     Options = options;
 }