본문 바로가기
Python

[Python 구글 번역기] googletrans 사용해보기

2023. 1. 5.

googletrans : 언어 감지 및 번역 기능을 가진 구글의 Open API

1. 라이브러리 로드, Translator 객체 생성

from googletrans import Translator

translator = Translator()

 

2. 언어 감지하기

sentence = '안녕하세요 저는 한국인입니다.' # 언어 감지를 원하는 문장 설정
detected = translator.detect(sentence)   # 입력한 문장의 언어 감지
print(detected) 
print(detected.lang)

# 실행 결과
Detected(lang=ko, confidence=1.0)
ko

입력한 sentence가 한국어일 확률 100%라는 결과를 얻었다.

3.  언어 번역하기
Translator의 translate(text, dest, [src]) 메소드 활용 : 번역할 텍스트, 번역 결과 언어, 소스 언어

result = translator.translate(sentence, 'en')

print(result)

# 실행 결과
Translated(src=ko, dest=en, text=Hello I am korean., pronunciation=None, extra_data="{'translat...")

결과는 얻었지만 직관적이지 않다.

영어, 중국어, 프랑스어, 스페인어로 번역해 보고
보기 좋게 출력해 보자.
전체 코드

from googletrans import Translator

translator = Translator()
sentence = '안녕하세요 저는 한국인입니다.'
detected = translator.detect(sentence)
print(detected) # Detected(lang=ko, confidence=1.0)
print(detected.lang)

result1 = translator.translate(sentence, 'en')
result2 = translator.translate(sentence, 'zh-CN')
result3 = translator.translate(sentence, 'fr')
result4 = translator.translate(sentence, 'es')

print(detected.lang,":",sentence)
for result in [result1, result2, result3, result4]:
    print(result.dest,":",result.text)
    
# 실행 결과
ko : 안녕하세요 저는 한국인입니다.
en : Hello I am korean.
zh-cn : 你好我是韩国人。
fr : Bonjour, je suis coréen.
es : Hola soy coreano.

4가지 언어 모두 잘 번역된 것을 확인할 수 있다.


※ 다른 환경에서 사용하려다 AttributeError : 'NoneType' object has no attribute 'group' 에러가 발생했는데
구글링 결과 googletrans의 버전 문제인 것을 알았다.

googletrans를 삭제하고 version 3.1.0a0으로 명시하여 재설치해줌으로써 해결했다.
1. pip uninstall googletrans
2. pip install googletrans==3.1.0a0

 
반응형

댓글