Momento Temporis is, as you know, a fairly complex game with lots of little bits of text popping up here and there. Because of this localization has always felt very important to me so that the game can be easily accessible for a wider audience. At the moment the game is available in English, Swedish, French, Spanish, Russian, Polish, Simplified Chinese, German and Portuguese. The plan is to keep adding on to these as time goes by.
Implementing the different languages has had it’s challenges...
Firstly there’s the problem of space in the game. The amount of characters used for each language for a specific text is different which means that some texts in some languages take up a lot of space while the same texts in another language takes up almost no space at all in comparison. For example, Russian often takes up at least twice as much space as Chinese, so the menus, HUD and so on has to account for that.
Secondly, for the game to be able to switch language on the fly, all texts has to be retrieved dynamically from a database, as opposed to the texts being hardcoded into the game. In Momento Temporis I solved this problem by giving all the texts a unique ID. When a text is to be displayed in the game the code says "display the text with this ID here" and the text with that ID is shown in the language the player has chosen.
The last challenge I had was that the game uses a set of pixel art fonts I've made myself which works well for texts in all currently supported languages, except for Chinese. As you may know, Chinese has a lot of characters and making a pixel art font for the language would be a ton of work so I opted to use an existing font someone else made. This means that in addition to retrieving different texts for each language, the code also states which font is to be used for that text.
As always I’d love to hear from you guys. Send your feedback to support@501Industries.com or send me a message on Steam or Twitter.