What does it mean to have a world-wide accessible application or app? From one standpoint, it means that the user interface of the app must support multiple languages and potentially a world audience. Luckily, the app development community is now making this easier than ever.
The app market is a strong force driving the push to internationalization. Designers and developers of all kinds of apps – from gaming to medical support – want their apps to be accessible and available to world-wide audiences. This is a huge market and more deployed apps can mean more revenue and prestige for the developers and owners of these apps. If you have an app that will appeal to folks outside the United States, you might want to consider making your application multilingual. This can also help your app appeal to non-English speakers living in or visiting the United States. Making an app that appeals to and is available for more users broadens your market; it may bring you more revenue in the app sales and/or more exposure to your business.
The environments for developing apps are evolving to provide easier and more direct support for internationalization in apps. For iPhones, iOS, XCode and Objective-C (links?)are are the foundations of the standard way of developing native iPhone apps. In XCode 4.5, Apple introduced the idea of base internationalization. Instead of having to write multiple screens and adapt each one to different languages, base internationalization allows the designer to develop their base or default internationalization in one language, then add additional internationalizations on top of that. Without getting into too much of the technical side of this, what this allows a developer to do is to define their interface and layout of text and graphics once. The alternate internationalizations are then added for each language, which adds a file to the user interface listing language translation strings automatically. Auto layout is employed to adjust for different spacing for languages so things layout properly.
The user interface is the key component of any application that needs to support various world audiences. The language and graphics of the user interface will need to be tailored for various languages. When users setup your app for the first time they could choose, English, German, French or Spanish, for example, as an option. After doing so the app language on the screens will reflect their choice, also the graphics and any animations should be adjusted to accommodate language differences.
This may sound daunting to have multiple language versions for each screen, but current development tools will help you.
Consider a small game app that has three screens: a welcome screen, a setting screen and the game screen. With the base internationalization provided in XCode an iPhone app can have just those 3 screens designed with additional internationalization provided in string translation files. Just a couple of years ago this kind of development required additional screens for each language version. So there would be three screens for the English version, three screens for the Spanish version, three screens for German and three for French. When a developer decided to change a setting in the app, four separate screens would have to be updated for the English, Spanish, German and French versions of the setting screens. This becomes a development and maintenance nightmare. It is a huge benefit to have one screen defining each portion of your user interface and then localization files containing strings for language translations, and this all neatly managed within your development environment.
Making apps world-wide accessible is easier than ever today. Creating multiple language versions of an app is facilitated by advanced development environments. The best path to a successful world-wide accessible app is a well thought out and planned app from the start. Techniques found in iOS application development can be employed from the start, so that a later decision to add a Spanish version to your initial English language app won’t require it to be re-architected. That could mean double or quadrupling your time and expense to getting your Spanish app out to the world. So plan ahead, think big, consider whether your app is appealing to folks in other parts of the world, or even folks right next door that might speak a different language.
Optional:
iOS Developer library article about base internationalization