티스토리 뷰

[google translate]



별도의 api key 없이 무료로 구글 번역을 이용할 수 있다


rest api 를 이용하면 가능하다



언어코드
갈라시아어gl
구자라트어gu
그리스어el
네덜란드어nl
네팔어ne
노르웨이어no
덴마크어da
독일어de
라오어lo
라트비아어lv
라틴어la
러시아어ru
루마니아어ro
룩셈부르크어lb
리투아니아어lt
마라티어mr
마오리어mi
마케도니아어mk
말라가시어mg
말라얄람어ml
말레이어ms
몰타어mt
몽골어mn
몽어hmn
미얀마어my
바스크어eu
베트남어vi
벨라루스어be
벵골어bn
보스니아어bs
불가리아어bg
사모아어sm
세르비아어sr
세부아노ceb
세소토어st
소말리아어so
쇼나어sn
순다어su
스와힐리어sw
스웨덴어sv
스코틀랜드 게일어gd
스페인어es
슬로바키아어sk
슬로베니아어sl
신디어sd
신할라어si
아랍어ar
아르메니아어hy
아이슬란드어is
아이티 크리올어ht
아제르바이잔어az
아프리칸스어af
알바니아어sq
암하라어am
에스토니아어et
에스페란토어eo
영어en
요루바어yo
우르두어ur
우즈베크어uz
우크라이나어uk
웨일즈어cy
이그보어ig
이디시어yi
이탈리아어it
인도네시아어id
일본어ja
자바어jw
조지아어ka
줄루어zu
중국어(간체)zh
중국어(번체)zh-TW
체와어ny
체코어cs
카자흐어kk
카탈로니아어ca
칸나다어kn
코르시카어co
코사어xh
쿠르드어ku
크로아티아어hr
크메르어km
키르기스어ky
타갈로그어tl
타밀어ta
타지크어tg
태국어th
터키어tr
텔루구어te
파슈토어ps
펀자브어pa
페르시아어fa
포르투갈어pt
폴란드어pl
프랑스어fr
프리지아어fy
핀란드어fi
하와이어haw
하우사어ha
한국어ko
헝가리어hu
히브리어iw
힌디어hi


params 에 ie 키에 인코딩을 명시 안해주면 인코딩 이슈가 발생한다.

(영어 > 다른언어 로 번역할 때는 문제가 안됨)







class

import requests


class Translate:
base_url = 'https://translate.googleapis.com/translate_a/single'
languages = ['en', 'ko', 'ja', 'zh', 'zh-TW', 'de', 'fr', 'th', 'pt', 'pl']

def __init__(self, target_lang='en', encoding="utf-8"):
self.target_lang = target_lang
self.params = {'client': 'gtx', 'sl': 'auto', 'dt': 't', 'ie': encoding}

def request(self, content):
res = requests.get(url=Translate.base_url, params={**self.params, 'tl': self.target_lang, 'q': content})
res.raise_for_status()
return "".join([caption[0] for caption in list(res.json())[0]])


t = Translate('ja')
while True:
print(t.request(input()))


댓글