Home » Portfolio » Portfolio » Check it out – the most fun Software and Game l10n project I’ve ever done!

Check it out – the most fun Software and Game l10n project I’ve ever done!

I’m assuming that many of you who are reading this blog post is from MIIS or inside the localization industry. I would personally say, this is the most challenging and fun project for my whole grad school, I am pretty excited to illustrate on how we found this project and how we managed through.

Out project is an iOS app written in Swift (programming language). It is open source so totally free. You can find it here.

Most of you should know how to play it. So here is just a quick demo on how it works and what words/text that need to be translated.

Demo-tic-tac-toe

Here is the whole detailed presentation we did in class if any of you would like to have a look. Click here.

Why we choose this iOS-based game/app ?

It has been pretty challenging from the very beginning since there are a lot of iOS apps which have been taken by the former graduated students. Also, since all of our group members are all using Mac, we all started thinking that how about we have an open source localized? However, the point is that, we want to do something INTERESTING. Learning should be fun, not just to learn. A lot of open sources on Github are available, but there are several problems with some of our backup choices:

  1. it is a huge project that is not that doable for us to achieve in a relatively short amount of time.
  2. the game can not be built in XCode (which we will be using for building up the prototype to test later), in other words, it failed.
  3. we want to do something different. We have already localized app written in Object-C.

Based all the factors mentioned above, we finally came up with this one, which seems fairly “easy” but still a lot of work needs to be done.

During the class, we touched on how to use NSLocalizedString method to localize things, so at the very beginning, we thought it’d be easy just to simply wrap things up, etc. However, the process turned out to be a little bit more complicated than we think, while it was pretty fun working with my awesome and professional colleagues.

Workflow and Process

Finding the strings was really a time-consuming process, and we believe for this part, what we could do more in the future is to creating scripts to find “potential” translatable text and then start from there.

From what I’ve learned from my internship and the general trend of the whole l10n industry, automation/ speed is always what most of the companies want to achieve, especially for companies from client side, because their goal is to roll out the product/service into different languages as quickly as possible. So this leads to some thoughts or best practices for fellow localizers:

  1. Be capable of communication with your fellow software engineer. They might be really good at coding but they might also lack knowledge and consideration of the internationalization and localization aspect. In order to make the product and service ready for localization later, make it “Internationalizable” in the first place. This could save you so much time re-write the code again!
  2. Always keep your knowledge up to date and gain best practices from your fellow localizers.

More detailed workflow is illustrated in our presentation. You can check it here.

Just translate and copy paste the strings?

During out whole process, since there are no more than 20 strings, and total no more than 30 words, what we did was manually created Localizable.Strings file for different locales, and manually translate it. However, in real world, this might not be the case.

What if there are tons of strings in it?

What we can do is that we can use command window and run a line of code like this:

genstrings -o en.lproj *.swift

This idea actually comes from this Github source

After you do this you can get a generated file, which includes everything you parsed:

The second question is that, what if there are so many strings to translate? Is there a CAT tool supporting Localizable.Strings file format?

The answer is yes! And thanks to my colleague Cissy, we found “The Localization Suite”, which is a free lightweight CAT tool set for IOS localization, with this CAT tool, we can easily let translator translate and let PM to manage the whole process.

Sites DOT MIISThe Middlebury Institute site network.