Despite its simplicity, our localization process in our game, Academia, has enabled the game to be translated into 10 languages. All have been made by modders. Some languages even have multiple mods. (Big thanks to our players who loved the game so much, they made a language mod for it.)

Obstacles

Some time around second quarter 2018, some of our players have been clamoring about localization. As a game in early access, we had to listen. However, there are things to think about before we can proceed. First, our game is not yet done. It means that we’ll be updating translations frequently for each update. Second, we didn’t have the mental bandwidth to manage multiple translators.

Our solution is to support language modding. It’s a compromise between somewhat supporting localization and allowing non-english speakers to play the game. There are cons of course. What if no one will do the translation? Players may also abandon their mods. They could also create incomplete translations. Let’s just say these are cons that we can live with. The bottom line is we need to have some sort of localization.

Execution

The initial plan was to look for a simple open text format that will act as a database of terms. We’re also looking for that format which has a FOSS software that we can tell players to download if they wish to make translations. Then we’d use such format in the game.

For modders, I imagine they would use the software to load our English master file, enter the translations, then export the file that contains the translations. They can then upload the exported file on Steam Workshop.

Turns out that there’s no such thing. The tools I’ve seen are too complicated with lots of unnecessary features. Most are web apps which requires me to set up a server. I don’t have time for that! I just want a really simple software that can be downloaded where one can manage a database of terms and translations. I need it to be dead simple because non developers are going to use it. This is really surprising for me. (Tell me if you know of such software.)

The only way to move forward is… to make our own format and software. Here’s the awkward part… we made the app in Unity. That’s right! As embarrassing that is, it’s the way we know how and we can develop it fast.

This is our term management app that we distribute to modders

Our terms format is simple. It’s just XML with the following self explanatory elements:

Make it accessible

With the term management app done, all we have to do next is provide a simple step by step documentation on how to develop a language mod. On the game side, we provided a way for modders to test their translations even when it’s still incomplete. There are cases where some characters are not displayed properly. Modders can then report it to us for fixing.

We also provided a separate section in the game’s mods panel UI specifically for language mods. This can easily be done by using tags (we added it in our documentation to use such tag).

Support

With the term management app and documentation in place, all we had to do was announce that we have such things and wait. It really didn’t take long for players to start tinkering. In the single month of June 2018, we had 4 modders working on different languages right away.

Needless to say, we provided support. We responded right away when a language modder encounters an issue. We even had to release hotfixes just to support the new language. Characters not displaying properly comes up a lot. We also made updates to the term management app based on modder’s suggestions.

And that’s it

We made a bold decision to make our own term management format and wrote the software in a not so appropriate technology. It still worked for us in the end.