여러분들에게 신세계를 열어줄 잼민이 ai 인공지능 번역기임!
이걸 공유하는 첫번째 이유는 여러분들도 ai로 쾌적하고 좋은 환경으로 번역된 게임을 즐겼으면해서 이고
두번째는 번역파일을 공유가 활성화 됐으면 하기 때문이야 (후술하겠지만 이 잼민이 딸각번역기만 쓰면 누구든
유니티 ai번역자가 될 수 있음)
일단 들어가기 앞서 구글 제미니 api 를 발급받아야 함. 여기서 쓰면 얘기가 너무 길어지기에
이건 본인이 구글 검색을 통해서 발급받길 바람, 참고로 깡계정 api 발급 막혔다는데 아직 안 막힘
테스트용으로 오늘 발급받았는데 아직 가능한데 문제는 결제계정에 카드등록 해야함 근데 등록한다고
돈 빠지는것도 아니고, 심지어 나는 작년 8월에 발급받은 API를 현재까지 무료로 쓰는중임
정 걱정되면 빈 계좌에 체크카드만 있는 그런 카드로 등록하면 됨.
추가
aHR0cHM6Ly9hcmNhLmxpdmUvYi9jaGFyYWN0ZXJhaS8xMjIwMzQ0NDg=
누가 제미니 api 발급방법 써놔서 링크올림
(웬만하면 결제계정 등록하는걸 추천함. 무료계정은 분당 15회 제한인데
결제계정은 분당 2000개까지 처리 가능함 비용도 백만토큰 ( 평균 3000페이지 분량)당 백원임)
번역 퀄은 하단에 저정도라고 보면 된다
이지트랜스 번역기와는 말투부터, 번역 퀄리티까지 상당히 자연스럽게 바꾼게 느껴질거야
<주의사항>
가끔 번역 찐빠내거나 번역 자체를 거부할 수 있는데 이유는 아동 성행위나 폭력행위같은 가이드라인
심하게 위반했을때는 ai가 번역거부함, 프롬포트로 최대한 우회,회피하게 만들었으나 가끔 찐빠낼때가 있음
자 먼저 일단 파이선이 컴퓨터에 깔려있어야 함
1단계: 파이썬 있는지 확인하고 없으면 깔기
일단 파이썬이 있으면 이 단계 패스
없으면 여기 가서 받아: https://www.python.org/downloads/ (최신 버전으로)
주의사항 반드시) 설치할 때 첫 화면 아래쪽에 "Add Python [버전] to PATH" 또는 "Add python.exe to Path" 이거 꼭 체크하고 설치해야함
2단계: 내가 올린 제미니 딸깍 파일 받기
(2025-6-06)
aHR0cHM6Ly9kcml2ZS5nb29nbGUuY29tL2ZpbGUvZC8xb1BLQVc3V2RhRjNrZHV6d25mZndfS0h6c0J1emV1NkIvdmlldz91c3A9c2hhcmluZw==
그리고 압축풀어놓고 일단대기
3단계: 필요한 준비물 설치하기 (Flask, requests)
이 코드를 돌리려면 딱 두 가지 프로그램이 더 필요함. 'Flask'랑 'requests'
명령프롬포트 나 'PowerShell' 열기 ( 윈도우 검색창에 'cmd' 또는 'PowerShell'을 검색해서 실행)
그리고 아래 명령어 두 개를 한 줄씩 차례대로 입력하고 엔터 쳐주삼
pip install Flask
pip install requests4단계: 제일 중요한 API 키 넣기!
구글 AI Studio (예전엔 Makersuite) 같은 데서 구글 계정으로 만들 수 있음. (없으면 만들어야 함!)
자, 이제 아까 저장한 코드 파일 gemini_trans.py 그거 메모장이나 다른 텍스트 편집기 로 여삼
코드 윗부분에 이런 줄이 보일 거임
API_KEY = "YOUR_GOOGLE_AI_API_KEY_HERE" 여기에 본인 api키 삽입하면 됨
5단계: 코드 실행하기
아까 동봉된 gemini trans.py 실행하고
이렇게 뜨면 성공, 빨간색은 서버보안상태가 취약하다는 경고인데 어차피 집에서 혼자 쓸건데 무시해도 됨
5단계: 동봉된 파일 게임폴더에 붙여넣기
일본어 게임이면 일본어 폴더에서, 영어면 영어폴더에서 복사하기
2.게임이 mono 기반인지 또는 IL2CPPd 인지확인 후 알맞게 복사
( 번역기 폴더내 64 및 32bit용이 있는데 게임 메인폴더내
UnityCrashHandler32가 있으면= 32bit용으로
UnityCrashHandler64가 있으면= 64용으로)
참고사항1
이 유니티게임이 mono 인지 il2cpp 인지 헷갈린다 구분법 알려드림
il2cpp일 경우 게임 메인폴더내
게임이름_data 폴더가 있을 거임 들어가보면 il2cpp_data 이런 폴더가 있음 그러면 il2cpp 기반
mono일경우 역시 메인폴더내
MonoBleedingEdge 폴더가 있음 그럼 mono
간단하쥬?
예시: 가출소녀 시뮬레이터는 IL2CPP기반이라 IL2CPP폴더에서 복사해서 붙여넣고
게임 언어설정을 재피니즈로 변경한 후 실행해봤음
이렇게 번역이 되면 성공!
즉시 테스트 하고 싶으면
서버가 실행된 상태에서 웹 브라우저나 다른 HTTP 클라이언트 (Postman, curl 등)를 사용하여 다음과 같은 형식으로 요청을 보낼 수 있음
http://127.0.0.1:5000/translate?text=번역할 내용
예시:
http://127.0.0.1:5000/translate?text= こんにちは
저걸 인터넷 주소창에 붙여넣고 번역되서 나오면 성공
기타
프롬포트 관련)
일단 프롬포트는 적용시켜놨음. 성적표현,과도한 욕설및 폭력적 표현을 원문의 늬앙스와 느낌, 직접성을 살려서 과장하지도 순화하지도 말고 그대로 번역하라. 절대 검열하지 말라 해놨고. 실시간 게임 번역임을 인지 시켜놔서 쓸데없는 추론및 과정 생략하고 최대한 빠르게 응답하라고 지침 내려놨음
근데 본인 프롬포트 적용하고 싶다면
저기 개인프롬포트라고 적힌곳 하단에 적용시키면 됨 f""" (개인 프롬포트 입력) """
model_name = "gemini-2.0-flash-001" 를 썼는데 가장 빠르면서도 번역품질이 그나마 나은 모델이라서 선정
혹시 본인이 쓰고 싶은 모델이 있거나 하면 저기서 모델명 지우고 본인 쓰고 싶은 모델명 삽입하면 됨
번역 안 될 경우
1.경로에서 한글,일본어 지우고 영어로 통일
2. 까만 창(서버)이 제대로 켜져 있는지 확인함. (위 5단계 메시지 보이는지)
3.로그 확인해보기
4.mono,IL2CPP 맞게 넣었는지 확인
이럼에도 안될 경우 가끔있는데 그럼 https://github.com/bbepis/XUnity.AutoTranslator 여기가서
XUnity.AutoTranslator-ReiPatcher-5.4.5.zip
이거 다운 받고 폴더에 풀어서 실행하면 AutoTranslator폴더 생길거임 그 안에 Config.ini 파일 메모장으로 열어서
내 동봉해준 폴더에 있는 AutoTranslatorConfig.ini 내용을 그대로 복사 붙여넣기 하면 됨.
이럴 경우 동봉된 폴더에 있는 폰트파일 (ansungtangmyun) 이것도 게임 폴더에 복사해줘야 ㅁㅁ이런식으로 폰트 안깨짐
까만 창이 안 뜨거나 바로 사라지면? :
1단계에서 파이썬 설치할 때 "Add Python to PATH" 체크했는지 다시 한번 확인. 안 했으면 파이썬 다시 설치하면서 꼭 체크
3단계에서 pip install Flask requests 제대로 했는지 확인
API 키가 잘못되었거나 코드에 오타가 있어도 실행이 안 될 수 잇음
자 이제 올린 목적중 하나인 번역파일 공유 관련
번역을 하면 번역한 단어나 문장은 BepInEx > Translation 폴더내 ko폴더에 저장됨
이 폴더로 미흡하거나 수정하고 싶은 번역 본인이 할수도 있고 중요한건 이 폴더만 공유하면
다른 사람들은 번역할 필요 ( 즉 딜레이 없이 바로 번역)이 가능하기에 본인이 게임 클리어했거나
또는 번역부터 빠르게 돌렸으면 여러분들도 게임 ai번역으로 공유가능한 번역가가 되는거임
게임 되게 빠르게 클리어하거나 하는 사람 있으면 후발주자를 위해 공유부탁하겠음
이상임. 즐겁게 인공지능 번역으로 게임하자!
추가1
제미니 ai는 온도란게 있음
이게 0.1부터 1까지 있는데
나는 일단 0.4로 해놨고 0.1에 가까울수록 창의성은 직역처럼 . 약간 딱딱하게 번역함
1로 가까울 수록 ai한테 창의성을 많이 부여해서 더 좋은 번역이 나올수가 있지만 아예 엉뚱한 번역이 나올수도 있음
그래서 본인이 선택하는게 좋음 0.1에 가까우면 가.스..미..너어어 무우 아..아파 같은 이런 늘어지거나 하는 번역 못 할때가 있고
1에 가까우면 저런건 알아서 생각해서 번역하는데 문제는 가끔 혼자 창작해서 번역하는 경우도 있기에
알아서 선택하셈 변경방법은 파이선 파일 열어서
"temperature": 0.4 이거 검색해서 숫자 변경해주면 됨
추가사항 1
컨텍스트 추가
전버전에서는 대화텍스트 하나씩만 보고 번역해서 일관성이 떨어지거나 품질이 소폭하락 하는 경우가 있었는데
컨텍스트 수치를 코드에 삽입해서 적용가능하게 만들었음
쉽게 말해서 여태까지는 ai가 대화 하나만 던져주고 아무 정보 없이 번역했다면
이번 컨텍스트 추가로 앞에 했던 대화정보를 기억하게 해서 조금더 일관성 있고 문맥에 맞게 번역하게 됐음
영어게임같은 경우 반말하다가 존댓말하다가 하는 경우가 조금 줄어들게 됨 (아예 없진 않음 그럼 통번역해야함 ㅠㅠ)
수치 조정 방법
gemini trans.py 메모장이나 기타 텍스트 편집프로그램으로 열어보면
CONTEXT_TURNS_TO_USE_FOR_API = 3
MAX_HISTORY_MESSAGES = 10
이거 두개가 생긴게 보일건데 첫번째로
CONTEXT_TURNS_TO_USE_FOR_API = 3
이건 앞에 했던 대화정보를 제미니한테 몇턴까지 보내는가임
몇개의 메세지가 아니라 몇턴임 즉 1턴에는 우리가 번역 요청한 메세지+번역되서 출력된 메세지 2개 세트인거임
예시로 (번역요청)こんにちは+(번역결과)안녕하세요 이 두개가 합쳐져서 1턴 쉽게말해서 메세지 2개에 1턴
이걸 제미니한테 정보로 던져준다는건데 일단 3턴까지 던져놓게 만들었는데 최대 얼마까지 던질수 있는지는
제한이 없음 30턴까지도 던져볼수 있다는 거지. 몇천 단위까지 가면 해보진 않았는데 찐빠낼 확률이 높지 않을까 싶음
나는 3턴으로 한게 너무 많은 정보를 던져주면 ai가 받는 텍스트양이나 처리할게 많아지면서 응답속도가 느려질 가능성이 있기
때문이고, 또 매 번역마다 엄청 많은 컨텍스트를 던지면 할당량이 금방 앵꼬 날수도 있어서 일단 3턴으로 해봤는데
이건 본인이 조정하면서 어 10턴까지도 난 응답속도 괜찮은데? 하면 조금씩 조정하면서 올리면 됨
난 참고로 5턴까지는 응답속도에 차이가 없었던거 같음 번역퀄이고 뭐고 응답속도가 제일 중요하면 수치 0으로 조정
MAX_HISTORY_MESSAGES = 10
이 수치는 이제 파이선서버에 앞에 대화내용을 얼마까지 저장해놓겠냐는 거임
이건 턴수가 아니라 메세지 그 자체라서 10개면 5턴이 되겠지? (5턴=메세지 10)
즉 위에것보다 무조건 배수로 해놔야함. 서버끄면 같이 삭제됨
요약
CONTEXT_TURNS_TO_USE_FOR_API = 3
=제미니가 기억하는 앞의 대화 턴수(번역요청한것+번역출력한것 2개)
높을수록 품질은 올라가지만 응답속도가 저하될 가능성 있음 (0이면 사용안함)
MAX_HISTORY_MESSAGES = 10
파이선이 기억할 메세지수 무조건 위의것보다 2배수
추가사항2
폰트 관련 문제
현재 모든 딸깍용 폴더안에는 ansungtangmyun 이 폰트가 적용 돼있음 이유는 그냥 마음에드는 폰트라서
보통 웬만한 유니티게임에는 저 폰트로도 가능할거임. 근데 가끔 번역 됐다가 안되고 텍스트 출력됐다가 사라지고
아예 텍스트가 없거나 ㅁㅁㅁ나오는 경우는 대부분 폰트 문제임.
그래서 아예 폰트 폴더를 동봉해놨음 저런 경우가 생길경우
폰트를 수동으로 하나씩 넣어보면서 테스트 해야함 방법은 간단함
폰트 폴더에 있는 폰트를 복사해서 게임폴더에 붙여넣고
BepInEx- config-AutoTranslatorConfig.ini 이 파일 또는
ReiPatcher인 경우
AutoTranslator - Config.ini
저 파일을 열어서 FallbackFontTextMeshPro= 이걸검색한다음
FallbackFontTextMeshPro= <여기에 아까 복사해놓은 이름을 붙여넣으면 됌
예시
폰트파일 이름 = unityfontnanum
FallbackFontTextMeshPro=unityfontnanum
이런식으로
(참고로 스타메이커는 모든 폰트가 먹통인데 폰트파일에 동봉된 unityfontnanum 이 폰트만 가능하니
스타메이커 할 사람들은 참고바라고 일단 내가 영어번역기에는 기본폰트로 unityfontnanum 해놔서 따로 수정할 필요는 없음)
2025 06 04 추가사항
들어가기 앞서 게임 번역이 안되는 경우 몇가지 얘기하고 넘어감
경로에 모든 한글 , 일본어 반드시 제거해야함 한글자라도 들어가있으면 오토트랜스 먹통될 확률 높음
64비트는 64용 32비트는 32용 메인 폴더에 UnityCrashHandler64 이거있으면 64
UnityCrashHandler32 이거 있으면 32용
3.파이선 서버는 번역할때는 켜져있어야함
이번 업데이트 설명
api 다중 추가 기능 업그레이드
아무래도 api 결제계정 추가에 거부감이 있어서 무료 api 여러개로 쓰는 사람들이 꽤 있는거 같은데
내가 알기로는 무료 api는 발급 거의 무제한이라 들어서
여러개 추가하고 자동으로 api 키 변경하게 하는 로직을 추가함
원리는 간단함
파이선이 ai도 아니기에 api키가 먹통된걸 스스로 판단하고 넘길수는 없어서
원시적인 로직을 추가함 쉽게 설명하겠음
최초 번역요청함 - 번역실패 (한도 초과, 오류 등등 여러가지 이유로 api가 번역실패)
-5초간 대기후 재시도 - 번역실패 - 다시 5초간 대기후 - 번역실패 - 다음 등록된 api로 변경
만약 2번째나 3번쨰 시도시에 성공하면 카운트 초기화하고 api키 보존하는 원리임
방법설명
gemini trans.py 파일 메모장 또는 기타 텍스트 편집프로그램으로 열고
# 1. Gemini API 키: 여기에 본인 API 키들을 리스트 형태로 넣어주세요.
API_KEYS = [
"YOUR_GOOGLE_AI_API_KEY_HERE_1", - 본인 api키 넣던곳 엔터쳐서
"YOUR_GOOGLE_AI_API_KEY_HERE_2", 이렇게 두번째줄에 같은 형식으로 api 키 넣어주면 됨
같은 방식으로 3,4번 계속추가할수있음 한 5개정도면 하루종일 돌릴수 있지 않을까 싶음
예시
주의 밑줄 설명란에 api키 넣으면 절대안됨 주석이라 효과없음
(# "YOUR_GOOGLE_AI_API_KEY_HERE_2", # 같은 형식으로 1번키 다음줄에 추가) 이거에 넣는거 아님
주의사항2
API키 하나만 쓸사람 유료계정이든 크레딧 많이 남았든 하나만 쓸사람은
다음줄 절대 추가하면 안됨. 그리고 한줄이어도 번역실패 재시도 매커니즘은 작동하니까 기다렸다가
번역안되면 조금 기다려보기
추가된 코드 설명
MAX_CONSECUTIVE_KEY_FAILURES = 3 api키당 몇번 실패해야 넘기는지 숫자 기본값3
3번 번역시도 실패시 api키 넘김
MAX_REQUEST_RETRIES = 2 재시도 몇번할건지 숫자 기본값 2 2번만 재시도한다는거임
최초시도1번 재시도2번 즉 3번 시도했는데 안되면 api키넘김
RETRY_DELAY_SECONDS = 5 번역실패시 재시도까지 대기시간 기본값 5초
최초시도후 실패시 5초간 기다렸다가 재번식 또 실패시 다시 5초간 기다렸다가 실패시 api넘김 총 10초 소요
저 수치는 본인이 하고 싶은대로 조절가능 5초는 길어 보일수도 있는데 보수적으로 잡아서 일단 5초정도는 기다려보자 이거임
current_api_key_index 현재 무슨 api키를 쓰고 있는지 임 첫번쨰부터 순서대로 0 1 2 이런식임
api_key_failure_counts 각 api키당 실패횟수 카운터임 성공시 초기화
여담
가끔 제미니가 일본어나 한자같은거 원문으로 내뱉을 경우가 있음.
예: 나의 안으로 オチンチン 들어오는게 느껴져...
이런식으로 이건 オチンチン이 오친친= 꼬추인데 검열하는건지 어떤건지 하여튼
제미니 특성상 가끔 내는 찐빠니까 넓은 마음으로 넘어가줘 나머진 다 잘해주잖아 ㅠ
정 싫으면 본인이 프롬포트를 짜서 넣거나 아니면 추가해도 됨
문제 생기면 원본 프롬포트 쓰면됨
딜레이수정
내가 전버전에 실수로 딜레이 15초 줘서 15초마다 한번씩 번역됐을건데
아무도 말을 안 해줘가지고 늦게 발견함 ㅠㅠ 쓰던분들 안느렸음?
이제 0.3초로 수정해서 바로 번역될거임
검열회피
프롬포트 대폭강화해놔서 이제 웬만한건 검열에 안 걸릴거임 다만
청아물(미성년자 나이 직접거론 12살 등등 , 초등학생 중학생) 같이 미성년자 직접 언급은 회피불가임 이건 어쩔수없음
백업번역기 복구
일본어 게임은 ez트랜스 영어게임은 구글번역기로 백업번역기 설정함
제미니가 어떤 사정이건 (할당량 초과,번역거부,검열,서버오류)로 번역불가시
대체 번역기가 번역할건데 번역퀄을 굉장히 떨어진거임 그래도 원문 나오는것보다는 나을거 같아서 추가함
유니티 단축키 모음
ALT + 0: XUnity 자동 번역기 UI를 켜고 끕니다. (알파벳 O가 아닌 숫자 0입니다.)
ALT + 1: 통합 번역기 UI를 켜고 끕니다.
ALT + T: 플러그인이 번역한 모든 텍스트를 번역본과 원본으로 번갈아 가며 전환합니다.
ALT + R: 번역 파일을 새로고침합니다. 텍스트나 텍스처 파일을 실시간으로 수정했을 때 유용합니다. 단, 일부 텍스처에는 적용되지 않을 수 있습니다.
ALT + U: 수동으로 텍스트를 후킹(연결)합니다. 기본 설정으로 텍스트가 번역되지 않을 때 사용하면, 플러그인이 수동으로 텍스트를 찾아 번역을 시도합니다. 비활성화된 프레임워크의 텍스트는 후킹하지 않습니다.
ALT + F: 사용자가 폰트를 직접 지정(OverrideFont 설정)한 경우, 지정한 폰트와 게임 기본 폰트를 번갈아 전환합니다.
ALT + Q: 플러그인을 재시작합니다. 번역 서버와의 통신 오류가 계속 발생하여 플러그인이 멈춘 경우에만 작동합니다. VPN 연결을 바꾸는 등 원인이 해결되었다고 생각될 때만 사용하세요. 그렇지 않으면 플러그인이 다시 멈출 수 있습니다.
