Organization of This Document
See Also
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 Mac OS X.
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.
This document includes the following articles:
“Internationalization and Localization” introduces the process and terminology associated with internationalization and localization.
“Support for Internationalization” describes the support for internationalization provided by Mac OS X.
“Language and Locale Designations” describes the conventions for identifying languages and locales in your application.
“Guidelines for Internationalization” provides tips to help you internationalize your software.
“Getting the Current Language and Locale” shows you how to find out which localization is currently in effect.
“Preparing Your Nib Files for Localization” provides tips for localizing your nib files including how to extract strings using ibtool
.
“Strings Files” shows you how to create string resource files and get the resulting strings in your code.
“Internationalizing Other Resources” provides tips on how to localize programmatically-generated content using the current locale information.
“Localizing Pathnames” describes the Mac OS X support for localized bundle and directory names and shows you how to support this feature in your application.
“Notes For Localizers” provides tips for people who localize content in Mac OS X.
“File Encodings and Fonts” provides legacy information related to file encodings in previous versions of Mac OS, along with information about how to support those encodings in Mac OS X. It also describes some issues surrounding the use of fonts with different file encodings.
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:
Bundle Programming Guide provides information about the bundle structure of applications and how it supports localized content.
Resource Programming Guide provides information about resource files and how you load them into your application.
© 2003, 2009 Apple Inc. All Rights Reserved. (Last updated: 2009-01-06)