(This post was co-written by both Connor and Jordan, the start of the paragraphs show who composed them.)
Jordan: After launching Perspectrum last year, we noticed that we had many players that didn’t speak English. This fact lead to us prioritizing translating the game into several languages to allow more players to enjoy the game, since it can be very dialogue intensive. In addition to English, Perspectrum now supports Spanish, French, German, Portuguese, and Russian. Below are roughly the steps that we followed to make this a reality!
Step 1: Translation
Jordan: Luckily, our team had connections to several individuals that are bi- or multi-lingual and we are especially grateful to them in helping us translate all of the dialogue and menus in the game. We found the best workflow on our budget was to put all the English lines in an Excel document or spreadsheet, then share it with our translators, and they would put the translated lines into other cells on the same line of all our English text. Once we received the document back from our translators, we were able to create separate files for each language that the game could select from when it started.
Step 2: Coding
Connor: This was difficult for a few reasons. The greatest of which was probably coming back to a game that I had called finished nearly a year ago. It was rough returning to a code base I was no longer familiar with and trying to find every instance of text drawn in the game and changing it. This was severely exacerbated by the fact that I did not write Perspectrum in a way that made it easy to localize. There were an embarrassing number of instances of text that were “hard coded” and I had to find all of those and replace them with something that could call on our new files containing translated text.
Connor: Overall though, once I refamiliarized myself with the code base it wasn’t too hard. Steam has integrated an excellent language swapping feature which I was able to use which prevented me from having to change menus. This made actual implementation of the different languages a breeze, although other than English and Spanish I wasn’t really able to tell it was working perfectly since those are the only languages I speak.
Connor: So my advice for anyone who is developing games? Think about localization in advance. There are little things you can do like making sure your text is never hard coded, and is preferably all in one place and can be swapped out later. You can make it very easy on yourself with a little bit of foresight that I did not have.
Jordan: After all of our hard work and the challenges we faced with implementing localized support, I think we are both proud of the final result. For me, it is still very exciting to see new reviews and feedback we get about the game even though it is almost a year after we launched it.