TyranoBuilder/TyranoScript (개정1)
문서 기준: AIMT PRO 1.13 계열
최종 편집 일시: 2026-06-18
이 엔진에서 확인할 것
TyranoBuilder/TyranoScript (개정1)은 해당 형식의 게임에서 추출, 번역, 적용을 진행할 때 필요한 준비와 주의사항을 안내합니다.
언제 이 문서를 보나요?
- 해당 형식의 게임을 처음 작업할 때
- 추출 또는 적용 방식이 다른 형식과 다를 때
- 엔진별 제한 때문에 결과가 예상과 다를 때
시작 전에 확인할 것
- 게임 형식이 이 문서와 맞는지 확인합니다.
- 원본 게임 파일을 보관합니다.
- 먼저 작은 범위로 추출, 번역, 적용을 시험합니다.
진행 순서
- 게임 형식과 프로젝트 위치를 확인합니다.
- 엔진별 추출 옵션을 확인합니다.
- 추출, 번역, 적용 순서로 진행합니다.
- 게임 실행 화면에서 결과를 확인합니다.
화면과 항목
주의: API 키를 비롯한 각 번역설정들은 이미 완료된 상태를 기준으로 서술합니다.
주의: 이 문서는 무료 RPG 게임 メルクリウスの種 를 활용하여 작성되었습니다.
주의: 모든 설명은 상단부/중단부/하단부 의 모든 항목들을 충실히 읽었음을 전제로 합니다.
각 기능들이나, Notepad++ 바로가기 사전준비 등에 대해선 언급하지 않습니다.
주의: 더 깔끔한 번역을 위해 폰트를 교체하는 등의 후속조치는 여기에선 다루지 않습니다.
주의: 티라노 엔진을 기반으로 작성되었으나, Kirikiri 의 경우도 대체로 비슷합니다.
주의: 티라노 자체로 내장된 시스템 용어들은 app / tyrano / lang.js 에 있습니다.
주의: 아래 모든 내용이 필수인 것은 아닙니다. 본인에게 필요한 만큼만 참고해주세요.
프로젝트 지정
프로그램 실행 직후 또는 우상단의 새 프로젝트 버튼을 클릭하면 프로젝트 지정 화면이 나타납니다.
원활한 번역을 위해선 우선 새 프로젝트 폴더를 지정할 필요가 있습니다.
기본적으로 AIMT 폴더 내 PROJECT 폴더가 지정되어 있으니 이를 활용하셔도 좋습니다.
폴더 아이콘을 눌러 디렉토리를 직접 찾아 입력해주셔도 좋고,
폴더를 프로그램 화면으로 잡아끌어 놓는 것으로도 자동적으로 입력됩니다.
확인버튼을 눌러 프로젝트로 지정하고나면 이후엔 시계버튼으로 히스토리 기능을 쓸 수 있습니다.
모쪼록 편한 방식을 이용해주세요.
언팩
게임폴더를 봤을 때 게임 데이터가 resources/app.asar 아카이브 파일로 존재한다면 먼저 언팩을 해야합니다.
도구 > Tyrano > ASAR > 언팩 을 실행하면 손쉽게 언팩을 진행할 수 있습니다.
언팩을 마친 app.asar 는 자동으로 app.asar.bak 으로 변환됩니다.
번역을 마치고나면 백업용으로 따로 챙기셔도 좋고, 지워도 괜찮습니다.
추출
하단의 추출 버튼을 눌러 추출을 진행합시다.
- 추출 : app/data/scenario 로부터 번역에 필요한 만큼만 추출합니다.
- 추출된 결과는 AIMT_Extract 에 저장됩니다.
- 적용 : 번역 결과를 본래 위치로 되돌립니다.
Tyrano 의 추출은 다음 설정들의 영향을 받습니다.
설정>추출정규식
각 설정들의 자세한 설명은 각각의 페이지를 참고해주세요.
AIMT Pro 에선 추출정규식의 예시들이 몇 종류 추가된 상태로 배포됩니다.
이 파일들을 전부 선택해서 번역하는 것은 결코 있어선 안될 일이며,
꼭 필요에 따라 선택해야만 합니다.
기본 추출 파일들을 이용하는 것만으로도 많은 게임들을 충분히 번역할 수 있습니다만,
완벽한 번역을 100% 보장할 수 없기에 가급적이면 따로 한차례 검수하시는 것이 좋습니다.
예시 정규식들이 모든 게임에 대응하는 것이 아니기에 직접 눈으로 보면서 보완할 필요가 있습니다.
기본 추출 파일들에 대한 설명은 추출 파일별 설명 을 참고해주세요.
파일 선택
Tyrano 의 데이터는 게임 개발자의 성향에 따라 구조적인 차이가 있을 수 있습니다.
번역이 필요한 텍스트와 번역하면 안되는 텍스트가 혼재해 있기도 하고, 기본적으로 제공하는 추출정규식 패턴만으로는 대응이 미비할 수도 있습니다.
따라서 번역할 텍스트를 분별하고, 부족한 패턴은 추가로 채워넣는 것이 Tyrano 번역의 주안점이라 할 수 있습니다.
가급적이면 자신의 두 눈으로 파일의 내용을 직접 읽어보고 판단하는 것이 가장 안전합니다.
기본 세팅으로 추출되는 각 파일에 대한 설명은 추출 파일별 설명 을 참고해주세요.
보통 dialog나 choice, name 정도는 대강 보고 돌리셔도 괜찮기는 합니다.
전처리
이 단계는 건너뛰어도 무방하지만 비용 이나 퀄리티 에 영향이 있을 수 있습니다.
AI 를 비롯한 번역기로 번역을 시작하기 전에 사전작업을 해두는 것이 일반적으로 좋습니다.
과도한 비용의 발생을 줄일 수 있고, 번역 퀄리티를 보다 자신의 성향에 맞춰 제어할 수 있습니다.
이 단계에선 여러가지 선택지가 존재하며, 자신과 합이 맞는 방법들을 골라 진행하시면 됩니다.
불필요한 항목 제외 또는 분리하기
Tyrano 추출은 앞서 말한 것처럼 추출정규식 에 의존합니다.
즉, 이 정규식 패턴들을 잘 이용하면 원하는 부분들만 뽑아내는 것이 가능합니다.
가령 dialog 의 경우, glink/eval/button/qte_gauge/playse 등이 선두에 있는 경우를 제외하고 있는데, 여기에 추가로 특정 커맨드가 앞에 오는 경우를 제외하고 싶다면, 해당 커맨드를 정규식에 추가하주시면 됩니다.
(?:glink|eval|button|qte_gauge) 로 네 종류를 제외하고 있다고 할 때 close_eye 라는 명령어가 선두에 오는 경우를 제외하고 싶다면 (?:glink|eval|button|qte_gauge|close_eye) 로 추가하는 느낌입니다.
물론 반대로 특정 단어가 포함되어 있거나, 맨 앞에 오는 경우만 따로 추출하는 것도 가능합니다.
정규식에 대한 부분은 요즘 GPT 나 Gemini 한테 물어보면 잘 알려주니 적극 활용해봅시다.
이러한 방식으로 번역이 불필요한 항목들을 줄여나가면 자칫 잘못된 번역으로 발생할 수 있는 각종 트러블들을 회피할 수 있음과 동시에 번역에 사용되는 비용도 절감할 수 있습니다.
단, 둘 이상의 파일이 같은 위치로부터 텍스트를 추출해왔다면 나중에 적용되는 파일의 번역으로 덮어씌워지니 주의해주세요.
분량이 작은 파일은 손번역
먼저 프로그램에 내장된 뷰어로, 혹은 외부 프로그램으로 추출된 파일들을 살펴봅니다.
그러다 보면 종종 이처럼 내용이 매우 작은 파일이 보이곤 합니다.
이런 것들을 굳이 AI 를 통해 번역하는 것은 시간도 비용도 아까울 수 있습니다.
그러니 이런 건 간단하게 직접 손번역하고 일찌감치 적용하는게 편합니다.
내장 뷰어에서 입력한다면 꼭 저장버튼을 눌러주세요.
일부는 직접 고치고 싶은데 분량이 많다면 추출 쪽을 고친 후 적용해도 좋고,
번역본 칸에 필요한만큼만 입력한 후 도구 > 빈칸채우기를 하셔도 좋습니다.
빈칸채우기를 이용하셨다면 상단의 새로고침을 눌러주셔야 뷰어가 갱신되니 참고해주세요.
만약 번역본 칸을 채우셨다면 하단에 바로 보이는 적용 버튼을,
추출본 칸을 고치셨다면 Next 를 눌러서 나오는 적용 버튼을 이용해주세요.
그 후 다시 추출하면 수정한 위치는 추출에서 제외됩니다.
중복 검사 및 번역
도구 > 추출중복 을 이용하면 추출된 파일들 사이에 중복이 얼마나 많은지 쉽게 파악할 수 있습니다. 이런 중복 항목들은 가급적 줄이고 진행하는 것이 여러 비용면에서 합리적입니다.
기능을 실행하면 파일선택과 숫자 입력칸이 나타납니다.
파일선택은 중복을 체크할 범주를 지정하는 것이고, 숫자 입력은 최소 중복횟수를 의미합니다.
파일선택 없이 진행하면 모든 파일들을 대상으로 진행되며, 위 스크린샷을 기준으로 보자면 최소 5회 이상 중복되는 항목들만 표시하라는 것이 되겠습니다.
중복횟수는 물론 중복이니만큼 최소 2회 이상을 지정해야합니다.
추출중복 중 검사 를 누르면 이처럼 어떤 파일에 어떤 항목이 몇번 있는 지 볼 수 있습니다.
똑같은 텍스트를 수십 수백번 번역해달라는 건 누가봐도 비효율적입니다.
우측의 연필 버튼을 눌러 직접 수정이 가능하며, 수정된 값은 추출파일에 직접 반영됩니다.
따라서 여기서 고친 항목들은 즉시적용 , 새로추출을 해야 추출 결과에서 제외됩니다.
물론 경우에 따라 맥락의 유지 등을 위해 수정된 상태 그대로 AI 번역에 사용하기도 하니 필요에 맞춰 진행하시면 되겠습니다.
추출중복 중 번역 을 눌렀을 땐 위와 같이 표시되는 항목들을 한번에 번역 및 추출파일에 반영시킬 수 있습니다.
편리한 기능이지만 직접 보고 고치는 것만큼 안정성이 보장되지는 못하니 번역 이후에 한번 살펴보거나, 파일선택으로 특정 파일만 대상으로 하게끔 제어합시다.
사용자사전 & 전처리
도구 > 사용자사전 에선 자주 나오는 텍스트들을 일괄로 치환하는 규칙을 설정합니다.
이 규칙들은 도구 > 전후처리 를 통해 실제 추출파일에 적용할 수 있습니다.
여기에선 위와같이 특수문자를 고쳐둘 수도 있고, 캐릭터 이름을 미리 번역해둘 수도 있습니다. 사용 방식은 각 사용자 분들에 따라 무궁무진하니 자유롭게 이용해주세요.
AI번역의 보조용으로 활용하는 경우엔 전처리 적용 이후 번역으로 넘어가시면 되겠고,
프로젝트에 적용 후 재추출하고 싶으실 땐 번개아이콘의 즉시적용 을 활용하시면 되겠습니다.
번역
번역을 시작할만큼 충분히 준비가 되었다면 우선 번역할 파일을 선택합니다.
필드나 타입은 보통 개발 관련 설정들로만 구성된 경우가 많습니다.
잘 살펴보고 꼭 필요한 것들만 선택합시다.
대부분의 경우, 번역 도중 에러가 발생하는 건 dialog 를 비롯한 덩치가 큰 파일들입니다.
dialog 처럼 전체 텍스트의 대부분을 차지하는 파일이 있다면 그것만 따로 하는게 좋습니다.
번역 도중에 발생할 수 있는 문제상황마다 그런 커다란 파일이 섞여 있으면 상당히 성가십니다.
주의: 번역에 대한 자세한 설명은 번역 을 꼭 읽어주세요.
가이드를 읽지 않아 발생하는 문제에 대해선 책임지지 않습니다.
주의: 번역 설정의 각 설정값에 대한 자세한 설명은 번역설정 을 참고해주세요.
검수
너무 잦은 오류로 번역이 중단됐거나, 혹은 번역이 정상적으로 완료 되었다면 우선 해야할 것은 도구 > 빈칸채우기 입니다.
AI는 종종 번역 도중 구멍을 만드는 리스크가 존재합니다. 이러한 구멍은 번역 적용 시 텍스트를 통채로 날려버리기 때문에 특수한 목적이 없는 한 빈칸의 존재는 피하는 것이 좋습니다.
그 후에는 도구 > 일관성검사 를 실행합니다. AI번역의 주요 문제는 같은 문장을 다채롭게 번역하는 것으로 이는 게임 플레이의 일관된 경험을 저해하는 요소가 됩니다. 원문으로 할 때는 같은 장면 같은 대사였는데, 번역으로 하니 서로 다른 대사를 하고 있으면, 이게 사실 다른 이벤트였나 하는 위화감을 조성하기도 합니다.
만약 전처리 과정에서 추출중복 번역을 진행했다면 일관성에 걸리는 항목도 그리 많지는 않을 것입니다. 하나씩 눈으로 검수하고 연필 버튼으로 손으로 수정하면 퀄리티가 크게 향상됩니다.
다만 분량이 많거나 시간이 없을 경우엔 상단의 자동선택 을 이용하는 것도 나쁘지 않습니다.
자동선택은 위와 같이 3개의 규칙을 통해 가장 적절할 것 같은 번역을 선택해줍니다.
예외문자란 일본어나, 한자, 아랍어 등 번역 결과로 원치 않는 언어가 포함된 경우를 의미합니다.
즉, 일한번역을 예시로 들자면 다음과 같은 항목을 선택한다고 보면 되겠습니다.
- 여러 항목 중 일본어가 최대한 포함되지 않은 것.
- 그 중에서 똑같이 번역된 횟수가 가장 많을 것.
- 그 중에서 리스트의 상단에 있을 것.
다음은 도구 > 이스케이프 를 실행합니다.
이는 텍스트 사이사이에 포함된 시스템명령어가 AI번역 중 훼손된 경우를 찾아냅니다.
때로는 없던게 늘어나기도 하며, 위치가 뒤섞이는 경우도 종종 있습니다.
이 기능은 외부 무료 프로그램 WinMerge 에 의존하고 있으니 양해 바랍니다.
충분한 수정이 되었다면 이처럼 (0개 라인 수정됨) 이 표시됩니다.
꼭 0까지 고칠 필요는 없으니 스스로 납득 가능한 만큼만 진행하셔도 됩니다.
주의: 이스케이프 는 설정 > 이스케이프패턴 의 영향을 받습니다.
다음은 후처리 입니다.
전처리와 마찬가지로 사용자사전 에서 지정한 패턴들로 일괄 수정하는 것이며,
좌하단의 두 버튼으로 전/후처리 및 적용 대상 폴더 (추출/번역)을 지정할 수 있습니다.
적절한 파일을 선택한 후 실행 버튼을 눌러주세요.
보통은 1회 실행으로도 충분하지만, 등록한 정규식 패턴에 따라 여러번 반복해야할 때도 있습니다.
그런 경우엔 설정 > 기타 > Pre/Postprocess Repeat 를 체크한 뒤,
전후처리 하단 숫자 입력칸에 반복할 횟수를 지정하시면 되겠습니다.
이후엔 최종 결과로 나온 번역파일을 직접 두 눈으로 검수하셔도 좋고,
그대로 게임에 적용하셔도 좋습니다.
적용
번역 및 검수를 마친 결과물을 적용 버튼을 눌러 실제 게임에 반영합니다.
번역폴더의 파일을 적용할 때는 메인화면 하단의 적용 버튼을 이용하시되,
추출폴더의 파일을 적용할 때는 Next 를 눌러 번개 아이콘의 적용 (즉시적용) 을 이용해주세요.
이후엔 번역 > 검수 > 적용 > 추출 > 번역 을 반복하며 사이클을 굴립니다.
완전한 번역의 확인은 추출 시 저장되는 파일의 존재 유무로 간단히 살펴볼 수 있습니다.
번역이 미비한 파일들을 추출된 파일들을 살펴보는 것으로 쉽게 확인이 가능합니다.
즉, 만약 추출을 시도 했을 때 특정 파일이 저장되지 않는다면
해당 파일의 모든 텍스트가 번역 완료되었다는 것을 의미합니다.
최종 목표는 게임 플레이 중 나타나는 모든 텍스트를 번역하는 것이지만,
적당히 대사만 번역하길 원하시는 분들께서는 스스로 만족할만큼만 하셔도 괜찮습니다.
충분히 번역을 마치셨다면 마지막 적용 과 함께 실제 게임데이터에 반영 후 테스트를 진행합시다.
타이틀변경
게임 윈도우 상단에 표시되는 타이틀은 Config.tjs 에 기록됩니다.
도구 > Tyrano > 타이틀변경 에서 간단하게 바꿀 수 있습니다.
플레이 테스트
직접 플레이하면서 번역되지 않은 것이 있는지,
잘못된 위치를 번역해서 오류를 만들지는 않았는지 확인합니다.
주의사항
Tyrano 번역은 스크립트 문법을 건드리지 않고, 표시 텍스트만 선별 번역한 뒤 실제 플레이로 검증하는 흐름이 가장 안전합니다.
- 모든 파일을 무조건 번역하지 말고, 실제 대사와 UI 문구가 들어 있는 파일 위주로 선별해서 진
행하는 편이 안정적입니다.
- 태그, 명령어, 변수명, 라벨명은 일반 문장처럼 번역하면 안 됩니다. 화면에 보이는 텍스트만 번역하고 제어 문법은 유지해야 합니다.
- 줄바꿈, 공백, 따옴표, 괄호 같은 문법 요소를 함부로 바꾸면 실행 오류나 연출 깨짐이 날 수 있습니다.
- 이름 치환은 일관성이 중요합니다. 인명, 지명, 시스템 용어는 초반에 기준표를 잡고 끝까지 같은 번역을 유지하는 게 좋습니다.
- 선택지, 버튼, 힌트, 짧은 UI 문구는 문맥 없이 보면 오역이 쉽습니다. 가능하면 실제 화면이나 전후 대사와 함께 확인하는게 좋기야 합니다만, 뭐든 적당히가 중요하니 만족되는 만큼만 신경쓰도록 합시다.
- 번역 후에는 반드시 실제 플레이 테스트를 해야 합니다. 특히 분기 선택지, 이름 호출, 저장/로드 전후, 화면 폭이 좁은 UI를 우선 확인하는 게 좋습니다.
- 원본 파일은 보통 백업해 두는 게 좋습니다. 원본 app.asar 은 번역이 완전히 마무리되기 전까진 잘 보관해 둡시다.
참고할만한 정보
- 패치파일 (.tpatch) 만들기 :
완료 후 확인
- 해당 엔진의 실제 게임 화면에서 번역문을 확인합니다.
- 누락되거나 깨진 문장이 있으면 엔진별 제한과 고급 옵션을 확인합니다.
주의/중요/권장
주의: 엔진별 파일 구조와 적용 방식이 다르므로 다른 엔진 문서의 절차를 그대로 적용하지 마세요.