‘Hello, world!’도 모르는 내가 AI와 함께 만든 자작 프로그램 1탄, 자막 번역기
무료 사용자로서 가장 훌륭한 번역 품질을 기대할 수 있는 것은 내가 아는 바로는 (파파고도 카카오도 구글 번역도 DeepL도 아닌) 제미나이(Gemini)이고 이 제미나이 API를 지원하는 Subtitle Edit 같은 무료 자막 번역 프로그램은 지천에 꽤 널렸다. 그런데도 코딩의 시작인 ‘Hello, world!’도 모르는 내가 직접 제작에 나선 것은 (요즘 여러모로 많은 도움을 받는) AI의 코딩 능력을 테스트할 겸, 그리고 여러 개의 API를 번갈아 사용함으로써 무료 API 할당량 제한을 우회하기 위한 기능을 추가하기 위해서다(이 두 번째 이유가 주된 목적이고 이미 누군가 만들었을지도 모르지만, 결과만 놓고 보면 찾는 것보다 직접 만드는 것이 더 빨랐다고 할까나). 그래서 혹시나 하는 마음에 시작해 봤는데, 약간의 시간 투자와 몇 번의 우여곡절을 겪은 끝에 처음 계획한 것보다 더 괜찮은 자막 번역 프로그램이 완성되었다.
제미나이 API를 사용해 srt 자막을 번역하는 파이선 프로그램을 만들어 주세요.
API.txt 파일에 있는 API 목록 불러와 API를 순차적으로 사용.
원본의 srt 형식을 유지해야 함.
원본 언어와 출력 언어를 지정하는 옵션 추가.
시작은 이렇게 별거 없었고, 최초 코딩은 딥시크와 Gemini 2.5 Flash Preview 두 모델로 시작했다. 하지만, 딥시크는 시작부터 뭔가 삐걱거렸기 때문에 이후로는 Gemini 2.5 Flash Preview로 작업을 진행했다. 투덕투덕 밀담을 나누듯 작업은 투박하게 진행되었다. 인터페이스 언어 변경 기능을 추가한 이후 에러가 나기 시작했는데, 이 오류는 Flash가 아닌 Gemini 2.5 Pro Preview 버전이 잡아주었다.
SRT 번역기의 주요 특징
- New 프롬프트 지원(v4): 프름프트 지원으로 좀 더 유연한 번역 가능.
- New gemini-2.5-preview 지원(v4): 제미나이 최신 프리뷰 모델 사용.
- Gemini API 기반 번역: Google의 Gemini API를 사용하여 자막 내용을 번역. 최신 AI 모델의 번역 품질을 활용.
- 다국어 GUI 지원: 영어와 한국어 두 가지 언어의 사용자 인터페이스(GUI)를 제공.
- 다중 API 키 지원 및 자동 전환: API.txt 파일에 여러 개의 API 키를 등록하면, 번역 실패 시 자동으로 다음 키를 시도하거나, 일정 성공 횟수(설정 가능)마다 다음 키로 전환하여 안정성을 높이고 API 사용량을 분산할 수 있음.
- 번역 이어서 하기: 기존에 번역된 출력 파일이 있고, --force 옵션을 사용하지 않으면 이미 번역된 항목은 건너뛰고 있어서 번역을 진행.
- 자동 저장 기능: 설정된 간격(항목 수)마다 번역 결과를 자동으로 출력 파일에 저장함으로써 예상치 못한 종료 시 데이터 손실 최소화.
- 항목별 처리 지연: API 요청 과부하 방지를 위해 각 자막 항목을 처리할 때마다 설정된 시간만큼 지연(대기) 시간 설정 가능.
- 번역 완료 후 자동 절전: 번역 작업 완료 후 설정된 시간 뒤에 자동으로 컴퓨터를 절전 상태로 진입(Windows 운영체제에서만 작동).
- 진행 상태 및 예상 시간 표시: 진행 상태 바와 함께 현재 처리 중인 항목 수, 전체 항목 수, 그리고 예상 완료까지 남은 시간을 GUI에 표시.
- 상세 상태 메시지: 번역 과정 중 발생하는 로그, API 호출 결과, 경고, 오류 등의 상세 메시지를 GUI 하단의 텍스트 영역에 실시간으로 출력.
- 번역 취소 기능: 진행 중인 번역 작업을 언제든지 취소할 수 있고, 취소 시점까지 번역된 내용은 파일에 저장.
- 설정 저장 및 불러오기: 마지막에 사용한 설정 값(파일 경로, 언어 설정, 지연 시간 등)을 자동으로 저장하고 프로그램 시작 시 불러옴.
Translate srt 다운로드(업데이트: 2025/05/25)
Translate_srt_v4 다운로드: 테라 링크 / 픽팍 링크
└ 2025/05/15: exe 파일 용량 최적화
└ 2025/05/25: v4 업데이트(프롬프트 및 gemini-2.5-flash-preview-05-20 지원)
파이선 사용자: Translate_srt_v4.py
파이선 설치 필요 없는 독립 버전: Translate_srt_v4.exe
이 소스에 새 기능을 추가하거나 코드를 최적화하는 능력자분이 계신다면
완성 후 공유해주시면 고맙겠습니다!!!
사용 방법(파이선 설치자용)
1. Python 3 설치(독립 버전 사용자는 그냥 exe 파일 실행하면 됨).
2. 필수 라이브러리 설치: pip install pysrt google-generativeai
3. Google Gemini API 키 발급 (Google AI Studio 또는 Google Cloud Platform)
4. Translate_srt_v3.py 파일과 동일한 디렉터리의 API.txt 파일에 발급받은 Gemini API 키를 한 줄에 하나씩 입력하고 저장(#으로 시작하는 줄은 주석으로 인식됨).
5. 명령 프롬프트(cmd), PowerShell, 터미널 등을 열고 저장한 파일이 있는 디렉터리로 이동한 후 python Translate_srt_v3.py 실행.
6. 번역할 SRT 파일과 번역 완료 후 저장될 SRT 파일 위치 및 이름 설정.
7. 원본/대상 언어 코드 설정. 원본 언어와 번역될 언어의 언어 코드를 입력(예: 영어 'en', 한국어 'ko').
8. 항목당 지연 시간: 각 자막 항목을 번역 요청하기 전에 대기할 시간을 초 단위로 입력. 한 개의 API 키로 번역한다면 2초 이상 권장. 여러 개의 API 키를 사용한다면 1초 권장.
9. API 키 전환: 몇 번의 번역 후 다음 API 키로 전환할지 설정(0 입력 시 비활성화).
10. 자동 저장: 자동 저장 활성화 여부를 선택하고 저장 간격(항목 수)을 지정.
11. 기존 파일 무시: 번역하다 중단된 경우, 체크 해제하면 이어서 진행하고, 체크하면 기존 파일을 무시하고 처음부터 다시 시작.
12. 자동 절전: 번역 완료 후 Windows 컴퓨터를 자동으로 절전 상태로 진입할지 설정하고 지연 시간.
13. 사용할 Gemini API 모델을 선택.
14. 설정이 완료되면, ‘번역 시작’ 버튼을 클릭해 자막 번역 작업 시작.
New 프롬프트 사용 예(공백이면 기본값 사용): '다음 텍스트를 {source_lang}에서 {target_lang}(으)로 번역해 주세요. 번역된 텍스트만 제공해 주세요. 원본 텍스트, 주석이나 설명, 또는 따옴표나 번호 매기기와 같은 추가 서식은 포함하지 마세요. 친근한 말투로 번역해 주세요. \n\n텍스트: {text}
AI 시대, 초짜도 코딩할 수 있다? 직접 해본 후기
‘Hello, world!’도 못 만드는 무지렁이가 AI의 전적인 도움으로 프로그램을 자작할 수 있다니, 말로는 들어봤지만 직접 해보니 만들어 놓고도 믿어지지 않는다. 이번에 AI로 코딩하면서 이보다 더 복잡한 프로그램 제작은 (무료 사용자 제한, 토큰 제한, AI 성능 한계 등의 이유로) 코딩과 프로그래밍 지식이 없으면 힘들 것 같다는 한계를 느끼긴 했지만, 만약 이 방면의 실무자들은 내가 글을 쓰면서 AI의 의견을 청취하는 것처럼 꽤 큰 도움을 받겠다는 생각이 든다. 최소한 반복적인 코딩 작업 일부를 AI에 맡길 수 있다는 것만으로도 큰 도움이지 않을까 싶다.
아무튼, AI 때문에 명령어 사용법/에러 해결법/코드 조각 공유 등등 기초적이거나 반복적인 지식, AI로 해결할 수 있는 단편적 지식을 다루는 블로그나 사이트는 종말을 고할 수도 있겠다는 암울한 예감이 든다(더불어 구글 검색 사용 빈도도 낮아질 것이다). 「Teldrive, 데이터베이스 마이그레이션 오류」 글에서 봤듯 (초짜가 보기엔) 현장 실무자에게나, 혹은 크몽 같은 재능마켓에서 돈을 주고서야 얻을 수 있을법한 맞춤형 해법을 AI에 기대할 수 있는데, AI의 성능과 능력이 향상되면 앞으로 더더욱 AI에 의존하는 경우가 많아질 것이다. 살아남고 싶은 블로거는 깊이 있는 기술 분석, 실무 경험 기반 팁, 최신 트렌드 논평 등 경험과 통찰이 담긴 콘텐츠로 경쟁해야 할 듯 싶다.
물론 오늘 같은 식의 경험은 코딩 지식에 큰 보탬은 안 되지만, 운전면허증이 있다고 해서 자동차의 모든 것을 알아야 할 필요는 없듯 모든 PC 사용자가 코딩 전문가가 될 필요는 없다. 개인적으로 그때그때 필요한 간단한 프로그램이나 스크립트 정도는 전문가에게 구걸하거나 구글에서 헛되게 시간 낭비하지 않고 AI의 도움으로 거뜬히 해결할 수 있다는 것, 그리고 각종 오류 해법도 맞춤형(대략적인 개념만 설명해
0 comments:
댓글 쓰기
댓글은 검토 후 게재됩니다.
본문이나 댓글을 정독하신 후 신중히 작성해주세요