Preskoči na glavno vsebino
Prevajalec
Ta stran je bila samodejno prevedena s strojno prevajanje Microsoft Translator storitev. Preberite več

Microsoftov prevajalec blog

Ustvarjanje spletnega programa s prevodom, ki ga Microsoft Translator.

Ustvarjanje spletnega programa s prevodom, ki ga Microsoft Translator.

V tem walkthrough se boste naučili, kako ustvariti spletni program, ki uporablja Microsoft Translator API za prevajanje besedila, ki ga je uporabnik vnašal. Boste graditi stran z uporabo ASP.NET in prosti Visual Studio Express 2012 za splet. Če že imate namestitev Visual Studio, boste še vedno lahko sledili vajah, samo preskočite korak 1.

Pred začetkom se boste morali prijaviti za Microsoftov API za prevajanje v storitvi Azure. Obstaja več različnih ponudb, vključno z brezplačno eno, in si lahko ogledate, kako se prijavite za brezplačno storitev, registrirajte svojo aplikacijo in dobili svoje poverilnice tukaj:

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

ID odjemalca in Client Secret, ki jo ustvarite tukaj, bodo uporabljeni v koraku 4, zato jih imejte zabeležite.

1. korak. Getting Visual Studio Express 2012 za splet.

Najboljši način za začetek je, da obiščete http://www.asp.net/downloads ter izbrati ' napeljati zdaj ' popek v ' zaslužiti vse s nedoločni zaimek prepost napeljati ' sekcija.

clip_image001

To bo začela spletna platforma Installer, ki bo namestil Visual Studio, ASP.NET, MVC in celo vrsto drugih dobrote, ki jih lahko uporabite za izgradnjo spletnih strani.

Korak 2. Ustvarjanje spletnega programa

Zaženite Visual Studio in v meniju Datoteka izberite» nov projekt «. Prikazalo se bo pogovorno okno, ki vsebuje seznam različnih projektov, ki so na voljo za izgradnjo spletnih mest. Na levi izberite» Visual C# «in nato na seznamu izberite» ASP.NET Web Forms Application «.

clip_image003

Spletni aplikaciji dajte ime, na primer» prevajalec «, in pritisnite» v redu «. Visual Studio bo zdaj ustvaril vse, kar potrebujete za izgradnjo in zagon spletne aplikacije. Pritisnite F5 za izgradnjo in zagon aplikacije in boste videli kaj takega:

clip_image005

 

 

Korak 3. Ustvarjanje UPORABNIŠKEGA vmesnika za prevajanje besedila

V tem razdelku boste dodali kontrolnike na spletno mesto, ki končnim uporabnikom omogoča, da vnesejo v neko besedilo, pritisnete gumb za prevajanje in si ogledate prevod vnesenih besedil. Ta vrsta funkcionalnosti je uporabna za interakcijo s strankami, če na primer govorite različne jezike.

V Raziskovalcu rešitev poiščite stran» About. aspx «. Odprite ga v Oblikovalniku, in videli boste kaj takega:

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še udobje, tukaj je vir za to stran:

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

<ASP: vsebina potepuh= "strežnik" ID= "BodyContent" ContentPlaceHolderID= "MainContent">
    <skupina za Razred= "naslov">
        <h1><%: Naslov %>.</h1>
        <h2>Stran z opisom aplikacije.</h2>
    </skupina za>

    <Člena>
        Vnesite besedilo, ki ga želite prevesti:<Br />
        <ASP: polje z besedilom ID= "TextBox1" potepuh= "strežnik" Višina= "25px" Širina= "342px"></ASP: polje z besedilom>
        <ASP: gumb ID= "Button1" potepuh= "strežnik" Višina= "37px" Onclick= "Button1_Click" Besedilo= "Prevedi" />
        <Br />
        Prevedeno besedilo je:<Br />
        <ASP: dobesedni ID= "Literal1" potepuh= "strežnik"></ASP: dobesedni>
    </Člena>

    <Razveljavi>
        <h3>Razveljavi naslov</h3>
        <P>        
            Če želite zagotoviti dodatne informacije, uporabite to področje.
        </P>
        <UL>
            <Li><A potepuh= "strežnik" Href="~/">Domov</A></Li>
            <Li><A potepuh= "strežnik" Href= "~/About.aspx">O</A></Li>
            <Li><A potepuh= "strežnik" Href= "~/Contact.aspx">Stik</A></Li>
        </UL>
    </Razveljavi>
</ASP: vsebina>

Upoštevajte, da v oblikovalec morate dvokliknite na gumb za ustvarjanje "Button1_Click" kodo. To kodo boste napisali v naslednjem koraku.

Korak 4. Pisanje kode za prevajanje uporabniškega besedila

V prejšnjem odseku ste ustvarili osnovni uporabniški vmesnik za prevajanje besedila. To bi uporabniku omogočilo, da napišete nekaj besedila, in pritisnite gumb. V tem razdelku boste napisali kodo za ta gumb, ki bo prevedla želeno besedilo uporabnika v španščino in ga upodobili na strani.

Najprej morate v rešitev dodati nov razred. Pokliči ga. AdmAccessToken in mu dal naslednjo kodo:

Uporabo Sistem
Uporabo System. zbirk. Generic;
Uporabo System. LINQ;
Uporabo System. Web;

Namespace prevajalec
{
    Javnih Razred AdmAccessToken
    {
        Javnih Niz access_token { get; set; }
        Javnih Niz token_type { get; set; }
        Javnih Niz expires_in { get; set; }
        Javnih Niz scope { get; set; }
    }
}

 

Upoštevajte, da se morajo imena 4 nizov ujemati s tem, kar je točno tukaj, ali pa boste pozneje dobili napake v kodi.

Naprej, notranja stran vizualen atelje, v raztopina raziskovalec, pravilen udarjanje z nogo ob nogo naprej ' napotitev ' zgibalnik ter izbrati ' povečati napotitev '. Uporabite to pogovorno okno, ki sledi, da dodate sklice na

– System. Runtime. serializacija

– System. XML. LINQ

– System. ServiceModel. Web

Na vrhu vaše kode za About.aspx.cs, boste videli več "uporabo" izjav. Dodaj z uporabo System. XML. LINQ za te, tako da izgleda takole:

Uporabo Sistem
Uporabo System. zbirk. Generic;
Uporabo System. LINQ;
Uporabo System. Web;
Uporabo System. Web. UI;
Uporabo System. Web. UI. WebControls;
Uporabo System. XML. LINQ;

Namespace prevajalec
{
    Javnih Delno Razred About : Page
    {
        Zaščitena Nična Page_Load (Predmet pošiljatelj, EventArgs e)
        {

}

        Zaščitena Nična Button1_Click (Predmet pošiljatelj, EventArgs e)
        {

}
    }
}

 

Videli boste, da je Button1_Click koda prazna. Dodajte naslednjo kodo. Ta koda bo dobila žeton za dostop za prevajalsko storitev z ID-jem odjemalca in stranko Secret, ki ste ga prej ustvarili.

Niz clientID = "<Your ClientID>";
Niz clientSecret = "<Your Client Secret>";
Niz strTranslatorAccessURI = 
      "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", HttpUtility. UrlEncode (clientID), HttpUtility. UrlEncode (clientSecret));

Sistem .net. WebRequest webRequest = sistem .net. WebRequest. Create (strTranslatorAccessURI);
webRequest. ContentType = "Application/x-www-Form-urlencoded";
webRequest. Method = POST;
Bajt[] bytes = System. text. kodiranje. ASCII. GetBytes (strRequestDetails);
webRequest. ContentLength = bytes. Dolžina
Uporabo (System.IO.Stream outputStream = webRequest.GetRequestStream())
{
  outputStream.Write(bytes, 0, bytes.Length);
}

System.Net.WebResponse webResponse = webRequest.GetResponse();
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = Novih 
    System. Runtime. serialization. JSON. DataContractJsonSerializer (TypeOf(AdmAccessToken));

AdmAccessToken žeton = (AdmAccessToken) serializer. ReadObject (webResponse. GetResponseStream ());

Niz headerValue = Nosilec + žeton. access_token;

 

To zbornik obrazec a PREPOVEDATI vstop z napisno tablo v novice trg usluga, prehoden vaš NAGONSKI podnet posameznika ter tajnosten ter pridobivanje a JSON predmet prislon. Nato deserializirati ta predmet v AdmAccessToken. Nato lahko izpeljete access_token iz tega.

Ta žeton se nato doda nizu, predfiksnim s» prinosnika «(ne pozabite na prostor), da ustvarite vrednost glave, ki bo poslana prevajalki storitvi.

V torej oklic prevajalec usluga s to headerValue, ter prelaz uporabnik ' tekst, youll ' raba zbornik tako le:

Niz txtToTranslate = TextBox1. text;
Niz uri = "http://api.microsofttranslator.com/v2/Http.svc/Translate?text =" + System. Web. HttpUtility. UrlEncode (txtToTranslate) + "& iz = en & na = ES";
System .net. WebRequest translationWebRequest = sistem .net. WebRequest. Create (uri);
translationWebRequest. headers. add (Dovoljenje, headerValue);

System .net. WebResponse odgovor = Null;
odgovor = translationWebRequest. GetResponse ();
System. IO. Stream tok = odgovor. GetResponseStream ();
System. text. kodiranje encode = System. text. kodiranje. GetEncoding ("UTF-8");

System. IO. StreamReader translatedStream = Novih System. IO. StreamReader (tok, encode);
System. XML. XmlDocument xTranslation = Novih System. XML. XmlDocument ();
xTranslation. LoadXml (translatedStream. ReadToEnd ());

Literal1. text = xTranslation. InnerText;

 

 

Polje z besedilom se je imenovalo» TextBox1 «, tako da lahko besedilo, ki ga vnese uporabnik, preprosto izhaja iz tega. Po tem, a URI za prevajalca HTTP storitev je ustvarjen, in besedilo je UrlEncoded in doda URI.

Upoštevajte, da se jezik "en" uporablja za "From" (tj. predvidevam, da tipkate v angleščini), in "ES" se uporablja za "to" (tj. bo prevesti v španščini). Celoten seznam teh oznak za podprte jezike je tukaj: http://msdn.microsoft.com/en-us/library/hh456380.aspx

Prevajalsko storitev vrne XML, tako da koda pokliče storitev, dobi odgovor kot XML in ga nato dekodira v besedilo. Nato naloži rezultat v dobesedni, ki ste jih ustvarili na About. aspx pozval Literal1.

Ogledate si lahko v akciji tukaj:

clip_image019

In to je to! Zdaj ste uporabili Microsoft Translator API za dodajanje strojno prevajanje v vašo ASP.NET aplikacijo.

Povzetek

V tem walkthrough, si videl, kako zgraditi spletni program z uporabo ASP.NET in kako dodati strojno prevajanje, da ga. Microsoft Translator widget ste uporabili za zagotavljanje prevajanja vsebine strani in videli ste, kako programirati Microsoft Translator API z uporabo C#, da bi prevedli uporabniško ustvarjene vsebine.