<개인공부>/[Python]

[python] 파이썬 구글 번역 api 사용하기 (최신버전)

BlockDMask 2021. 6. 7. 00:30
반응형

안녕하세요. BlockDMask입니다.
오늘은 파이썬에서 구글 번역 api인 googletrans를 사용하는 방법에 대해서 이야기해보려 합니다.

<목차>
1. 구글 번역 api 설치
2. 구글 번역 api 예제와 설명
3. google translate api 상세 설명

 

1. 파이썬 구글 번역 api 설치


vs code의 터미널 창이나, 맥북 터미널창 혹은 윈도 cmd, powershell 창에서
명령어를 입력해서
구글 번역 api를 설치합니다.

혹시 이미 다른 버전의 googletrans를 설치했었다면
pip uninstall googletrans를 먼저 입력해서 삭제를 한 후에 아래 명령어를 작성합니다.

pip install googletrans==4.0.0-rc1

해당 버전으로 설치를 합니다.

 

 

2. 파이썬 구글 번역 api 사용법


먼저 실제 사용 예제를 보시고, 그다음에 상세 설명을 진행하도록 하겠습니다.

import googletrans

translator = googletrans.Translator()

str1 = "나는 한국인 입니다."
str2 = "I like burger."
result1 = translator.translate(str1, dest='en')
result2 = translator.translate(str2, dest='ko')

print(f"나는 한국인 입니다. => {result1.text}")
print(f"I like burger. => {result2.text}")

이렇게 사용을 할 수 있습니다.

 

1. translator = Translator()

translator라는 변수에 Translator() 객체를 집어넣습니다.

 

2. translator.translate(번역하고자 하는 문자, dest="변경하고자 하는 언어 키")

이런 식으로 번역을 할 수 있습니다. "번경하고자 하는 언어 키 리스트"의 목록을 가지고 오는 방법은 아래와 같습니다.
print(googletrans.LANGUAGES) 혹은
print(googletrans.LANGCODES)
이렇게 출력을 해보면 사용 가능한 언어의 key, value 쌍이 나오게 됩니다.
원하는 언어를 찾아서 누가 봐도 키값같이 생긴 짧은 단어를 dest="여기"에 집어넣습니다.
'englist':'en' 이면 영어는 'en' 이겠죠?

{'afrikaans': 'af', 'albanian': 'sq', 'amharic': 'am', 'arabic': 'ar', 'armenian': 'hy', 'azerbaijani': 'az', 'basque': 'eu', 'belarusian': 'be', 'bengali': 'bn', 'bosnian': 'bs', 'bulgarian': 'bg', 'catalan': 'ca', 'cebuano': 'ceb', 'chichewa': 'ny', 'chinese (simplified)': 'zh-cn', 'chinese (traditional)': 'zh-tw', 'corsican': 'co', 'croatian': 'hr', 'czech': 'cs', 'danish': 'da', 'dutch': 'nl', 'english': 'en', 'esperanto': 'eo', 'estonian': 'et', 'filipino': 'tl', 'finnish': 'fi', 'french': 'fr', 'frisian': 'fy', 'galician': 'gl', 'georgian': 'ka', 'german': 'de', 'greek': 'el', 'gujarati': 'gu', 'haitian creole': 'ht', 'hausa': 'ha', 'hawaiian': 'haw', 'hebrew': 'he', 'hindi': 'hi', 'hmong': 'hmn', 'hungarian': 'hu', 'icelandic': 'is', 'igbo': 'ig', 'indonesian': 'id', 'irish': 'ga', 'italian': 'it', 'japanese': 'ja', 'javanese': 'jw', 'kannada': 'kn', 'kazakh': 'kk', 'khmer': 'km', 'korean': 'ko', 'kurdish (kurmanji)': 'ku', 'kyrgyz': 'ky', 'lao': 'lo', 'latin': 'la', 'latvian': 'lv', 'lithuanian': 'lt', 'luxembourgish': 'lb', 'macedonian': 'mk', 'malagasy': 'mg', 'malay': 'ms', 'malayalam': 'ml', 'maltese': 'mt', 'maori': 'mi', 'marathi': 'mr', 'mongolian': 'mn', 'myanmar (burmese)': 'my', 'nepali': 'ne', 'norwegian': 'no', 'odia': 'or', 'pashto': 'ps', 'persian': 'fa', 'polish': 'pl', 'portuguese': 'pt', 'punjabi': 'pa', 'romanian': 'ro', 'russian': 'ru', 'samoan': 'sm', 'scots gaelic': 'gd', 'serbian': 'sr', 'sesotho': 'st', 'shona': 'sn', 'sindhi': 'sd', 'sinhala': 'si', 'slovak': 'sk', 'slovenian': 'sl', 'somali': 'so', 'spanish': 'es', 'sundanese': 'su', 'swahili': 'sw', 'swedish': 'sv', 'tajik': 'tg', 'tamil': 'ta', 'telugu': 'te', 'thai': 'th', 'turkish': 'tr', 'ukrainian': 'uk', 'urdu': 'ur', 'uyghur': 'ug', 'uzbek': 'uz', 'vietnamese': 'vi', 'welsh': 'cy', 'xhosa': 'xh', 'yiddish': 'yi', 'yoruba': 'yo', 'zulu': 'zu'}

 

3. result = translator.translate(번역하고자 하는 문자, dest="변경하고자 하는 언어 키")
print(result.text)

이렇게 번역 메서드 translate를 호출하면 반환 값이 Translated라는 객체가 나오는데 우리는 그 값의 text라는 것에 접근하면 
우리가 원하는 번역된 값을 얻을 수 있습니다.

result.text 이렇게 말이죠. 그걸 print 하면 됩니다.

Translated 객체의 생김새는 아래 3번에서 보시죠.

 

 

3. 파이썬 google tranlate api 상세 설명


2번에서 설명한 부분에서 충분히 사용이 가능하지만, 뭔가 더 자세히 알고 싶으신 분만 해당 섹터를 읽어주세요.

다시 한번 비슷하지만 다른 예제를 보겠습니다.

import googletrans

translator = googletrans.Translator()

str1 = "개발을 잘하고 싶습니다."
str2 = "I like beer."
result1 = translator.translate(str1, src='ko', dest='en')
result2 = translator.translate(str2, src='en', dest='ko')

print(result1)
print(result2)

 

1. translate의 메서드에는 여러 옵션들이 있습니다.

translator.translate(str1, str="ko", dest='en')
translator.translate(str1, dest='en')   #src='auto'가 들어가서 자동으로 인식

src라는 옵션은 아무것도 입력하지 않으면 'auto'가 들어가게 되어서 자동으로 번역하고자 하는 문자가 어떤 문자인지 인식을 하게 됩니다.
만약에 어떤 언어인지 딱 정해주고 싶다면 src="ko" 이런 식으로 지정해 줄 수 있습니다.

 

2. 번역의 반환으로 받은 Translated 객체에 뭐가 들었는지 살펴보겠습니다.

Translated(src=ko, dest=en, text=I want to do well., pronunciation=None, extra_data="{'confiden...")

Translated(src=en, dest=ko, text=나는 맥주를 좋아한다., pronunciation=naneun maegjuleul joh-ahanda., extra_data="{'confiden...")

result1, result2의 값을 그대로 출력해보면 위와 같이 나오게 됩니다.

src : 원본 문자의 언어 키
dest : 번역할 언어 키
text : 실제로 번역 완료한 스트링
pronunciation : 발음
extra_data : ?? 

이런 식으로 이루어져 있으며 접근하는 방법은
아까 전에 result1.text를 이용해서 실제 번역 완료한 스트링을 접근한 것처럼 " . " 을 이용해서 접근하면 됩니다.

 

제가 구글 번역 api를 이용해서 프로그램을 하나 만들었는데,
실제 사용 예시를 보시려면 [바로가기] 여기로 가시면 볼 수 있습니다.

이렇게 오늘은 파이썬에서 구글 번역 api 를 이용하는 방법에 대해서 알아보았습니다.
감사합니다.

반응형