본문 바로가기
IT

챗GPT에게 번역 프로그램을 만들어 달라고 했더니...결과는 대만족(papago api 활용)

by 더쇼트 2023. 4. 5.

 

챗GPT가 만들어 준 프로그램 실행 화면

저는 일을 하면서 파파고 번역기를 쓸 일이 참 많은데요. 보통은 파파고 탭을 상시 띄워 놓고 필요할 때 거기서 번역을 하는데 자주 쓰다보면 이것도 은근 번거롭습니다. 일을 좀 편하게 하고 싶었지만, IT 쪽을 좀 알긴 해도 프로그램을 만들 줄은 몰라서 그냥 손가락을 고생시켰는데, 이제 시대가 바뀌었죠? 챗GPT가 프로그램도 만들어 준다고 해서 한번 시켜 보았습니다. 결과는 대박...챗GPT 덕분에 번거로운 작업을 편하게 할 수 있게 되었습니다.

 

지금까지는 이 화면에서 번역을 한 다음 번역된 내용을 복사해야 했다.

기존에는 이런 과정이 필요했습니다.

1. 문서에서 원문을 CTRL + C로 복사한다

2. 브라우저에서 띄워 놓은 파파고 탭을 클릭한다.

3. 번역된 내용을 CTRL + V로 붙여넣는다.

4. 번역 결과를 복사 버튼을 눌러 복사한다.

5. 문서로 돌아간다

6. CTRL + V로 번역 내용을 붙여 넣는다.

 

그런데 챗GPT가 만들어 준 프로그램 덕분에 과정이 이렇게 확 단축됐습니다.

1. 문서에서 원문을 CTRL + C로  복사한다.

2. CTRL + ALT + T를 누른다(CTRL + C로 복사한 내용이 번역된 후 그 내용이 클립보드에 복사됨)

3. CTRL + V로 번역 내용을 붙여 넣는다.

 

모든 일이 브라우저와 탭을 왔다 갔다 할 필요 없이 한 곳에서 끝나는 거죠.

 

처음에는 이렇게 물어봤었습니다.

저렇게 시키니, 프로그램 실행 시 딱 한 번만 복사된 내용을 번역해 주더라고요...제 의도와는 달라서 많은 우여곡절을 겪었습니다. 결국 단축키를 누르면 번역이 이루어지는 걸로 결정했죠. 실행 시 오류가 발생하는 경우도 많았는데 그 오류를 보여 주면 오류가 발생하는 이유에 대해서도 설명해 주더군요.

 

최종적으로는 다음과 같은 코드가 도출되었습니다.


import os
import pyperclip
import requests
import keyboard

# API 요청에 필요한 정보
client_id = "파파고 클라이언트 ID"
client_secret = "파파고 시크릿 키"

# API 요청 URL
url = "https://openapi.naver.com/v1/papago/n2mt"

# API 요청 헤더
headers = {
    "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
    "X-Naver-Client-Id": client_id,
    "X-Naver-Client-Secret": client_secret,
}

# 번역 함수
def translate(text, source, target):
    # API 요청 데이터
    data = {
        "source": source,
        "target": target,
        "text": text,
    }

    # API 요청 보내기
    response = requests.post(url, headers=headers, data=data)
    result = response.json()

    # 번역 결과 반환
    return result["message"]["result"]["translatedText"]

# CTRL + ALT + T 키가 입력되면 실행되는 함수
def on_hotkey():
    # 클립보드에서 복사한 영어 문장 가져오기
    text = pyperclip.paste()

    # 영어에서 한국어로 번역
    source = "en"
    target = "ko"
    translated_text = translate(text, source, target)

    # 번역 결과 클립보드에 복사
    pyperclip.copy(translated_text)

    # 사용자에게 메시지 출력
    print(f"번역 결과: {translated_text}")

# CTRL + ALT + T 키를 등록하여 이벤트를 처리할 수 있도록 함
keyboard.add_hotkey("ctrl+alt+t", on_hotkey)

# 이벤트 루프 시작
keyboard.wait() 


친절하게 주석까지 달아주더군요. 제가 직접 작성한 건 하나도 없습니다. 클라이언트 ID하고 시크릿 키를 채팅으로 써서 주니까 알아서 적용까지 해 주더라고요.

 

실행 파일로 만드는 법까지 친절히 알려 줘서 잘 쓰게 되었습니다. 생성된 파일을 실행한 후에 예를 들어 'chatgpt developed useful translation program for me'라는 문장을 번역해야 하는 경우 

 

1. 원문을 CTRL + C로 복사합니다.

2. CTRL + ALT + T를 누르면 번역이 되고 번역문이 클립보드에 복사됩니다. 프로그램 창에 아래와 같은 메시지가 나와서 번역이 되었는지 확인 가능합니다.

3. 원하는 곳에 CTRL + V로 붙여 넣으면 끝입니다.

진짜 될까 반신반의했는데 아주 잘 사용하고 있습니다. 얘가 어디까지 할 수 있는지, 여기서 그치지 않고 계속해서 업그레이드해 볼 참입니다. 우선은 CTRL + ALT + T를 눌렀을 때 번역이 되었다는 오버레이 메시지를 화면 중앙에 띄우는 걸 시도해 볼 생각이에요. 업그레이드 되면 후속편을 올리겠습니다.

 

워낙 신기한 경험이라 공유해 봤습니다. 포스팅 봐 주셔서 감사합니다.