Поддерживаемый движок · AliceSoft System
Внутренний движок System от AliceSoft питает один из крупнейших каталогов в японском ПК-гейминге — всю серию Rance, Evenicle, Daiakuji, игры Toushin Toshi и десятилетия релизов. По сути это два движка под одним брендом: классические тайтлы работают на System 3.x (интерпретатор alice.exe / System39.exe с индексом System39.ain и архивами .ald), тогда как современные тайтлы работают на System 4 (интерпретатор System40.exe с образом программы .ain для каждой игры и архивами .ald / .afa). Теперь RuneTranslate читает оба. Он открывает контейнеры .ald (Alice Linked Data) и .afa (Alice File Archive) на чистом TypeScript — без GARbro, без внешних инструментов, без сайдкара — а затем добирается до текста там, где он действительно живёт. На System 3.x диалоги, обращённые к игроку, вообще не в скомпилированных сценариях .SCO: те лишь ссылаются на каждое сообщение по номеру, а сами строки сидят в секции MSGI файла System39.ain, слегка обфусцированные. RuneTranslate деобфусцирует эту секцию, перечисляет каждое сообщение, а при экспорте переписывает её на месте — байт в байт идентично, когда вы ничего не меняли. На System 4 .ain — это целый образ скомпилированной программы, обёрнутый в один из двух контейнеров — файл AI2 со сжатием zlib или полностью зашифрованный MT19937 — и RuneTranslate разворачивает оба, обходит секции программы и вытаскивает пулы сообщений и строк для перевода. Поскольку байткод игры указывает на каждую строку по индексу, а не по байтовому смещению, ваш перевод может быть любой длины, и ссылки всё равно совпадут. При экспорте он переупаковывает оригинальный контейнер и записывает переведённый .ain распакованным рядом с игрой, так что интерпретатор загружает вашу версию. Этот движок ещё проверяется на реальных играх, поэтому протестируйте экспортированную сборку перед распространением.
Серия Rance и весь каталог AliceSoft держатся на огромном повторяющемся составе и плотной сети географических названий, навыков и терминов фракций на десятках тысяч строк. Машинный перевод романизирует одно и то же имя тремя разными способами. Занесите в глоссарий ваших персонажей, локации и повторяющиеся термины заранее, чтобы каждая строка отображала их идентично от первой сцены до последней. Глоссарий: основы →
Укажите RuneTranslate каталог игры — папку с интерпретатором игры (alice.exe / System39.exe для System 3.x, или System40.exe для System 4), её System39.ain или .ain для каждой игры, и архивами .ald / .afa. Определение движка автоматически распознаёт структуру AliceSoft и сообщает вам, какая это версия System; ваша оригинальная папка никогда не изменяется.
RuneTranslate открывает архивы .ald / .afa на чистом TypeScript. Для игры System 3.x он деобфусцирует секцию сообщений MSGI файла System39.ain и перечисляет каждую строку. Для игры System 4 он разворачивает контейнер .ain (со сжатием zlib AI2 или зашифрованный MT19937), обходит образ программы и вытаскивает пул сообщений (диалоги, обращённые к игроку) плюс пул строк. Строки кода — спецификаторы формата, отладочный текст, идентификаторы — показываются, но исключены по умолчанию, чтобы вы переводили только то, что видит игрок.
Это игры, насыщенные диалогами и чувствительные к тону, поэтому LLM (OpenAI GPT-4o / Anthropic Claude) или DeepL обычно читаются лучше всего; бесплатный Google Translate или локальная модель (Ollama / LM Studio) покрывают короткие строки меню и названия предметов, а OpenAI-совместимого провайдера можно направить на OpenRouter или NanoGPT. Опциональный второй проход AI-редактора подтягивает буквальные формулировки.
Текст AliceSoft в Shift-JIS (cp932). RuneTranslate нормализует каждый перевод перед тем, как записать его обратно — сворачивая типографские кавычки, длинные тире, многоточия и латиницу с диакритикой в обычный ASCII — чтобы глиф, которого нет в шрифте игры, никогда не мог тихо превратиться в «?». Английский и другие представимые в cp932 цели экспортируются чисто.
При экспорте RuneTranslate копирует игру и записывает переведённый .ain обратно: для System 3.x он переписывает секцию MSGI на месте; для System 4 он перестраивает отредактированные пулы сообщений / строк и переупаковывает оригинальный контейнер (zlib или зашифрованный). Переведённый .ain кладётся распакованным рядом с игрой, так что интерпретатор загружает вашу версию. Запустите экспортированную копию, и она играется на вашем языке.