지원 엔진 · TyranoBuilder / TyranoScript
TyranoBuilder(그리고 그 기반인 TyranoScript)는 itch.io, DLsite, Steam의 인디 릴리스에서 인기 있는 일본 비주얼 노벨 엔진입니다. RuneTranslate는 Electron 래핑 빌드(tyrano/tyrano.js + data/scenario/*.ks가 들어 있는 resources/app.asar)와 HTML5 독립 실행 빌드(루트의 느슨한 파일) 모두를 감지합니다. 모든 .ks 시나리오 파일(암호화 빌드 게임이 쓰는 _preview.ks와 system/_*.ks 미러 포함), UI 문자열용 tyrano/lang.js, 설정 문자열용 data/system/Config.tjs를 번역하고, 등장인물 표시 이름을 chara_define.ks 블록에 주입합니다 — 인라인 [<JP-id>] 화자 약어가 자동으로 제대로 된 [chara_new name=... jname=...] 항목이 됩니다. 첫 번역 배치가 실행되기 전에 등장인물 목록의 모든 이름을 특정 표기로 고정하려면 Supporter 등급 용어집 기능과 함께 사용하세요. 원본 언어는 기본이 일본어이지만 프로젝트별 설정입니다 — 중국어, 한국어, 영어 등 모두 작동하므로 일본어가 아닌 Tyrano 빌드도 같은 방식으로 추출됩니다.
TyranoBuilder의 등장인물 이름 주입은 이미 화자의 깔끔한 후보 목록을 제공합니다 — 하지만 스크립트의 나머지 모든 것(지명, 조직 이름, 시그니처 술법/주문 이름)은 기본적으로 여전히 흔들립니다. 그것들을 용어집에 추가하세요. 인라인 KAG 태그([r], [p], [font color=...])는 태그로 마스킹되어 용어집 치환이 인라인 지시문을 실수로 뭉개는 일이 없습니다 — 손으로 편집한 tyrano 번역의 흔한 실패 유형입니다. 용어집 기초 →
게임 루트를 RuneTranslate로 지정하세요. 엔진 감지는 두 가지 구조를 모두 처리합니다: Electron 래핑(tyrano/가 들어 있는 resources/app.asar)과 HTML5 독립 실행(루트의 data/scenario/). Electron 빌드의 경우 RuneTranslate가 @electron/asar을 통해 app.asar을 투명하게 읽고 다시 패킹합니다.
RuneTranslate는 data/scenario/**/*.ks(암호화 빌드가 쓰는 _preview.ks와 system/_*.ks 미러 포함), 엔진 UI용 tyrano/lang.js, 설정 수준 문자열용 data/system/Config.tjs를 스캔합니다. 인라인 KAG 태그([r], [p], [改ページ], [font color])와 일본어 이름 태그는 유니코드를 인식하는 정규식으로 마스킹되어 LLM이 손상시킬 수 없습니다.
시나리오가 일치하는 chara_define.ks 항목 없이 인라인 [<JP-id>] 화자 약어를 쓰면, RuneTranslate가 [chara_new name="<EN>" jname="<JP>"] 항목이 담긴 chara_define.ks 블록을 생성합니다 — 엔진의 캐릭터 조회는 보존됩니다. 인라인 참조는 건드리지 않으므로 세이브와 CG 갤러리가 여전히 일치합니다.
HTML5 빌드의 경우 RuneTranslate가 수정된 .ks 파일을 제자리에 씁니다. Electron 빌드의 경우 수정된 app.asar이 다시 패킹됩니다. 바이너리 / 암호화된 .ks 파일(UTF-8 감지로 판별)은 절대 덮어쓰지 않습니다. 번역된 빌드는 TyranoBuilder에서 일본어 원본과 똑같이 실행됩니다.