파이썬 번역기 googletrans 모듈 사용

 

googletrans 모듈을 사용한 파이썬 번역기를 만들어 보겠습니다.

 

googletrans 는 PIPY에서 개인이 오픈소스로 만들어서 배포하는 api로 보입니다.

 

때문에 인증없이 무료로 사용이 가능하지만 정식적인 구글의 클라우드 서비스는 아니라서 언제든지 막힐 수 있습니다. 

(작년 사용하던 모듈은 올해 작동을 안합니다.)

 

 

상업용 앱 개발자는 구글 클라우드나 AWS 의 Translation 서비스의 사용을 고려해보시는게 좋을 것 같습니다. 대부분 클라우드 서비스의 사용량은 일정 한도는 무료입니다.

 

혹은 네이버 오픈API도 있는데요. 횟수제한이 있으니까 앞서 사용량을 잘 따져보는게 필요합니다.

 

 

구글번역기
구글 번역기

 

googletrans는 기본적으로 위의 번역기를 파이썬에서 사용하는 api 라고 보면 됩니다.

 

 

파이썬 googletrans 모듈 설치

우선 모듈을 설치합니다.

 

기존 예제들을 보면 pip install googletrans 를 합니다. 그런데 기존의 모듈로 사용이 안됩니다.

 

그래서 pip uninstall googletrans 를 한 후 알파버전으로 설치합니다.

 

pip install googletrans==4.0.0-rc1

예제코드는 아래와 같습니다.

import googletrans
from googletrans import Translator

# print(googletrans.LANGUAGES)

text1 = "Hello welcome to my website!"

text2 = "안녕하세요! 환영합니다."

text3 ="한글을 영어로 번역합니다"

translator = Translator()

print(translator.detect(text1))
print(translator.detect(text2))
print(translator.detect(text3))

trans1 = translator.translate(text1, src='en', dest='ja')
trans2 = translator.translate(text2, src='ko', dest='de')
trans3 = translator.translate(text3, src='ko', dest='en')

print("English to Japanese: ", trans1.text)
print("Korean to Germany: ", trans2.text)
print("Korean to English: ", trans3.text)

구글번역기-실행결과
구글 번역기 실행 결과

 

LANGUAGES 에는 번역가능한 언어 리스트를 딕녀서리 형으로 볼 수 있고요.

 

언어코드를 src 원본과 dest 타겟 으로 지정할 수 있습니다.

 

제대로된 결과를 얻으려면 원본과 타겟언어를 지정해주는게 좋습니다.

(번역도 하나의 인코딩 encoding 이라고 볼 수 있죠. 정확한 encoding 을 사용합니다)

 

detect 메소드에 언어 감지 기능이 있습니다.

 

translate 메소드는 객체를 생성하는데 text 속성에 번역한 문자열이 저장되어 있습니다.

 

 

번역문자열이 하나 생성될 때 언어에 따라 발음기호같은 메타데이터가 같이 생성이 되니까 활용을 할 수 있습니다.

 

print(translator.translate("오늘 하늘이 맑습니다", src='ko', dest='ja'))
Translated(src=ko, dest=ja, text=今日の空は晴れた, pronunciation=Kyō no sora wa hareta, extra_data="{'confiden...")

 

일본어나 중국어 같은 경우 영문으로 발음기호가 표시됩니다.

 

활용방안

구글측에서 언제라도 막을 수 있기 때문에 실시간 API호출 방식으로 사용하는 것은 한계가 있을 듯 합니다.

 

또 한개 아이피가 너무 자주사용하면 구글에서 아이피를 블록한다는 이야기가 있습니다. 정확히 어떤 상황에서 블록되는지는 각자 경험이 다른데 어뷰징의 징조가 있으면 구글측에서 막는 것 같습니다.

 

상업적으로 수익을 뽑을 수 있는 규모라면 구글 클라우드에 돈을 내서 사용하는게 맞는 것 같고

 

이것은 구글트랜스에서 사전에 번역을 추출하는 방식으로 사용하기는 좋습니다.

 

예를들어 독일어나 중국어 공부앱 개발 목적으로 데이터를 추출한다면 괜찮을 것 같습니다.

 

또 파이썬을 사용하면 구글 트랜스로 뽑아서 AWS에서 음성합성을 하는 것도 가능합니다.

 

실시간 번역기로 사용할 수 있죠.

 

아직 100% 번역이 매끄럽지 않은 부분이 있지만 그래도 번역기 없던 시절 보다는 당연히 좋습니다.

 

예전에 전자사전이 학생의 필수품이던 시절이 있었는데요.

 

스마트폰 5G시대에 지금도 이런 전자사전을 판매한다는게 놀랍기는 합니다.

 

 

전자사전-아이리버
전자사전 아이리버

기본적으로 구글과 아마존을 사용하면 훨씬 강력한 전자사전을 스마트폰에 구현할 수 있죠.

 

전자사전은 저 기계안에 들어있는 메모리 용량에 의존하지만

 

클라우드 서비스는 기본적으로 정보의 한계가 없습니다.

 

크게 보면 현재의 축척된 지식뿐 아니라 미래에 발생할 지식까지 포함하는 개념입니다.

 

더 넓은 세상을 보기 위해 API의 사용법에 익숙할 필요가 있습니다.

 

연관문서

 

 

파이썬으로 AI 음성합성하기 Amazon Polly

파이썬으로 AI 음성합성하기 Amazon Polly 와 파이썬으로 음성을 합성하는 방법을 알아보겠습니다. 우선 AWS에서 IAM사용자를 만들고 액세스키까지는 만들어야 합니다. 이 부분은 AWS 문서를 찾아보면

digiconfactory.tistory.com

 

 

 

파이썬 마우스 자동화 pynput.mouse 모듈 조작하기

파이썬 마우스 자동화 pynput pynput(파이엔풋)은 pyautogui 와 같은 파이썬의 입력 자동화 모듈입니다. 마우스도 컨트롤 할 수 있고 키보드도 컨트롤 할 수 있습니다. 이 포스팅에서는 pynput 으로 마우

digiconfactory.tistory.com

 

 

 

파이썬 키보드 자동화 pynput.keyboard 모듈 조작하기

파이썬 키보드 자동화 pynput.keyboard 지난 포스트에서 pynput.mouse 를 다뤄봤습니다. pynput.keyboard는 pynput의 키보드에 대응하는 모듈입니다. 모듈이라고 어렵게 생각할 필요가 없습니다. 컴퓨터 프

digiconfactory.tistory.com

 

참고링크

 

 

Cloud Translation  |  Google Cloud

Google Cloud Translation을 사용하면 콘텐츠 요구에 따라 선행 학습된 ML 또는 커스텀 ML 모델을 사용해 여러 언어를 동적으로 번역할 수 있습니다.

cloud.google.com

공유하기

facebook twitter kakaoTalk kakaostory naver band