Monday, February 07, 2011

Frogatto now has a Chinese translation

Frogatto is a platforming game with beautiful classic pixel art, stylish music, humorous dialog, and gameplay that ranges from relaxing to challenging. I easily became a fan of the game, and recently learned that it is possible to create translations for the game's dialog and menu text. For most platforming games, which have little text other than a settings screen, translation is probably a small issue. However Frogatto has a lot of dialog which illustrate its interesting characters and world, as well as things like hints and achievement texts. I worked with some Frogatto developers and users for a few weeks, and now the game can be played in Chinese!

The translation is written by another Frogatto player, CloudiDust, who I met on Frogatto's forum. I did write a translation by myself before noticing that another user was also interested in creating a Chinese translation. However, my Chinese is getting rusty, and I felt my translation didn't do justice for Frogatto's humor. So we decided to use CloudiDust's translations, and I focused on the programming side of getting the translation to show in game.

In most cases, creating a translation for a program doesn't really require much if any additional programming. Most programs use fonts installed in the system to display text, and as long as you have a Chinese font, these programs can display Chinese text. On the other hand, Frogatto uses a font that's manually drawn by the team's artists. This certainly makes it easy to achieve a consistent look between the 2D graphics and text, but it also posed a challenge for the Chinese translation, because the artists did not draw Chinese characters:

And even if someone started working on drawing a Chinese font for Frogatto now, it would take a long time to finish. Chinese has a huge set of characters, and just Frogatto's translation uses over 1000 characters. And when sentences in the translation are revised, it might require new characters. So, for a language like Chinese, I thought the best solution is to automatically create a font compatible with Frogatto, containing the characters used in the translation, from an existing Chinese font. This process needs to be done also for Japanese, Korean, and maybe more languages. So I built a system to do this, with help from Frogatto developers.

Since it is a very new feature, the Chinese translation doesn't work out of the box yet. If you use Windows, you can download a recent development build of Frogatto, 1/31/2011 or newer. You also have to extract this zip file into Frogatto's installation. Then, you need to set an environment variable LANG=zh_CN before running Frogatto. In a future release this should be much simplified.

If you use Linux, get Frogatto from SVN, compile it, run make update-mo, and run the game also with the appropriate LANG environment variable setting. Arch Linux users can just use the frogatto-svn package from AUR.

If you want to help translate Frogatto to other languages, the Transifex service makes it quite easy. A Frogatto developer and I started working on a Japanese translation, but neither of us is a Japanese native speaker, so we'd really like some help.

No comments: