Posted December 12, 2021 by starlit
Hello everyone,
With the festive season upon us, I hope you all have a chill time. With this update we'll only briefly focus on the Beta phases' progress. Lots of bugs have been fixed and it's been very challenging covering all the different paths. A lot more than I would have imagined 😂
At the same time I'm also translating Numina from German into English to have two language options ready for the release. Hopefully early next year. I still have a lot of lines to translate, but I'm making good progress. But in this devlog I actually wanted to let you peek a bit behind the scenes into how translation actually works in my setup with RPG Maker MV and a custom tool. I've you're a dev yourself or even just interested in learning a bit about development, this might be interesting to you!☺️
As you can see there is a "description" that contains some German text that will be displayed in the game for each weapon. Now you probably also understand how these JSON files are relevant for translation since they actually contain all the strings relevant for translating the game from German into a different language!
Sadly, RPG Maker doesn't provide you with a built-in way to have additional languages. So for example, when you write a dialoge in the engine you can only enter it in one language. As far as I'm aware there are some plugins created by the community that allow you to achieve this but I've opted for my own solution to have full control over the process.
Introducing: TranslatorNG a custom program I've created to help me translate Numina's contents:
It has 3 core functionalities which I'll get into in the next sections.
TranslatorNG scans all the game's JSON files for translatable strings and adds them to an internal database. A very important part of this process is also updating this internal database if the German source game has changed for example. In my case, I'm still working on the game (fixing bugs that the betatesters found, fixing typos in the German text, etc.) that change the source texts that might already have translations. So it was very important to be able to merge in new changes without having to redo already translated messages.
The most important bit! Actually translating text. This can happen directly in TranslatorNG itself. As you can see this is one source locale with an english translation:
There's also an alternative way to this that I added mainly for external translators: Excel templates. I can export all the text of the game into an Excel file and send that to another person to add translations and then import it again into TranslatorNG.
The final bit of the process is actually getting the translations stored in TranslatorNG into the game and make it available to the players. This involves to components:
I've read that some of the communities translation solutions work in a similar way. There is also a limitation of my solution that I can only provide translations for text - not images or other assets. Meaning that TranslatorNG currently couldn't provide support for language specific images or sounds. But that was only a minor hindrance in some instances for my project.
I hope you found this little peek into my process interesting. I think this might be my first actual "development" log instead of just a progress update 😂
Thanks everyone, stay safe & see you soon!