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
반응형
'Python' 카테고리의 다른 글
[Python 이메일 발송] 파일 첨부하여 Gmail 보내기 (SMTP) (4) | 2023.01.08 |
---|---|
[예외처리] Exception Handling - try, except, else, finally, raise (0) | 2023.01.07 |
[Python methods] 인스턴스 메소드, 클래스 메소드, 스태틱 메소드 (0) | 2023.01.06 |
[OpenWeatherMap] 날씨 API 사용해보기 (0) | 2023.01.05 |
[번역 API] 파이썬에서 Papago API 사용하는 방법 (0) | 2023.01.04 |
댓글