[:en]Final Project for Software & Games Localization Course[:]

[:en]For the software & game localization course this semester, the final project that I did with my teammates is localizing a video game called Alien Invasion using Pygame. Pygame is a cross-platform set of Python modules designed for writing video games. It includes computer graphics and sound libraries designed to be used with the Python programming language. It is a really handy tool when it comes to video games.

Though we have covered a lot of topics this semester during this course, like unity, Xcode, visual studio java and etc., and we could have chosen one and gone deeper with that topic. However what we were thinking was that the final project showcase was not only an opportunity to present our project but also an opportunity to share something great with the whole class. We wanted to do something new and exciting. Since Python is something we haven’t touched upon in this course. It might be a great idea to involve it in our final project. Meanwhile, we had always wanted to do an actual video game localization since we are all great fans of video games. It happened to be that one of our team member Robin was writing a video game then. When we looked into the game together, we all agreed that it was awesome and it was exactly what we wanted to do. Therefore it didn’t take long for us to settle down on the topic and project

Here is what the game looks like before and after localization. We localized it into four languages. The very first thing we did were to play the game and spot translatable text in the game. Then we went to find strings in py file. After we had found out all the strings, we then proceeded to divide workload. Each member was responsible for a py file including the language part.

My part was to localize “game_pause.py” file. After importing gettext in py file. I started wrapping strings in the format of (_(strings)) as following and then use command to generate a game_pause.pot file from the py file. Once that’s done, I went to translate the pot file into Chinese, Spanish and Russian in Poedit(using google of course). It then generated two files(a po file and a mo file) for each language once the translation was done.

Next, I created a tree folder structure like the following under the directory of locale and moved both the po and mo files to that directory. Finally, I applied the gettext translation method in the py file. Last but not least, get ready to run the game and test.

The localization part went pretty smoothly, but we did encounter some problems in the process. To start with, we had some problems successfully installing python. We tried different version yet still failed. We spent quite some time on that and couldn’t figure out why. The reason as we later found out was that our default system language were Chinese and pip in python cannot identify any Chinese characters in installation path. In that case, we have to make sure the installation path has to be in English. It worked perfectly fine and we got python successfully installed.

Besides the installation problems, there were many other challenges that we met. For example, fonts problems, string concatenation, language button, text overlapping, translation shortening and many more. Therefore, we actually spent a large amount of the time troubleshooting, which is definitely an important part of localization. We also reached out for help when it came to shortening translation. With the help and great efforts of each team member as well as our language expert classmates, we finally completed the project successfully. In the process, we not only completed a final project, but more importantly we completed something unique to us.

 [:]