ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Googletrans] Googletrans를 이용한 파이썬 번역 프로그램 만들기
    Python 2023. 4. 18. 13:54
    반응형

    Googletrans를 이용한 파이썬 번역 프로그램 만들기


    현재 개발하고 있는 프로그램에 번역 기능이 필요해서 파이썬 패키지가 당연히 있겠지 하는 생각을 하며 번역 기능을 제공하는 패키지를 검색해 봤습니다. 아니나다를까 우리들이 흔히 쓰는 구글 번역기를 파이썬에서 코드 몇 줄로 실행할 수 있는 패키지가 있더라고요. 바로 Googletrans 라는 패키지였습니다.

     

     

    제작자 측에서 안정적인 이용을 보장하지는 않는다고 하니, 테스트 버전으로는 이 패키지를 써 보다가 정식 버전에서는 다른 패키지를 이용해 보는 것을 고려해 봐야겠습니다.

     

     

    참고로, 해당 패키지는 MIT 라이선스입니다. 상업적으로 사용하는데도 큰 제약이 없고, 소스코드를 공개하지 않아도 된다는 이야기죠.

     

     

    Googletrans 패키지를 설치하기 위해서는, $!pip install googletrans==4.0.0-rc1 라고 커맨드 명령어를 입력해 주기만 하면 됩니다. 그 다음에는 파이썬에서 패키지를 불러오는데, 아래에 패키지 테스트를 할 겸해서 예제를 작성해 볼테니 참고해 주시기 바랍니다.

     

     

    from googletrans import Translator
    translator = Translator()
    txt = '''이미 일어나 버린 일에 대해 뒤늦게 이유를 늘어놓아 봐야 사실은 아무것도 변하지 않는다. 그런데 사람들은 왜 동기다, 경위다, 이유다 하는 것을 요구하는 것일까.'''
    res = translator.translate(txt, src='ko', dest='en')
    res.text
    "If you have a late reason for what you've already got up, you can't change anything.But why are people motivated, the situation, and why are you doing everything?"

     

     

    기본적으로 Googletrans는 tranlate 함수 하나만 쓰면 되는 간단한 사용법을 보여주고 있습니다. 위의 코드에서는 언어를 별도로 지정해 주었는데, srcdest 는 따로 지정해 주지 않아도 되더라고요. 기본값은 언어를 자동 인식해서 영어로 번역해 주는 방식입니다.

     

     

    그리고, Googletrans의 언어 자동 인식을 활용해볼 수도 있습니다. detect 라는 함수를 이용해 본다면, 내가 입력한 글이 어떤 언어인지 알아챌 수 있거든요. 사용 방법은 아래와 같습니다.

     

     

    translator.detect('대충 한국어 문장으로 적었다는 말').lang
    'ko'

     

     

    만약 이 패키지를 사용하면서 언어 코드를 모르겠으면 아래 정보를 참고해서 언어 코드를 입력해 보시기 바랍니다. 대부분의 경우 국가 이름의 앞글자 두개지만, 중국어 등의 예외가 있기 때문이지요.

     

     

    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'
    }

     

     

    구글 번역기 API를 손쉽게 파이썬에 적용할 수 있도록 해 주는 Googletrans는 파이썬 프로그램을 만들 때 대충 쓸만한 번역기가 필요한 경우 유용하게 쓸 수 있는 패키지입니다. 개인 테스트 용도로는 충분하겠지만, 구글 번역기는 엄연히 사용량에 따라 과금 체계가 잡혀 있는 서비스이기 때문에 이를 이용해서 상업적 이용을 하는 등의 활용은 지양하는게 좋겠습니다.

    반응형

    댓글

문의: jwkang3929@naver.com