Siirry päähistoria
Kääntäjä
Microsoft Translatorin kone käännös palvelu on kääntänyt tämän sivun automaattisesti. Opi lisää

Microsoft Kääntäjä blogi

Luominen Web-sovellus käännös Microsoft kääntäjä.

Luominen Web-sovellus käännös Microsoft kääntäjä.

Tässä opastus ohjelmassa opit luomaan Web-sovelluksen, joka käyttää Microsoft Translator API-liittymää käyttäjän syöttämän tekstin kääntämiseen. Voit rakentaa sivun avulla ASP.NET ja vapaa Visual Studio Express 2012 Web. Jos sinulla on jo Visual Studio-asennus, voit silti seurata opetus ohjelma, vain ohittaa vaihe 1.

Ennen kuin aloitat, sinun on kirjauduttava Microsoft Translator API in Azure. On olemassa useita erilaisia tarjouksia, mukaan lukien ilmainen yksi, ja voit nähdä, miten rekisteröityä ilmainen palvelu, rekisteröi sovelluksesi ja saat valta kirja tässä:

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

Tässä luotava Client ID-ja Client Secret-sala sana käytetään vaiheessa 4, joten pidä ne muistiin.

Vaihe 1. Getting Visual Studio Express 2012 Web.

Paras tapa aloittaa on käydä http://www.asp.net/downloads ja valitse "Asenna nyt"-painike "Hanki kaikki yhdellä yksinkertaisella asennolla"-osiossa.

clip_image001

Tämä käynnistää Web Platform Installer, joka asentaa Visual Studio, ASP.NET, MVC ja koko joukko muita herkkuja, joita voit käyttää rakentaa verkko sivustoja.

Vaihe 2. Luo WWW-sovellus

Suorita Visual Studio ja valitse Tiedosto-valikosta Uusi projekti. Näet valinta ikkunan, jossa on luettelo erilaisista projekteista, joiden avulla voit luoda verkko sivustoja. Valitse vasemmalta "Visual C#" ja valitse sitten luettelosta "ASP.NET Web Forms Application".

clip_image003

Anna Web-sovellukselle nimi, kuten kääntäjä, ja paina OK-painiketta. Visual Studio luo nyt kaiken, mitä tarvitset Web-sovelluksen luomiseen ja suorittamiseen. Paina F5 rakentaa ja suorittaa sovelluksen ja näet jotain tällaista:

clip_image005

 

 

Vaihe 3. Luodaan käyttö liittymää teksti käännöstä varten

Tässä osiossa voit lisätä sivustoon ohjaus objekteja, joiden avulla käyttäjät voivat kirjoittaa tekstiä, painaa Käännä-painiketta ja nähdä sitten syöttämäsi tekstin käännöksen. Tämäntyyppinen toiminnallisuus on hyödyllinen vuoro vaikutuksessa asiakkaiden kanssa, kun puhut eri kieliä, esimerkiksi.

Etsi Solution Explorerista about. aspx-sivu. Avaa se suunnittelija, ja näet jotain tällaista:

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

Avuksesi, tässä on lähde tällä sivulla:

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

<ASP: sisältö RUNAT= "palvelin" ID= "BodyContent" ContentPlaceHolderID-tunnus= "MainContent">
    <ja hgroup Luokan= "otsikko">
        <h1><%: Otsikko %>.</h1>
        <h2>Sovelluksen kuvaus sivu.</h2>
    </ja hgroup>

    <Artiklan>
        Kirjoita teksti, jonka haluat kääntää:<Br />
        <ASP: TextBox ID= "TextBox1" RUNAT= "palvelin" Korkeus= "25px" Leveys= "342px"></ASP: TextBox>
        <ASP:-painike ID= "Button1" RUNAT= "palvelin" Korkeus= "37px" Onclick= "Button1_Click" Teksti= "Käännä" />
        <Br />
        Käännetty teksti on:<Br />
        <ASP: kirjaimellinen ID= "Literal1" RUNAT= "palvelin"></ASP: kirjaimellinen>
    </Artiklan>

    <Syrjään>
        <h3>Syrjään otsikko</h3>
        <P>        
            Tämän alueen avulla voit antaa lisä tietoja.
        </P>
        <Ul>
            <Li><A RUNAT= "palvelin" Href="~/">Kotisivu</A></Li>
            <Li><A RUNAT= "palvelin" Href= "~/About.aspx">Noin</A></Li>
            <Li><A RUNAT= "palvelin" Href= "~/Contact.aspx">Yhteystiedot</A></Li>
        </Ul>
    </Syrjään>
</ASP: sisältö>

Huomaa, että suunnittelija sinun pitäisi kaksoisnapsauttamalla painiketta luoda "Button1_Click" koodi. Kirjoitat tämän koodin seuraavassa vaiheessa.

Vaihe 4. Kirjoitetaan koodia käyttäjä tekstin kääntämistä varten

Edellisessä osiossa loit peruskäyttöliittymän tekstin käännöstä varten. Se antaa käyttäjä jotta kirjailla jokin kirjoitus, ja ahdistaa napittaa. Tässä osiossa voit kirjoittaa koodin takana painiketta, joka kääntää käyttäjän haluttu teksti espanjaksi, ja tehdä sen sivulla.

Ensin sinun on lisättävä uusi luokka ratkaisuun. Soita se AdmAccessToken-tunnus ja kimmoisuus se seuraava ilmaista koodi kielellä:

Käyttää Järjestelmä
Käyttää System. Collections. Generic;
Käyttää System. LINQ;
Käyttää System. Web;

Nimitila kääntäjä
{
    Yleiset Luokan AdmAccessToken-tunnus
    {
        Yleiset Merkkijono access_token { get; set; }
        Yleiset Merkkijono token_type { get; set; }
        Yleiset Merkkijono expires_in { get; set; }
        Yleiset Merkkijono scope { get; set; }
    }
}

 

Huomaa, että nimet 4 jouset olisi vastattava, mitä on täällä tarkalleen, tai saat virheitä koodin myöhemmin.

Lähinnä, sisäpuolella Näkö Ateljee, kotona liuos tehdä tutkimus matka, aivan click model after ' viitta ukset ' kansio ja ensiluokkainen ' kartuttaa alistaminen '. Tämän valinta ikkunan avulla voit lisätä viitta uksia

– System. Runtime. Serialization

– System. XML. LINQ

– System. ServiceModel. Web

About.aspx.cs-koodin yläosassa näet useita "using"-lauseita. Kartuttaa avulla System. xml. LINQ jotta nämä, joten että se ulkomuoto kuin nyt kuluva:

Käyttää Järjestelmä
Käyttää System. Collections. Generic;
Käyttää System. LINQ;
Käyttää System. Web;
Käyttää System. Web. UI;
Käyttää System. Web. UI. WebControls;
Käyttää System. xml. LINQ;

Nimitila kääntäjä
{
    Yleiset Osittainen Luokan About : Page
    {
        Suojattu Mitätön Page_Load (Objekti lähettäjä, EventArgs e)
        {

}

        Suojattu Mitätön Button1_Click (Objekti lähettäjä, EventArgs e)
        {

}
    }
}

 

Näet, että Button1_Click-koodi on tyhjä. Lisää siihen seuraava koodi. Tämä koodi saa käyttö tunnus sanoman Kääntäjä palvelua käyttäen asiakas tunnus ja Client Secret, jotka olet luonut aiemmin.

Merkkijono clientID = "<Your ClientID>";
Merkkijono clientSecret = "<Your Client Secret>";
String strTranslatorAccessURI = 
      "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13";
Merkki jono strRequestDetails = 
      Merkkijono. Muodossa"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 = järjestelmä .net. WebRequest. Create (strTranslatorAccessURI);
webRequest. ContentType = "Application/x-www-muoto-urlenkoodattu";
webRequest. Method = POST;
Tavu[] tavua = System. text. Encoding. ASCII. Gettavua (strRequestDetails);
webRequest. ContentLength = tavua. Pituus
Käyttää (System.IO.Stream outputStream = webRequest.GetRequestStream())
{
  outputStream.Write(bytes, 0, bytes.Length);
}

System.Net.WebResponse webResponse = webRequest.GetResponse();
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = Uusi 
    System. Runtime. Serialization. JSON. DataContractJsonSerializer (Typeof(AdmAccessToken));

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

Merkkijono headerValue = Haltija + Token. access_token;

 

Tämä koodi muodostaa POST tieto markkinoiden palvelu, kulkee TUNNUKSESI ja salainen ja saada JSON objekti takaisin. Tämän jälkeen voit poistaa objektin sarjoituksen AdmAccessToken-objektista. Tämän jälkeen voit saada access_token tästä.

Tämä tunnus on sitten lisätään merkki jono, etuliitteenä kanssa "Bearer" (Älä unohda tilaa) luoda otsikon arvo, joka lähetetään Kääntäjä palveluun.

Tämän jälkeen voit soittaa Kääntäjä palveluun tällä headerValue-arvolla ja välittää käyttäjän tekstiä käyttämällä tätä koodia:

Merkkijono txtToTranslate = TextBox1. Text;
Merkkijono URI = "http://api.microsofttranslator.com/v2/Http.svc/Translate?text =" + System. Web. HttpUtility. UrlEncode (txtToTranslate) + "& From = en & to = ES";
System .net. WebRequest translationWebRequest = järjestelmä .net. WebRequest. Create (URI);
translationWebRequest. headers. Add (Lupa, headerValue);

System .net. WebResponse-vastaus = Null;
Response = translationWebRequest. GetResponse ();
System. IO. Stream Stream = vastaus. GetResponseStream ();
System. text. Encoding koodata = System. text. Encoding. GetEncoding ("UTF-8");

System. IO. StreamReader translatedStream = Uusi System. IO. StreamReader (stream, koodata);
System. xml. XmlDocument xTranslation = Uusi System. xml. XmlDocument ();
xTranslation. LoadXml (translatedStream. ReadToEnd ());

Literal1. Text = xTranslation. InnerText;

 

 

Teksti kenttään kutsuttiin "TextBox1", joten teksti, jonka käyttäjä on kirjoittanut, voi yksinkertaisesti olla perä isin siitä. Tämän jälkeen luodaan kääntäjän HTTP-palvelun URI-tunnus ja teksti itsessään on Urlenkoodattu ja lisätty URIIN.

Huomaa, että kieli "En" käytetään "from" (eli olen olettaen kirjoitat Englanti), ja "Es" käytetään "to" (eli se kääntää espanjaksi). Täydellinen luettelo näistä koodeista tuettujen kielten on tässä: http://msdn.microsoft.com/en-us/library/hh456380.aspx

Kääntäjä palvelu palauttaa XML, joten koodi kutsuu palvelua, saa vasta uksen XML ja sitten purkaa sen tekstiksi. Sen jälkeen se lataa tuloksen Literaaliin, jonka loit about. aspx-nimellä Literal1.

Voit nähdä sen toiminnassa tässä:

clip_image019

Ja se on se! Olet nyt käyttänyt Microsoft Translator API lisätä kone käännös teidän ASP.NET sovellus.

Yhteenveto

Tässä walkthrough, näit miten rakentaa Web-sovelluksen avulla ASP.NET ja miten lisätä kone käännös siihen. Käytit Microsoft Translator widget antaa käännöksen sivusi sisältöä, ja näit miten ohjelmoida Microsoft Translator API käyttäen C# jotta kääntää käyttäjien tuottaman sisällön.