이번 글에서는 파이썬으로 구글 번역을 사용해보도록 하겠습니다. googletrans 패키지는 사용이 편리하여 번역 api로 많이 사용됩니다.
설치
아래와 같이 googletrans를 설치해줍니다.
# pip install googletrans 를 설치하지 않는다.
pip install googletrans==4.0.0-rc1
4.0.0 버전 이전의 googletrans는 문제가 많아서 실행이 안되는 경우가 많습니다. 4.0.0으로 지정하여 설치를 해줘야합니다.
패키지
그 다음 아래와 같이 패키지를 import합니다.
from googletrans import Translator
번역하기
번역하는 것부터 알아보겠습니다. 우선 한글을 영어로 번역하는 것을 해보겠습니다.
아래와 같이 Translator 객체를 생성한 뒤 translate함수를 사용해줍니다.
translator = Translator()
ko1 = "안녕하세요. 제 블로그를 방문해주셔서 감사합니다."
en1 = translator.translate(ko1, dest="en")
print(f"{ko1} => {en1.text}")
참 쉽죠? dest에 번역할 언어의 키워드를 입력해주시면 됩니다.
영어를 한글로 번역하는 것은 아래와 같습니다.
en2 = "hi, my name is [3001ssw]. nice too meet you"
ko2 = translator.translate(en2, src="en", dest="ko")
print(f"{en2} => {ko2.text}")
Translated
translate 함수를 정상 호출하면 Translated 객체가 반환됩니다. 이 객체에서 유용한 멤버변수들은 아래와 같습니다.
src | 입력 언어. ex) en, ko, … |
dest | 출력 언어. ex) en, ko, … |
origin | 입력 문장 |
text | 번역 문장 |
pronunciation | 발음 기호 |
지원 언어
googletrans에서는 LANGUAGES를 보면 지원되는 언어를 알 수 있습니다.
from googletrans import LANGUAGES
print(LANGUAGES)
LANGUAGES = {
'af': 'afrikaans',
'sq': 'albanian',
'am': 'amharic',
'ar': 'arabic',
'hy': 'armenian',
'az': 'azerbaijani',
'eu': 'basque',
'be': 'belarusian',
'bn': 'bengali',
'bs': 'bosnian',
'bg': 'bulgarian',
'ca': 'catalan',
'ceb': 'cebuano',
'ny': 'chichewa',
'zh-cn': 'chinese (simplified)',
'zh-tw': 'chinese (traditional)',
'co': 'corsican',
'hr': 'croatian',
'cs': 'czech',
'da': 'danish',
'nl': 'dutch',
'en': 'english',
'eo': 'esperanto',
'et': 'estonian',
'tl': 'filipino',
'fi': 'finnish',
'fr': 'french',
'fy': 'frisian',
'gl': 'galician',
'ka': 'georgian',
'de': 'german',
'el': 'greek',
'gu': 'gujarati',
'ht': 'haitian creole',
'ha': 'hausa',
'haw': 'hawaiian',
'iw': 'hebrew',
'he': 'hebrew',
'hi': 'hindi',
'hmn': 'hmong',
'hu': 'hungarian',
'is': 'icelandic',
'ig': 'igbo',
'id': 'indonesian',
'ga': 'irish',
'it': 'italian',
'ja': 'japanese',
'jw': 'javanese',
'kn': 'kannada',
'kk': 'kazakh',
'km': 'khmer',
'ko': 'korean',
'ku': 'kurdish (kurmanji)',
'ky': 'kyrgyz',
'lo': 'lao',
'la': 'latin',
'lv': 'latvian',
'lt': 'lithuanian',
'lb': 'luxembourgish',
'mk': 'macedonian',
'mg': 'malagasy',
'ms': 'malay',
'ml': 'malayalam',
'mt': 'maltese',
'mi': 'maori',
'mr': 'marathi',
'mn': 'mongolian',
'my': 'myanmar (burmese)',
'ne': 'nepali',
'no': 'norwegian',
'or': 'odia',
'ps': 'pashto',
'fa': 'persian',
'pl': 'polish',
'pt': 'portuguese',
'pa': 'punjabi',
'ro': 'romanian',
'ru': 'russian',
'sm': 'samoan',
'gd': 'scots gaelic',
'sr': 'serbian',
'st': 'sesotho',
'sn': 'shona',
'sd': 'sindhi',
'si': 'sinhala',
'sk': 'slovak',
'sl': 'slovenian',
'so': 'somali',
'es': 'spanish',
'su': 'sundanese',
'sw': 'swahili',
'sv': 'swedish',
'tg': 'tajik',
'ta': 'tamil',
'te': 'telugu',
'th': 'thai',
'tr': 'turkish',
'uk': 'ukrainian',
'ur': 'urdu',
'ug': 'uyghur',
'uz': 'uzbek',
'vi': 'vietnamese',
'cy': 'welsh',
'xh': 'xhosa',
'yi': 'yiddish',
'yo': 'yoruba',
'zu': 'zulu',
}
이상으로 구글 번역에 대해 알아보았습니다.