public static List <GTResp> GetGTResponceAll(string[] tls, string[] qs, string[] sls) { var gtrlist = new List <GTResp>(); try { for (int i = 0; i != tls.Length; i++) { // corrects GTLink responce encoding. client.Headers["User-Agent"] = "User-Agent: Mozilla/5.0 (Windows NT x.y; Win64; x64; rv:10.0) Gecko/20180501 Firefox/60.0"; var url = TranslatePanel.GTLink + "&q=" + HttpUtility.UrlPathEncode(qs[i].Replace(" ", "%20")) + "&sl=" + sls[i] + "&tl=" + tls[i]; Debug.WriteLine("url: " + url); var raw_array = Encoding.UTF8.GetString(client.DownloadData(url)); Debug.WriteLine("RAW:" + raw_array); var aur = new Auray(raw_array); var gtresp = new GTResp(); string src = "", tr = ""; var aur_dim_2 = new Auray(aur[0]); for (int m = 0; m != aur_dim_2.len + 1; m++) // combine all responce from all dimensions { var s = aur_dim_2[m, 1]; src += s.Substring(1, s.Length - 2); s = aur_dim_2[m, 0]; tr += s.Substring(1, s.Length - 2); } gtresp.source = src; gtresp.translation = tr; var det_l = aur[2]; det_l = det_l.Substring(1, det_l.Length - 2); gtresp.speech_url = GTSpeechLink + "&q=" + HttpUtility.UrlEncode(tr) + "&sl=" + det_l + "&tl=" + tls[i]; // Debug.WriteLine(gtresp.speech_url); if (sls[i] == "auto") { gtresp.auto_detect = true; } gtresp.src_lang = det_l; gtresp.targ_lang = tls[i]; gtrlist.Add(gtresp); } } catch (Exception e) { MMain.mahou._TranslatePanel.GTRespError(e.Message); } return(gtrlist); }
public static List <GTResp> GetGTResponceAll(string[] tls, string[] qs, string[] sls) { var gtrlist = new List <GTResp>(); try { for (int i = 0; i != tls.Length; i++) { var gl = GTLink; if (useNA) { gl = GTNALink; } // corrects GTLink responce encoding. client.Headers["User-Agent"] = "AndroidTranslate/5.3.0.RC02.130475354-53000263 5.1 phone TRANSLATE_OPM5_TEST_1"; var url = gl + "&q=" + HttpUtility.UrlPathEncode( qs[i].Replace(" ", "%20").Replace("\r", "%0D").Replace("\n", "%0A")) + "&sl=" + sls[i] + "&tl=" + tls[i]; Debug.WriteLine("url: " + url); var raw_array = Encoding.UTF8.GetString(client.DownloadData(url)); Debug.WriteLine("RAW:" + raw_array); var det_l = ""; var gtresp = new GTResp(); string src = "", tr = "", strc = "", trc = ""; if (!useNA) { var aur = new Auri(raw_array); var aur_dim_2 = new Auri(aur["^0"]); var len = new Auray(aur.raw).len; for (int m = 0; m != len + 1; m++) // combine all responce from all dimensions { var s = aur_dim_2["^" + m, "^" + 1]; src += s.Substring(1, s.Length - 2); s = aur_dim_2["^" + m, "^" + 0]; tr += s.Substring(1, s.Length - 2); } det_l = aur["^2"]; } else { Debug.WriteLine("NA MODE :)"); var auri = new Auri(raw_array); var au_se = new Auri(auri["sentences"]); src = dosen(100, au_se, "orig"); // src = s.Substring(1, s.Length-2); tr = dosen(100, au_se, "trans"); if (TRANSCRIPTION) { trc = dosen(100, au_se, "translit"); strc = dosen(100, au_se, "src_translit"); } // Debug.WriteLine(au_se["^1", "src_translit"]); // s = au_se["^0", "trans"]; // tr = s.Substring(1, s.Length-2); det_l = auri["ld_result", "srclangs", "^0"];; } gtresp.source = src; gtresp.translation = tr; gtresp.src_transcr = strc; gtresp.targ_transcr = trc; // Debug.WriteLine("trc " + trc + " strc " + strc); det_l = det_l.Substring(1, det_l.Length - 2); gtresp.speech_url = GTSpeechLink + "&q=" + HttpUtility.UrlEncode(tr) + "&sl=" + det_l + "&tl=" + tls[i]; // Debug.WriteLine(gtresp.speech_url); if (sls[i] == "auto") { gtresp.auto_detect = true; } gtresp.src_lang = det_l; gtresp.targ_lang = tls[i]; gtrlist.Add(gtresp); } } catch (Exception e) { MMain.mahou._TranslatePanel.GTRespError(e.Message /*+e.StackTrace*/); } return(gtrlist); }