2021. 1. 18. 12:48ㆍPython
이번에는 python을 사용하여 번역프로그램을 만들어 보겠습니다
이번에 사용할 라이브러리는 googletrans입니다.
googletrans는 언어 감지및 번역을 도와주는 라이브러리 입니다.
저는 그중 Translator을 사용하고 싶기 때문에 아래와 같이 코드를 입력하였습니다.
이를 실행하면
아래와 같은 결과가 출력될수도 있습니다.
이는 googletrans api의 업데이트로 인해 발생하는 문제입니다.
따라서 터미널에 "pip uninstall googletrans"를 실행시켜 기존에 설치한 googletrans api를 삭제한 후,
"pip install gooletrans==3.10a0"로 재설치하면 오류를 해결할 수 있습니다.
이제 translate변수를 만들어 번역 라이브러리를 아래와 같이 설정해보겠습니다.
그리고 번역할내용을 설정하여 sentence라는 변수에 내가 변역하고 싶은 내용을 한국어로 설정하였습니다.
먼저, sentence변수에 들어간 내용의 언어를 감지해보겠습니다.
detected라는 변수를 설정하여 sentence의 언어를 감지하도록 하였고,
이를 detected.lang을 사용하여 detected의 lang값만 보여주도록 출력해 보았습니다.
위와 같이 ko(한국어)로 인지된것을 확인할 수 있습니다.
이번에는
translate(text,dest,src) 함수를 사용하여 번역을 해보겠습니다.
이 함수에 대해 설명을 하자면,
text는 번역을 원하는 문장이며,
dest는 destination의 줄임말이며 어떤 언어로 번역할건지 목적지를 말합니다.
예를 들어 "kr","en"등이 있고 이 언어들은 정해져 있으며 아래 사이트를 통해 확인할 수 있습니다.
(py-googletrans.readthedocs.io/en/latest/)
그리고 src는 앞선 text 재료의 언어를 작성해 줍니다. 이는 생략이 가능합니다. 이미 translator함수에서 인지를 해주었기 때문입니다.
그러면,
이제 result변수를 만들어 sentence의 문장을 번역해 주도록 해보겠습니다.
sentence텍스트를 영어로 변역하기 위해 "en"을 작성하였고 scr은 생략하였습니다.
이를 출력해보면,
현재, scr=ko(한국어)
dest=en(영어)이며
"안녕하세요 데이터 공부방입니다"라는 문구가 "Hello, this is the data study room"으로 잘 번역된 것을 확인할 수 있습니다.
이를 좀더 깔끔하게 출력하기 위해, 아래와 같이 입력해 보겠습니다.
deceted.lang은 현재 언어를 감지한 것이므로 kr로 나올 것입니다.
result.dest는 번역할 언어이므로 en으로 나올것입니다.
출력해보면,
위와 같이 잘 번역되는것을 알 수 있습니다.
좀더 응용하여,
input()함수를 사용하여, 번역할 언어를 입력하고, 번역할 내용을 입력하여 값이 나오도록 만들어 보겠습니다.
sentence와 dest변수에 input()함수를 추가하였습니다.
그리고 아까 생성했던 result변수에 "en"대신 dest 변수로 변경해 주어야 합니다.
그리고 실행해보면,
번역을 원하는 문장을 입력해달라는 문구가 나옵니다.
"2021년 화이팅!"을 입력해 보겠습니다.
위와 같은 문구가 출력되며 영어인 "en"을 입력해 보겠습니다.
위와 같이, 일일히 sentence와 dest를 변경하지 않아도 input을 통해 번역이 되는 번역기 프로그램이 생성되었음을 확인할 수 있습니다.
추가로 영어가 아닌 불어로 작성해보겠습니다.
다시, "2021년 화이팅!"을 입력후
원하는 언어에 "Fr"을 입력하면,
위와 같이 불어로 잘 번역된것을 확인할 수 있습니다.
'Python' 카테고리의 다른 글
[Python]국내 주식 불러오기 (0) | 2021.02.01 |
---|---|
[Python]파이썬 이메일 보내기 (0) | 2021.01.19 |
[Python]날씨 정보 받아오기 (0) | 2021.01.17 |
[Python]실시간검색어 불러오기 (0) | 2021.01.15 |
[Python]requests함수 (0) | 2021.01.13 |