ToshA_Localization — Runtime i18n (CSV/JSON) for RPG Maker MZ by ToshaAngel​ What is it? Runtime localization system that auto-captures UI/messages/database strings into CSV/JSON and replaces them on the fly.
ToshA_Localization — Runtime i18n (CSV/JSON) for RPG Maker MZ
by ToshaAngel​
What is it?
Runtime localization system that auto-captures UI/messages/database strings into CSV/JSON and replaces them on the fly.
Includes hotkeys for export/reload, language switching, and optional language UI on Title/Options.
Engine: RPG Maker MZ
File: ToshA_Localization.js (see attachment below)
Preview video
Features
- Auto-extract from Database (names/descriptions), System Terms, Event text (Show Text / Show Choices).
- On-screen UI capture via
drawText / Bitmap.drawText (menus, window headers, button labels, plugin UI, etc.).
- Optional full map scan on boot (reads
MapXXX.json in NW.js desktop/test).
- Stores to CSV (default,
; delimiter) or JSON; optional split by category (DB/Events/UI/Terms).
- Stable keys from source text and DB paths (e.g.
Database.Items.1.name).
- Runtime replacement for DB and
$dataSystem.terms; auto-refreshes the current scene.
- Hotkeys: F6 export, F7 reload, F8 next language.
- Optional language switch in Options/Title + title language icon with flags.
Installation
[olist]
[*] Copy
ToshA_Localization.js into
js/plugins/ and enable it.
[*] (Recommended) CSV output to
data/i18n — configurable in plugin params.
[*] Run your game in NW.js (desktop/test). The plugin collects strings into CSV/JSON on the fly.
[*] Edit translations and press
F7 to reload; use
F8 to switch language.
[/olist]
Plugin Commands
- setLanguage — set current language (
code=en).
- exportNow — write CSV/JSON immediately.
- reload — reload translations from disk and reapply.
- setFreezeCapture — stop/start capturing new strings (
value=true/false).
Examples — Script calls
Code:
// Set language
PluginManager.callCommand(this,"ToshA_Localization","setLanguage",{ code:"en" });
// Export CSV/JSON now
PluginManager.callCommand(this,"ToshA_Localization","exportNow",{});
// Reload from disk and reapply
PluginManager.callCommand(this,"ToshA_Localization","reload",{});
// Temporarily freeze capturing
PluginManager.callCommand(this,"ToshA_Localization","setFreezeCapture",{ value:true });
CSV / JSON format
Code:
// CSV (default, ; delimiter) header example:
command;original;originalLang;en;ru;...
// JSON example:
{
"meta": {...},
"languages": ["en","ru"],
"strings": {
"Database.Items.1.name": { "source": "Potion", "en":"Potion", "ru":"Зелье" }
}
}
Notes & Tips
- Writing CSV/JSON works only in NW.js (desktop). In browser builds, writing is disabled; the game still runs with existing translations.
- UI capture (drawn text) may pick dynamic/noisy strings — enable only if needed and use filters.
License & Credits
Please credit
ToshaAngel.
Do not redistribute or re-sell the plugin file.
Download: see the attached
ToshA_Localization.js below.
Note: It does not allow uploading the editor here (.exe or .rar/.zip).
You can download it on my page Itch.io:
https://toshaangel.itch.io/tosha-localization
License & Credits Please credit ToshaAngel. Do not redistribute or re-sell the plugin file. Download: see the attached ToshA_Localization.js below.