엔진가이드자주 묻는 질문PatreonDiscord다운로드
로그인
RuneTranslate · 일본 게임을 처음부터 끝까지 번역
엔진가이드비교이미지 텍스트세이브 편집기치트 모드자주 묻는 질문다운로드PatreonDiscordYouTube개인정보 처리방침이용약관문의
모든 글
nscripter · onscripter · engine

NScripter / ONScripter 비주얼 노벨을 번역하는 방법

2026년 6월 16일·6 분 읽기

RuneTranslate는 NScripter와 ONScripter 비주얼 노벨을 영어와 30개 이상의 언어로 번역합니다 — XOR 난독화된 nscript.dat를 디코딩하고, Shift-JIS / CP932를 처리하며, 바로 실행 가능한 복사본을 내보냅니다. 새로우니 로드되지 않는 것은 신고해 주세요.

RuneTranslate는 일본 비주얼 노벨에서 가장 오래된 엔진 계열 중 하나를 읽어냅니다. NScripter와 그 오픈소스 쌍둥이 ONScripter입니다. 이 고전 동인 VN — 수수께끼 같은 .dat 파일과 Shift-JIS 스크립트로 이루어진 폴더로 배포되는 것들 — 은 역사적으로 손으로 열기 가장 고통스러웠고, 기계 번역 도구가 보통 건너뛰는 것들이었습니다. RuneTranslate는 엔진을 감지해 스크립트 텍스트를 읽고, 심지어 타이틀 화면과 메뉴 버튼에 그려진 일본어까지 번역할 수 있습니다.

이 엔진 지원은 새로 추가되었고 아직 실제 게임에서 검증되지 않았습니다. 그러니 NScripter / ONScripter 게임에 RuneTranslate를 지정했는데 감지되지 않거나 로드되지 않는다면 알려주세요 — 그것에 대해서는 마지막에 더 안내합니다.

NScripter와 ONScripter가 실제로 무엇인가

NScripter는 Naoki Takahashi가 만든 폐쇄형 Windows VN 스크립팅 엔진으로, 2000년대 초부터 일본에서 널리 쓰였습니다. 개인 및 상업용 무료 라이선스, 내장 아카이브 패커, 유명하게 저수준인 스크립팅 언어 덕분에 동인 씬의 주춧돌이 되었고, Nekonekosoft 같은 스튜디오는 거의 전적으로 이것에 기댔습니다.

ONScripter는 Ogapee로 알려진 프로그래머가 만든 별도의 오픈소스(GPL) NScripter 런타임 재구현입니다. SDL 기반이며 드롭인 호환이라 NScripter가 실행되지 못하는 곳 — Linux, macOS, Android 등 — 에서도 돌아가므로, 현지화 커뮤니티가 (그리고 비례 유니코드 폰트를 위한 ONScripter-EN, Ponscripter 같은 포크가) 번역 빌드를 배포하는 사실상의 런타임으로 채택했습니다.

요약하자면, NScripter는 게임이 작성된 원조 폐쇄형 Windows 엔진이고, ONScripter는 팬 번역가가 자기 빌드를 실행하는 개방형 크로스플랫폼 런타임입니다. RuneTranslate는 게임의 스크립트와 에셋에서 작업하므로 어느 쪽 진영의 타이틀이든 다룹니다.

왜 이 게임들이 그토록 번역하기 어려웠나

Ren’Py나 Kirikiri 같은 현대 엔진과 비교하면, NScripter / ONScripter는 엔진 시대의 특이점으로 가득한 지뢰밭입니다. 특히 네 가지가 손 번역가와 순진한 MT 도구 모두에게 벽이 되어 왔습니다:

  • Shift-JIS / CP932 인코딩. 레거시 스크립트는 Shift-JIS(CP932)입니다. 잘못 디코딩하면 깨진 글자(모지바케)가 나오고, 부주의하게 재인코딩하면 일부 옛 런타임이 메모리를 손상시켜 충돌합니다. 현대 네이티브 스크립트는 UTF-8일 수 있지만 구작 목록은 CP932입니다.
  • XOR-`0x84` 난독화된 `nscript.dat`. 컴파일된 스크립트는 보통 nscript.dat(또는 Ponscripter의 pscript.dat)에 있으며, 모든 바이트가 상수 0x84에 대해 XOR됩니다. 암호화가 아니라 — 우연한 스포일러를 막는 장치일 뿐이지만 — 여전히 텍스트 편집기로 열 수 없습니다. 평문 게임은 스크립트를 대신 0.utf / 0.utf.txt(UTF-8)나 0.txt / 00.txt(Shift-JIS)로 배포합니다.
  • 이미지 아트에 새겨진 텍스트. 타이틀 화면, 메뉴, 버튼은 흔히 미리 렌더링된 비트맵이라 그 위의 일본어는 문자열이 아니라 픽셀입니다 — 문자열 추출기가 손댈 수 없습니다.
  • 미묘한 문제: 라틴으로 시작하는 줄이 명령으로 재파싱된다. NScripter의 파서는 모든 줄을 명령 모드로 시작합니다. 엔진이 두 바이트 일본어만 받던 때는 안전했지만, 한 바이트 라틴 문자로 시작하는 줄은 딱 명령처럼 보여 엔진이 그것을 실행하려 듭니다. 커뮤니티의 해결책은 텍스트 모드를 강제하는 예약된 텍스트 마커(레거시 ONScripter의 백틱 ` `, Ponscripter의 ^`)인데 — 순진한 찾기-바꾸기는 그것을 추가하지 않습니다.

RuneTranslate가 지금 하는 일

RuneTranslate는 NScripter / ONScripter를 일급 엔진으로 다루며 문제의 양쪽을 모두 처리합니다:

  • 스크립트 텍스트. 게임의 스크립트 — 낱개 평문 파일이나 XOR 0x84로 난독화된 nscript.dat — 를 읽어 Shift-JIS / CP932 대사를 디코딩하고, 모든 번역 가능한 줄을 편집기에 나열하며, 내보내기 시 엔진이 기대하는 형태로 스크립트를 다시 씁니다 — 원본이 XOR를 썼으면 다시 적용합니다. 또한 번역된 영어가 명령으로 잘못 읽히지 않도록 한 바이트 텍스트 마커를 자동으로 삽입합니다. (.nsa / .sar 아카이브 안에만 있고 낱개 사본이 없는 스크립트는 아직 읽히지 않습니다 — 한계 참고.)
  • 새겨진 이미지 텍스트. 타이틀 화면과 메뉴의 일본어는 이미지 텍스트 번역이 처리합니다. 단어에 상자를 치고, 인식하고, 본인 제공자로 번역한 뒤, 결과를 다시 구워 넣어 게임이 번역된 아트를 불러오게 합니다.

일본어 → 영어가 최적 지점입니다 — 이 엔진의 팬 번역 역사가 바로 그것에 관한 것입니다 — 하지만 30개 이상의 언어를 대상으로 삼을 수 있습니다. 레거시 Shift-JIS 스크립트에서는 비라틴 대상이 엔진이 렌더링할 수 있는 폰트에 의해 제한됩니다.

필요한 것

  • Windows용 RuneTranslate — 무료. 모든 엔진과 제공자가 열려 있습니다.
  • NScripter나 ONScripter 게임 폴더 — 게임의 .exe(또는 ONScripter 바이너리), 그 스크립트(nscript.dat, 또는 낱개 0.txt / 0.utf), 그리고 .nsa / .sar 아카이브가 있는 디렉터리.
  • 대상 언어 — 영어, 스페인어, 프랑스어, 독일어, 중국어, 그 외 30개 이상.
  • 제공자 하나. 무료 Google Translate는 바로 작동하고, DeepL은 무료 등급이 있으며, OpenAI, Anthropic, 로컬 모델, 모든 OpenAI 호환 API는 직접 키를 준비해야 합니다. 이 게임들은 대사가 많으니 LLM이나 DeepL이 가장 잘 읽힙니다.

1단계: 게임 폴더 열기

RuneTranslate를 실행하고 새 프로젝트를 클릭한 뒤 게임 디렉터리를 지정하세요. 감지가 자동으로 실행됩니다. nscript.dat / pscript.dat, 또는 평문 0.utf / 0.utf.txt는 그것만으로 충분합니다. 밋밋한 Shift-JIS 0.txt나 외로운 .nsa 아카이브는 뒷받침하는 신호 — ONScripter 바이너리, 게임 폰트, 또는 딸린 아카이브 — 와 함께일 때만 인식되어 오탐을 피합니다. 원본 게임 폴더는 절대 수정되지 않습니다.

2단계: 스크립트가 읽히는 방식

RuneTranslate는 게임이 루트에 낱개로 배포하는 스크립트를 읽어 여러분을 위해 디코딩합니다:

  • 난독화된 `nscript.dat` — 0x84에 대해 XOR 해제해 Shift-JIS로 읽으므로, 별도의 nsdec 단계를 건너뜁니다.
  • 평문 스크립트 — 0.utf / 0.utf.txt(UTF-8)나 0.txt / 00.txt(Shift-JIS)를 직접 읽습니다.
  • 아카이브된 이미지 — 이미지 텍스트 단계를 위해 게임의 .nsa / .sar 아카이브에서 끌어옵니다. (스크립트 자체는 낱개 루트 파일에서 읽으며, 아카이브 안에만 패킹된 스크립트는 아직 읽히지 않습니다.)

대사와 표시 텍스트는 편집기에 파일별로 묶여 나열됩니다. 엔진 마크업과 명령 토큰은 제공자에 닿기 전에 숫자 플레이스홀더 뒤에 가려졌다가 나갈 때 복원되며 — 필요한 곳에 한 바이트 텍스트 마커가 적용되어 엔진이 번역된 줄을 명령으로 착각하지 않습니다.

3단계: 번역하기

제공자를 골라 실행하세요. LLM(OpenAI / Anthropic)은 캐릭터의 목소리에 가장 좋고, DeepL은 서술에 빠르고 깔끔하며, 무료 Google Translate는 짧은 메뉴 문자열에 적합합니다. 이름이 똑같이 렌더링되도록 등장인물을 미리 용어집에 넣으세요 — 용어집 101을 참고하세요. 끝나면 AI 리파이너로 선택적 패스를 돌려, 각 줄을 문맥 속에서 다시 읽고 MT가 남기기 쉬운 딱딱하고 직역적인 표현을 조입니다.

4단계: 이미지 속 텍스트 번역하기

NScripter UI의 상당수가 미리 렌더링된 아트라서, 이 단계는 대부분의 엔진보다 여기서 더 중요합니다. 타이틀이나 메뉴 이미지를 열고 각 일본어 조각에 상자를 치고, 인식하고, 같은 제공자로 번역하면, 내보내기 시 RuneTranslate가 번역을 다시 구워 넣어 내보낸 복사본에 낱개로 씁니다 — 그래서 엔진이 아카이브된 원본 대신 번역된 아트를 불러옵니다. (원본 폴더는 손대지 않은 채로 남고, SPB 압축 아트와 몇몇 이색 이미지 변형은 아직 안정화 중입니다.) 전체 안내: 이미지 텍스트 번역.

5단계: 바로 실행 가능한 복사본 내보내기

내보내기를 클릭하세요. RuneTranslate는 번역된 게임 복사본을 씁니다 — 스크립트를 Shift-JIS / CP932로 재인코딩하고 원본이 썼으면 XOR 0x84로 다시 난독화해, 엔진이 아카이브된 복사본보다 우선 불러오는 낱개 스크립트로 쓰며, 번역된 이미지가 있으면 그 옆에 함께 씁니다. 실행하면 원조 NScripter 런타임에서든 ONScripter / ONScripter-EN에서든 대상 언어로 플레이됩니다.

알려진 한계

  • XOR-0x84 난독화는 처리되지만, 진짜 커스텀 암호화를 쓴 게임은 열리지 않을 수 있습니다.
  • 루트에 낱개 nscript.dat / 0.txt 없이 .nsa / .sar 아카이브 안에만 패킹된 스크립트는 아직 추출되지 않습니다 — 대부분의 게임은 낱개로 배포하지만 일부는 그렇지 않습니다.
  • 이미지 텍스트 번역은 그려진 메뉴, 타이틀, 버튼에 닿지만, SPB 압축 아트와 짙게 양식화된 로고는 수동 손질이 필요할 수 있습니다.
  • 정확한 엔진은 출시작마다 다를 수 있습니다 — NScripter와 연관된 일부 타이틀은 특정 Steam / 콘솔 재출시를 위해 재설계되었습니다. 여러분의 복사본에서 검증하세요.

갓 나왔습니다 — 무엇이 깨지는지 알려주세요

이 엔진은 새로 추가된 것이며 아직 실전 검증되지 않았습니다. NScripter / ONScripter는 우리가 다 보지 못한 수십 년의 변형, 포크, 스튜디오별 특이점을 지녔습니다. 그러니 그중 하나에 RuneTranslate를 지정했는데 감지되지 않거나, 로드되지 않거나, 런타임이 열지 못하는 무언가를 내보낸다면 신고해 주세요 — 게임 이름과 패킹 방식(낱개 0.txt, nscript.dat, .nsa 아카이브)이 우리가 가장 빨리 안정화하는 데 도움이 됩니다.

RuneTranslate 다운로드하고 읽으려던 그 고전 VN에 지정해 시험해 보세요. 더 현대적인 VN 엔진은 Ren’Py 가이드를 읽어보세요.

관련 읽을거리
01

게임의 .po 및 .mo 파일을 번역하는 방법 (gettext)

gettextpomoenginetutorial2026년 8월 4일 · 7 분
읽기 →
02

AliceSoft System 게임 번역하는 방법 (Rance, Evenicle…)

alicesoftranceengine2026년 6월 26일 · 6 분
읽기 →
03

YU-RIS 비주얼 노벨을 영어로 번역하는 방법

yu-risengine2026년 6월 25일 · 6 분
읽기 →

RuneTranslate를 써볼 준비가 되셨나요?

무료 등급에서 모든 엔진과 모든 번역 제공자가 열립니다. Supporter($3/mo)로 최고 속도가 열립니다.

Windows용 다운로드