ДвижкиРуководстваFAQPatreonDiscordСкачать
Войти
RuneTranslate · перевод японских игр от и до
ДвижкиРуководстваСравнениеТекст на картинкахРедактор сохраненийРежим читовFAQСкачатьPatreonDiscordYouTubeКонфиденциальностьУсловияКонтакты
Все статьи
nscripter · onscripter · engine

Как переводить визуальные новеллы на NScripter / ONScripter

16 июн. 2026 г.·6 мин чтения

RuneTranslate переводит визуальные новеллы NScripter и ONScripter на английский и 30+ языков — декодируя XOR-обфусцированный nscript.dat, обрабатывая Shift-JIS / CP932 и экспортируя готовую к запуску копию. Новое; сообщайте обо всём, что не загружается.

RuneTranslate читает одно из старейших семейств движков в японских визуальных новеллах: NScripter и его близнеца с открытым кодом ONScripter. Эти классические додзин-ВН — те, что поставляются как папка загадочных файлов .dat и скриптов Shift-JIS — исторически были самыми болезненными для открытия вручную, и теми, что инструменты машинного перевода обычно пропускают. RuneTranslate определяет движок, читает текст скрипта и может даже перевести японский, вписанный в заставку и кнопки меню.

Поддержка этого движка недавно добавлена и ещё не проверена на реальных играх, поэтому если вы указываете RuneTranslate на игру NScripter / ONScripter, а он не определяет или не загружает, пожалуйста, скажите нам — подробнее об этом в конце.

Что такое NScripter и ONScripter на самом деле

NScripter — Windows-скриптовый движок ВН с закрытым кодом от Наоки Такахаси, широко использовавшийся в Японии с начала 2000-х. Его лицензия без роялти для личного и коммерческого использования, встроенный упаковщик архивов и знаменито низкоуровневый скриптовый язык сделали его основой додзин-сцены; студии вроде Nekonekosoft опирались на него почти исключительно.

ONScripter — отдельная реализация среды выполнения NScripter с открытым кодом (GPL) от программиста, известного как Ogapee. Построенная на SDL и совместимая на замену, она работает там, где NScripter не может — Linux, macOS, Android и другие — поэтому сообщество локализации приняло её (и форки вроде ONScripter-EN и Ponscripter для пропорциональных Unicode-шрифтов) как де-факто среду выполнения для выпуска переведённых сборок.

Короткая версия: 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 (или pscript.dat в Ponscripter), каждый байт XOR-нут с константой 0x84. Это не шифрование — просто защита от случайных спойлеров — но открыть в текстовом редакторе всё равно нельзя. Игры с открытым текстом поставляют скрипт как 0.utf / 0.utf.txt (UTF-8) или 0.txt / 00.txt (Shift-JIS).
  • Текст, запечённый в графический арт. Заставки, меню и кнопки часто предварительно отрисованы как растр, поэтому японский на них — пиксели, а не строки — экстрактор строк их не тронет.
  • Тонкий момент: строки, начинающиеся с латиницы, переразбираются как команды. Парсер NScripter начинает каждую строку в командном режиме. Это было безопасно, когда движок принимал только двухбайтовый японский, но строка, начинающаяся с однобайтовой латинской буквы, выглядит ровно как команда, и движок пытается выполнить её. Фикс сообщества — зарезервированный текстовый маркер (обратный апостроф ` ` в устаревшем ONScripter; ^` в Ponscripter), который принудительно задаёт текстовый режим — который наивный поиск-и-замена не добавит.

Что RuneTranslate делает сейчас

RuneTranslate относится к NScripter / ONScripter как к полноценному движку и обрабатывает обе половины проблемы:

  • Текст скрипта. Он читает скрипт игры — россыпной текстовый файл или nscript.dat, обфусцированный XOR 0x84 — декодирует диалоги Shift-JIS / CP932, перечисляет каждую переводимую строку в редакторе, а при экспорте записывает скрипт обратно в форме, которую ожидает движок, заново применяя XOR, когда оригинал использовал его. Он также вставляет однобайтовый текстовый маркер автоматически, чтобы переведённый английский не был прочитан как команда. (Скрипт, который живёт только внутри архива .nsa / .sar, без россыпной копии, пока не читается — см. ограничения.)
  • Запечённый текст на изображениях. Японский на заставках и в меню обрабатывается переводом текста на изображениях: обведите слова, распознайте их, переведите своим провайдером и запеките результат обратно, чтобы игра загрузила ваш переведённый арт.

Японский → английский — золотая середина — это то, о чём фан-переводческая история этого движка — но вы можете нацелиться на 30+ языков. На устаревших Shift-JIS скриптах не-латинская цель ограничена шрифтами, которые движок может отобразить.

Что вам нужно

  • RuneTranslate для Windows — бесплатно, каждый движок и провайдер разблокирован.
  • Папка игры NScripter или ONScripter — каталог с .exe игры (или бинарником ONScripter), её скриптом (nscript.dat или россыпной 0.txt / 0.utf) и любыми архивами .nsa / .sar.
  • Целевой язык — английский, испанский, французский, немецкий, китайский и 30+ других.
  • Один провайдер. Бесплатный Google Translate работает из коробки; у DeepL есть бесплатный тариф; OpenAI, Anthropic, локальная модель и любой OpenAI-совместимый API — со своим ключом. Эти игры насыщены диалогами, поэтому LLM или DeepL читаются лучше всего.

Шаг 1: Откройте папку игры

Запустите RuneTranslate, нажмите New project и укажите его на каталог игры. Определение запускается автоматически: nscript.dat / pscript.dat или текстового 0.utf / 0.utf.txt достаточно самого по себе. Голый Shift-JIS 0.txt или одиночный архив .nsa распознаётся только наряду с подтверждающим сигналом — бинарником ONScripter, шрифтом игры или сопутствующим архивом — чтобы избежать ложных совпадений. Ваша оригинальная папка игры никогда не изменяется.

Шаг 2: Как читается скрипт

RuneTranslate читает скрипт, который игра поставляет россыпью в своём корне, и декодирует его за вас:

  • Обфусцированный `nscript.dat` — снят XOR относительно 0x84 и прочитан как 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 — предварительно отрисованный арт, этот шаг важнее здесь, чем на большинстве движков. Откройте изображение заставки или меню, обведите каждый фрагмент японского, распознайте его, переведите тем же провайдером, и при экспорте RuneTranslate запекает перевод обратно и записывает его россыпью в экспортированную копию, чтобы движок загрузил ваш переведённый арт поверх архивного оригинала. (Ваша оригинальная папка остаётся нетронутой; SPB-сжатый арт и несколько экзотических вариантов изображений всё ещё укрепляются.) Полный разбор: перевод текста на изображениях.

Шаг 5: Экспортируйте готовую к запуску копию

Нажмите Export. RuneTranslate записывает переведённую копию игры — скрипт перекодирован в Shift-JIS / CP932 и заново обфусцирован XOR 0x84, если оригинал использовал это, записан как россыпной скрипт, который движок загружает поверх любой архивной копии, плюс любые переведённые изображения рядом. Запустите её — и она играется на вашем целевом языке, на оригинальной среде выполнения NScripter или на ONScripter / ONScripter-EN.

Известные ограничения

  • Обфускация XOR-0x84 обрабатывается, но игра с настоящим кастомным шифрованием может не открыться.
  • Скрипт, упакованный только внутри архива .nsa / .sar, без россыпного nscript.dat / 0.txt в корне, пока не извлекается — большинство игр поставляют его россыпью, но некоторые нет.
  • Перевод текста на изображениях достигает вписанных меню, заставок и кнопок, но SPB-сжатый арт и сильно стилизованные логотипы могут потребовать ручной доработки.
  • Точный движок может варьироваться по релизу — некоторые тайтлы, связанные с NScripter, были переинженерены для конкретных переизданий на Steam / консолях. Проверяйте на вашей копии.

Это совсем новое — расскажите нам, что ломается

Этот движок — свежее дополнение, ещё не обкатанное в боях. У NScripter / ONScripter десятилетия вариантов, форков и причуд от студии к студии, которые мы не все видели. Поэтому если вы указываете RuneTranslate на один из них, а он не определяет, не загружает или экспортирует то, что среда выполнения не открывает, пожалуйста, сообщите — название игры и то, как она упакована (россыпной 0.txt, nscript.dat, архивы .nsa), помогает нам укрепить это быстрее всего.

Скачайте RuneTranslate, укажите его на ту классическую ВН, которую вы собирались прочитать, и попробуйте. Про более современный движок ВН читайте разбор Ren’Py.

Похожие материалы
01

Как перевести файлы .po и .mo игры (gettext)

gettextpomoenginetutorial4 авг. 2026 г. · 7 мин
Читать →
02

Как переводить игры на движке AliceSoft System (Rance, Evenicle…)

alicesoftranceengine26 июн. 2026 г. · 6 мин
Читать →
03

Как перевести визуальные новеллы на YU-RIS на английский

yu-risengine25 июн. 2026 г. · 6 мин
Читать →

Готовы попробовать RuneTranslate?

Бесплатный тариф открывает все движки и всех провайдеров перевода. Supporter ($3/mo) открывает полную скорость.

Скачать для Windows