public ContentResult Dictionary(TranslatorCriteria criteria) { var html = "<div>Implementing</div>"; if (criteria.From == "zh") { var url = string.Format(@"http://www.mdbg.net/chindict/chindict_ajax.php?c=wordvocab&i={0}&st=0", HttpUtility.UrlEncode(criteria.Text)); using (var webClient = WebClientFactory.ChromeClient()) { webClient.Encoding = Encoding.UTF8; html = webClient.DownloadString(url); } var startIndex = html.IndexOf("<table", StringComparison.OrdinalIgnoreCase); var endIndex = html.IndexOf("</body>", StringComparison.OrdinalIgnoreCase); if (endIndex > startIndex) { return new ContentResult { Content = html.Substring(startIndex, endIndex - startIndex), ContentEncoding = new UTF8Encoding(), ContentType = "text/html" } } ; } return(new ContentResult { Content = html }); }
public JsonResult ApplyGlossary(TranslatorCriteria criteria) { var searchModel = CreateSearchModel(new GlossaryCriteria { ID = criteria.ID, SearchType = criteria.SearchType }); var glossaries = Facade <SearchFacade>().Search(searchModel); foreach (var glossary in glossaries.Data) { criteria.Text = criteria.Text.Replace(glossary.Raw, glossary.Final); } return(Json(criteria.Text, JsonRequestBehavior.AllowGet)); }
public string Translate(TranslatorCriteria criteria) { ApplyGlossary(criteria); if (criteria.By == 0) { return(criteria.Text); } var translator = TranslatorFactory.GetTranslator(criteria.By); return(translator.Translate(criteria.Text, criteria.From, criteria.To)); }
private TranslatorCriteria ApplyGlossary(TranslatorCriteria criteria) { if (criteria.Glossary == 0) { return(criteria); } var searchModel = new SearchModel <GlossaryCriteria> { Criteria = new GlossaryCriteria { ID = criteria.ID, SearchType = criteria.SearchType }, PagedListConfig = new PagedListConfig { PageSize = int.MaxValue } }; var glossaries = new SearchFacade().Search(searchModel); foreach (var glossary in glossaries.Data) { criteria.Text = criteria.Text.Replace(glossary.Raw, glossary.Final); } return(criteria); }
public JsonResult BingTranslator(TranslatorCriteria criteria) { var translated = Facade <TranslatorFacade>().Translate(criteria); return(Json(translated, JsonRequestBehavior.AllowGet)); }