O'Reilly logo

Learning Carbon by Apple Computer Inc

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 8. Text and Localization

Few applications exist that don’t display text either in the interface (dialogs, buttons, window title bars, and so forth) or in a window (text from a file). If you plan to distribute your application in more than one language, you’ll need a strategy for internationalizing it, that is, localizing the application as appropriate for a particular language or region of the world.

Resources simplify the process of internationalizing an application. An application bundle (explained in Chapter 3) can contain multiple sets of resources, grouped by language and locale. By combining all these resources in one package, you can create one version of your application that is localized for multiple languages. Translations of the application’s text strings are among the resources stored with the executable in the application’s bundle.

Project Builder supports localization by organizing resources into language-specific, or .lproj folders. We won’t cover all localization issues in this chapter. Instead, we’ll focus on how to use language-specific folders to store strings. To that end, you’ll:

  • Review language-specific (.lproj) folders

  • Provide an overview of what you can put in them

  • Look at a localizable strings file and how to retrieve a string from it

  • Create a window and a localizable strings file that contains text to display in the window

Language-Specific Folders

When you create a project in Project Builder, it checks to see under which development region you’re ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required