Introduction to Internationalization Programming Topics

Today's applications are marketed to a global audience. Selling your applications to that audience requires the customization of your software for each target market. Users in a foreign country are not going to want a user interface in a language they do not understand. Similarly, there may be images that you find acceptable but which are considered quite rude in other cultures. The problem is how do you create software in a language that you do not understand? The answer is through the internationalization technologies found in OS X and iOS.

Rather than rewrite your software for each language you want to support, you can internationalize it to support any language. This process involves separating any user-visible text and images from your executable code. Once you have this data isolated into separate resource files, you can translate it into the desired languages and integrate the localized resource files back into your application bundle. This document helps you understand the steps needed to prepare your application for these processes.

Organization of This Document

This document includes the following articles:

See Also

The bundle mechanism plays a prominent role in supporting localized versions of an application. In addition, part of the internationalization process involves using resource files instead of hard coding strings and other localizable content into your executable. You should therefore read the following books for related information about the internationalization process:

Different countries use different ways to present and interpret temporal and numeric data; they may also use different calendrical systems. You should read the following books for more information about how to take account of these differences in your application:

The following code samples illustrate localization and internationalization techniques and APIs: