public override void Fill() { Header = EnumLocalizer.Default.GetStringsString("HtmlPreviewView_Fill_Header_Preview") + CurrentHtmlProvider.Title; propertyGrid2.SelectedObject = CurrentHtmlProvider; webBrowser.DocumentText = CurrentHtmlProvider.GetHtml(); }
private void rbtnTranslate_Click(object sender, RoutedEventArgs e) { var text = CurrentHtmlProvider.GetHtml(); var sourceLanguage = CurrentHtmlProvider.Language; HtmlTranslator translator = new HtmlTranslator(text, sourceLanguage); TranslateSettingsWindow dlg = new TranslateSettingsWindow(translator); if (dlg.ShowDialog() == false) { return; } if (!UIHelper.EnsurePremiumLicence()) { return; } var language = dlg.SelectedLanguage; if (sourceLanguage == language) { Fill(); return; } var key = getCurrentHtmlKey(language); var cachedItem = TranslationsCache.Instance.Get(key); if (cachedItem != null) { webBrowser.DocumentText = cachedItem; return; } test.Visibility = System.Windows.Visibility.Collapsed; PleaseWait.Run(x => { try { var translatedHtml = translator.Translate(language, x); if (translatedHtml == null) { return; } //var translatedHtml = ""; //for (int i = 0; i < 100; i++) //{ // if(x.Cancel) // { // return; // } // Thread.Sleep(70); //} TranslationsCache.Instance.Add(key, translatedHtml); UIHelper.BeginInvoke(() => { test.Visibility = System.Windows.Visibility.Visible; webBrowser.DocumentText = translatedHtml; }, Dispatcher); } catch (Exception ex) { UIHelper.Invoke(() => { test.Visibility = System.Windows.Visibility.Visible; ExceptionHandler.Default.Process(ex, "HtmlPreviewView_ErrTranslate".TranslateStrings(), ErrorWindow.MessageBox); }, Dispatcher); } }, true, progressMax: translator.MaxRequests); }