Пример #1
0
        private TranslateRequestResult PasreJsonResult(TTranslateDictionary dict, string enc)
        {
            TranslateRequestResult res = new TranslateRequestResult();

            res.Encoding = enc;
            if (dict.Sentences.Length > 0)
            {
                res.Original = dict.Sentences[0].Original;
                //res.Phonetic = dict.Sentences[0].Translit;
                res.UrlSound = string.Format(_soundUrl, res.Original);
            }
            if (dict.Dict != null && dict.Dict.Length > 0)
            {
                foreach (TDictionaryItem item in dict.Dict)
                {
                    res.Translate.Add(item.Position, item.Terms);
                }
            }

            return(res);
        }
Пример #2
0
        public override async Task <TranslateRequestResult> Request()
        {
            string url = String.Format(_baseAddress, _soundUrl, Target, Query);
            TranslateRequestResult result = null;

            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                if (request != null)
                {
                    var response = await request.GetResponseAsync();

                    var webResponse = (HttpWebResponse)response;
                    if (webResponse == null)
                    {
                        return(null);
                    }
                    Stream resp = webResponse.GetResponseStream();
                    if (resp != null)
                    {
                        Encoding fromenc = Encoding.GetEncoding(webResponse.CharacterSet);
                        Encoding toenc   = Encoding.Default;

                        StreamReader reader        = new StreamReader(resp, fromenc);
                        string       resultRequest = reader.ReadToEnd();

                        TTranslateDictionary dict = JsonConvert.DeserializeObject <TTranslateDictionary>(resultRequest);
                        result = (TranslateRequestResult)PasreJsonResult(dict, "utf-8");
                        reader.Close();
                        resp.Close();
                    }
                }
                return(result);
            }
            catch (Exception ex)
            {
            }
            return(null);
        }