반응형

여러파일을 번역하다 귀찮아서 파이썬으로 간단하게 테스트 코드를 만들어보았다. (필자는 pycharm editor으로 사용)

파이썬 2020년 1월 최신버전인 python3 3.8.1 버전 사용.

 

텍스트파일에 영어가 들어있으면 이를 한글로 파파고 번역기를 이용해서 번역하는 것이다.

이를 위해 pypapago 라는 라이브러리를 다운로드 해줘야 하는데

window cmd창에서

>pip install pypapago

를 다운로드 해주면 된다.

 

아래는 pypapago 라이브러리 관련 사이트다.

https://pypi.org/project/pypapago/

 

pypapago

[Unofficial] Python wrapper for Papago translation service

pypi.org

 

유명한 엔지니어 포럼 stack overflow의 글귀를 텍스트에 넣어보고 번역해보았다.

메모장에 복사

그리고 실행시켜보았다. 

오류발생

저 오류가 왜 발생할까 오랜 연구 끝에... 문제는 엔터키(\n) 존재 유무에 따라 발생한다.

고로 엔터키를 없애줘야 한다.

아래처럼 수정

엔터키를 삭제하여 다음과 같이 수정.

그러면 아래와 같이 성공적으로 번역이 된다.

또, 번역된 내용을 afterTranslate.txt 파일로 자동으로 저장했다.

프로그램을 실행시키면 자동으로 번역하여 해당 파일을 생성한다.

동일 디렉터리 내 파일 생성

내용을 확인해보면, 아래와 같이 성공적으로 번역되었음을 알 수 있다.

 

그러면 다음 과제는 엔터키(\n) 문자열을 발견했을때, 어떻게 처리할지에 대해 코드를 작성해보면 저런 오류 걱정없이 사용할 수 있을 것이다. 나중에 작성할 예정이다.

 

아래 소스코드

'''
파파고를 이용한 파일 내용 자동번역 코드
made by 안산드레이아스
https://ansan-survivor.tistory.com/

설치파일
pip install pypapago
'''

from pypapago import Translator

# 불러올 파일명 입력(동일 디렉터리 위치)
fileName = './test.txt'

# 객체 할당, 번역할 파일 열기
translator = Translator()
with open(fileName, encoding='utf-8', errors='ignore') as f:
# 줄을 읽어 저장, byte를 string으로 디코딩
line = f.readline()
print(line) # 파일 내 텍스트 출력
print(type(line)) # 텍스트 타입 출력

# 번역할 문자를 입력
forTranslateString = line

# 번역하기 (\n(엔터) 이나오면 오류 발생 문자열 처리 필요) english -> korean 옵션
result = translator.translate(forTranslateString, source='en', target='ko', verbose=False)

# 결과 출력
print(result) # 번역된 텍스트 출력
with open("afterTranslate.txt", 'w') as f: # 번역 완료된 텍스트 저장
f.write(result)

 

https://ansan-survivor.tistory.com/78?category=368248

 

텍스트 파일 읽어와서 변역시키는 프로그램 (네이버 파파고, 파이썬 코딩)

파파고 번역 API는 \n가 있으면 오류를 발생시키므로, 이를 문자열에서 제거 하여 번역을 하도록 시켰다. 그러나 ' 나 " 가 있는 문자열번역에는 오류를 일으킨다. 아직 특수문자에 대한 별도의 처리가 필요하다...

ansan-survivor.tistory.com

 

반응형

+ Recent posts