Localization Highlights from WWDC

Apple’s annual Worldwide Developers Conference generated headlines for both developers and consumers this year. Most news headlines focused on major updates to iOS and OSX, Swift (a new programming language), and tools for developers to build health and home automation applications. However, an extremely pervasive, although lower, profile subject, highlighted in the publicly available keynote as well as in the developer-only sessions, was the importance of software localization and internationalization — topics that are critical to Apple’s strategy.  They encourage and support their developer community to localize and translate applications built for their platforms.

More Support for Localization

Apple is arming developers with new tools to help them get their apps translated and localized more quickly and support continuous localization. In Xcode 6, the latest iteration of Apple’s IDE for Mac OS and iOS, translation is now more convenient than ever with integrated XLIFF export and import functionality. Developers will no longer need to use the ibtool and genstrings tools or manually create resource files in favor of features built right into Xcode.

With just a couple of clicks in the UI, or from the command line, a developer can generate an industry standard XLIFF file that contains all the translatable strings of their app. When translations are complete, they can be imported.

According to Apple engineers, strings and related files are still being used under the hood, but the built-in support will import the translations from a translated XLIFF file and will place them where they need to be for the application.

Smartling already supports XLIFF, and can be used for any localization and translation needs during migration to the new tools and processes. We will evaluate Xcode 6 when it comes out of beta and we will update our integration guides with the best practices to follow to automate and optimize your experience with Smartling.

In order to leverage this great new feature, code must be written and UIs must be built in a localization-ready manner. Apple’s newly updated “Internationalization and Localization Guide” can be referenced for support on how to ensure an application is localization-ready.

New Localization Testing Options

Testing and preparing for localization has become easier with new localization features integrated into Xcode 6 for debugging and Interface Builder for designing UIs.

Developers can test their UI with Double Length Pseudo Localization, which is also available in a new “Live View” feature.

This will show all localizable strings doubled, so that layout issues can be easily spotted. While strings doubling in length are a rare occurrence, it can help identify areas of the app that could benefit from UI refactoring. As an alternative, Smartling can provide pseudo localization, which will still be easily readable by you and your team. Our pseudo-localization increases strings by about 30%, which is a more likely maximum result of translation.

Similarly, there is a new “Right to Left Pseudo-Language” setting. Additional details on right to left considerations for Mac and iOS can be found on the Apple Developer website. Another new tool that helps catch missing translations is the “Show Non-Localized Strings” option, which will display any strings that haven’t been explicitly localized for a specific language in capital letters.

New Language Settings for iOS 8

In iOS 8, new language settings will allow users to specify the language they prefer, even if the OS does not support that language. This language preference will then be used by Safari and other applications.

App developers can now provide a specific localization to their end-users, even if Apple hasn’t localized the OS for that language.

To support the introduction of HealthKit and the need to display quantities of energy consumption, distances, and weights, three new APIs have been released: NSEnergyFormatter, NSLengthFormatter, NSMassFormatter. These will automatically provide a translation for both the value and the format, based on user preferences. Examples of strings that can be automatically translated by the system are: “100 Cal”, “2 Miles”, and “135 lb”.

Localization-Focused Sessions

During the 5-day conference, two sessions were specifically focused on localization: “Advanced Topics in Localization” and “Localizing with Xcode 6”.

Developers should look for updates and changes when working with Dates by checking out the the following APIs: NSDateComponentsFormatter  and NSDateIntervalFormatter.

Localization was also featured in sessions for:

  • iAd, Apple’s integrating ad revenue product
  • Enabling in-app purchases
  • Creating app previews to be used in the newly-announced App Store video preview feature
  • Using the Core Audio and Audio/Video Frameworks
  • Producing great games
  • The new Local Authentication Framework to leverage Touch ID on supported hardware
  • Notifications using the Core Location APIs
  • Privacy best practices
  • User interface best practices using auto localization features

No matter what kind of app you may be developing, localization is a key opportunity for growing your distribution and revenue. While Apple provides a great deal of support and best practices, human translation is crucial for high quality translations.

To learn more about how Smartling can help, get in touch.


About Eric Negron

I am a Product Manager at Smartling. Almost every piece of software I have ever managed has been localized into multiple languages. I grew up in an English-Spanish bilingual household, and have studied Japanese.