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

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

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

RuneTranslate переводит визуальные новеллы YU-RIS (raiL-soft) на английский и 30+ языков — читая пакеты .ypf и скомпилированные скрипты YSTB на чистом TypeScript, восстанавливая XOR-ключ каждого скрипта и экспортируя переведённые скрипты россыпью. Best-effort.

RuneTranslate читает ещё один движок, который долго был стеной для фан-переводчиков: YU-RIS, Windows-скриптовый движок от raiL-soft, стоящий за сотнями додзин- и коммерческих японских визуальных новелл. Если вы когда-нибудь открывали папку игры YU-RIS, находили каталог pac/, полный архивов .ypf, и ysbin.ypf, внутри которого ничего не читается, и сдавались — это тот самый движок. RuneTranslate определяет его, открывает эти пакеты на чистом TypeScript, читает диалоги из скомпилированных скриптов и экспортирует переведённую копию, которую игра загружает сама.

Сначала честная часть: поддержка YU-RIS свеженабрана и ещё не проверена на многих реальных играх. Поэтому если вы указываете RuneTranslate на игру YU-RIS, а он не определяет, не открывает или экспортирует то, что игра не загружает, пожалуйста, скажите нам — подробнее в конце.

Что такое движок YU-RIS на самом деле

YU-RIS (иногда пишется ゆーりす) — японский скриптовый движок визуальных новелл от raiL-soft. Готовая игра — это Windows-.exe плюс набор пакетных архивов .ypf — обычно в папке pac/ — хранящих арт, звук и скрипты. Сценарий скомпилирован в бинарный формат под названием YSTB, хранящийся как файлы .ybn внутри ysbin.ypf (по внутренним путям вроде ysbin/yst00000.ybn). Именно эта комбинация «скомпилированный сценарий внутри упакованного архива» держала большой бэк-каталог движка вне досягаемости для обычных инструментов машинного перевода.

Почему игры YU-RIS было так трудно переводить

По сравнению с движком на исходниках вроде Ren’Py, YU-RIS прячет свой текст за несколькими слоями:

  • Всё живёт внутри пакетов `.ypf`. Скрипты не россыпью — они упакованы в собственный контейнер YU-RIS с обфусцированными именами файлов и записями, сжатыми zlib. Без ридера для этого формата редактировать нечего.
  • Сценарий скомпилирован, а не текст. .ybn — это бинарный контейнер YSTB, разбитый на четыре секции (поток инструкций, таблица дескрипторов аргументов, таблица строк, номера строк). Японский живёт в таблице строк, на которую ссылаются дескрипторы.
  • Скрипты зашифрованы XOR. Четыре секции каждого YSTB заскремблированы 4-байтовым ключом, который варьируется от игры к игре. Его нужно восстановить, прежде чем любой текст станет читаемым.
  • Не каждая строка — диалог. Таблица строк также хранит имена переменных, пути к ресурсам и операнды выражений, с которыми скрипт сравнивает — переведи один, и логика тихо ломается.

Итог: даже свободно читающий должен распаковать проприетарный архив, разобрать скомпилированный бинарник, восстановить ключ XOR, затем отличить диалог от внутренних строк движка — прежде чем будет переведена хоть одна строка. Это та работа, что RuneTranslate делает за вас.

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

RuneTranslate обрабатывает весь конвейер на чистом TypeScript — никаких внешних инструментов, никакого Python-сайдкара, ничего устанавливать не надо:

  • Читает пакеты `.ypf` напрямую. Он открывает архивы внутри себя, распаковывает записи и восстанавливает обфусцированные имена файлов — без GARbro. Уже распаковали игру сами? Россыпная папка ysbin/ со скриптами .ybn тоже определяется.
  • Парсит скомпилированные скрипты `YSTB` и взламывает шифрование. Он восстанавливает 4-байтовый XOR-ключ каждого скрипта автоматически из таблицы дескрипторов аргументов, декодирует таблицу строк Shift-JIS и перечисляет каждую японскую строку, сгруппированную по файлу скрипта.
  • Отличает диалог от механики. Имена переменных, пути к ресурсам и операнды выражений выводятся, но исключены по умолчанию как красные строки для опционального включения, поэтому вы никогда не переведёте строку, с которой сравнивает логика сюжета.
  • Сохраняет инлайн-управляющие коды. Обратно-слэшевые коды (перевод строки, цвет, руби) и теги в скобках маскируются за числовыми плейсхолдерами, прежде чем провайдер их увидит, затем восстанавливаются точно.
  • Экспортирует без переупаковки. Он пересобирает каждый переведённый скрипт — патча смещения таблицы строк, чтобы более длинный или короткий перевод поместился, и заново применяя XOR-ключ — затем записывает .ybn россыпью по его оригинальному пути в архиве. YU-RIS предпочитает россыпной файл упакованной копии, поэтому игра просто читает ваш перевод — то же россыпное переопределение файлов, что в наших потоках Kirikiri и Artemis.

Японский → английский — золотая середина, но вы можете нацелиться на 30+ языков.

Что вам нужно

  • RuneTranslate для Windows — бесплатно; каждый движок и провайдер разблокирован (бесплатный тариф ограничен по скорости, не по функциям).
  • Папка игры YU-RIS — каталог с yu-ris.exe игры и её пакетами .ypf (обычно в pac/, со скриптами в ysbin.ypf).
  • Целевой язык — английский, испанский, французский, немецкий, китайский и 30+ других.
  • Один провайдер. Бесплатный Google Translate работает из коробки; у DeepL есть бесплатный тариф; OpenAI, Anthropic, локальная модель и любой OpenAI-совместимый API — со своим ключом. Игры YU-RIS насыщены диалогами, поэтому LLM или DeepL читаются лучше всего.

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

Запустите RuneTranslate, нажмите New project и укажите его на каталог игры YU-RIS. Определение запускается автоматически — когда оно видит пакет .ypf (или россыпную папку ysbin/ со скриптами .ybn), оно распознаёт проект как YU-RIS. Ваша оригинальная папка игры никогда не изменяется.

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

RuneTranslate открывает пакеты .ypf, вытаскивает скомпилированные скрипты YSTB из ysbin.ypf, восстанавливает XOR-ключ каждого скрипта и декодирует таблицу строк Shift-JIS — перечисляя каждую японскую строку в редакторе, сгруппированную по файлу. Внутренние строки движка (имена переменных, пути к ресурсам, операнды выражений) показываются, но исключены по умолчанию, а инлайн-управляющие коды маскируются за числовыми плейсхолдерами, чтобы провайдер их никогда не искажал.

Шаг 3: Переведите

Выберите провайдера и запустите. LLM (OpenAI / Anthropic) лучше всего для голоса персонажа и тона, DeepL быстр и чист для повествования, а бесплатный Google Translate годится для коротких строк меню и вариантов выбора. Внесите ваш состав в глоссарий заранее, чтобы имена отображались одинаково — см. Глоссарий 101. Когда закончите, необязательный проход AI-доработчика перечитывает каждую строку в контексте и подтягивает жёсткие, буквальные формулировки, которые MT склонен оставлять.

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

Нажмите Export. RuneTranslate записывает переведённую копию игры с каждым пересобранным .ybn, положенным россыпью по его оригинальному пути в архиве, наряду с нетронутыми пакетами .ypf. Переупаковки нет — YU-RIS загружает россыпные скрипты в предпочтение к упакованным оригиналам, поэтому игра просто читает ваши переводы. Запустите её — и она играется на вашем целевом языке.

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

  • Строки YU-RIS — это Shift-JIS (cp932). Английский и другие цели, представимые в cp932, экспортируются чисто. Цели вне cp932 — расширенная кириллица, корейский, традиционный китайский — требуют хака шрифта/кодировки игры, который пока не автоматизирован.
  • Россыпное переопределение файлов — ожидаемый путь загрузки и работает на большинстве игр YU-RIS, потому что движок предпочитает россыпной скрипт упакованной копии. На редком тайтле, который этого не соблюдает, экспорт может потребовать корректировки — ровно то поведение на реальных играх, что мы всё ещё подтверждаем.
  • Текст, запечённый в графический арт — заставка или кнопка меню, нарисованные как растр — это пиксели, а не скриптовый текст. Для этого см. перевод текста на изображениях.
  • Точный вариант архива и скрипта может отличаться между релизами. Всегда проверяйте на вашей конкретной копии.

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

Стоит повторить: поддержка YU-RIS — свежее дополнение и ещё не протестирована на многих реальных играх. Ридер .ypf, парсер YSTB и восстановление ключа построены и покрыты юнит-тестами, но у движка годы вариаций от студии к студии, которые мы не все видели. Поэтому если вы указываете RuneTranslate на игру YU-RIS, а он не определяет, не открывает архивы, ничего не извлекает или экспортирует то, что игра не загружает, пожалуйста, сообщите об этом в наш Discord — название игры и то, как она упакована, помогают нам укрепить это быстрее всего.

Скачайте RuneTranslate, укажите его на ту ВН на YU-RIS, которую вы хотели прочитать, и попробуйте. Про другой архивный движок ВН читайте дальше разбор Artemis.

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

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

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

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

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

Как перевести визуальные новеллы на движке Artemis на английский

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

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

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

Скачать для Windows