YU-RIS 비주얼 노벨을 영어로 번역하는 방법
RuneTranslate는 YU-RIS(raiL-soft) 비주얼 노벨을 영어와 30개 이상의 언어로 번역합니다 — .ypf 패키지와 컴파일된 YSTB 스크립트를 순수 TypeScript로 읽고, 각 스크립트의 XOR 키를 복구하며, 번역된 스크립트를 낱개로 내보냅니다. 최선의 노력.
RuneTranslate는 팬 번역가에게 오랫동안 벽이었던 또 다른 엔진을 읽어냅니다. YU-RIS, 수백 편의 동인 및 상업 일본 비주얼 노벨 뒤에 있는 raiL-soft의 Windows 스크립팅 엔진입니다. YU-RIS 게임 폴더를 열어 .ypf 아카이브로 가득 찬 pac/ 디렉터리와 안에 읽을 것이 없는 ysbin.ypf를 발견하고 포기한 적이 있다면 — 바로 그 엔진입니다. RuneTranslate는 이를 감지해 순수 TypeScript로 그 패키지를 열고, 컴파일된 스크립트에서 대사를 읽어내, 게임이 스스로 불러오는 번역된 복사본을 내보냅니다.
먼저 솔직한 부분부터. YU-RIS 지원은 갓 만들어졌고 아직 많은 실제 게임에서 검증되지 않았습니다. 그러니 YU-RIS 게임에 RuneTranslate를 지정했는데 감지되지 않거나, 열리지 않거나, 게임이 불러오지 못하는 무언가를 내보낸다면 알려주세요 — 마지막에 더 안내합니다.
YU-RIS 엔진이 실제로 무엇인가
YU-RIS(때로 ゆーりす로 표기)는 raiL-soft의 일본 비주얼 노벨 스크립팅 엔진입니다. 완성된 게임은 Windows .exe에 아트, 오디오, 스크립트를 담은 .ypf 패키지 아카이브 세트 — 보통 pac/ 폴더에 — 를 더한 것입니다. 시나리오는 YSTB라는 바이너리 형식으로 컴파일되어, ysbin.ypf 안의 .ybn 파일(내부 경로는 ysbin/yst00000.ybn 같은 형태)로 저장됩니다. 그 “패킹된 아카이브 안의 컴파일된 시나리오” 조합이 바로 이 엔진의 방대한 구작 목록을 일반 기계 번역 도구의 손이 닿지 않는 곳에 두어 온 것입니다.
왜 YU-RIS 게임이 그토록 번역하기 어려웠나
Ren’Py 같은 소스 기반 엔진과 비교하면, YU-RIS는 텍스트를 여러 겹 뒤에 숨깁니다:
- 모든 것이 `.ypf` 패키지 안에 있다. 스크립트는 낱개가 아니라 — 난독화된 파일명과 zlib 압축 항목으로 YU-RIS 자체 컨테이너에 패킹되어 있습니다. 그 형식을 읽는 리더가 없으면 편집할 것이 없습니다.
- 시나리오는 텍스트가 아니라 컴파일된 것.
.ybn은 네 섹션(명령 스트림, 인자 서술자 테이블, 문자열 테이블, 줄 번호)으로 나뉜 바이너리YSTB컨테이너입니다. 일본어는 서술자가 참조하는 문자열 테이블에 있습니다. - 스크립트는 XOR 암호화되어 있다. 각
YSTB의 네 섹션은 게임마다 다른 4바이트 키로 뒤섞여 있습니다. 어떤 텍스트든 읽으려면 먼저 그것을 복구해야 합니다. - 모든 문자열이 대사인 것은 아니다. 문자열 테이블에는 스크립트가 비교하는 변수 이름, 에셋 경로, 표현식 피연산자도 있어 — 하나를 번역하면 흐름이 조용히 깨집니다.
결과적으로, 유창하게 읽는 사람조차도 한 줄이 번역되기 전에 독점 아카이브를 풀고, 컴파일된 바이너리를 파싱하고, XOR를 깨고, 대사와 엔진 내부 문자열을 구분해야 합니다. 그것이 RuneTranslate가 여러분을 위해 해내는 작업입니다.
RuneTranslate가 지금 하는 일
RuneTranslate는 전체 파이프라인을 순수 TypeScript로 처리합니다 — 외부 도구도, Python 사이드카도, 설치할 것도 없습니다:
- `.ypf` 패키지를 직접 읽습니다. 아카이브를 자체적으로 열고 항목을 압축 해제하며 난독화된 파일명을 복구합니다 — GARbro 없이요. 이미 게임을 직접 풀어두셨나요?
.ybn스크립트로 이루어진 낱개ysbin/폴더도 감지됩니다. - 컴파일된 `YSTB` 스크립트를 파싱하고 암호화를 깹니다. 각 스크립트의 4바이트 XOR 키를 인자 서술자 테이블에서 자동으로 복구하고, Shift-JIS 문자열 테이블을 디코딩하며, 모든 일본어 줄을 스크립트 파일별로 묶어 나열합니다.
- 대사와 기계장치를 구분합니다. 변수 이름, 에셋 경로, 표현식 피연산자는 보이되 기본적으로 제외된 빨간색 선택 항목으로 표시되어, 이야기 로직이 비교하는 문자열을 번역할 일이 없습니다.
- 인라인 제어 코드를 보존합니다. 백슬래시 코드(줄바꿈, 색상, 루비)와 대괄호 태그는 제공자가 보기 전에 숫자 플레이스홀더 뒤에 가려졌다가 정확히 복원됩니다.
- 재패킹 없이 내보냅니다. 번역된 각 스크립트를 재구축해 — 더 길거나 짧은 번역이 들어맞도록 문자열 테이블 오프셋을 패치하고 XOR 키를 다시 적용해 —
.ybn을 원래 아카이브 경로에 낱개로 씁니다. YU-RIS는 패킹된 복사본보다 낱개 파일을 선호하므로 게임은 그냥 여러분의 번역을 읽습니다 — Kirikiri와 Artemis 흐름과 같은 낱개 파일 오버라이드입니다.
일본어 → 영어가 최적 지점이지만 30개 이상의 언어를 대상으로 삼을 수 있습니다.
필요한 것
- Windows용 RuneTranslate — 무료. 모든 엔진과 제공자가 열려 있습니다(무료 등급은 기능이 아니라 속도가 조절됩니다).
- YU-RIS 게임 폴더 — 게임의
yu-ris.exe와 그.ypf패키지(보통pac/에 있고 스크립트는ysbin.ypf에 있음)가 있는 디렉터리. - 대상 언어 — 영어, 스페인어, 프랑스어, 독일어, 중국어, 그 외 30개 이상.
- 제공자 하나. 무료 Google Translate는 바로 작동하고, DeepL은 무료 등급이 있으며, OpenAI, Anthropic, 로컬 모델, 모든 OpenAI 호환 API는 직접 키를 준비해야 합니다. YU-RIS 게임은 대사가 많으니 LLM이나 DeepL이 가장 잘 읽힙니다.
1단계: 게임 폴더 열기
RuneTranslate를 실행하고 새 프로젝트를 클릭한 뒤 YU-RIS 게임 디렉터리를 지정하세요. 감지가 자동으로 실행됩니다 — .ypf 패키지(또는 .ybn 스크립트로 이루어진 낱개 ysbin/ 폴더)를 보면 프로젝트를 YU-RIS로 인식합니다. 원본 게임 폴더는 절대 수정되지 않습니다.
2단계: 스크립트가 읽히는 방식
RuneTranslate는 .ypf 패키지를 열고 ysbin.ypf에서 컴파일된 YSTB 스크립트를 끄집어내, 각 스크립트의 XOR 키를 복구하고 Shift-JIS 문자열 테이블을 디코딩합니다 — 모든 일본어 줄을 파일별로 묶어 편집기에 나열합니다. 엔진 내부 문자열(변수 이름, 에셋 경로, 표현식 피연산자)은 보이되 기본적으로 제외되며, 인라인 제어 코드는 숫자 플레이스홀더 뒤에 가려져 제공자가 절대 훼손하지 못합니다.
3단계: 번역하기
제공자를 골라 실행하세요. LLM(OpenAI / Anthropic)은 캐릭터의 목소리와 어조에 가장 좋고, DeepL은 서술에 빠르고 깔끔하며, 무료 Google Translate는 짧은 메뉴 문자열과 선택지에 적합합니다. 이름이 똑같이 렌더링되도록 등장인물을 미리 용어집에 넣으세요 — 용어집 101을 참고하세요. 끝나면 AI 리파이너로 선택적 패스를 돌려, 각 줄을 문맥 속에서 다시 읽고 MT가 남기기 쉬운 딱딱하고 직역적인 표현을 조입니다.
4단계: 바로 실행 가능한 복사본 내보내기
내보내기를 클릭하세요. RuneTranslate는 재구축된 각 .ybn을 원래 아카이브 경로에 낱개로 놓은 번역된 게임 복사본을 손대지 않은 .ypf 패키지와 함께 씁니다. 재패킹은 없습니다 — YU-RIS는 패킹된 원본보다 낱개 스크립트를 우선 불러오므로 게임은 그냥 여러분의 번역을 읽습니다. 실행하면 대상 언어로 플레이됩니다.
알려진 한계
- YU-RIS 문자열은 Shift-JIS(cp932). 영어와 그 밖의 cp932로 표현 가능한 대상은 깔끔하게 내보내집니다. cp932 바깥 대상 — 확장 키릴, 한국어, 번체 중국어 — 은 아직 자동화되지 않은 게임 폰트/인코딩 해킹이 필요합니다.
- 낱개 파일 오버라이드가 기대되는 로드 경로이며, 엔진이 패킹된 복사본보다 낱개 스크립트를 선호하기 때문에 대부분의 YU-RIS 게임에서 작동합니다. 그것을 지키지 않는 드문 타이틀에서는 내보내기를 조정해야 할 수 있습니다 — 정확히 우리가 아직 확인 중인 실제 게임 동작입니다.
- 이미지 아트에 새겨진 텍스트 — 비트맵으로 그려진 타이틀 화면이나 메뉴 버튼 — 는 스크립트 텍스트가 아니라 픽셀입니다. 그것은 이미지 텍스트 번역을 참고하세요.
- 정확한 아카이브와 스크립트 변형은 출시작마다 다를 수 있습니다. 항상 여러분의 특정 복사본에서 검증하세요.
갓 나왔습니다 — 무엇이 깨지는지 알려주세요
다시 강조하자면, YU-RIS 지원은 새로 추가된 것이며 아직 많은 실제 게임에서 테스트되지 않았습니다. .ypf 리더, YSTB 파서, 키 복구는 만들어져 단위 테스트되었지만, 이 엔진은 우리가 다 보지 못한 스튜디오별 변형이 여러 해에 걸쳐 있습니다. 그러니 YU-RIS 게임에 RuneTranslate를 지정했는데 감지되지 않거나, 아카이브가 열리지 않거나, 아무것도 추출하지 못하거나, 게임이 불러오지 못하는 무언가를 내보낸다면 Discord에 신고해 주세요 — 게임 이름과 패킹 방식이 우리가 가장 빨리 안정화하는 데 도움이 됩니다.
RuneTranslate 다운로드하고 읽고 싶었던 그 YU-RIS VN에 지정해 시험해 보세요. 또 다른 아카이브 기반 VN 엔진은 다음으로 Artemis 가이드를 읽어보세요.
RuneTranslate를 써볼 준비가 되셨나요?
무료 등급에서 모든 엔진과 모든 번역 제공자가 열립니다. Supporter($3/mo)로 최고 속도가 열립니다.
Windows용 다운로드
