Sukurti interneto programa su vertimu pateikė Microsoft Translator.
Sukurti interneto programa su vertimu pateikė Microsoft Translator.
Šiame Walkthrough sužinosite, kaip sukurti žiniatinklio programą, kuri naudoja Microsoft Translator API versti tekstą, kuris buvo įvesti vartotojo. Jūs statyti puslapį naudojant ASP.NET ir nemokamai Visual Studio Express 2012 internete. Jei jau turite Visual Studio diegimą, jūs vis dar galėsite sekti pamoka, tiesiog praleiskite 1 žingsnį.
Prieš pradedant, jums reikia užsiregistruoti Microsoft Translator API Azure. Yra daug įvairių pasiūlymų, įskaitant nemokamą, ir jūs galite pamatyti, kaip užsiregistruoti į nemokamą paslaugą, užregistruoti savo programą ir gauti savo kredencialus čia:
http://blogs.msdn.com/b/translation/p/gettingstarted1.aspx
Kliento ID ir kliento paslaptis, kad jums sukurti čia bus naudojamas žingsnis 4, todėl išlaikyti jų dėmesį.
1-as žingsnis. Kaip Visual Studio Express 2012 internete.
Geriausias būdas pradėti yra aplankyti http://www.asp.net/downloads ir pasirinkite mygtuką "įdiegti dabar", esantį skyriuje "Gaukite viską su vienu paprastu Diegiu".
Tai pradės Web Platform Installer, kuris bus įdiegti Visual Studio, ASP.NET, MVC ir daugybė kitų goodies, kad jūs galite naudoti kurti svetaines.
2-as žingsnis. Žiniatinklio taikomosios programos kūrimas
Paleiskite "Visual Studio" ir meniu Failas pasirinkite "naujas projektas". Bus rodomas dialogo langas, kuriame pateikiamas įvairių projektų, kuriuos galite naudoti svetainėms kurti, sąrašas. Kairėje pasirinkite "Visual C#", tada iš sąrašo pasirinkite "ASP.NET žiniatinklio formų taikomoji programa".
Suteikite savo žiniatinklio programos pavadinimą, pvz., "Vertėjas" ir paspauskite "gerai". "Visual Studio" dabar sukurs viską, ko reikia norint sukurti ir paleisti žiniatinklio programą. Paspauskite F5, kad sukurti ir paleisti programą ir pamatysite kažką panašaus į tai:
3-as žingsnis. Kurti vartotojo sąsają teksto vertimas
Šiame skyriuje į svetainę pridėsite valdiklių, kurie leis galutiniams vartotojams įvesti tekstą, paspausti vertimo mygtuką, o tada matyti įvesto teksto vertimą. Šio tipo funkcinės galimybės naudingos bendraujant su klientais, pavyzdžiui, kai kalbate skirtingomis kalbomis.
Sprendimų naršyklėje raskite puslapį "apie. aspx". Atidarykite jį konstruktoriuje ir pamatysite kažką panašaus į tai:
Delete the 3 <p> tags that say ‘Use this area to provide additional information’, and replace with some controls to provide a basic translation UI, like this:
Jūsų patogumui, čia šaltinis šiame puslapyje:
<%@ Page Title="About" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="About.aspx.cs" Inherits="Translator.About" %> <ASP: turinys būti runat= "serveris" ID= "BodyContent" ContentPlaceHolderID= "MainContent"> <hgrupės Klasės= "antraštė"> <h1><%: Pavadinimas %>.</h1> <h2>Programos aprašo puslapyje.</h2> </hgrupės> <Straipsnio> Įveskite tekstą, kurį norite išversti:<Br /> <ASP: teksto laukelis ID= "TextBox1" būti runat= "serveris" Aukštis= "25px" Plotis= "342px"></ASP: teksto laukelis> <ASP: mygtukas ID= "Button1" būti runat= "serveris" Aukštis= "37px" Onclick= "Button1_Click" Tekstas= "Versti" /> <Br /> Jūsų išverstas tekstas yra:<Br /> <ASP: literalas ID= "Literal1" būti runat= "serveris"></ASP: literalas> </Straipsnio> <Panaikinti> <h3>Be pavadinimo</h3> <P> Naudokite šią sritį, jei norite pateikti papildomos informacijos. </P> <Ul> <Li><A būti runat= "serveris" Href="~/">Namų</A></Li> <Li><A būti runat= "serveris" Href= "~/About.aspx">Apie</A></Li> <Li><A būti runat= "serveris" Href= "~/Contact.aspx">Kontaktai</A></Li> </Ul> </Panaikinti> </ASP: turinys>
Atkreipkite dėmesį, kad dizaineris turėtumėte dukart spustelėkite mygtuką generuoti "Button1_Click" kodas. Šį kodą užrašykite kitame žingsnyje.
4-as žingsnis. Rašymo kodas versti vartotojo tekstą
Ankstesniame skyriuje, galite sukurti pagrindinio vartotojo sąsajos teksto vertimą. Tai leistų vartotojui parašyti tekstą, ir paspauskite mygtuką. Šiame skyriuje, jums parašyti kodą už tą mygtuką, kuris bus išversti vartotojo norimą tekstą į ispanų, ir padaryti jį į puslapį.
Pirmiausia turite pridėti naują klasę prie sprendimo. Paskambinkite , AdmAccessToken ir Suteikite jam šį kodą:
Naudojant Sistemos Naudojant System. Collections. Generic; Naudojant System. LINQ; Naudojant System. Web; Vardų vertėjas { Viešojo Klasės AdmAccessToken { Viešojo Eilutės access_token { get; set; } Viešojo Eilutės token_type { get; set; } Viešojo Eilutės expires_in { get; set; } Viešojo Eilutės scope { get; set; } } }
Atkreipkite dėmesį, kad 4 stygos pavadinimai turi sutapti, kas yra čia tiksliai, ar jūs gausite klaidų savo kodą vėliau.
Be to, per Visual Studio, sprendimas "Internet Explorer", dešiniuoju pelės mygtuku spustelėkite "nuorodos" katalogą ir pasirinkite "pridėti nuoroda". Naudokite šį dialogo langą, kad pridėtumėte nuorodas į
– System. Runtime. Serialization
– System. XML. LINQ
– System. ServiceModel. Web
"About.aspx.cs" kodo viršuje matysite "naudojant" išrašų skaičių. Pridėti naudojant System. XML. LINQ į šiuos, kad jis atrodo taip:
Naudojant Sistemos Naudojant System. Collections. Generic; Naudojant System. LINQ; Naudojant System. Web; Naudojant System. Web. UI; Naudojant System. Web. UI. WebControls; Naudojant System. XML. LINQ; Vardų vertėjas { Viešojo Dalinis Klasės About : Page { Apsaugotas Tuščia Page_Load (Objekto siuntėjas, EventArgs e) { } Apsaugotas Tuščia Button1_Click (Objekto siuntėjas, EventArgs e) { } } }
Pamatysite, kad Button1_Click kodas yra tuščias. Pridėkite šį kodą į jį. Šis kodas gaus prieigos žetoną, skirtą vertimo paslaugai, naudodamas kliento ID ir kliento paslaptį, kurią sukūrėte anksčiau.
Eilutės clientID = "<Your ClientID>"; Eilutės clientSecret = "<Your Client Secret>"; Eilutės strTranslatorAccessURI = "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13"; Eilutės strRequestDetails = Eilutės. Formatas"grant_type=client_credentials&client_id={0}&client_secret={1} &scope=http://api.microsofttranslator.com", HttpUtility. UrlEncode (clientID), HttpUtility. UrlEncode (clientSecret)); System .net. WebRequest Voratinklio užklausa = System .net. WebRequest. create (strTranslatorAccessURI); webRequest. ContentType = "Application/x-www-forma-urlkoduojami"; webRequest. Method = PO; Baitas[] baitų = System. Text. Encoding. ASCII. GetBytes (strRequestDetails); webRequest. ContentLength = baitai. Ilgis Naudojant (System.IO.Stream outputStream = webRequest.GetRequestStream()) { outputStream.Write(bytes, 0, bytes.Length); } System.Net.WebResponse webResponse = webRequest.GetResponse(); System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = Naujas System. Runtime. Serialization. JSON. DataContractJsonSerializer (kaip sakinio(AdmAccessToken)); AdmAccessToken atpažinimo ženklas = (AdmAccessToken) serializer. ReadObject (webResponse. GetResponseStream ()); Eilutės headerValue = Pareikštinių + atpažinimo ženklas. access_token;
Šis kodas sudaro POST duomenų rinkos tarnyba, perduoti savo ID ir paslaptis ir gauti JSON objekto atgal. Tada galite leisti atskirų objektą į admaccesstoken. Tada galite išvesti access_token iš šio.
Šis atpažinimo ženklas yra tada pridedamas prie eilutės, su "Bearer" (nepamirškite vietos) sukurti antraštės vertę, kuri bus siunčiama vertėjas paslauga.
Tada skambinkite vertėjo paslauga su šia headerValue, ir perduoti vartotojo tekstą, jūs naudojate kodą kaip šis:
Eilutės txtToTranslate = TextBox1. Text; Eilutės URI = "http://api.microsofttranslator.com/v2/Http.svc/Translate?text =" + System. Web. HttpUtility. UrlEncode (txtToTranslate) + "& from = EN & į = ES"; System .net. WebRequest translationWebRequest = System .net. WebRequest. create (URI); translationWebRequest. antraštes. Add (Leidimo, headerValue); System .net. WebResponse atsakymas = Null; Atsakymas = translationWebRequest. GetResponse (); System. IO. Stream Stream = atsakymas. GetResponseStream (); System. Text. Encoding kodavimas = System. Text. Encoding. GetEncoding ("UTF-8"); System. IO. StreamReader translatedStream = Naujas System. IO. StreamReader (srautas, koduoti); System. XML. XmlDocument xTranslation = Naujas System. XML. XmlDocument (); xTranslation. LoadXml (translatedStream. ReadToEnd ()); Literal1. text = xTranslation. InnerText;
Teksto laukelis buvo vadinamas ' TextBox1 ', todėl tekstas vartotojo įvestas gali būti tiesiog kilęs iš to. Po to, URI į vertėjas HTTP tarnyba yra sukurta, ir pats tekstas yra Urlkoduojami ir įtraukti į URI.
Atkreipkite dėmesį, kad kalba "lt" yra vartojama "nuo" (t.y., aš darant prielaidą, kad renkate tekstą angliškai) ir "ES" naudojama "to" (t.y. ji bus išverta į ispanų kalbą). Visas palaikomų kalbų kodų sąrašas yra čia: http://msdn.microsoft.com/en-us/library/hh456380.aspx
Vertėjas tarnyba grąžina XML, todėl kodas iškviečia paslaugą, gauna atsakymą kaip XML ir tada dekoduoja jį į tekstą. Tada įkelia rezultatą į pažodinis, kad jūs sukūrėte about. aspx vadinamas Literal1.
Jūs galite pamatyti jį veiksmų čia:
Ir tai! Jūs dabar naudojamas Microsoft Translator API pridėti mašininio vertimo į jūsų ASP.NET taikymo.
Santrauka
Šiuo walkthrough, pamatė, kaip sukurti interneto programa, naudojant ASP.NET ir kaip pridėti mašininio vertimo į jį. Naudojote Microsoft Translator widget teikti vertimo puslapio turinį, ir pamačiau, kaip programa Microsoft Translator API naudojant C# siekiant išversti vartotojo sukurto turinio.