Papago Website Translation 개요

Prev Next

개요

  • 소스 언어로 작성된 html문서 혹은 element를 타겟 언어로 번역하는 API
  • 번역 지원 언어쌍 : 한국어↔영어, 한국어↔일본어, 한국어↔중국어(간체)

사용 시 유의 사항

  • 이미지로 된 텍스트는 번역되지 않습니다.
  • 텍스트에 적용된 스타일은 일부 일치하지 않거나 누락될 수 있습니다.
  • 텍스트에 적용된 링크 또는 액션은 일부 동작하지 않거나 누락될 수 있습니다.
  • html 파라미터는 크기 제한이 있습니다.
    UTF-8 기준 태그, 공백 등 모든 캐릭터 포함 200,000bytes
  • html 파라미터의 크기가 클수록 responseTime이 느려지기 때문에 번역할 영역의 element 요청을 권장합니다. (하단 번역 영역 추출 예제 참고)
  • 1회당 권장 최대 글자 : 60,000자
  • 1분당 권장 최대 글자 : 3,600,000자
  • 과금 : 태그 및 공백 포함 모든 캐릭터수 카운팅

공통 설정

클라이언트 아이디는 NAVER Cloud Platform 콘솔에서 애플리케이션을 등록해 발급받습니다.

  1. 콘솔의 AI Service > Papago Translation > APIs에서 애플리케이션을 등록해 주십시오.

  2. AI Service > Papago Translation > APIs에서 등록한 애플리케이션을 선택해 Client ID와 Client Secret값을 확인해 주십시오.

  3. AI Service > Papago Translation > APIs수정 화면에서 Papago Website Translation이 선택되어 있는지 확인해 주십시오. 선택되어 있지 않으면 429 (Quota Exceed)가 발생하 주의해 주십시오.

오류 코드

{
  "error": {
    "errorCode": "300",
    "message": "Not Found Exception"
  }
}
HttpStatusCode ErrorCode ErrorMessage Description
400 100 Bad Request Exception protocol(https), endocing(UTF-8) 등 request 오류
401 200 Authentication Failed 인증실패
401 210 Permission Denied 권한없음
404 300 Not Found Exception 권한없음
429 400 Quota Exceeded Quota 초과
429 410 Throttle Limited Rate 초과
429 420 Rate Limited Rate 초과
413 430 Request Entity Too Large content-length 초과 (10MB)
503 500 Endpoint Error 엔드포인트 연결오류
504 510 Endpoint Timeout 엔드포인트 연결시간 초과
500 900 Unexpected Error 예외처리가 안된 오류

API 오류

{
    "code": "20001",
    "message": "Source and target are equal.",
    "displayMessage": "Source and target are equal."
}
HttpStatusCode ErrorCode ErrorMessage Description
500 00000 API called failed 내부 서버 에러
400 00001 Request is invalid source, target, html 파라미터 없는 경우
500 20001 Source and target are equal source와 target이 같을 경우
400 20006 Exceed max requests size allowed html 파라미터 최대 용량 초과
400 N2MT02 Unsupported source language 지원하지 않는 source 언어
400 N2MT04 Unsupported target language 지원하지 않는 target 언어
400 N2MT05 Unsupported target language 지원하지 않는 target 언어
400 N2MT05 invalid glossary key 유효하지 않은 용어집 키

번역 영역 추출 예제

className으로 번역할 영역을 추출하는 샘플코드로 이 외 영역을 추출하는 다양한 방법 중 가장 적합한 방법 사용을 권장합니다.

<!DOCTYPE html>
<html lang="ko">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Example</title>
</head>
  <body>
    <!-- comments -->
    <ul class="comment_container">
      <!-- comment -->
      <li class="comment_item_wrapper">
        <div class="user_info">
          <span class="nickname">user1</span>
        </div>
        <div class="content">
          <p>
            Lorem ipsum dolor sit amet consectetur adipisicing elit. Natus
            nostrum in earum minus voluptates nobis fugiat rerum totam illum
            ipsum.
          </p>
        </div>
      </li>
      <!-- comment -->

      <!-- comment -->
      <li class="comment_item_wrapper">
        <div class="user_info">
          <span class="nickname">user2</span>
        </div>
        <div class="content">
          <p>Lorem ipsum dolor sit amet.</p>
        </div>
      </li>
      <!-- comment -->

      <!-- comment -->
      <li class="comment_item_wrapper">
        <div class="user_info">
          <span class="nickname">user3</span>
        </div>
        <div class="content">
          <p>
            Lorem ipsum dolor sit, amet consectetur adipisicing elit. Ex tempora
            ipsa iusto temporibus consectetur. Libero sequi consequatur
            quibusdam dignissimos totam, praesentium harum dolor nisi
            repudiandae in error tempora incidunt aperiam.
          </p>
        </div>
      </li>
      <!-- comment -->

      <!-- comment -->
      <li class="comment_item_wrapper">
        <div class="user_info">
          <span class="nickname">user4</span>
        </div>
        <div class="content">
          <p>
            Lorem ipsum dolor sit amet consectetur adipisicing elit. Natus
            nostrum in earum minus voluptates nobis fugiat rerum totam illum
            ipsum.
          </p>
          <br />
          <p>Lorem ipsum dolor sit amet.</p>
        </div>
      </li>
      <!-- comment -->
    </ul>
    <!-- comments -->

    <script>
      const comments = [
        ...document.getElementsByClassName('comment_item_wrapper'),
      ];
      const htmlsToRequest = comments.map((comment) => comment.outerHTML);

      console.log(htmlsToRequest);
    </script>
  </body>
</html>