Software and Games Localization Project Showcase

Localization of Hangman in Visual Basic

In my Software and Games Localization class at the Middlebury Institute of International Studies led by instructor Max Troyer, I have gained a basic understanding of software and games localization. In my basic understanding, the localization of software or games can be broken down into three steps: engineering/internationalization; TEPR; QA/Testing.  Finally, this process results in all of your translations being integrated into the actual software or game. We are essentially extracting strings for translation, translating them, and then feeding them back in to our software program or game, using different tools and developing different processes during engineering as necessary, as games are unique. Of course, we can’t forget the important role that testing (both before and after localization) plays in this entire process.

My group chose to localize Hangman in Visual Basic for two main reasons

  1. We really liked the game.
  2. We knew it would be a challenge

We knew it would be a challenge because we had never worked in Visual Basic before. We had localized our own custom form in C# before, but never in Visual Basic. So we knew that there would be a few challenges ahead just because this is a new language for us to work in.  We also decided to add something extra to increase the difficulty of the project a bit. We added a language picker. For the purposes of this project we used machine translation.

Localization into Chinese itself posed an interesting problem because the nature of Chinese characters does not work in a traditional Hangman game. So in this case we decided to use pinyin, a Romanized version of Chinese to get around this issue.

In my group of three, I was responsible for designing the workflow of localizing Hangman in Visual Basic into Chinese, Spanish, and Russian.

The workflow is as follows:

Workflow:

  • Play original game, identify strings for translation (labels/buttons on the interface, the Information pop-up, other system messages when entering a word, winning a game, losing a game)
  • Implement resource manager/WinFormStrings method: create a .RESX resource file for English, wrap strings (in class we worked with C#, this is Visual Basic but the site we referenced in class https://msdn.microsoft.com/en-us/library/y99d1cd3%28v=vs.100%29.aspx?f=255&MSPPError=-2147217396 shows how to do it for both languages)
  • Translate strings in CAT tool. MemoQ doesn’t support .resx files, but Trados Studio 2015 and Memsource do
  • Make sure the new, translated files are properly named with the correct language culture names, put them in the project https://msdn.microsoft.com/en-us/library/ee825488.aspx?f=255&MSPPError=-2147217396
  • Translate the word list
  • Implement the language-specific keyboards
  • Implement language picker (we found an example one online and modified it a little)

Screenshot of game before a locale is selected or a new game is started by the player

 

Screenshot of Pinyin/Chinese game. Notice how there are no center tiles for the hidden word appearing. This is a glitch we encountered.

Unfortunately, we did have one pretty major bug with this game that could never be resolved. Simply put, our bug was that the center tiles would not appear after a new game with a different locale was launched.  (see second screenshot). My team and I reached out the developer of the game to see if he could shed any light on why we were experiencing this issue, but even he was stumped. My team and I plan to continue working on this project in the coming weeks so we can resolve this bug, and this blog will be updated with the results of our work.