Example #1
0
        public static string dosen(int max, Auri au_se, string block)
        {
            var    x = 0;
            string a = "", xtr = "";

            while (true)
            {
                try {
                    a = au_se["^" + x, block];
//					Debug.WriteLine("X:" +x +" A: " + a);
                    if (a.Length > 0)
                    {
                        xtr += a.Substring(1, a.Length - 2);
                    }
                } catch { break; }
                x++;
                if (x > max)
                {
                    break; // probably overkill, but...
                }
            }              //while (String.IsNullOrEmpty(a));
            return(xtr);
        }
Example #2
0
        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);
        }