Je to v nádeji
Prekladateľ
Táto stránka bola automaticky preložená službou Prekladač strojového prekladu spoločnosti Microsoft. Dozvedieť sa viac

Microsoft prekladateľ blog

Vytvorenie webovej aplikácie s prekladom poskytnutých Microsoft Translator.

Vytvorenie webovej aplikácie s prekladom poskytnutých Microsoft Translator.

V tomto návode sa dozviete, ako vytvoriť webovú aplikáciu, ktorá používa rozhranie Microsoft Translator API na preklad textu, ktorý bol vstupom používateľa. Budete stavať stránky pomocou ASP.NET a zadarmo Visual Studio Express 2012 pre web. Ak už máte inštaláciu aplikácie Visual Studio, budete stále môcť sledovať výukový program, len preskočte krok 1.

Pred začatím, budete musieť zaregistrovať Microsoft Translator API v Azure. Existuje niekoľko rôznych ponúk, vrátane zadarmo jeden, a môžete vidieť, ako sa zaregistrovať na bezplatnú službu, zaregistrujte svoju aplikáciu a získať svoje poverenia tu:

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

ID klienta a klienta Secret, ktoré vygenerujete tu budú použité v kroku 4, takže majte na vedomie.

Krok 1. Získanie Visual Studio Express 2012 pre web.

Najlepší spôsob, ako začať, je navštíviť http://www.asp.net/downloads a vyberte tlačidlo "Inštalovať teraz" v sekcii "Získajte všetko s jednou jednoduchou inštaláciou".

clip_image001

Tým sa spustí web Platform Installer, ktorý bude inštalovať Visual Studio, ASP.NET, MVC a celý rad ďalších dobroty, ktoré môžete použiť na vybudovanie webových stránok.

Krok 2. Vytvoriť webovú aplikáciu

Spustite Visual Studio a v ponuke Súbor vyberte "nový projekt". Zobrazí sa dialógové okno obsahujúce zoznam rôznych projektov, ktoré sú k dispozícii na vytváranie webových lokalít. Vyberte ' Visual C# ' na ľavej strane a potom vyberte ' ASP.NET Web Forms aplikácie ' zo zoznamu.

clip_image003

Zadajte svoje webové aplikácie názov, napríklad ' Translator ', a stlačte tlačidlo ' OK '. Visual Studio bude teraz vytvoriť všetko, čo potrebujete na vybudovanie a spustenie webovej aplikácie. Stlačením klávesu F5 vybudovať a spustiť aplikáciu a uvidíte niečo ako toto:

clip_image005

 

 

Krok 3. Vytvorenie používateľského rozhrania pre preklad textu

V tejto časti pridáte ovládacie prvky na lokalitu, ktorá umožní koncovým používateľom zadávať text do určitého textu, stlačiť tlačidlo prekladu a potom zobraziť preklad textu, ktorý zadali. Tento typ funkčnosti je užitočný pre interakciu s vašimi zákazníkmi, ak napríklad hovoríte rôznymi jazykmi.

Z Prieskumníka riešení vyhľadajte stránku about. aspx. Otvorte ho v návrhárovi a uvidíte niečo ako toto:

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

Pre vaše pohodlie, tu je zdroj pre túto stránku:

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

<ASP: obsah runat= "Server" ID= "BodyContent" ContentPlaceHolderID= "MainContent">
    <skupina hgroup Triedy= "názov">
        <h1><%: Názov %>.</h1>
        <h2>Stránka popisu aplikácie.</h2>
    </skupina hgroup>

    <Článku>
        Zadajte text, ktorý chcete preložiť:<Br />
        <ASP: textové pole ID= "TextBox1" runat= "Server" Výška= "25px" Šírka= "342px"></ASP: textové pole>
        <ASP: tlačidlo ID= "Button1" runat= "Server" Výška= "37px" Onclick= "Button1_Click" Text= "Preložiť" />
        <Br />
        Váš preložený text je:<Br />
        <ASP: doslovný ID= "Literal1" runat= "Server"></ASP: doslovný>
    </Článku>

    <Stranou>
        <h3>Okrem hlavy</h3>
        <P>        
            Táto oblasť sa používa na poskytnutie dodatočných informácií.
        </P>
        <Ul>
            <li><A runat= "Server" Href="~/">Domov</A></li>
            <li><A runat= "Server" Href= "~/About.aspx">O</A></li>
            <li><A runat= "Server" Href= "~/Contact.aspx">Kontakt</A></li>
        </Ul>
    </Stranou>
</ASP: obsah>

Všimnite si, že v návrhárovi by ste mali Double-kliknite na tlačidlo generovať "Button1_Click" kód. Tento kód budete písať v ďalšom kroku.

Krok 4. Písanie kódu na preklad textu používateľa

V predchádzajúcej časti ste vytvorili základné používateľské rozhranie pre preklad textu. To by umožnilo užívateľovi napísať nejaký text, a stlačte tlačidlo. V tejto sekcii, budete písať kód za týmto tlačidlom, ktorý bude prekladať užívateľa požadovaný text do španielčiny, a urobiť to na stránke.

Najprv musíte do riešenia pridať novú triedu. Zavolajte V meste AdmAccessToken a dať mu nasledujúci kód:

Použití Systém
Použití System. Collections. Generic;
Použití System. LINQ;
Použití System. Web;

Priestor názvov prekladateľ
{
    Verejné Triedy AdmAccessToken (AdmAccessToken)
    {
        Verejné Reťazec access_token { get; set; }
        Verejné Reťazec token_type { get; set; }
        Verejné Reťazec expires_in { get; set; }
        Verejné Reťazec scope { get; set; }
    }
}

 

Všimnite si, že názvy 4 reťazce by mali zodpovedať, čo je tu presne, alebo budete mať chyby vo vašom kóde neskôr.

Ďalšie, v rámci Visual Studio, v roztoku Explorer, kliknite pravým tlačidlom myši na ' odkazy ' zložku a vyberte ' pridať odkaz '. Toto dialógové okno použite, ak chcete pridať odkazy na

– System. Runtime. serialization

– System. XML. LINQ

– System. ServiceModel. Web

V hornej časti kódu pre About.aspx.cs, uvidíte niekoľko ' pomocou ' vyhlásenia. Pridať pomocou System. XML. LINQ na tieto, takže to vyzerá takto:

Použití Systém
Použití System. Collections. Generic;
Použití System. LINQ;
Použití System. Web;
Použití System. Web. UI;
Použití System. Web. UI. WebControls;
Použití System. XML. LINQ;

Priestor názvov prekladateľ
{
    Verejné Čiastočné Triedy About : Page
    {
        Chránené Neplatné V Page_Load (Objekt odosielateľ, EventArgs e)
        {

}

        Chránené Neplatné Button1_Click (Objekt odosielateľ, EventArgs e)
        {

}
    }
}

 

Uvidíte, že kód Button1_Click je prázdny. Pridajte nasledujúci kód. Tento kód dostane prístupový token pre prekladač služby pomocou ID klienta a klienta tajomstvo, ktoré ste vytvorili predtým.

Reťazec clientID = "<Your ClientID>";
Reťazec clientSecret = "<Your Client Secret>";
Reťazec strTranslatorAccessURI = 
      "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13";
Reťazec strRequestDetails = 
      Reťazec. Formát"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 = systém .net. WebRequest. Create (strTranslatorAccessURI);
webRequest. ContentType = "aplikácia/x-www-Form-urlencode";
webRequest. Method = POST;
byte[] bajtov = System. text. encoding. ASCII. GetBytes (strRequestDetails);
webRequest. ContentLength = bajtov. Dĺžka
Použití (System.IO.Stream outputStream = webRequest.GetRequestStream())
{
  outputStream.Write(bytes, 0, bytes.Length);
}

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

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

Reťazec headerValue = Doručiteľa + token. access_token;

 

Tento kód tvorí POST na trhu údajov služby, prechádzajúce vaše ID a tajné a získanie JSON objekt späť. Potom zrušiť serializáciu tento objekt do admaccesstoken. Potom môžete odvodiť access_token z tohto.

Tento token sa potom pridá do reťazca, predfixného s "Bearer" (nezabudnite na priestor) vytvoriť hlavičku hodnotu, ktorá sa odošle Prekladač služby.

Ak chcete potom zavolať Prekladač služby s týmto headerValue, a odovzdať text užívateľa, budete používať kód takhle:

Reťazec txtToTranslate = TextBox1. text;
Reťazec URI = "http://api.microsofttranslator.com/v2/Http.svc/Translate?text =" + System. Web. HttpUtility. UrlEncode (txtToTranslate) + "& od = EN & do = ES";
System .net. WebRequest translationWebRequest = systém .net. WebRequest. Create (URI);
translationWebRequest. headers. Add (Povolenie, headerValue);

System .net. WebResponse odpoveď = Null;
odpoveď = translationWebRequest. GetResponse ();
System. IO. Stream Stream = odpoveď. GetResponseStream ();
System. text. encoding kódovanie = System. text. encoding. GetEncoding ("UTF-8");

System. IO. StreamReader translatedStream = Nové System. IO. StreamReader (Stream, kódovať);
System. XML. XmlDocument xTranslation = Nové System. XML. XmlDocument ();
xTranslation. LoadXml (translatedStream. ReadToEnd ());

Literal1. text = xTranslation. InnerText;

 

 

Blok textu bol nazývaný ' TextBox1 ', takže text, ktorý užívateľ napísal, môže byť jednoducho odvodený z toho. Potom sa vytvorí identifikátor URI prekladača HTTP služby a samotný text je Urlkódovaný a pridaný do URI.

Všimnite si, že jazyk "en" sa používa pre ' from ' (tj som za predpokladu, že píšete v angličtine), a ' ES ' sa používa pre ' to ' (tj to bude prekladať do španielčiny). Úplný zoznam týchto kódov pre podporované jazyky je tu: http://msdn.microsoft.com/en-us/library/hh456380.aspx

Tlmočník služba vráti XML, takže kód volá službu, dostane odpoveď ako XML a potom dekóduje do textu. Potom načíta výsledok do doslovného, ktoré ste vytvorili na about. aspx s názvom Literal1.

Môžete vidieť v akcii tu:

clip_image019

A to je ono! Teraz ste použili Microsoft Translator API pridať strojový preklad do vašej ASP.NET aplikácie.

Zhrnutie

V tomto návode, ste videli, ako vytvoriť webovú aplikáciu pomocou ASP.NET a ako pridať strojový preklad na to. Ste použili Microsoft Translator widget poskytnúť preklad obsahu stránky, a ste videli, ako program Microsoft Translator API pomocou C# s cieľom preložiť User-generovaný obsah.