public TranslateRequest(string text, string from, string to, TranslateFormat format) : this(text, from, to) { Format = format; }
internal static TranslateData Translate(string text, string from, string to, TranslateFormat format) { if (text == null) { throw new ArgumentNullException("text"); } if (from == null) { throw new ArgumentNullException("from"); } if (to == null) { throw new ArgumentNullException("to"); } TranslateRequest request = new TranslateRequest(text, from, to, format); WebRequest webRequest; if(Timeout != 0) { webRequest = request.GetWebRequest(Timeout); } else { webRequest = request.GetWebRequest(); } TranslateData responseData; try { responseData = RequestUtility.GetResponseData<TranslateData>(webRequest); } catch (GoogleAPIException ex) { throw new TranslateException(string.Format("request:\"{0}\"", request), ex); } return responseData; }
public TranslateRequest(string text, string from, string to, TranslateFormat format) : this(text, from, to) { Format = format; }
/// <summary> /// Translate the text to <paramref name="to"/> and auto detect which language the text is from. /// </summary> /// <param name="text">The content to translate.</param> /// <param name="to">The target language you want to translate to.</param> /// <param name="format">The format of the text.</param> /// <param name="from">The detected language of the original text.</param> /// <returns>The translate result.</returns> /// <exception cref="TranslateException">Translate failed.</exception> public static string Translate(string text, Language to, TranslateFormat format, out Language from) { if (!LanguageUtility.IsTranslatable(to)) { throw new TranslateException(string.Format("Can not translate this language to \"{0}\"", to)); } TranslateData result; try { result = Translate(text, LanguageUtility.GetLanguageCode(Language.Unknown), LanguageUtility.GetLanguageCode(to), format); } catch (TranslateException ex) { throw new TranslateException("Translate failed!", ex); } from = LanguageUtility.GetLanguage(result.DetectedSourceLanguage); if (format == TranslateFormat.text) { return HttpUtility.HtmlDecode(result.TranslatedText); } return result.TranslatedText; }