반응형

파파고 번역 API는 \n가 있으면 오류를 발생시키므로, 이를 문자열에서 제거 하여 번역을 하도록 시켰다.

그러나  ' 나 " 가 있는 문자열번역에는 오류를 일으킨다. 아직 특수문자에 대한 별도의 처리가 필요하다.

 

아래는 코드

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

설치파일
pip install pypapago
'''

from pypapago import Translator

# 번역할 파일명
fileName = './test.txt'

# 사용할 전역변수
templist = []
afterTranslate = []

# 객체 할당
translator = Translator()

# 파일 읽기모드, 줄을 읽고 \n를 제거하여 번역하기
with open(fileName, 'r') as f:
    lines = f.readlines()
    for line in lines:
        # '\n'엔터키''가 있을 때 교체하여 추가, 그 외 그냥 추가
        if '\n' in line:
            line = line.replace('\n', '')
            templist.append(line)
        else:
            templist.append(line)

        # 문자열이 비어있는 리스트는 삭제
        try:
            templist.remove('')
        except:
            pass  

# 리스트 내 영어 자료들 번역하기
for i in range(len(templist)):
    result = translator.translate(templist[i], source='en', target='ko', verbose=False)
    afterTranslate.append(result)

# 초기 리스트값, 바꾼 후, 번역 후(출력테스트)
print(lines)
print(templist)
print(afterTranslate)

# 번역 후 text파일 만듦.
with open(fileName + '_translated.txt', 'w') as f:
    for i in range(len(afterTranslate)):
        data = afterTranslate[i] + '\n'
        f.write(data)

 

 

결과,

 

영문으로 된 text.txt 를 넣으면, 저렇게 파파고로 번역이 되어 나온다.

 

Python wiki 몇 문단을 번역해봤다.

그러나 2번째 분단처럼 '나 "가 들어있으면 오류가 난다.. 이부분을 해결이 필요하다

반응형

+ Recent posts