Ezt az oldalt a Microsoft Translator gépi fordítószolgáltatása automatikusan lefordította. Tudjon meg többet

Mikroszkóp fordító blog

Webes alkalmazás létrehozása a Microsoft Translator által biztosított fordításokkal.

Webes alkalmazás létrehozása a Microsoft Translator által biztosított fordításokkal.

Ebben a forgatókönyvben megtudhatja, hogyan hozhat létre olyan webalkalmazást, amely a Microsoft Translator API-t használja a felhasználó által bevitt szöveg lefordításához. Youll ' épít a oldal használ ASP.NET és a szabad Látási Műterem Kifejez 2012 részére pókháló. Ha Ön már volna egy Látási Műterem bevezetés, youll ' csendes képesnek lenni megtenni követ a konzultáció, csak ugrál lép 1.

Megkezdése előtt, akkor be kell jelentkeznie a Microsoft Translator API-ban Azure. Vannak nagyszámú különböző felajánlás, beleértve egy szabad egy, és tudod lát hogyan viselkedni jel megjelöl részére a szabad szolgáltatás, beiktat-a app és kap-a megbízólevél itt:

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

Az itt generált ügyfél-azonosító és ügyfél-titok a 4. lépésben kerül felhasználásra.

Lépés 1. A Visual Studio Express 2012 for web első beolvasása.

A kezdéshez a legjobb módja, ha ellátogat http://www.asp.net/downloads és kiválaszt a ' felszerel most ' gomb-ban ' kap minden-val egy egyszerű felszerel ' rész.

clip_image001

Ez akarat dob a pókháló emelvény beiktató melyik akarat felszerel Látási Műterem, ASP.NET, MVC és egy egész házigazda-ból más nyalánkság amit tudod használ-hoz épít websites.

2. lépés Webalkalmazás létrehozása

Futtassa a Visual Studio programot, és a fájl menüből válassza az "új projekt" menüpontot. Megjelenik egy párbeszédpanel, amelyen a különböző projektek érhetők el, amelyek segítségével webhelyeket készíthet. A bal oldalon válassza a "Visual C#"-t, majd válassza ki a "ASP.NET webűrlapok alkalmazás" listaelemeket.

clip_image003

Adjon nevet a webalkalmazásnak (például "fordító"), majd nyomja meg az "OK" gombot. Látási Műterem akarat most teremt minden sírnod kell épít és fuss a pókháló alkalmazás. Sajtó F5-hoz épít és fuss a alkalmazás és youll ' lát némileg hasonló ez:

clip_image005

 

 

Lépés 3. A Szövegfordítás felhasználói felületének létrehozása

Ebben a szakaszban vezérlőket adhat hozzá a webhelyhez, amelyek lehetővé teszik a végfelhasználók számára, hogy bizonyos szövegeket írhatnak be, egy fordító gombot megnyomnak, majd a beírt szöveg fordítását látják. Ez a funkciótípus akkor hasznos, ha például különböző nyelveken beszél az ügyfelekkel.

A Megoldástallózőből keresse meg az "about. aspx" lapot. Nyisd ki a Designer, és látni fogod, valahogy így:

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

Az Ön kényelme, itt a forrás ezen az oldalon:

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

<ASP: tartalom runat= "kiszolgáló" ID= "BodyContent" ContentPlaceHolderID azonosító= "MainContent">
    <hcsoport Osztály= "title">
        <h1><%: Cím %>.</h1>
        <h2>Az alkalmazásleíró oldal.</h2>
    </hcsoport>

    <Cikk>
        Írd be a lefordítani kívánt szöveget:<Br />
        <ASP: szövegdoboz ID= "TextBox1" runat= "kiszolgáló" Magasság= "25px" Szélesség= "342px"></ASP: szövegdoboz>
        <ASP: gomb ID= "Button1" runat= "kiszolgáló" Magasság= "37px" Onclick= "Button1_Click" Szöveg= "Fordítás" />
        <Br />
        A lefordított szöveg:<Br />
        <ASP: literál ID= "Literal1" runat= "kiszolgáló"></ASP: literál>
    </Cikk>

    <Félre>
        <h3>Hatályon kívül cím</h3>
        <P>        
            Ezen a területen további információkat is szolgáltat.
        </P>
        <Ul>
            <Li><A runat= "kiszolgáló" Href="~/">Otthon</A></Li>
            <Li><A runat= "kiszolgáló" Href= "~/About.aspx">Körülbelül</A></Li>
            <Li><A runat= "kiszolgáló" Href= "~/Contact.aspx">Kapcsolat</A></Li>
        </Ul>
    </Félre>
</ASP: tartalom>

Ne feledje, hogy a tervező akkor kattintson duplán a gombra, hogy létrehoz a "Button1_Click" kódot. Ezt a kódot a következő lépésben megírom.

4. lépés Kódírás a felhasználói szöveg lefordításához

Az előző szakaszban létrehoztunk egy alapvető felhasználói felületet a szövegfordításhoz. Ez lehetővé tenné a felhasználó számára, hogy írjon egy szöveget, és nyomjon meg egy gombot. Ebben a részben, akkor írja be a gombot, hogy a gomb, amely lefordítja a felhasználó a kívánt szöveget a spanyol, és tegye meg az oldalon.

Első, youll ' szükség-hoz összead egy új osztály-hoz-a oldat. Nevezni AdmAccessToken és adja meg a következő kódot:

Használ Rendszer
Használ System. gyűjtemények. Generic;
Használ System. LINQ;
Használ System. Web;

Névtér fordító
{
    Nyilvános Osztály AdmAccessToken
    {
        Nyilvános Karakterlánc access_token { get; set; }
        Nyilvános Karakterlánc token_type { get; set; }
        Nyilvános Karakterlánc expires_in { get; set; }
        Nyilvános Karakterlánc scope { get; set; }
    }
}

 

Ne feledje, hogy a nevét a 4 húrok kell egyeznie, mi itt pontosan, vagy kapsz hibát a kódot később.

Következő, bent Látási Műterem,-ban oldat felfedező, jobb kettyenés-on ' utalások ' dosszié és kiválaszt ' összead ajánlás '. Ezzel a párbeszédablakban hivatkozásokat adhat hozzá

– System. Runtime. serialization

– System. XML. LINQ

– System. ServiceModel. Web

Tetején a kódot a About.aspx.cs, akkor megjelenik egy sor "használ" nyilatkozatok. Add hozzá System. xml. LINQ ezeket, így néz ki:

Használ Rendszer
Használ System. gyűjtemények. Generic;
Használ System. LINQ;
Használ System. Web;
Használ System. Web. UI;
Használ System. Web. UI. WebControls;
Használ System. xml. LINQ;

Névtér fordító
{
    Nyilvános Részleges Osztály About : Page
    {
        Védett Void Page_Load (Objektum feladó, EventArgs e)
        {

}

        Védett Void Button1_Click (Objektum feladó, EventArgs e)
        {

}
    }
}

 

Youll ' lát amit a Button1_Click kód van üres. Adja hozzá az alábbi kódkódot. Ez a kód megkapja a fordítószolgáltatás hozzáférési tokenjét a korábban létrehozott ügyfél-azonosító és ügyfél-titok használatával.

Karakterlánc clientID = "<Your ClientID>";
Karakterlánc clientSecret = "<Your Client Secret>";
String strTranslatorAccessURI = 
      "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13";
String strRequestDetails = 
      Karakterlánc. Formátum"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 = rendszer .net. WebRequest. Create (strTranslatorAccessURI);
webRequest. ContentType = "application/x-www-forma-urlencoded";
webRequest. Method = POST;
byte[] Bytes = System. Text. Encoding. ASCII. Getbyte (strRequestDetails);
webRequest. ContentLength = bájtok. Hossza
Használ (System.IO.Stream outputStream = webRequest.GetRequestStream())
{
  outputStream.Write(bytes, 0, bytes.Length);
}

System.Net.WebResponse webResponse = webRequest.GetResponse();
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = Új 
    System. Runtime. serialization. JSON. DataContractJsonSerializer (typeof(AdmAccessToken));

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

Karakterlánc headerValue = Hordozója + token. access_token;

 

Ez a kód alkot POST az adatok piaci szolgáltatás, halad el AZONOSÍTÓJÁT és titkos, és kapok egy JSON tárgyat vissza. Ezután az objektumot egy AdmAccessToken objektumba deszerializálhatja. Ezután ebből a access_token származhat.

Ezt a tokent a "hordozóra" előadott karakterlánccal egészítette ki (ne felejtse el a szóközt), hogy egy fejléc értéket hozzon létre, amelyet a fordítószolgáltatásnak küld a rendszer.

-Hoz akkor hív a fordító szolgáltatás ezzel headerValue, és hágó a használók ' szöveg, youll ' használ kód mint ez:

Karakterlánc txtToTranslate = TextBox1. szöveg;
Karakterlánc URI = "http://api.microsofttranslator.com/v2/Http.svc/Translate?text =" + System. Web. HttpUtility. UrlEncode (txtToTranslate) + "a reggeli és a = es";
System .net. WebRequest translationWebRequest = rendszer .net. WebRequest. Create (URI);
translationWebRequest. headers. Add (Engedély, headerValue);

System .net. WebResponse válasz = Null;
Válasz = translationWebRequest. GetResponse ();
System. IO. stream stream = válasz. GetResponseStream ();
System. Text. Encoding rejtjelez = rendszer. Text. kódolás. GetEncoding ("UTF-8");

System. IO. StreamReader translatedStream = Új System. IO. StreamReader (stream, kódolás);
System. xml. XmlDocument xTranslation = Új System. xml. XmlDocument ();
xTranslation. LoadXml (translatedStream. ReadToEnd ());

Literal1. Text = Xfordítás. InnerText;

 

 

A szöveg doboz volt hívott ' TextBox1 ' tehát a szöveg a felhasználó gépelt-ban tud egyszerűen lenni származott-ból amit. Aztán, egy URI-hoz fordító HTTP szolgáltatás van teremtett, és a szöveg maga van UrlEncoded és hozzáadott-hoz URI.

Megjegyzendő, hogy a nyelv "en" használják a "from" (azaz, én vagyok feltételezve, hogy te gépelés angolul), és a "es" használják a "to" (azaz ez lesz lefordítani spanyol). A támogatott nyelvek kódjainak teljes listája itt található: http://msdn.microsoft.com/en-us/library/hh456380.aspx

A fordítószolgálat visszaadja az XML-t, így a kód meghívja a szolgáltatást, megkapja a választ XML-ként majd dekódolja szöveggé. Ezt követően az eredményt a "about. aspx" néven Literal1 nevű Szövegkonstansba tölti be.

Láthatjuk, hogy a cselekvés itt:

clip_image019

És ez az! Youve ' most használt a Mikroszkóp fordító API-hoz összead gép fordítás-hoz-a ASP.NET alkalmazás.

Összefoglaló

Ebben a forgatókönyvben, akkor látta, hogyan kell felépíteni egy webes alkalmazás segítségével ASP.NET és hogyan adjunk a gépi fordítás hozzá. Használta a Microsoft Translator widget, hogy a fordítást az oldal tartalmát, és látta, hogyan kell programozni a Microsoft Translator API-t használ, annak érdekében, hogy lefordítsa a felhasználók által generált tartalmak.