이전 게시글에서는 Pyhon의 googletrans를 사용해서 번역하는 방법을 알아봤다.
https://mrnoobiest.tistory.com/528
하지만, 해당 방법은 python코딩을 할 줄 알아야 하고, API를 사용하는것이 아니라 제한사항이 발생할 수 있다.
만일 번역기 API를 사용해야 하는 상황이라면 Naver와 kakako에서 제공하는 번역 API를 사용하는게 좋다,
단 번역 API는 대부분 무료 한도가 있고, 이후로는 유료 결제를 해야하는 경우가 많다.
다른 여러 번역 API들이 있긴한데, 비싸고 가입이 필요하다.
1. Google Translate API 2. Microsoft Translator API 3. Amazon Translate API 4. IBM Watson Language Translator API 5. Yandex Translate API 6. DeepL API 7. SYSTRAN.io API 8. MyMemory Translation API 9. Lingua Robot API |
1. Papago API 사용하기
Papago 번역으로 번역할 수 있는 원본 언어(source language)와 목적 언어(target language)는 다음과 같습니다.
원본 언어 | 목적 언어 | 원본 언어 | 목적 언어 | |||
한국어 | → | 영어 | | | 영어 | → | 한국어 |
한국어 | → | 일본어 | | | 일본어 | → | 한국어 |
한국어 | → | 중국어 간체 | | | 중국어 간체 | → | 한국어 |
한국어 | → | 중국어 번체 | | | 중국어 번체 | → | 한국어 |
한국어 | → | 베트남어 | | | 베트남어 | → | 한국어 |
한국어 | → | 인도네시아어 | | | 인도네시아어 | → | 한국어 |
한국어 | → | 태국어 | | | 태국어 | → | 한국어 |
한국어 | → | 독일어 | | | 독일어 | → | 한국어 |
한국어 | → | 러시아어 | | | 러시아어 | → | 한국어 |
한국어 | → | 스페인어 | | | 스페인어 | → | 한국어 |
한국어 | → | 이탈리아어 | | | 이탈리아어 | → | 한국어 |
한국어 | → | 프랑스어 | | | 프랑스어 | → | 한국어 |
영어 | → | 일본어 | | | 일본어 | → | 영어 |
영어 | → | 프랑스어 | | | 프랑스어 | → | 영어 |
영어 | → | 중국어 간체 | | | 중국어 간체 | → | 영어 |
영어 | → | 중국어 번체 | | | 중국어 번체 | → | 영어 |
일본어 | → | 중국어 간체 | | | 중국어 간체 | → | 일본어 |
일본어 | → | 중국어 번체 | | | 중국어 번체 | → | 일본어 |
중국어 간체 | → | 중국어 번체 | | | 중국어 번체 | → | 중국어 간체 |
Papago 번역으로 한 번에 번역할 수 있는 분량은 최대 5,000자이며, 하루 번역 처리 한도는 10,000자입니다.
1) 네이버 개발자 센터 > 파파고 API로 이동하기(아래 주소 이동)
오픈 API 이용 신청 클릭
https://developers.naver.com/products/papago/nmt/nmt.md
2) 애플리케이션 정보 입력하기 <- 사용하고자 하는 API들을 설정하는 것이다.
WEB주소는 본인이 원하는 주소를 써주면 된다.
3) Client ID와 Client Secret을 잘보관하자.
4) 설명서의 예제를 사용해서 잘동작하는지 확인하자.
terminal이나 cmd에 아래 코드를 실행하면 번역결과가 나온다.
//terminal
curl "https://openapi.naver.com/v1/papago/n2mt" \
-H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" \
-H "X-Naver-Client-Id: {Client ID}" \
-H "X-Naver-Client-Secret: {Client Secret}" \
-d "source=ko&target=en&text=만나서 반갑습니다." -v
//cmd(위 코드에서 \만 제거하면 된다.)
curl "https://openapi.naver.com/v1/papago/n2mt" -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" -H "X-Naver-Client-Id: {Client ID}" -H "X-Naver-Client-Secret: {Client Password}" -d "source=ko&target=en&text=만나서 반갑습니다." -v
python에서 실행하는 코드는 아래와 같다.
import requests
Client_ID='API의 아이디'
Client_Secret='API의 아이디'
Source_Lang='원본문장의 언어명' #ko
Target_Lang='번역 하고자 하는 언어명' #en
Text='번역할 문장'
headers = {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
f'X-Naver-Client-Id': Client_ID,
f'X-Naver-Client-Secret': Client_Secret,
}
data = f'source={Source_Lang}&target={Target_Lang}&text={Text}'.encode()
response = requests.post('https://openapi.naver.com/v1/papago/n2mt', headers=headers, data=data)
print(response.json()['message']['result']['srcLangType']) #ko
print(response.json()['message']['result']['tarLangType']) #en
print(response.json()['message']['result']['translatedText']) #Good to meet you.
-실행결과-
{"message":{
"@type":"response",
"@service":"naverservice.nmt.proxy",
"@version":"1.0.0",
"result":{
"srcLangType":"ko",
"tarLangType":"en",
"translatedText":"Good to meet you.",
"engineType":"PRETRANS"
}}}%
추가사항 : 언어 감지하기
import requests
headers = {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
f'X-Naver-Client-Id': Client_ID,
f'X-Naver-Client-Secret': Client_Secret,
}
data = 'query=만나서 반갑습니다.'.encode()
response = requests.post('https://openapi.naver.com/v1/papago/detectLangs', headers=headers, data=data)
print(response.json()['langCode']) #ko
사용가능한 언어코드는 아래와 같다.
언어 코드언어
ko | 한국어 |
en | 영어 |
ja | 일본어 |
zh-CN | 중국어 간체 |
zh-TW | 중국어 번체 |
vi | 베트남어 |
id | 인도네시아어 |
th | 태국어 |
de | 독일어 |
ru | 러시아어 |
es | 스페인어 |
it | 이탈리아어 |
fr | 프랑스어 |
다음은 kakao 번역기 API 사용법을 확인해보자.
728x90
반응형