0.0.0 • Published 4 years ago

kor-translate-api v0.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

MIT license

Kakao, Naver 번역기

간단하게 사용하기 위해 개발하였습니다.

이 모듈에서는 카카오와 네이버 API를 이용하여 문자를 번역합니다.
추가로 구현하고자 한다면 Metadata 참고하세요.

네이버는 리턴 URL을 제공해야 되기 때문에 로컬에서 이용하고자 하시는 분들에게는 사용이 권장되지 않습니다.

설치

npm install kor-translate-api

사용방법

지원되는 언어와 코드는 각 서비스의 사이트를 참고하시기 바랍니다.

모듈 가져오기

import translator from 'free-translate-api';

인스턴스 생성

첫번째 매개변수에는 사용하고자 하는 번역 서비스명(kakao 또는 naver)을 입력하고, 두 번째 매개변수에는 API 사용하기위해 발급받은 인증키를 입력합니다.

translator('kakao','app_key')

네이버와 같이 Client IDSecret키를 요구하면 두번째 매개변수에는 ID를 입력하고, 셋번째 매개변수에 Secret 키를 입력합니다.

translator('naver','client_id', 'client_secret')

메타 데이터로 초기화를 진행하면 인증키를 입력하지 않아도 됩니다.

번역하기

get() 함수를 이용하여 원하는 문자의 번역 데이터를 전달 받을 수 있습니다.
첫번째 매개변수에는 현재 문자의 언어 코드를 입력하고 두번째 매개변수에는 변경 될 언어 코드를 입력합니다.
세번째에는 번역할 문자를 입력하고, 결과를 전달받아 확인합니다.

translator('kakao','app_key')
    .get('kr', 'en', '카카오 테스트')
    .then(text=>{ 
        console.log(text);
    });

translator('naver','client_id', 'client_secret')
    .get('ko', 'en', '네이버 테스트')
    .then(text=>{ 
        console.log(text);
    });

async & await

import translator from './kor-translate-api';

(async function(){
    
    const text = await translator('kakao','app_key').get('kr', 'en', '번역기 테스트');
    console.log(text);

})();

Metadata

JSON 타입으로 된 메타데이터를 제공하여 각 번역기의 API와 통신 합니다.
다음은 속성에 대한 설명입니다.

  • url : 해당 서비스의 api 주소를 입력합니다.
  • key : 요청 헤더에 입력되는 속성입니다.
    Authorization 헤더에 입력하려면 { type: 'xxx', credentials: 'xxx' }로 작성하고,
    임의의 헤더(aaa와 bbb)를 등록하려면 {aaa: 'xxx', bbb: 'xxx} 형식으로 작성합니다.
    예를 들어 네이버같은 경우 { 'X-Naver-Client-Id': 'xxx', 'X-Naver-Client-Secret': 'xxx' } 처럼 작성하면
    요청 헤더에 X-Naver-Client-IdX-Naver-Client-Secret가 등록 됩니다.
  • method : 기본값은 POST 입니다.
  • params : 요청 bodyparameter를 매칭합니다.
    • text : 번역할 문장의 파라미터를 입력합니다.
    • from : 번역 대상 언어의 파라미터를 입력합니다.
    • to : 번역 결과 언어의 파라미터를 입력합니다.
  • result : 결과값을 처리하기 위한 콜백 함수를 정의합니다. 각 번역 서비스에 따라 결과가 천차만별이기 때문에 직접 구현해야 됩니다.

만약 임의의 번역 서비스를 추가로 구현하고자 한다면 아래 kakao 예제를 참고하세요.

const meta = {
    url: 'https://kapi.kakao.com/v1/translation/translate',
    key: { type: 'KakaoAK', credentials: 'app_key' },
    method: 'POST',
    params: {
      text: 'query',
      from: 'src_lang',
      to: 'target_lang',
    },
    result: (data: { translated_text: string[] }) => {
      return data.translated_text.join();
    }
}

translator(meta)
  .get('kr', 'en', '번역기 테스트')
  .then(text => {
    console.log(text);
  });
0.0.0

4 years ago

0.0.3

4 years ago

0.0.1

4 years ago