Microsoft Translator pakub veebirakendus tõlkimisega.
Microsoft Translator pakub veebirakendus tõlkimisega.
Selles Walkthrough saate teada, kuidas luua veebirakendus, mis kasutab Microsoft Translator API-d, et tõlkida kasutaja sisestatud teksti. Loote lehe, kasutades ASP.NET ja tasuta Visual Studio Express 2012 veebi jaoks. Kui teil on juba Visual Studio paigaldus, siis on ikka võimalik järgida juhendaja, lihtsalt vahele samm 1.
Enne alustamist peate registreeru Microsoft Translator API Azure ' i. On mitmeid erinevaid pakkumisi, sealhulgas tasuta üks, ja saate vaadata, kuidas registreeruda tasuta teenus, Registreeri oma app ja saada oma mandaat siin:
http://blogs.msdn.com/b/translation/p/gettingstarted1.aspx
Kliendi ID ja kliendi saladus, mida te siin genereerite, kasutatakse juhises 4, nii et pidage neid tähele.
Samm 1. Rakenduse Visual Studio Express 2012 toomine veebi jaoks.
Parim viis alustamiseks on külastada http://www.asp.net/downloads ja valige "install Now" nuppu "Hangi Kõik koos ühe lihtsa installiga" osa.
See käivitab Web Platform Installer, mis installib Visual Studio, ASP.NET, MVC ja terve hosti muud maiustused, mida saab kasutada ehitada veebilehed.
2. etapp. Veebirakenduse loomine
Käivitage Visual Studio ja menüü Fail käsku Uus projekt. Näete dialoogi, mis sisaldab loendit erinevatest projektidest, mis on saadaval veebisaitide loomiseks. Valige vasakul "visuaalne C#" ja seejärel valige loendist "ASP.NET Web Forms Application".
Andke oma Veebirakendtaotlusele nimi, näiteks "tõlkija" ja vajutage nuppu OK. Visual Studio loob nüüd kõik, mida vaja ehitada ja käivitada veebirakendus. Vajutage klahvi F5 ehitada ja käivitada rakendus ja näete midagi sellist:
Samm 3. KASUTAJALIIDESE loomine teksti tõlkimiseks
Selles jaotises saate lisada juhtelemendid saidile, mis lubavad lõppkasutajatel tippida teksti, vajutada tõlkimise nuppu ja vaadata sisestatud teksti tõlget. Seda tüüpi funktsionaalsust on kasulik klientidega suhtlemisel, kui räägite näiteks eri keeli.
Leidke lahenduste Explorerist leht "About. aspx". Avage see disaineris ja näete midagi sellist:
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:
Teie mugavuse huvides on siin selle lehe allikas:
<%@ Page Title="About" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="About.aspx.cs" Inherits="Translator.About" %> <ASP: sisu runat= "server" ID= "BodyContent" ContentPlaceHolderID= "MainContent"> <, hgroup Klassi= "pealkiri"> <h1><%: Pealkiri %>.</h1> <h2>Teie rakenduse kirjelduse leht.</h2> </, hgroup> <Artikli> Sisestage tekst, mida soovite tõlkida:<Br /> <ASP: tekstikasti ID= "TextBox1" runat= "server" Kõrgus= "25px" Laius= "342px"></ASP: tekstikasti> <ASP: nupp ID= "Button1" runat= "server" Kõrgus= "37px" OnClick= "Button1_Click" Teksti= "Tõlkida" /> <Br /> Teie tõlgitud tekst on:<Br /> <ASP: sõnasõnaline ID= "Literal1" runat= "server"></ASP: sõnasõnaline> </Artikli> <Kõrvale> <h3>Kõrvale pealkiri</h3> <P> Selle ala abil saate anda lisateavet. </P> <Ul> <Li><A runat= "server" Href="~/">Kodu</A></Li> <Li><A runat= "server" Href= "~/About.aspx">Umbes</A></Li> <Li><A runat= "server" Href= "~/Contact.aspx">Kontakt</A></Li> </Ul> </Kõrvale> </ASP: sisu>
Pange tähele, et disainer peaksite topeltklõpsama nuppu, et luua "Button1_Click" koodi. Kirjutage see kood järgmisse etappi.
Samm 4. Kirjutamiskood kasutaja teksti tõlkimiseks
Eelmises jaotises olete loonud põhi KASUTAJALIIDESE teksti tõlge. See võimaldaks kasutajal kirjutada teksti ja vajutada nuppu. Selles jaotises saate kirjutada selle nupu taga oleva koodi, mis tõlgib kasutaja soovitud teksti Hispaaniasse ja muudab selle leheküljel.
Esmalt peate oma lahendusele lisama uue klassi. Nimeta seda AdmAccessToken ja anda sellele järgmine kood:
Kasutades Süsteemi Kasutades System. kogud. Generic; Kasutades System. LINQ; Kasutades System. Web; Nimeruumi tõlk { avalik Klassi AdmAccessToken { avalik String access_token { get; set; } avalik String token_type { get; set; } avalik String expires_in { get; set; } avalik String scope { get; set; } } }
Pange tähele, et 4 stringide nimed peaksid vastama sellele, mis on siin täpselt, või saate oma koodi hiljem vigu.
Järgmine, jooksul Visual Studio, lahenduste Explorer, paremklõps "Viited" kausta ja valige "lisa viide". Kasutage seda dialoogi, mis järgneb viidete lisamiseks
– System. Runtime. serialiseerimine
– System. XML. LINQ
– System. ServiceModel. Web
About.aspx.cs koodi ülaosas näete arvu "kasutades" avaldusi. Lisage System. XML. LINQ neile, nii et see näeb välja selline:
Kasutades Süsteemi Kasutades System. kogud. Generic; Kasutades System. LINQ; Kasutades System. Web; Kasutades System. Web. UI; Kasutades System. Web. UI. WebControls; Kasutades System. XML. LINQ; Nimeruumi tõlk { avalik Osaline Klassi About : Page { Kaitstud Tühine Page_Load (Objekti saatja, EventArgs e) { } Kaitstud Tühine Button1_Click (Objekti saatja, EventArgs e) { } } }
Näete, et Button1_Click kood on tühi. Lisage sellele järgmine kood. See kood saab teie juurdepääsuloa tõlkija teenus, kasutades kliendi ID ja kliendi saladus, mille lõite varem.
String clientID = "<Your ClientID>"; String clientSecret = "<Your Client Secret>"; String strTranslatorAccessURI = "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13"; Stringi strRequestDetails = String. Vormingus"grant_type=client_credentials&client_id={0}&client_secret={1} &scope=http://api.microsofttranslator.com", HttpUtility. UrlEncode (clientID), HttpUtility. UrlEncode (clientSecret)); System .net. WebRequest webRequest = süsteemi .net. WebRequest. Create (strTranslatorAccessURI); webRequest. ContentType = "application/x-www-vormi-urlenkodeeritud"; webRequest. Method = POST; Byte[] baiti = System. Text. encoding. ASCII. Getbaiti (strRequestDetails); webRequest. ContentLength = baiti. Pikkus Kasutades (System.IO.Stream outputStream = webRequest.GetRequestStream()) { outputStream.Write(bytes, 0, bytes.Length); } System.Net.WebResponse webResponse = webRequest.GetResponse(); System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = Uus System. Runtime. Serialization. JSON. DataContractJsonSerializer (typeof(AdmAccessToken)); AdmAccessToken Token = (AdmAccessToken) serializer. ReadObject (webResponse. GetResponseStream ()); String headerValue = Kandja + tõend. access_token;
See kood moodustab POST andmeturu teenusele, mis läbib teie ID ja saladuse ning JSON-objekti tagasi toomine. Seejärel andmeatribuutide selle objekti admaccesstoken. Seejärel saate sellest access_token tuletada.
See luba lisatakse stringi, eelkinnitatud "Bearer" (Ärge unustage ruumi) luua päise väärtus, mis saadetakse tõlkija teenus.
Seejärel helistage tõlkija teenus selle headerValue ja edastada kasutaja tekst, kasutate koodi niimoodi:
String txtToTranslate = TextBox1. Text; String URI = "http://api.microsofttranslator.com/v2/Http.svc/Translate?text =" + System. Web. HttpUtility. UrlEncode (txtToTranslate) + "& alates = EN & to = ES"; System .net. WebRequest translationWebRequest = süsteemi .net. WebRequest. Create (URI); translationWebRequest. päised. Add (Loa, headerValue); System .net. WebResponse vastus = null; vastus = translationWebRequest. GetResponse (); System. IO. Stream Stream = vastus. GetResponseStream (); System. Text. kodeering kodeerimiseks = System. Text. kodeering. GetEncoding ("UTF-8"); System. IO. StreamReader translatedStream = Uus System. IO. StreamReader (Stream, kodeer); System. XML. XmlDocument xTranslation = Uus System. XML. XmlDocument (); xTranslation. LoadXml (translatedStream. ReadToEnd ()); Literal1. Text = xTranslation. InnerText;
Tekstikasti kutsuti "TextBox1" nii, et kasutaja tipitud teksti saab lihtsalt tuletada sellest. Pärast seda, URI tõlkija HTTP-teenus on loodud ja teksti ise on Urlenkodeeritud ja lisatakse URI.
Pange tähele, et keel "EN" kasutatakse "alates" (st ma Eeldan, et tipite inglise keeles) ja "ES" kasutatakse "to" (st see tõlgitakse Hispaania keeles). Nende koodide täielik loetelu toetatud keeltes on siin: http://msdn.microsoft.com/en-us/library/hh456380.aspx
Tõlkija teenus tagastab XML-i, nii et kood kutsub teenust, saab vastuse XML-i ja seejärel dekodeeriti teksti. Seejärel laadib tulemus sõnasõnaliselt, mille lõite About. aspx nimega Literal1.
Te näete seda siin tegevuses:
Ja ongi kõik! Olete nüüd kasutanud Microsoft Translator API lisada masintõlke oma ASP.NET rakendus.
Kokkuvõte
Selles läbik, te nägite, kuidas ehitada veebirakendus kasutades ASP.NET ja kuidas lisada masintõlke sellele. Kasutasite Microsoft Translator vidina oma lehe sisu tõlke pakkumiseks ja te nägite, kuidas programmeerida Microsoft Translator API kasutades C#, et tõlkida kasutaja loodud sisu.