개발/Python

python을 이용한 .txt문서의 영문을 한글로 변환

SC또우 2024. 4. 8. 12:00

많은 양의 영문글에 대한 번역이 필요하여 텍스트 문서에 옮겨둔 영문을 한글로 번역할 때 사용한 python 코드 공유합니다.

해당 파이썬 버전은 v3.12.0에서 정상 사용하였으며, 구글 번역기 API를 손쉽게 파이썬에 적용할 수 있도록 해 주는 googletrans는 파이썬 프로그램을 이용한 코드입니다.

>pip install googletrans // 선행으로 해당 라이브러리 설치 후 해당 코드 작성 및 실행하시기 바랍니다.

[코드]

from os import linesep
import googletrans

translator = googletrans.Translator()

read_file_path = r"C:\py\en.txt" # 읽어올 경로의 파일명을 입력
write_file_path = r"C:\py\kr.txt" # 저장할 경로의 파일명을 지정

with open(read_file_path, 'r', encoding='utf-8') as f: # UTF-8로 파일 열기
    try:
        readLines = f.readlines() # 파일에서 줄별로 읽어 readlines에 리스트형태로 바인딩
    except UnicodeDecodeError: # 인코딩 예외 처리
        print("UTF-8로 읽는 데 문제가 있습니다. cp949로 시도합니다.")
        f.close()
        with open(read_file_path, 'r', encoding='cp949') as f_cp949: # cp949로 시도
            readLines = f_cp949.readlines()

for lines in readLines:
    # 빈 줄인 경우 번역하지 않고 건너뜁니다.
    if not lines.strip():
        continue
   
    try:
        result1 = translator.translate(lines, dest='ko')
        print(result1.text)
        with open(write_file_path, 'a', encoding='UTF8') as f:
            f.write(result1.text + '\n')
    except Exception as e:
        print(f"번역 오류 발생: {e}")
        print(f"오류가 발생한 줄: {lines}")

[결과]