/// <summary> /// 选中文本翻译 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void TextMenu_Translate_Click(object sender, RoutedEventArgs e) { if (!NetworkHelper.Instance.ConnectionInformation.IsInternetAvailable) { new PopupToast(AppTools.GetReswLanguage("Tip_FailedWithoutInternet"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); return; } string language = (sender as MenuFlyoutItem).Name.Replace("SelectMenu_Translate_", ""); string appId = AppTools.GetRoamingSetting(AppSettings.Translate_BaiduAppId, ""); string appKey = AppTools.GetRoamingSetting(AppSettings.Translate_BaiduKey, ""); if (string.IsNullOrEmpty(appId)) { new PopupToast(AppTools.GetReswLanguage("Tip_NeedLinkTranslateService"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); return; } else { LoadingRing.IsActive = true; string output = await TranslateTools.Translate(_selectText, appId, appKey, "auto", language.ToLower()); if (!string.IsNullOrEmpty(output)) { var pos = new Point(); if (_latestPoint == null) { pos = Window.Current.CoreWindow.PointerPosition; } else { pos = _latestPoint.Position; } double x = pos.X - Window.Current.Bounds.X; double y = pos.Y - Window.Current.Bounds.Y; if (_latestPoint == null) { x -= 30; y -= 50; } var option = new FlyoutShowOptions(); option.Position = new Point(x, y); TranslateContent.Text = output; TranslateFlyout.ShowAt(MainPage.Current.RootGrid, option); } else { new PopupToast(AppTools.GetReswLanguage("Tip_TranslateFailed"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } LoadingRing.IsActive = false; } }
public async Task TranslateArticle(string language) { if (!NetworkHelper.Instance.ConnectionInformation.IsInternetAvailable) { new PopupToast(AppTools.GetReswLanguage("Tip_FailedWithoutInternet"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); return; } string appId = AppTools.GetRoamingSetting(AppSettings.Translate_BaiduAppId, ""); if (string.IsNullOrEmpty(appId)) { var dialog = new Dialog.BaiduTranslateDialog(); await dialog.ShowAsync(); } appId = AppTools.GetRoamingSetting(AppSettings.Translate_BaiduAppId, ""); string appKey = AppTools.GetRoamingSetting(AppSettings.Translate_BaiduKey, ""); if (string.IsNullOrEmpty(appId) || string.IsNullOrEmpty(appKey)) { return; } else { LoadingRing.IsActive = true; string output = await TranslateTools.Translate(_sourceFeed.Content, appId, appKey, "auto", language.ToLower()); if (!string.IsNullOrEmpty(output)) { string html = await PackageHTML(output); DetailWebView.NavigateToString(html); } else { new PopupToast(AppTools.GetReswLanguage("Tip_TranslateFailed"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } LoadingRing.IsActive = false; } }