Finally catching up on some posts… A while back, I gave a talk on localization at our local Ottawa Cocoaheads meeting. Here are the slides (PDF) for that talk. This covers the experiences we had back at my old job at Parliant localizing our Echoes app for Mac into 9 languages.
We developed Echoes for Mac primarily on Xcode 5 using that version’s new Base Localization feature, but the techniques still apply in Xcode 6 (and probably later). Xcode 6 adds some new features like XLIFF file generation and an import/export processthat can reduce the work. See Apple’s Internationalization and Localization Guide and Apple’s Resources List for more information on localization issues.
For our app, we used the services of Babble-On Inc., who were a pleasure to work with. Even though our app wasn’t a very large project, we were assigned a dedicated project manager who coordinated all the translations and gave us a handy point of contact for changes and questions both ways. They keep your text in a database so that subsequent software updates only need translation for new or changed text.
If you’re thinking of localizing your app, my best advice is to start early and make sure you program with auto-layout, considering text sizes carefully as you go, and make steady use of
NSLocalizedString() and related functions in your code for all user-facing text. Periodically, you should use the testing techniques like Pseudo-localization and
-NSDoubleLocalizedStrings YES in my presentation to make sure your UI and text is correctly setup for localization. Babble-on provides a free Pseudo-localization service that gets you an instant fake translation in a couple of different ways (Asian text, European text or right-to-left text) – they let you quickly detect areas of your app that aren’t resizing well. See the example in my slides.
Don’t forget that text can get shorter as well as longer! Asian languages often have more density so some text can be appreciably shorter, and that can cause layout issues too. Make sure to set minimum sizes for auto-layout to ensure things don’t get smaller than your design can handle…
In the end, it’s hard to say if localizing Echoes was worth it on a business level. We had a good percentage of sales in non-English speaking countries, but there’s no good way to know for sure how much the translation effort helped sales…