Going Global: Apps and Localisation
· Nik
With every major release of a product, there's one thing that we're frequently asked: "When will it be localised?". This is particularly true of RapidWeaver, which has a strong userbase in France, Germany, Italy and Japan - however we also have fans of our other apps whose primary language isn't English. So what's to consider when localising?

When designing any app's UI, we always try to bear in mind that text strings (button labels and the like) may be longer than their English counterpart. For example, if we'd designed a "Publish" button in RapidWeaver to simply fit the English text, we'd need to tweak each language's UI to account for the longer strings. Instead of losing considerable time adjusting each button before release, we simply started considering localisation in the UI design and layout process.
One of the easiest ways to ensure your app can be easily localised is to code any user-facing strings as though they will be localised (using NSLocalizedString()) from the offset even if you don't have any plans to localise right away. The last thing you want to do if your app takes off in a particular market is doing the legwork to ensure your app can be localised. Being able to hand an app to a localiser and require very few code changes on your part massively decreases the amount of work required to get a localised app out.
If you work in the mindset that your app isn't an English-language app that's being localised, instead that it's a language-agnostic app that just happens to be localised in English to begin with, you'll be in good stead when considering further localisation.

When deciding which languages to add to your application there's a couple of things to consider: unless you've got great native speakers willing to help you out you'll potentially be paying a per-word fee for each language, and the languages you choose to target may vary depending on international sales. On top of sales and user demand, there's obviously cases to be made for language inclusion based on the number of global speakers. In an ideal world, we'd be hitting all the major languages, but for an indie (or one person shop) that's not always feasible. For RapidWeaver we're currently in 5 languages (English, French, German, Italian and Japanese), and for Courier's forthcoming localisation we decided to add an extra three: Spanish, Portuguese and Chinese.
In five years of localising RapidWeaver we've tried a couple of approaches. We've used several localisation companies, and also shipped a crowd-sourced community localisation for one particular language at one point. Neither method is entirely perfect: no matter which you choose, there's always the chance that the translation has a contextually-incorrect term and we're always revising localisations once applied to the app. Relying on community goodwill and crowd-sourcing may work for some, however if you need revisions done for a deadline (and let's face it, there's always a deadline) the fact that you're able to guarantee the turnaround means we have no qualms in paying someone to handle it. As some developers will probably want to know how we handle our localisations the folks at AppLingua have been doing a terrific job at sorting the RapidWeaver 5.1 and Courier localisations for us, and I've been managing the localisations at HQ in iLocalize.

With the recent RapidWeaver 5.1 update we also went a step further with the localisation, translating the Mac App Store descriptions and screenshots. The App Store descriptions are relatively small, inexpensive, pieces of text to translate and we really believe that having the app blurb localised is as important as the localisation of the app itself. This is the first impression you're potentially going to make for Mac App Store customers and the localised descriptions have proven really popular with users.
Over the past five years, we've really worked to embrace our international users and over a third of our sales now come from countries where English isn't the first (or even official) language. Not only are we selling RapidWeaver in more countries around the world, but we've seen a huge increase in the amount of international press coverage of RapidWeaver too.
As a developer community, we're all fully focused on improving the user experience of our apps. That typically means slick improvements to the user flow, architecture and design of our apps - whilst localisation is perhaps overlooked. Bringing apps to more users' mother tongues makes such a world of difference that it's now something we consider essential for our apps, and you'll see more localisations from us in the coming months.