Генериране на създаване на договор за създаване на "създаване на...
Преводач
Тази страница е преведена автоматично от услугата за машинен превод на Microsoft. Разберете повече

Блог на Microsoft преводач

Създаване на уеб приложение с превод, предоставен от преводача на Microsoft.

Създаване на уеб приложение с превод, предоставен от преводача на Microsoft.

В този кратък преглед ще научите как да създадете уеб приложение, използващо API на Microsoft за преводач, за да преведете текст, който е бил входен от потребителя. Ще изградите страницата с помощта на ASP.NET и безплатната Visual Studio Express 2012 за уеб. Ако вече имате инсталация на Visual Studio, все още ще можете да следвате урока, просто пропуснете стъпка 1.

Преди да започнете, ще трябва да се регистрирате за API на Microsoft за преводач в Azure. Има редица различни предложения, включително безплатен, и можете да видите как да се регистрирате за безплатна услуга, регистрирате приложението си и да получите вашите идентификационни данни тук:

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

ИДЕНТИФИКАТОРЪТ на клиента и клиентската тайна, които генерирате тук, ще бъдат използвани в стъпка 4, така че Запазете бележка за тях.

Стъпка 1. Получаване на Visual Studio Express 2012 за уеб.

Най-добрият начин да започнете е да посетите http://www.asp.net/downloads и изберете бутона "Инсталирай сега" в раздела "Вземи всичко с едно просто инсталиране".

clip_image001

Това ще стартира инсталатора на уеб платформа, която ще инсталира Visual Studio, ASP.NET, MVC и цял домакин на други екстри, които можете да използвате за изграждане на уебсайтове.

Стъпка 2. Създаване на уеб приложение

Стартирайте Visual Studio и от менюто Файл изберете "нов проект". Ще видите диалогов прозорец, съдържащ списък с различни проекти, които са достъпни за вас, за да изградите уебсайтове. Изберете "Visual C#" отляво и след това изберете "ASP.NET приложение за уеб формуляри" от списъка.

clip_image003

Дайте име на вашето уеб приложение, като например "Преводач", и натиснете "OK". Visual Studio сега ще създаде всичко необходимо за изграждане и изпълнение на уеб приложението. Натиснете F5, за да изградите и стартирате приложението и ще видите нещо подобно:

clip_image005

 

 

Стъпка 3. Създаване на потребителски интерфейс за превод на текст

В този раздел ще добавите контроли към сайта, които позволяват на крайните ви потребители да въвеждат текст, натиснете бутона за превеждане и след това вижте превода на въведения текст. Този тип функционалност е полезна за взаимодействие с клиентите ви, когато говорите различни езици, например.

От Решение Explorer намерете страницата "за. aspx". Отворете го в дизайнера и ще видите нещо подобно:

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

За ваше удобство, тук е източникът за тази страница:

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

<ASP: съдържание бягане= "сървър" ID= "Съдържание на тялото" Съдържаниепапка= "Основно съдържание">
    <hgroup Клас= "заглавие">
        <h1><%: Заглавие %>.</h1>
        <h2>Страницата с описание на приложението ви.</h2>
    </hgroup>

    <Член>
        Въведете текста, който искате да преведете:<Br />
        <ASP: текстово поле ID= "TextBox1" бягане= "сървър" Височина= "25px" Ширина= "342px"></ASP: текстово поле>
        <ASP: бутон ID= "Button1" бягане= "сървър" Височина= "37 пиксела" OnClick= "Button1_Click" Текст= "Превод" />
        <Br />
        Преведеният ви текст е:<Br />
        <ASP: буквално ID= "Literal1" бягане= "сървър"></ASP: буквално>
    </Член>

    <Настрана>
        <h3>Заглавие под угар</h3>
        <P>        
            Използвайте тази област, за да предоставите допълнителна информация.
        </P>
        <Ul>
            <Ли><A бягане= "сървър" Href="~/">Начало</A></Ли>
            <Ли><A бягане= "сървър" Href= "~/Ve.Lap">За</A></Ли>
            <Ли><A бягане= "сървър" Href= "~/Контактt.Lap">Контакти</A></Ли>
        </Ul>
    </Настрана>
</ASP: съдържание>

Имайте предвид, че в дизайнера трябва да щракнете двукратно върху бутона, за да генерирате код "Button1_Click". Ще напишете този код в следващата стъпка.

Стъпка 4. Писане на код за превод на потребителски текст

В предишния раздел създадохте основен потребителски интерфейс за превод на текст. Това ще позволи на потребителя да напише текст и натиснете бутон. В този раздел, вие ще напишете кода зад този бутон, който ще преведе желания от потребителя текст на испански, и да го направи на страницата.

Първо, ще трябва да добавите нов клас към вашето решение. Наречи го . и му дайте следния код:

Използване Система
Използване System. колекции. генерични;
Използване System. LINQ;
Използване System. Web;

Имената преводач
{
    Публични Клас AdmAccessToken
    {
        Публични Низ access_token { get; set; }
        Публични Низ token_type { get; set; }
        Публични Низ expires_in { get; set; }
        Публични Низ scope { get; set; }
    }
}

 

Имайте предвид, че имената на 4 струните трябва да съвпадат с това, което е тук точно, или ще получите грешки в кода си по-късно.

След това в Visual Studio, в разтвора Explorer щракнете с десния бутон върху папката "препратки" и изберете "Добавяне на препратка". Използвайте този диалогов прозорец, за да добавите препратки към

– Система. Runtime. серийно

– System. XML. LINQ

– System. Services. уеб

В горната част на кода за About.aspx.cs ще видите няколко извлечения "използване". Добавете използване на System. XML. LINQ към тях, така че да изглежда така:

Използване Система
Използване System. колекции. генерични;
Използване System. LINQ;
Използване System. Web;
Използване System. Web. UI;
Използване System. Web. UI. WebControls;
Използване System. XML. LINQ;

Имената преводач
{
    Публични Частично Клас About : Page
    {
        Защитени Невалидни Паже_лоад (Обект подател, Събитие
        {

}

        Защитени Невалидни Button1_Click (Обект подател, Събитие
        {

}
    }
}

 

Ще видите, че Button1_Click код е празен. Добавете следния код към него. Този код ще получите маркера за достъп до услугата за транслатори, като използвате клиентския ИД и клиентската тайна, които сте създали по-рано.

Низ Графична колекция = "<Your ClientID>";
Низ Тайна на клиента = "<Your Client Secret>";
Струнни Сторпреведи 
      "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13";
Низ за Щрациданни = 
      Низ. Формат"grant_type=client_credentials&client_id={0}&client_secret={1} &scope=http://api.microsofttranslator.com", HA... UrlEncode (clientID), HA. UrlEncode (тайна));

Система .net. WebRequest webRequest = система .net. WebRequest. създаване
брой на типа "търсене" = "приложение/x-www-форма-urlencoded";
Метод на webRequest. СЛЕД;
Байт[] байтове = System. text. кодиране. ASCII. GetBytes (подробни данни за това);
webRequest. Съдържаниадължина = байта. Дължина
Използване (System.IO.Stream outputStream = webRequest.GetRequestStream())
{
  outputStream.Write(bytes, 0, bytes.Length);
}

System.Net.WebResponse webResponse = webRequest.GetResponse();
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = Нови 
    System. Runtime. серийно изпълнение. JSON.Боклукът(ADM

Маркер за присъединяване = (AdmAccessToken) сериен Повторно редактиране (уеб отговор. Getstream ());

Низ Глава на главата = Носител + маркер. акцесс_токен;

 

Този код формира POST към услугата на пазара на данни, като преминава САМОЛИЧНОСТТА и тайната и получава JSON обект обратно. След това се разграничава с този обект. След това може да се извлече акцесс_токен от това.

След това маркерът се добавя към низ, предварително фиксиран с "приносител" (не забравяйте пространството), за да създадете стойност на заглавка, която ще бъде изпратена на услугата за транслатор.

За да се обадите на услугата за преводач с тази глава и да предадете текста на потребителя, ще използвате код като този:

Низ Тксттотранслате = TextBox1. text;
Низ URI = "http://api.microsofttranslator.com/v2/Http.svc/Translate?text =" + System. Web. HA. "& от = EN & to = ES";
Система .net. WebRequest Транслатионвебрекуест = система .net. WebRequest. създаване (URI);
Транслатионвебрекуест. заглавки. Add (Разрешение, глава на главата);

Системен .net. WebResponse отговор = Null;
отговор = Транслатионвебрекуест. GetResponse ();
Система. IO. Stream поток = отговор. Гполучототстрийм ();
Кодираща система. text. кодиране кодира = система. text. кодиране. геокодиране ("UTF-8");

Система. IO. Нови System. IO. опростява (поток, кодира);
System. XML. този документ xTranslation = Нови Документ System. XML.
xTranslation. товарни XML (Превеждапоток. Четокрай ());

Literal1. text = xTranslation.

 

 

Текстовото поле се нарича "TextBox1", така че текстът, въведен от потребителя, може просто да бъде извлечен от него. След това се създава URI на транслатора HTTP услугата и самият текст се UrlEncoded и добавен към URI.

Имайте предвид, че езикът "EN" се използва за "от" (т. е. Предполагам, че пишете на английски език), а "ES" се използва за "to" (т. е. ще бъде преведена на испански). Пълният списък на тези кодове за поддържаните езици е тук: http://msdn.microsoft.com/en-us/library/hh456380.aspx

Услугата за преводач връща XML, така че кодът извиква услугата, получава отговора като XML и след това го декодира в текст. След това зарежда резултата в буквален, който сте създали на About. aspx нарича Literal1.

Можете да го видите в действие тук:

clip_image019

И това е! Вече сте използвали API на Microsoft за преводач, за да добавите машинен превод към вашето ASP.NET приложение.

Резюме

В този кратък преглед видяхте как да изградите уеб приложение с помощта на ASP.NET и как да добавите машинен превод към него. Използвали сте приспособлението "Преводач" на Microsoft, за да предоставите превода на съдържанието на страницата си и сте видели как да програмирате API на Microsoft за преводач с помощта на C#, за да преведете генерирано от потребителите съдържание.