Ovu stranicu automatski prevodi prevođenje mašine za prevodioca Microsoft prevoditelja. Naučiti više

Microsoft blog za prevodjenje

Kreiranje web aplikacije sa prevodom koje pruža Microsoft prevodilac.

Kreiranje web aplikacije sa prevodom koje pruža Microsoft prevodilac.

U ovom štrajkom, naučićeš kako kreirati aplikaciju web koja koristi Microsoftov API da prevede tekst koji je doprinao korisnik. Izgradit ćete stranicu koristeći ASP.NET i besplatan vizuelni studio Express 2012 za web. Ako već imate vizuelnu instalaciju, i dalje ćete moći slijediti uputstva, samo preskočiti prvi korak.

Prije početka, morat ćete se potpisati za Microsoftov API za prevodioca u Azure. Postoji niz različitih ponuda, uključujući i slobodnu, i možete vidjeti kako da se prijavite za besplatnu uslugu, Registrirajte aplikaciju i ovdje dobiti akreditive:

http://blogs.msdn.com/b/translation/p/gettingstarted1.aspx

IDENTIFIKACIJA klijenta i tajni klijent koji ste stvorili će biti korišten u 4.

Prvi korak. Primam vizuelni studio Express 2012 za web.

Najbolji način da se počne je posjeta http://www.asp.net/downloads i odaberite ' Instaliraj sada ' dugme u ' nabavi sve sa jednim jednostavnim instalacionim odjekom.

clip_image001

Ovo će pokrenuti instalacioni program web platforme koji će instalirati vizualni studio, ASP.NET, MVC i cijeli niz drugih slatkiša koje možete koristiti za izgradnju web lokacija.

Korak 2. Kreiraj web aplikaciju

Pokreni vizuelni studio i iz menija datoteka, izaberi ' novi projekat '. Vidjet ćete dijalog koji sadrži listu različitih projekata koji su dostupni za izgradnju web lokacija sa. Odaberite ' vizualna C# ' sa lijeve strane, a zatim odaberite ' ASP.NET web forme aplikacije ' sa spiska.

clip_image003

Dajte vašoj web aplikaciji ime, kao što je ' prevodilac ', i pritisnite "OK". Vizualni studio će sada kreirati sve što vam je potrebno za izgradnju i pokrenuti web aplikaciju. Pritisnite F5 za izgradnju i pokrenuti aplikaciju i vidjet ćete nešto ovakvo:

clip_image005

 

 

Korak 3. Kreiranje UI za prevođenje teksta

U ovom dijelu ćete dodati kontrole na lokaciji koje omogućavaju da vaš završetak korisnika ukucate neki tekst, pritisnite dugme prevođenju, a zatim Pogledajte Prevod teksta koji su unijeli. Ova vrsta funkcionalnosti je korisna za interglumu sa vašim mušterijama kada govorite različitim jezicima, na primjer.

Iz Eksplorera za soluciju, pronađi ' o. stranici asfalta. Otvori je dizajner, i videćeš nešto ovakvo:

clip_image016

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:

clip_image018

Za vašu pogodnost, ovo je izvor za ovu stranicu:

<%@ Page Title="About" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="About.aspx.cs" Inherits="Translator.About" %>

<asp: sadržaj runat= "server" IDENTIFIKACIJA= "Bolisadržaj" Mjesto za zadovoljstvo= "Glavno sadržaje">
    <hgroup Klase= "naslov">
        <h1><%: Naslov %>.</h1>
        <h2>Stranica opisa aplikacije.</h2>
    </hgroup>

    <Članak>
        Unesite tekst koji želite prevesti:<Br />
        <asp: TextBox IDENTIFIKACIJA= "TextBox1" runat= "server" Visine= "25px" Širina= "342px"></asp: TextBox>
        <asp: tipka IDENTIFIKACIJA= "Button1" runat= "server" Visine= "37px" Onkliknuti= "Button1_Click" Sms= "Prevedi" />
        <Br />
        Vaš prevedeni tekst je:<Br />
        <asp: doslovan IDENTIFIKACIJA= "Literal1" runat= "server"></asp: doslovan>
    </Članak>

    <Stranu>
        <h3>Na stranu naslov</h3>
        <P>        
            Koristite ovu oblast za pružanje dodatnih informacija.
        </P>
        <Bajram>
            <Lija><A runat= "server" Sudija="~/">Kući</A></Lija>
            <Lija><A runat= "server" Sudija"Na asfaltu">O</A></Lija>
            <Lija><A runat= "server" Sudija= "~/Contact.aspx">Kontakt</A></Lija>
        </Bajram>
    </Stranu>
</asp: sadržaj>

Napomena da u dizajnu trebate dvostruko kliknuti na dugme da generišete "Button1_Click" šifru. Napisat ćeš ovaj kod u sljedećem koraku.

Korak 4. Pisanje koda za prevođenje korisničkog teksta

U prethodnom dijelu, stvorili ste osnovni UI za prevođenje teksta. To bi omogućilo korisniku da napiše neki tekst i pritisne dugme. U ovom dijelu, Napisat ćete šifru iza tog dugmeta koji će prevesti željeni korisnički tekst u španjolski, i to napraviti na stranici.

Prvo, morate dodati novu klasu na vaše rješenje. To nazvao AdmAccessToken i daj mu sljedeći kod:

Koristeći Sistem
Koristeći Sistem. kolekcije. generički;
Koristeći Sistem. Linq;
Koristeći Sistem. web;

prostor za ime Prevodilac {
    Javnosti Klase AdmAccessToken {
        Javnosti Niz access_token { get; set; }
        Javnosti Niz token_type { get; set; }
        Javnosti Niz expires_in { get; set; }
        Javnosti Niz scope { get; set; }
    }
}

 

Zabilježi da se imena 4 žice podudaraju sa onim što je ovdje, ili ćeš kasnije dobiti greške u kodu.

Sljedeće, u vizualnom studiju, u pregledniku rješenja, kliknite desnim dugmetom u fasciklu ' reference ' i odaberite ' Dodaj reference '. Koristite ovaj dijalog koji slijedi da dodate reference na

Sistem. Runtime. Seriizacija

Sistem. XML. Linq

Sistem. uslužni model. web

Na vrhu vaše šifre za About.aspx.cs, vidjet ćete broj ' upotrebe ' izjava. Dodajte korištenje sistema. xml. Linq na ove, tako da izgleda ovako:

Koristeći Sistem
Koristeći Sistem. kolekcije. generički;
Koristeći Sistem. Linq;
Koristeći Sistem. web;
Koristeći Sistem. web. UI;
Koristeći Sistem. web. UI. web kontrole;
Koristeći Sistem. xml. Linq;

prostor za ime Prevodilac {
    Javnosti djelomični Klase About : Page
    {
        Zaštićeni prazninu Page_Load (Objekt pošiljalac, EventArgs e) {}

        Zaštićeni prazninu Button1_Click (Objekt pošiljalac, EventArgs e) {}}}

 

Vidjet ćete da je Button1_Click Code prazan. Dodajte sljedeći kod. Ovaj kod će dobiti vaš pristupni znak za prevodioca, koristeći klijenticu identifikacije i tajnu klijenta koju ste kreirali ranije.

Niz clientID = "<Your ClientID>";
Niz Clienttajna = "<Your Client Secret>";
"Strmo Striprevodproročica = 
      "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13";
String strRequestDetails = 
      Niz. Format"grant_type=client_credentials&client_id={0}&client_secret={1} &scope=http://api.microsofttranslator.com", Bez sklonosti. Urlenkop (clientID), Htistivost. UrlEncode (Clientno);

Sistem, net. webrequest-sistem. WebRequest. Kreirajte (Strprevodproročka Cessuri);
webRequest. "aplikacija/x-www-oblik-urlenkodiran";
webRequest. metoda = POST;
Bajt[] bajtes = sistem. tekst. kodiranje. ASCII. _ strRequestDetails);
webRequest. Dužinu
Koristeći (System.IO.Stream outputStream = webRequest.GetRequestStream())
{
  outputStream.Write(bytes, 0, bytes.Length);
}

System.Net.WebResponse webResponse = webRequest.GetResponse();
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = Novi 
    Sistem. Runtime. Sericionalizacija. (pisaće(AdmAccessToken);

Da.-da. serijski radnik. Readobjetni (webResponse). Getresponsetok ());

Niz Glavervrednost = Obveznicama + Token. access_token;

 

Ova šifra predstavlja funkciju na tržištu tržišta podataka, prolazeći vašu osobnu i tajnu i dobivanje JSON objekt nazad. Onda desericionalizirajte taj objekt u dodatak. Onda možeš da access_token iz ovoga.

Ovaj Token je zatim dodat na žicu, Prefiksni sa "nositeljem" (ne zaboravite na prostor) da kreirate vrijednost zaglavlja koja će biti poslata u servis za prevoditelje.

Da bi onda nazvali servis za prevodioca sa ovom direktorkom, i proslijedi korisnikov tekst, koristit ćete šifru kao što je ova:

Niz Txttopreprevodi = TextBox1. tekst;
Niz Uri = "http://api.microsofttranslator.com/v2/Http.svc/Translate?text =" + Sistem. mreža. da. Urlenkod (Txttopreprevodi) + "& od = & do = a";
Sistem i mreža. WebRequest Prevod i mreža. Weberquest. Kreiraj (Uri);
Prijevod i ja.Odobrenje, Direktorervrednost);

Sistem. mreža. nevažećim;
odgovor: Prijevod by Webrequest
Sistem. Getresponsetok ();
Sistem. tekst. kodiranje šifriranja = sistem. tekst. kodiranje."UTF-8");

Sistem. Novi Sistem za Raprečitavanje (tok, encode);
Sistem. xml. Xmidokument Xprijevod = Novi Sistem. xml. Xmidokument ();
Prevod by: Učitavanje XML (prevedeno potok. ReadToEnd ());

Literal1. tekst = Xprevod.

 

 

Okvir za tekst je nazvan ' TextBox1 ', tako da tekst koji je korisnik ukucao može jednostavno biti izveden iz toga. Nakon toga, stvoren je URI do HTTP servisa za prevoditelja, a sam tekst je Urendiran i dodat u URI.

Napomena da se jezik ' En ' koristi ' iz ' (tj., pretpostavljam da kucaљ na engleskom), i ' es ' se koristi za ' da ' (to ' жe se prevesti na љpanski). Cijeli spisak tih šifri za podržane jezike je ovdje: http://msdn.microsoft.com/en-us/library/hh456380.aspx

Servis za prevodjenje vraća XML, tako da kod naziva službu, dobiva odgovor kao XML i onda ga dekodira u tekst. To onda rezultira rezultatom doslovno o kojem ste vi stvorili. na asfaltu zvanom Literal1.

Ovdje se vidi u akciji:

clip_image019

I to je to! Sada ste koristili Microsoftov API za prevodioca da dodate Prijevod na ASP.NET aplikaciju.

Rezime

U ovom protokom, vidjeli ste kako izgraditi web aplikaciju koristeći ASP.NET i kako dodati Prijevod na njega. Koristili ste Microsoftov prevodioc da obezbijedite Prijevod vašeg sadržaja stranice, i vidjeli ste kako programirati API za prevodioca koji koristi C# u cilju prevođenja korisničkog sadržaja.