Localizing Apps: Start Early to Cut Complexity
|Benoit Jurion in Enterprise Thursday, August 6, 2015|
The mobile application marketplace is booming – by 2017 Portio Research estimates the number of mobile users will grow to 4.4 billion, half of whom will come from Asia. These numbers are staggering, and also speak to the necessity for localizing apps.
Developers understand this need – in a survey of 274 developers conducted at Microsoft BUILD, an annual conference where Microsoft showcases its latest products for software and web developers, more than three-quarters of respondents indicated they are planning on globalizing their apps. However, more than a third of the same group expressed concerns about the cost of maintaining apps in multiple languages and the time required to localize them.
These are valid concerns, but localization does not need to be an intimidating process. With the right strategies and partners, developers can minimize the time and complexity of app localization and make the entire process smooth and manageable.
Start at the foundation: planning & strategy
To make localization as seamless and painless as possible, developers should design, code, and test their apps with a global, language agnostic approach. It is easy for developers to slip into comfortable habits of assuming their target users understand their native language; instead, they should consider their native language as yet another language that end users can select from a catalog.
Additionally, developers should thoroughly strategize and analyze who their target audience is and identify its cultural requirements, including languages. Many markets and countries have more than one preferred and recognized (official or not) language. Building a list of the languages the app will be expected to support in these markets will affect many user interface and software design decisions further down the line. The later these decisions are made, the more costly they will be.
The app’s design needs to address each target language’s characteristics; for example, German words tend to be longer than English ones; Arabic script is written and read from both directions; most Asian languages have tone marks and diacritics above and below characters; Thai does not separate words with spaces.
Accounting for the unique characteristics of each language may sound daunting, but thankfully, there are many resources and guidelines available to help developers navigate these nuances. These resources help with, for example, selecting a default display font that supports the most common languages and minimize the risk of truncation - missing parts of characters/words because they do not fit in an allotted space that was built with a specific language in mind.
Adopting a global first frame of reference can help minimize translation costs and the risk of unexpected code changes needed after the app launches. Developers commonly delay on deciding which strings and settings should be separated from the code into localizable resource tables or files. This is an important decision that impacts usability.
Strings excluded from resource tables will remain hidden in the code and be what is known as hardcoded strings, and will be ignored by the localization process. As a result, they will be visible in a different language for some unhappy users. On the other hand, even obvious strings separated from the code in a standard resource file can affect user satisfaction and cost if not properly coupled with relevant contextual information. String comments are not visible to the users, but they are as valuable to translators as comments on lines of code are to developers. Context and commentary ensure a more relevant localization of the app.
Culturally relevant settings are also very important to consider early in the design phase. Date and time formats are common examples of cultural variation that developers often overlook and hardcode. APIs and international settings are provided by mobile operating systems or browsers to simplify coding and ensure proper settings.
Thinking globally as part of the core app development process is essential to capturing many happy customers globally with an app that is ready immediately in their language at the launch.
Bring in experts to assist with translating and testing
Localization is often misunderstood as simple translation and becomes a costly afterthought executed post-launch. This misunderstanding is evidenced by developers’ usage of automatic machine translation services. While using machine translation may be cheap and convenient, the quality and relevance of the translation will not meet users’ expectations. Instead, developers should opt for professional localization services. These services are easily available and affordable to help developers maintain quality throughout development.
Similar to localization, global or international app testing is unfortunately often a costly afterthought that should be strategically planned and executed throughout the development cycle. Testing the app with various international settings (dates, times, currency, fonts, etc.) on devices or simulators is required to validate the readiness of the app for international users. Localization experts can help not only localize but also test apps on local devices with their worldwide network of native speakers.
To successfully bring apps to local markets worldwide, developers simply need to build apps with global users in mind from the very beginning and partner with experts when needed throughout the development cycle. Leaving localization as a last step will cost app developers not only money but also users turned off by low quality localization and low usability.
Read more: http://www.lionbridge.com/
This content is made possible by a guest author, or sponsor; it is not written by and does not necessarily reflect the views of App Developer Magazine's editorial staff.