8
5 BEST PRACTICES FOR SOFT WARE, GAME AND APPLICATION LOCALIZATION By Anthony Teixeira , French Translator Specialized in IT/Software/Apps/Games

5 best practices for software, game and app localization

Embed Size (px)

Citation preview

Page 2: 5 best practices for software, game and app localization

Introduction

Software, application and game developers often make a serious mistake when they approach localization by assuming it can be handled once the coding is done in native language.

In fact, you need to consider localization from the very moment you start designing your application. It's not a one-man operation either. You will need linguists on board early on.

Here are a few localization good practices I would like to share with you. I hope they will be helpful for your next software, application or game.

Page 3: 5 best practices for software, game and app localization

1. Externalize Localized Strings Your source code should be written in a way

that your software can be localized without touching a single portion of code. To achieve this, place all the text strings, including those in the application's original language in separate files, which can then be translated appropriately by linguists in a different software. In your code, pick up the translated depending on the language selected and a string ID (which can be the original string itself). XML works great for this, but there are plenty of options available.

Page 4: 5 best practices for software, game and app localization

2. Plan Enough Space to Avoid Overflows

Translated strings can occupy a much larger screen space than their original counterparts. A Japanese string translated into German can easily get 2 or 3 times longer than the original. Design your applications with sufficient space to accommodate long strings, especially if you are working on small screens (smartphone, handheld game devices, etc.).

Page 5: 5 best practices for software, game and app localization

3. Local Standards and Conventions Be wary of local standards. Imperial versus metric

system is an obvious one if you are manipulating units, but there are local differences you may not even suspect. For example, weeks start on Mondays in some countries, and Sunday in others. This is why you need to have local experts on board as early as possible: only them will be able to let you know about these specifics. If you realize too late that a code portion needs to act differently depending on the location, or that visual elements should be replaced altogether, it can be extremely painful to go back and make the appropriate edits. The sooner you are aware of local norms, the better.

Page 6: 5 best practices for software, game and app localization

4. Be Careful When Putting Localized Strings Together

Be careful when you are trying to put localized strings together. Let's suppose you have an error message in your software that says "The job cannot be added because there is no job with ID x". If you have many messages starting with "The job cannot be added because" and ending with "there is no job with ID x", it can be tempting to translate these two strings separately only once and then put them together when needed. It would work in English romanic languages, but not in Japanese for example. Make sure translators can put words in any order they want, and, as much as possible restrict substitution to a single word or number. Avoiding redundancies is a good practice, but it can be a tricky one.

Page 7: 5 best practices for software, game and app localization

5. Eliminate Any Ambiguity

Provide as much context as possible. To avoid confusion, comment your text strings to ensure the translators will understand where and how they will be used. Make it clear that variables are part of the string and shouldn't be altered. Also, explain what they will be replaced with, even if it seems obvious to you.

Page 8: 5 best practices for software, game and app localization

Conclusion

These few tips should help you get started in localization on the right foot.

If you are looking for help to localize your software or for more advice, please feel free to get in touch or visit my website.