TyranoBuilder / TyranoScript 게임을 영어로 번역하는 방법
RuneTranslate로 TyranoBuilder / TyranoScript 비주얼 노벨을 영어로 번역하는 단계별 가이드 — data/scenario/*.ks 스크립트 추출, KAG 태그 마스킹, 캐릭터 표시 이름 번역, 그리고 플레이 가능한 HTML5 또는 Electron 빌드 내보내기.
TyranoBuilder와 그 기반이 되는 TyranoScript 엔진은 방대한 일본 인디 비주얼 노벨 카탈로그를 구동합니다 — Kirikiri와 Ren'Py에 대한 웹 기술(HTML5 / JavaScript) 대안으로, 게임을 독립형 HTML5 폴더와 Electron으로 감싼 실행 파일 두 형태로 모두 배포합니다. 그 시나리오는 Kirikiri와 동일한 KAG 스타일의 .ks 스크립트 구문을 사용하므로, 텍스트가 어디에 있는지만 알면 쉽게 접근할 수 있습니다. 이 가이드는 RuneTranslate로 TyranoBuilder 게임을 처음부터 끝까지 번역하는 과정을 안내하며, 대부분의 도구가 놓치는 엔진 고유의 부분인 캐릭터 표시 이름도 다룹니다.
필요한 것
- Windows용 RuneTranslate — 무료이며 모든 엔진과 제공자가 잠금 해제되어 있습니다.
- TyranoBuilder 게임. 독립형 HTML5 폴더(루트에 흩어진
data/및tyrano/디렉터리)이거나 Electron으로 감싼 빌드(tyrano/tyrano.js와data/scenario/*.ks를 담은resources/app.asar)입니다. RuneTranslate는 둘 다 감지합니다. - 대상 언어 — 영어, 스페인어, 프랑스어, 독일어, 포르투갈어, 러시아어, 중국어, 이탈리아어, 터키어, 베트남어, 그리고 20개 이상 더.
- 번역 제공자 하나. 비주얼 노벨은 대사가 많으므로 LLM(OpenAI / Anthropic)이나 DeepL이 대체로 가장 자연스럽게 읽힙니다. 무료 Google Translate도 별도 설정 없이 바로 작동합니다.
1단계: 게임 폴더 열기
RuneTranslate를 실행하고 새 프로젝트를 클릭한 다음 게임 디렉터리(또는 Electron으로 감싼 빌드의 경우 .exe가 있는 폴더)를 지정하세요. 엔진 감지가 자동으로 실행되어 tyrano/ 런타임과 data/scenario/ 스크립트로 TyranoBuilder를 인식합니다. Electron 빌드의 경우 RuneTranslate가 app.asar를 직접 읽으므로 아무것도 압축을 풀 필요가 없습니다. 원본 게임은 절대 수정되지 않습니다.
2단계: 문자열이 추출되는 방식
RuneTranslate는 TyranoBuilder가 텍스트를 저장하는 모든 곳에서 번역 가능한 텍스트를 끌어옵니다:
- 시나리오 스크립트 —
_preview.ks와 암호화된 빌드 게임이 의존하는system/_*.ks미러를 포함한 모든data/scenario/**/*.ks파일. - UI 및 설정 —
tyrano/lang.js인터페이스 문자열과data/system/Config.tjs. - 캐릭터 표시 이름 — 대사 위에 표시되는 화자 라벨(다음 섹션 참조).
KAG 인라인 태그 — [r] 줄바꿈, [p] 클릭 대기, [改ページ] 페이지 나눔, [font color=...], 그리고 그 밖의 일본어 이름 태그 — 는 무엇이든 제공자에 도달하기 전에 숫자 [[U#]] 자리표시자 뒤로 마스킹되었다가 내보내기 시 복원되므로 엔진의 서식이 온전하게 유지됩니다. 바이너리 또는 암호화된 .ks 파일은 UTF-8 감지를 통해 식별되며 절대 덮어쓰이지 않습니다.
3단계: 캐릭터 이름 — Tyrano 고유의 부분
TyranoBuilder 시나리오는 종종 [yuki] 같은 인라인 약어로 화자를 지칭합니다 — 이는 표시 텍스트가 아니라 캐릭터 ID입니다. RuneTranslate는 이러한 인라인 참조를 절대 다시 쓰지 않습니다(다시 쓰면 엔진의 캐릭터 조회가 망가져 장면이 충돌합니다). 대신 캐릭터의 표시 이름을 번역하고 내보내기 시 올바른 [chara_new name=... jname=...] 항목을 data/system/chara_define.ks에 주입합니다. 그 결과 화면에 표시되는 이름은 번역되고, 스크립트가 그 캐릭터를 찾는 데 사용하는 ID는 그대로 유지됩니다.
4단계: 번역하고 검토하기
제공자를 선택하고 실행하세요. OpenAI GPT-4o 또는 Anthropic Claude는 캐릭터의 목소리와 개성 있는 말투에 가장 잘 읽히고, DeepL은 내레이션에 빠르고 깔끔하며, 무료 Google Translate는 메뉴를 처리합니다. 이름이 모든 루트에서 동일하게 표시되도록 등장인물과 반복되는 용어를 먼저 용어집으로 정리하세요 — Glossary 101을 참조하세요. 모든 줄은 원문 옆의 편집기에 나타납니다. 인라인으로 편집하고(포커스를 잃을 때 또는 Ctrl+Enter로 저장), 찾기 및 바꾸기를 사용하거나, 선택적인 AI refiner를 실행해 문맥을 인식하는 2차 교정을 하세요. 무료 등급의 RuneTranslate는 유료보다 약 3–4× 느리게 제한됩니다 — 출력 품질은 동일합니다.
5단계: 플레이 가능한 빌드 내보내기
내보내기를 클릭하세요. 독립형 HTML5 게임의 경우 RuneTranslate는 번역된 .ks 스크립트, lang.js, 설정, 그리고 주입된 chara_define.ks를 게임 사본에 씁니다. Electron으로 감싼 게임의 경우 수정된 app.asar를 다시 패킹합니다. 어느 쪽이든 출력은 선택한 위치에 있는 완전하고 실행 가능한 사본입니다 — 실행하면 대상 언어로 플레이됩니다.
알려진 제한 사항
- 암호화된
.ks파일(비 UTF-8로 감지됨)은 손대지 않습니다 — 빌드가 시나리오를 암호화하면 해당 줄은 번역되지 않습니다. - 이미지 내 텍스트(로고, 손으로 그린 UI, CG 캡션)는 번역되지 않습니다 — 기계 번역 범위를 벗어납니다.
- 런타임에 대사 문자열을 만드는 커스텀 플러그인은 편집기에서 간단한 수동 수정이 필요할 수 있습니다.
이것이 예전 방식보다 쉬운 이유
수동 방식은 app.asar의 압축을 풀고, 모든 .ks 파일(놓치기 쉬운 시스템 미러 포함)을 찾고, KAG 태그를 피해 손으로 번역하고, 화자 라벨이 실제로 바뀌도록 캐릭터 이름 주입을 알아내고, 그런 다음 손상시키지 않고 asar를 다시 패킹하는 것을 의미했습니다. RuneTranslate는 이 전체 과정을 몇 번의 클릭으로 접어 넣고, 편집기를 열어 두어 표현을 직접 조절할 수 있게 합니다.
전체 기능 목록은 TyranoBuilder 엔진 페이지 보기를, 관련된 KAG 엔진은 Kirikiri 가이드를 읽어 보거나, RuneTranslate 다운로드 후 실제 게임에서 시험해 보세요.
RuneTranslate를 써볼 준비가 되셨나요?
무료 등급에서 모든 엔진과 모든 번역 제공자가 열립니다. Supporter($3/mo)로 최고 속도가 열립니다.
Windows용 다운로드