For Unity games, I use a combination of BepInEx and XUnity.AutoTranslator. I then trigger as many lines as possible and translate them into English. The translator utility also has an option to dump the game's images, so I can translate those too if I wish.
For TyranoBuilder (most visual novels), I extract the game contents. They're typically in the data folder as loose files, stored inside the game executable, or in app.asar. If they're in app.asar, I use a npm package to extract and repack the contents, and xDelta to help other people change the app.asar to my translation. If the contents are in an executable, I deliberately corrupt the data stored in the executable and put my translation in the loose files data folder.
RPGMaker is even easier. The text typically appears as clear text in the data/json files, and when it doesn't, I can find it in either the js files or the plugin file for said js files.
For other games, the translation method varies. Sometimes game devs are kind enough to offer a json file with all the lines to translate. Other times (like in Last Defense Academy), some reverse engineering is necessary to figure out how the game stores clear text, and translate that.
If you have a particular VN in mind that you want to translate, you can contact me on Discord (name is ijedi1234 there as well, profile picture is a blue symbol) and we can discuss it.






















