콘텐츠로 건너뛰기
번역기
이 페이지는 Microsoft 번역기의 기계 번역 서비스에서 자동으로 번역되었습니다. 자세히

마이크로 소프트 번역기 블로그

Microsoft 번역기에서 제공 하는 번역으로 웹 응용 프로그램 만들기.

Microsoft 번역기에서 제공 하는 번역으로 웹 응용 프로그램 만들기.

이 연습에서는 Microsoft 변환기 API를 사용 하 여 사용자가 입력 한 텍스트를 번역 하는 웹 응용 프로그램을 만드는 방법을 배웁니다. ASP.NET 및 웹에 대 한 무료 Visual Studio Express 2012를 사용 하 여 페이지를 빌드합니다. 이미 Visual Studio 설치가 있는 경우 자습서를 계속 진행 하면 1 단계를 건너뛸 수 있습니다.

시작 하기 전에 Azure에서 Microsoft 번역기 API에 등록 해야 합니다. 무료 서비스를 포함 하 여 여러 가지 다양 한 제품이 있으며, 여기에서 앱을 등록 하 고 자격 증명을 얻는 방법을 확인할 수 있습니다.

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

여기에서 생성 하는 클라이언트 ID와 클라이언트 시크릿은 4 단계에서 사용 되므로 기록해 두십시오.

1 단계. 웹에 대 한 비주얼 스튜디오 익스프레스 2012을 받고.

시작 하는 가장 좋은 방법은 방문 하는 것입니다. http://www.asp.net/downloads 그리고 ' 지금 설치 ' 버튼을 하나의 간단한 설치로 모든 것을 얻을 섹션을 선택 합니다.

clip_image001

이것은 Visual Studio, ASP.NET, MVC 및 웹 사이트를 구축 하는 데 사용할 수 있는 다른 모든 케이크의 전체 호스트를 설치 하는 웹 플랫폼 설치 프로그램을 시작 합니다.

2 단계. 웹 응용 프로그램 만들기

Visual Studio를 실행 하 고 파일 메뉴에서 ' 새 프로젝트 '를 선택 합니다. 웹 사이트를 빌드하는 데 사용할 수 있는 다양 한 프로젝트 목록이 포함 된 대화 상자가 표시 됩니다. 왼쪽에서 ' Visual c # '을 선택한 다음 목록에서 ' 웹 양식 응용 프로그램 ASP.NET '을 선택 합니다.

clip_image003

웹 응용 프로그램에 ' 번역기 '와 같은 이름을 지정 하 고 ' 확인 '을 누릅니다. 이제 Visual Studio에서 웹 응용 프로그램을 빌드하고 실행 하는 데 필요한 모든 것을 만듭니다. f5 키를 눌러 응용 프로그램을 빌드하고 실행 하면 다음과 같은 내용이 표시 됩니다.

clip_image005

 

 

3 단계. 텍스트 번역을 위한 UI 만들기

이 섹션에서는 최종 사용자가 텍스트를 입력 하 고, 번역 단추를 누른 다음, 입력 한 텍스트의 번역을 볼 수 있는 컨트롤을 사이트에 추가 합니다. 이러한 유형의 기능은 예를 들어 다른 언어를 사용 하는 경우 고객과 상호 작용할 때 유용 합니다.

솔루션 탐색기에서 ' 정보 .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: 내용 Runat= "서버" 자료= "바디 콘텐츠" 콘텐츠 위치 홀더 id= "maincontent">
    <hgroup 클래스= "제목">
        <h1><%: 제목 %>.</h1>
        <h2>앱 설명 페이지입니다.</h2>
    </hgroup>

    <기술>
        번역할 텍스트를 입력 합니다.<Br />
        <asp: 텍스트 상자 자료= "TextBox1" Runat= "서버" 높이= "25 픽셀" 너비= "342px"></asp: 텍스트 상자>
        <asp: 단추 자료= "Button1" Runat= "서버" 높이= "37px" Onclick= "Button1_Click" 텍스트= "번역" />
        <Br />
        번역 된 텍스트는 다음과 같습니다.<Br />
        <asp: 리터럴 자료= "Literal1" Runat= "서버"></asp: 리터럴>
    </기술>

    <제쳐두고>
        <h3>옆으로 제목</h3>
        <P>        
            이 영역을 사용 하 여 추가 정보를 제공 합니다.
        </P>
        <Ul>
            <리튬>< Runat= "서버" Href="~/"></></리튬>
            <리튬>< Runat= "서버" Href"~.>에 보는</></리튬>
            <리튬>< Runat= "서버" Href"~/연락처">연락처</></리튬>
        </Ul>
    </제쳐두고>
</asp: 내용>

디자이너에서 "Button1_Click" 코드를 생성 하려면 단추를 두 번 클릭 해야 합니다. 다음 단계에서이 코드를 작성 합니다.

4 단계. 사용자 텍스트를 번역 하는 코드 작성

이전 섹션에서는 텍스트 번역을 위한 기본 UI를 만들었습니다. 사용자가 텍스트를 작성 하 고 단추를 누를 수 있습니다. 이 섹션에서는 사용자의 원하는 텍스트를 스페인어로 변환 하 고 페이지에 렌더링 하는 단추 뒤에 코드를 작성 합니다.

먼저 솔루션에 새 클래스를 추가 해야 합니다. 그것을 호출 에 누구 다음 코드를 제공 합니다.

사용 시스템
사용 일반 컬렉션.
사용 시스템 Linq;
사용 시스템. 웹;

네임 스페이스 번역기
{
    공용 클래스 애드엠액세스토큰
    {
        공용 문자열 access_token { get; set; }
        공용 문자열 token_type { get; set; }
        공용 문자열 expires_in { get; set; }
        공용 문자열 scope { get; set; }
    }
}

 

4 문자열의 이름은 여기에 정확 하 게 일치 해야 합니다, 또는 나중에 코드에서 오류를 얻을 것 이다.

그런 다음 Visual Studio 내에서 솔루션 탐색기에서 ' 참조 ' 폴더를 마우스 오른쪽 단추로 클릭 하 고 ' 참조 추가 '를 선택 합니다. 다음 대화 상자를 사용 하 여 참조를 추가 합니다.

-시스템. 직렬화

-시스템 .xml

-시스템.

코드 상단에 About.aspx.cs에 대 한 ' 사용 ' 문이 표시 됩니다. 다음 처럼 보이도록 시스템을 사용 하 여 추가 합니다.

사용 시스템
사용 일반 컬렉션.
사용 시스템 Linq;
사용 시스템. 웹;
사용 시스템.
사용 웹 컨트롤;
사용 Linq;

네임 스페이스 번역기
{
    공용 부분 클래스 About : Page
    {
        보호 Void Page_Load (개체 발신자, EventArgs e)
        {

}

        보호 Void Button1_Click (개체 발신자, EventArgs e)
        {

}
    }
}

 

Button1_Click 코드가 비어 있는 것을 볼 수 있습니다. 다음 코드를 추가 합니다. 이 코드는 이전에 만든 클라이언트 ID 및 클라이언트 암호를 사용 하 여 변환기 서비스에 대 한 액세스 토큰을 가져옵니다.

문자열 clientid = "<Your ClientID>";
문자열 clientsecret = "<Your Client Secret>";
문자열 스트링 변환 액세스 
      "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13";
문자열 str요청자 세부 사항 = 
      문자열. 형식"grant_type=client_credentials&client_id={0}&client_secret={1} &scope=http://api.microsofttranslator.com"(clientid), 유틸리티를 통해 제공 되는 모든 것을 편집할.

웹 요청은 시스템 .net을 통해 작성 됩니다 (좌표계를 만듭니다.
합니다. "응용 프로그램/x-www-양식-urlencoded";
메서드 = 게시물;
바이트바이트 단위를 호출 합니다 (str요청자 세부 사항).
바이트입니다. 길이
사용 (System.IO.Stream outputStream = webRequest.GetRequestStream())
{
  outputStream.Write(bytes, 0, bytes.Length);
}

System.Net.WebResponse webResponse = webRequest.GetResponse();
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = 새로운 
    DataContractJsonSerializer를 실행 합니다.Typeof();

토큰에 대 한 액세스를 제공 합니다. ())를 호출 합니다.;

문자열 headervalue = 베어 러 + access_token;

 

이 코드는 ID와 암호를 전달 하 고 JSON 개체를 다시 가져오는 데이터 시장 서비스에 대 한 게시물을 형성 합니다. 그런 다음 해당 개체를 adm액세스로 역직렬화 합니다. 그런 다음이에서 access_token를 파생할 수 있습니다.

그런 다음이 토큰을 문자열에 추가 하 고 "전달자" (공간을 잊지 않음)를 접두사로 사용 하 여 변환기 서비스에 보낼 헤더 값을 만듭니다.

그런 다음이 headervalue를 사용 하 여 변환기 서비스를 호출 하 고 사용자의 텍스트를 전달 하려면 다음과 같은 코드를 사용 합니다.

문자열 변환 = TextBox1; 텍스트;
문자열 uri = "http://api.microsofttranslator.com/v2/Http.svc/Translate?text" 유틸리티를 제공 합니다 (txout 코드 변환) + "= en & > = es";
translationWebRequest (uri)를 생성 합니다 (영문).
translationWebRequest 추가 (권한 부여, 헤드 값);

응답 속도 = Null;
응답 = translationWebRequest 응답 ();
스트림 스트림 = 응답입니다. ();
암호화 인코딩 = 시스템. 인코딩. 지 텐 코딩 ("u t f-8");

translatedStream를 제공 합니다. 새로운 (스트림, 인코딩);
Xml 문서 x 변환 = 새로운 ();
()를 translatedStream 합니다 ().

Literal1 텍스트 = 텍스트 변환.

 

 

텍스트 상자를 ' TextBox1 ' 라고 했기 때문에 사용자가 입력 한 텍스트를 간단히 파생 시킬 수 있습니다. 그런 다음 변환기 HTTP 서비스에 대 한 uri가 만들어지고 텍스트 자체는 urlencoded 되 고 uri에 추가 됩니다.

' en ' 언어는 영어로 입력 하는 것으로 가정 하 고 ' To '에 사용 되는 것입니다 (즉, 스페인어로 번역 될 것입니다). 지원 되는 언어에 대 한 이러한 코드의 전체 목록은 여기에 있습니다: http://msdn.microsoft.com/en-us/library/hh456380.aspx

변환기 서비스는 코드에서 서비스를 호출 하 고 xml로 응답을 얻은 다음 텍스트로 디코딩하는 xml을 반환 합니다. 그런 다음 Literal1 라는 .aspx에 대해 만든 리터럴로 결과를 로드 합니다.

여기에서 작업을 볼 수 있습니다.

clip_image019

그리고 그것입니다! 이제 Microsoft 번역기 API를 사용 하 여 ASP.NET 응용 프로그램에 기계 번역을 추가 했습니다.

요약

이 연습에서는 ASP.NET를 사용 하 여 웹 응용 프로그램을 빌드하는 방법과 기계 번역을 추가 하는 방법을 살펴보았습니다. microsoft 번역기 위젯을 사용 하 여 페이지 콘텐츠의 번역을 제공 하 고 사용자가 생성 한 콘텐츠를 번역 하기 위해 c #을 사용 하 여 microsoft 번역기 API를 프로그래밍 하는 방법을 살펴보았습니다.