Localizing Your App

Localization is an important part of app development that is often skipped. Unfortunately this means that users not in your native language or region will have a lesser experience. Localizing your apps gives you a bigger market of potential customers and gives your users a much better experience. In this series we will show how to use the various tools at our disposal to provide a tailored experience for our users.

Length: about 1 hour

Installments

1. Localization 101

Subscribers only

In this episode we will define what Localization is and why you should localize your apps.

2. Locales, Numbers, and Lists

Subscribers only

Let's quickly review how to work with the Locale object. Then we can use various locales in conjunction with NumberFormatter and ListFormatter to have localized output provided for us.

3. Localizing Dates and Times

Subscribers only

Using DateFormatter we can format dates and times to whatever format we choose. However, in most cases we should rely instead on the builtin styles instead, which are locale aware. This way we can present dates and times that are consistent with the user's preferences.

4. Preparing your project for localization

Subscribers only

There's a bit of prep work we need to do to get our project ready to be localized. We'll start by defining which languages we want to support, localize any interface-based files like Storyboards, and then move on to localizing strings in code.

5. Exporting Strings for Translation

Subscribers only

In this episode I will show two ways you can export all of the strings in your project. The first is using Xcode, but since this is a process you'll likely want to repeat, we'll also show how to do it via the command line so you can automate it. We'll then take the xliff files and send them off for translation using a translation service.

6. Importing Translated Strings

Subscribers only

Once we have our translated files back from our translators, we can now import them for use in our project. I'll show how do do this within Xcode and from the command line.

7. Localizing Images

Subscribers only

Sometimes you may find that you want to localize images specific to a locale. In this episode we'll make up a contrived example where we want to change our splash image from a pizza to sushi if the locale if Japanese. We can easily do this with Asset Catalogs and provide a more tailored experience.

8. Localizing Pluralized Phrases

Subscribers only

Pluralization rules vary by language, so it's not as easy as just adding an "s". To properly handle these cases, we need to use a Stringsdict file and format our string using a special syntax.