Mobile app localization is becoming more and more popular as developers realize that a small investment allows them to multiply the number of potential users. In most cases, this is a smart decision, but is every app ready for localization? Let’s look at what you need to do to make the localization experience as quick and pain-free as possible.
App Internationalization
You might have heard the term before, but what is internationalization exactly?
Internationalization means preparing a product for localization, so it can support multiple languages.
Internationalization is a preparation step which happens before the app can be localized. What does it entail?
- Separating strings from code is crucial because translators are not engineers and shouldn’t work on files where text for translation is mixed up with programming code. While modern translation software (known as Computer-Aided Translation tools) is smart enough to automatically hide code from translators, it is best practice to take it into consideration at development stage.
- Support for different scripts is an obvious requirement if you are translating between languages that use different scripts or alphabets, for example from English to Japanese. It doesn’t just mean that the new script can be displayed, but also that features such as line-breaking work correctly.
- Support for text expansion is something that those new to localization rarely think of. Some languages tend to be longer or shorter than others, i.e. need more space to convey the same meaning. English is a rather “short” language, German is known as a very “long” one, while some Asian languages need only one or two characters for each English word. On the flipside, they may require larger fonts to be readable since the characters tend to be more complex. The user interface fields, menus and buttons must be able to accommodate longer or larger text than the original.
- Support for different formats of currencies, time and date, numbering, etc. is needed since languages (or more correctly - locales) differ in this respect. A few common examples include imperial versus metric units of measurement and DD/MM/YYYY versus MM/DD/YYYY date formats.
All the above are technical considerations which have to be addressed by developers and engineers. Fortunately, nowadays most software development methodologies and app stores take care of them out-of-the-box. Both Apple and Google provide software developer kits (SDKs) for their respective operating systems, which support localization by placing all text into separate string files. Each language has its own string file, and every string has an ID, which corresponds between different languages.
Reference Information
Reference information is not absolutely necessary for app localization, but it is always helpful. If you can make the translators’ life easier and help them with their work, you will enjoy better translation quality in return.
- Include context for strings, so that translators know what they are looking at. For example, a one-word string such as “forward” can mean “move to the next step”, “accelerate” or “send the message to another recipient”, and each would have a different translation. It’ll help to know where this string will be displayed, whether it is a clickable button or a message, and in which section of the app it is found.
- A termbase or glossary is a document listing the important terms in your content along with their approved translations. It usually includes company, brand and product names, acronyms, as well as core terminology which has to be translated consistently. Translators using the termbase will know how to translate any tricky phrases without having to ask you every time. If you’ve never localized before and your app is small, your termbase might contain only a few words, and that’s fine.
- A style guide on the other hand, lists guidelines related to style you want to see in your translations. What is your intended audience? Do you want dry and technical or fun and trendy language?
- Screenshots help translators quickly understand what the app is about and how the strings are used in context. Additionally, if you include screenshots of menus and other UI items, it will be easier to see how much space is available for translations.
The above advice should help you understand what localization entails and what you can do to support your translator or translation agency. By getting involved in the process, you ensure that the translations you get are of higher quality and that means more happy users!