EnginesGuidesFAQPatreonDiscordDownload
Sign in
RuneTranslate · translate games from Japanese and 30+ languages
EnginesGuidesCompareImage textSave editorCheat ModeFAQDownloadChangelogTrustpilotPatreonDiscordYouTubePrivacyTermsContact
All posts
alicesoft · rance · engine

How to translate AliceSoft System games (Rance, Evenicle…)

Jun 26, 2026·6 min read

RuneTranslate translates AliceSoft System 3.x and System 4 games — Rance, Evenicle, Daiakuji — into English and 30+ languages. Pure-TypeScript reader for the .ald / .afa archives and .ain message data. Best-effort; verify the exported build.

RuneTranslate reads one of the biggest and most-requested catalogs in Japanese PC gaming: AliceSoft's System engine— the family behind the entire Rance series, Evenicle, Daiakuji, the Toushin Toshi games, and decades of releases. If you've ever opened a Rance folder, seen a pile of .ald files and a System39.ain or a .ain file with nothing readable inside, and had no idea where the dialogue even lived — that's this engine. RuneTranslate detects it, opens the archives in pure TypeScript, finds the message text wherever it hides, and exports a translated copy the game loads on its own.

The honest part first: AliceSoft support is freshly built. Extraction and the byte-exact write-back are verified against real System 3.x and System 4 archives, but launching a fully translated build and confirming it renders in-game is still being validated. So if you point RuneTranslate at an AliceSoft game and it doesn't detect, doesn't open, or exports something the game won't load, please tell us — more at the end.

What the AliceSoft “System” engine actually is

AliceSoft built their own engine in-house and used it for almost everything. It's really two engines under one brand:

  • System 3.x— the classic titles. A small interpreter (alice.exe / System39.exe) runs compiled scenario files, with a System39.ain index and .ald archives holding the data.
  • System 4 — the modern titles. A System40.exe interpreter runs a per-game .ain that is a whole compiled program image, alongside .ald and newer .afa archives.

Both store player-facing text in places that don't open in Notepad — exactly why this enormous catalogue has stayed out of reach for ordinary machine-translation tools.

Why AliceSoft games have been so hard to translate

  • The dialogue isn't where you'd look. On System 3.x the compiled scenario files (.SCO) reference each message by number; the lines themselves live in the bit-rotated MSGI section of System39.ain, so a plain text search finds nothing.
  • System 4 wraps everything. The .ain is a full compiled program shipped either zlib-compressed (the “AI2” format) or fully encrypted (an MT19937 keystream over the whole file). You must unwrap the container before there's anything to read.
  • The text sits inside a program, not a script. Once unwrapped, the message and string pools are buried among bytecode, functions, globals, and type tables — found only by walking the whole program structure.
  • Not every string is dialogue. Format strings, debug text, and identifiers the game logic depends on are mixed in; translate one by accident and something quietly breaks.

That's the work RuneTranslate now does for you — archive reader, de-obfuscator, container unwrapper, program walker, and a guard that tells dialogue from the engine's internal strings.

What RuneTranslate does now

RuneTranslate handles the whole pipeline in pure TypeScript — no GARbro, no external tools, no Python sidecar, nothing to install:

  • Reads the .ald / .afa archives directly. It opens the Alice Linked Data and Alice File Archive containers in-house and lists what's inside.
  • System 3.x: finds the hidden messages. It de-obfuscates the MSGI section of System39.ain and lists every line.
  • System 4: unwraps both containers. Whether the .ain is the zlib-compressed AI2 format or the encrypted one, it unwraps, walks the program image, and pulls out the message pool (dialogue) plus the string pool.
  • Knows dialogue from machinery. Format specifiers, debug strings, and identifiers are surfaced but excluded by default as red opt-in rows, so you never accidentally translate something the program depends on.
  • Writes back without breaking references. The bytecode points at each line by index, so a translation can be any length. Export rewrites the message data — in place for System 3.x, re-packing the container for System 4 — and is byte-for-byte identical when nothing changed.

Japanese → English is the sweet spot, but you can target 30+ languages.

What you need

  • RuneTranslate for Windows— free; every engine and provider is unlocked (the free tier is throttled on speed, not features).
  • An AliceSoft game folder — the interpreter (alice.exe / System39.exe for System 3.x, or System40.exe for System 4), a System39.ain or per-game .ain, and the .ald / .afa archives.
  • A target language — English, Spanish, French, German, Chinese, and 30+ more.
  • One provider. Free Google Translate works out of the box; DeepL has a free tier; OpenAI, Anthropic, a local model, and any OpenAI-compatible API are bring-your-own-key. Rance and friends are dialogue-heavy, so an LLM or DeepL reads best.

Step 1: Open the game folder

Launch RuneTranslate, click New project, and point it at the AliceSoft game directory. Detection runs automatically — it spots the System39/40 interpreter alongside the .ald / .afa archives, recognises the project as AliceSoft, and tells you which System version it is. Your original game folder is never modified.

Step 2: How the text gets read

For a System 3.x game, RuneTranslate de-obfuscates the MSGI message section of System39.ain and lists every line. For a System 4 game, it unwraps the .ain container — zlib-compressed or encrypted — walks the program image, and pulls out the message and string pools. Either way, the engine's internal strings (format specifiers, debug text, identifiers) are shown but excluded by default, so you only translate what the player sees.

Step 3: Translate

Pick a provider and run. An LLM (OpenAI / Anthropic) is best for character voice and the series' over-the-top tone, DeepL is fast and clean for narration, and free Google Translate is fine for short menu strings and item names. Glossary your cast up front so names render identically — see Glossary 101. When you're done, an optional pass with the AI refiner re-reads each line in context and tightens the stiff, literal phrasing MT tends to leave behind.

Step 4: Export a ready-to-run copy

Click Export. RuneTranslate writes a translated copy of the game with the rebuilt .ain dropped loose next to it — no archive repack. The interpreter loads the translated .ain, so the game just reads your translations. Run it, and it plays in your target language.

Known limitations

  • AliceSoft text is Shift-JIS (cp932). English and other cp932-representable targets export cleanly — and RuneTranslate font-normalizes each line so smart punctuation and accented Latin survive. Targets with characters outside cp932 (extended Cyrillic, Korean, Traditional Chinese) need a game-font/encoding hack that isn't automated yet.
  • The in-game load of a full translation is still being confirmed. Extraction and a byte-exact round-trip are verified against real System 3.x and System 4 archives; launching a fully translated build end-to-end is still being validated, so test your exported copy first.
  • System 4 is verified on .ain versions 4 and 5. Newer v8+ program formats are supported best-effort and not yet game-verified, as are encrypted .afa v3 archive indexes.
  • Message and string text only. Data tucked into the engine's .ex/ ExStruct data files isn't extracted yet.
  • Text baked into image art— a title screen or CG drawn as a bitmap — is pixels, not script text. For that, see image-text translation.

It's brand new — tell us what breaks

Worth repeating: AliceSoft support is a fresh addition. The archive readers, System 3.x and System 4 extraction, and byte-exact write-back are built, unit-tested, and verified on real System 3.x and System 4 archives — but the catalogue spans decades and many format revisions we haven't all seen. So if you point RuneTranslate at an AliceSoft game and it doesn't detect, doesn't open the archives, extracts nothing, or exports something the game won't load, please report it on our Discord — the game's name and System version helps us harden it fastest.

Download RuneTranslate, point it at that Rance game you've been waiting to read, and try it. For another archive-based engine, read the YU-RIS walkthrough next.

Related reading
01

How to translate RPG Maker games

rpg-makerhow-toenginecontrol-codesAug 18, 2026 · 10 min
Read →
02

How to translate Unreal Engine games

unrealguidesenginelocalizationAug 18, 2026 · 9 min
Read →
03

How to translate a game’s .po and .mo files (gettext)

gettextpomoenginetutorialAug 4, 2026 · 7 min
Read →

Ready to try RuneTranslate?

Free tier unlocks every engine + every translation provider. Supporter ($3.99/mo) unlocks full speed.

Download for Windows