Pāriet uz uz uz saturu
Tulkotājs
Šī lapa ir automātiski tulkots, ko Microsoft Translator ' s mašīntulkošanas pakalpojumu. Uzziniet vairāk

Microsoft Translator blog

Izveidojot tīmekļa lietojumprogrammu ar tulkojumu, ko nodrošina Microsoft Translator.

Izveidojot tīmekļa lietojumprogrammu ar tulkojumu, ko nodrošina Microsoft Translator.

Šajā walkthrough uzzināsit, kā izveidot Web lietojumprogrammu, kas izmanto Microsoft Translator API, lai tulkotu lietotāja ievadīto tekstu. Jūs veidot lapu, izmantojot ASP.NET un bez Visual Studio Express 2012 Web. Ja jums jau ir Visual Studio uzstādīšana, jūs joprojām varēsiet sekot apmācība, vienkārši izlaist soli 1.

Pirms sākat, jums būs nepieciešams reģistrēties Microsoft Translator API Azure. Ir vairāki dažādi piedāvājumi, ieskaitot bezmaksas vienu, un jūs varat redzēt, kā pierakstīties uz bezmaksas pakalpojumu, reģistrēt savu lietotni un saņemt jūsu credentials šeit:

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

Client ID un Client Secret, ka jūs radīt šeit tiks izmantoti 4 Step, lai saglabātu zināšanai no tiem.

1. solis. Visual Studio Express 2012 iegūšana tīmeklim.

Labākais veids, kā sākt ir apmeklēt http://www.asp.net/downloads un izvēlieties ' instalēt tagad ' pogu "Get viss ar vienu vienkāršo Install" sadaļā.

clip_image001

Tas sāks Web Platform Installer kas instalēt Visual Studio, ASP.NET, MVC un visa uzņēmēja citu labumi, ko varat izmantot, lai izveidotu mājas lapas.

2. solis. Izveidot Web lietojumprogrammu

Palaidiet Visual Studio un izvēlnē Fails atlasiet ' Jauns projekts '. Tiks parādīts dialogs, kurā būs saraksts ar dažādiem projektiem, kas ir pieejami vietņu izveidei. Kreisajā pusē atlasiet ' Visual c # ' un pēc tam sarakstā atlasiet ' ASP.NET Web Forms Application '.

clip_image003

Piešķiriet savai Web lietojumprogrammai nosaukumu, piemēram, "tulkotājs", un nospiediet ' Labi '. Visual Studio tagad radīs visu nepieciešamo, lai izveidotu un palaistu Web Application. Nospiediet taustiņu F5, lai izveidotu un palaistu lietojumprogrammu, un jūs redzēsiet kaut kas līdzīgs šim:

clip_image005

 

 

3. solis. LIETOTĀJA interfeisa izveide teksta tulkošanai

Šajā sadaļā jūs pievienosiet vadīklas vietnei, kas ļauj lietotājiem ievadīt tekstu, nospiediet tulkošanas pogu un pēc tam apskatiet ievadītā teksta tulkojumu. Šāda veida funkcionalitāte ir noderīga mijiedarbībai ar klientiem, piemēram, runājot dažādās valodās.

No risinājumu pārlūka Atrodiet lapu "par. aspx". Atveriet to dizainers, un jūs redzēsiet kaut kas līdzīgs šim:

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

Jūsu ērtībai, šeit ir avots par šo lapu:

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

<ASP: saturs iesnas= "serveris" ID= "BodyContent" ContentPlaceHolderID= "MainContent">
    <hgroup šgrupa Klases= "virsraksts">
        <h1><%: Virsraksts %>.</h1>
        <h2>Jūsu lietotnes apraksta lapa.</h2>
    </hgroup šgrupa>

    <Pants>
        Ievadiet tekstu, kuru vēlaties tulkot:<Br />
        <ASP: TextBox ID= "TextBox1" iesnas= "serveris" Augstums= "25px" Platums= "342px"></ASP: TextBox>
        <ASP: poga ID= "Button1" iesnas= "serveris" Augstums= "37px" Onclick= "Button1_Click" Teksts= "Tulkot" />
        <Br />
        Jūsu tulkots teksts ir:<Br />
        <ASP: literālis ID= "Literal1" iesnas= "serveris"></ASP: literālis>
    </Pants>

    <Malā>
        <h3>Papildus nosaukums</h3>
        <P>        
            Izmantojiet šo apgabalu, lai sniegtu papildu informāciju.
        </P>
        <Ul>
            <Li><A iesnas= "serveris" Href="~/">Mājas</A></Li>
            <Li><A iesnas= "serveris" Href= "~/About.aspx">Par</A></Li>
            <Li><A iesnas= "serveris" Href= "~/Contact.aspx">Kontaktinformācija</A></Li>
        </Ul>
    </Malā>
</ASP: saturs>

Ņemiet vērā, ka dizainers jums jāveic dubultklikšķis uz pogas, lai ģenerētu "Button1_Click" kodu. Jūs uzrakstīsiet šo kodu nākamajā solī.

4. solis. Rakstīšanas kods, lai tulkotu lietotāja tekstu

Iepriekšējā sadaļā ir izveidots pamata lietotāja interfeiss teksta tulkošanai. Tas ļautu lietotājam uzrakstīt tekstu, un nospiediet pogu. Šajā sadaļā jūs uzrakstīsiet kodu aiz šīs pogas, kas iztulkot lietotāja vēlamo tekstu spāņu valodā, un padarīt to par lapu.

Vispirms jums ir jāpievieno jauna klase jūsu risinājumam. Call to AdmAccessToken un piešķiriet tam šādu kodu:

Izmantojot Sistēmas
Izmantojot System. Collections. generic;
Izmantojot System. LINQ;
Izmantojot System. Web;

Nosaukumvietu tulkotājs
{
    Publisko Klases AdmAccessToken (AdmAccessToken)
    {
        Publisko Virkne access_token { get; set; }
        Publisko Virkne token_type { get; set; }
        Publisko Virkne expires_in { get; set; }
        Publisko Virkne scope { get; set; }
    }
}

 

Ņemiet vērā, ka no 4 virknes nosaukumi ir jāsakrīt ar to, kas ir šeit precīzi, vai arī jūs saņemsiet kļūdas savā kodā vēlāk.

Pēc tam Visual Studio, risinājumu pārlūkā, ar peles labo pogu noklikšķiniet uz mapes "atsauces" un izvēlieties "pievienot atsauci". Lietojiet šo dialogu, kas seko, lai pievienotu atsauces

– System. Runtime. Serializācija

– System. XML. LINQ

– System. ServiceModel. Web

Augšpusē savu kodu About.aspx.cs, jūs redzēsiet vairākas "izmantojot" pārskatos. Pievienot, izmantojot System. XML. LINQ uz šiem, lai tas izskatās šādi:

Izmantojot Sistēmas
Izmantojot System. Collections. generic;
Izmantojot System. LINQ;
Izmantojot System. Web;
Izmantojot System. Web. UI;
Izmantojot System. Web. UI. WebControls;
Izmantojot System. XML. LINQ;

Nosaukumvietu tulkotājs
{
    Publisko Daļēju Klases About : Page
    {
        Aizsargāti Anulēt Page_Load (Objektu sūtītājs, EventArgs e)
        {

}

        Aizsargāti Anulēt Button1_Click (Objektu sūtītājs, EventArgs e)
        {

}
    }
}

 

Jūs redzēsiet, ka Button1_Click kods ir tukšs. Pievienojiet tam šādu kodu. Šis kods saņems jūsu piekļuves pilnvaru tulkotāju pakalpojumam, izmantojot klienta ID un Client Secret, ka jūs izveidojāt iepriekš.

Virkne clientID = "<Your ClientID>";
Virkne clientSecret = "<Your Client Secret>";
String strTranslatorAccessURI = 
      "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13";
Virknes strRequestDetails = 
      Virkne. Formātā"grant_type=client_credentials&client_id={0}&client_secret={1} &scope=http://api.microsofttranslator.com", HttpUtility. UrlEncode (clientID), HttpUtility. UrlEncode (clientSecret));

Sistēmas .net. WebRequest webRequest = sistēmas .net. WebRequest. Create (strTranslatorAccessURI);
webRequest. ContentType = "pieteikums/x-www-Form-urlencoded";
webRequest. Method = POST;
Baits[] baiti = System. Text. Encoding. ASCII. GetBytes (Strrequestdetaļas);
webRequest. ContentLength = baiti. Garums
Izmantojot (System.IO.Stream outputStream = webRequest.GetRequestStream())
{
  outputStream.Write(bytes, 0, bytes.Length);
}

System.Net.WebResponse webResponse = webRequest.GetResponse();
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = Jaunas 
    System. Runtime. Serializācija. JSON. DataContractJsonSerializer (veida(AdmAccessToken));

AdmAccessToken token = (AdmAccessToken) serializer. ReadObject (webResponse. GetResponseStream ());

Virkne headerValue = Nesēju + Token. access_token;

 

Šis kods veido POST ar datu tirgus pakalpojumu, kas iet savu ID un slepeno un iegūt JSON objektu atpakaļ. Pēc tam deserializēt šo objektu par admaccesstoken. Pēc tam jūs varat gūt access_token no šī.

Šī pilnvara pēc tam pievieno virkni, kas iepriekš fiksēts ar "uzrādītāja" (neaizmirstiet atstarpi), lai izveidotu galvenes vērtību, kas tiks nosūtīts Translator pakalpojumu.

Lai tad izsauktu Translator pakalpojumu ar šo headerValue, un nodot lietotāja tekstu, jūs izmantosiet kodu, piemēram, šādi:

Virkne txtToTranslate = TextBox1. Text;
Virkne URI = "http://api.microsofttranslator.com/v2/Http.svc/Translate?text =" + System. Web. HttpUtility. UrlEncode (txtToTranslate) + "& no = EN & to = es";
Sistēmas .net. WebRequest translationWebRequest = sistēmas .net. WebRequest. Create (URI);
translationWebRequest. galvenes. Pievienojiet (Atļauju, headerValue);

System .net. WebResponse atbilde = Null;
atbilde = translationWebRequest. GetResponse ();
System. IO. Stream Stream = atbilde. GetResponseStream ();
System. Text. Encoding kodēšana = System. Text. kodējumu. GetEncoding ("UTF-8");

System. IO. StreamReader translatedStream = Jaunas System. IO. StreamReader (plūsma, kodēt);
System. XML. XmlDocument xTranslation = Jaunas System. XML. XmlDocument ();
xTranslation. LoadXml (translatedStream. ReadToEnd ());

Literal1. Text = xTranslation. InnerText;

 

 

Tekstlodziņš tika saukts par "TextBox1", tāpēc teksts lietotājs drukāti var vienkārši iegūt no tā. Pēc tam tiek izveidots URI uz translatora HTTP pakalpojumu, un pats teksts ir UrlEncoded un pievieno URI.

Ņemiet vērā, ka valoda ' EN ' tiek lietota ' no ' (t.i., es pieņemu, ka jūs rakstāt angļu valodā) un "es" tiek izmantots "to" (ti, tas izpaužas spāņu valodā). Pilns šo kodu saraksts atbalstītajām valodām ir šeit: http://msdn.microsoft.com/en-us/library/hh456380.aspx

Tulkotājs pakalpojums atgriež XML, tāpēc kods izsauc pakalpojumu, saņem atbildi XML formātā un pēc tam dekodē to tekstā. Pēc tam tas ielādē rezultātu gramatiskā, kuru izveidojāt about. aspx sauc Literal1.

Jūs varat redzēt to darbībā šeit:

clip_image019

Un tas arī viss! Jūs esat tagad izmanto Microsoft Translator API pievienot mašīntulkošanas jūsu ASP.NET pieteikumu.

Kopsavilkuma

Šajā walkthrough, jūs redzēja, kā veidot Web Application izmantojot ASP.NET un kā pievienot mašīntulkošanu uz to. Jūs izmantojāt Microsoft Translator logrīku sniegt tulkojumu jūsu lapas saturu, un jūs redzēja, kā programma Microsoft Translator API, izmantojot c #, lai pārvērstu lietotāja radīts saturs.