Пример #1
0
        public override machineTranslationResult getTargetLang(string sourceText)
        {
            urlAPI.openNMT url     = new urlAPI.openNMT();
            var            client  = new RestClient(url.urlTranslatorOpenNMT);
            var            request = new RestRequest("translate", Method.POST);

            request.RequestFormat = DataFormat.Json;
            List <openNMTPost> data = new List <openNMTPost>();
            openNMTPost        post = null;

            if (source == "vi" && target == "en")
            {
                post = new openNMTPost {
                    src = sourceText, id = 1
                };
            }
            if (source == "en" && target == "vi")
            {
                post = new openNMTPost {
                    src = sourceText, id = 0
                };
            }
            data.Add(post);
            string jsonData = JsonConvert.SerializeObject(data);

            request.AddBody(jsonData);
            var response = client.Execute(request);
            var result   = JsonConvert.DeserializeObject <List <List <OpenNMT> > >(response.Content);
            machineTranslationResult Result = new machineTranslationResult();

            if (result != null)
            {
                foreach (var listResult in result)
                {
                    foreach (var a in listResult)
                    {
                        Result.src   = a.src;
                        Result.tag   = a.tgt;
                        Result.fail  = false;
                        Result.score = float.Parse(a.pred_score);
                        Result.type  = name;
                    }
                }
            }
            else
            {
                Result.fail     = true;
                Result.failText = fail;
            }
            return(Result);
        }
        public override string getTargetLang(string sourceText)
        {
            urlAPI.openNMT url     = new urlAPI.openNMT();
            var            client  = new RestClient(url.urlTranslatorOpenNMT);
            var            request = new RestRequest("translate", Method.POST);

            request.RequestFormat = DataFormat.Json;
            List <openNMTPost> data = new List <openNMTPost>();
            openNMTPost        post = new openNMTPost {
                src = sourceText, id = 0
            };

            data.Add(post);
            string jsonData = JsonConvert.SerializeObject(data);

            request.AddBody(jsonData);
            var response = client.Execute(request);
            var result   = JsonConvert.DeserializeObject <List <List <OpenNMT> > >(response.Content);

            string targetText = null;

            if (result != null)
            {
                foreach (var listResult in result)
                {
                    foreach (var a in listResult)
                    {
                        targetText = a.tgt;
                    }
                }
            }
            else
            {
                targetText = fail;
            }
            return(targetText + "\n" + this.name);
        }