Introduction
Technology Overview
The size of the global market for your software application depends on its support for locale-specific content and functionality. Designing an application with the world in mind, a process known as internationalization, makes it easier and less costly to adapt it to other cultures or regions. The adaptation process, often performed simultaneously for several target markets, is known as localization.
The best time to internationalize is during product development. Not only will you shorten your time to foreign markets; following internationalization principles will often help to create a more solid native-language product that is easier to maintain and revise. Legacy applications can be fully internationalized as well.
Start Here
If you’ve never internationalized a product, become familiar with the process by reading:
The ADC Topic Page for Internationalization for links to Apple’s internationalization resources
Introduction to i18n (from the open-source Debian software project) to get a grounding in the concepts important to internationalization
The Terminology pages from the Globalization and Localization Association for a comprehensive glossary of internationalization terms
Internationalization and Localization Guide to learn how Mac OS X arranges and uses localized resources for an application
Internationalization and Localization (PDF) to understand the costs and benefits of internationalizing your product
Choose a Learning Path
If you’re bringing an internationalized application to Mac OS X from a Windows or UNIX platform, you’ll want to learn about porting issues. If you’re starting a new project, or retrofitting an old one, you’ll want a deeper understanding of location independence and how to apply it. If your application works with text, you’ll want to learn about Unicode in Mac OS X.
Porting an Internationalized Application
If you have an existing, internationalized application developed for a Windows or UNIX platform, you’ll want to know about differences you’ll encounter upon moving your code to Mac OS X.
If you are bringing an internationalized application from Windows to Mac OS X, read Internationalization in Porting to Mac OS X from Windows Win32 API.
If you are bringing an internationalized open source application to Mac OS X, review Internationalization in User Guide for the International Components for Unicode (ICU). Read UNIX Porting Guide.
Designing for Location Independence
Your application should not assume that a user is in any particular location in the world with regard to their expectations for address formats, measurement systems, currency symbols, writing direction, or colors. Build your application from the ground up for location independence to maximize its localizability.
To gain a deeper understanding of locales and how they are implemented in Mac OS X, read Locales Programming Guide.
Whether developing a Carbon or Cocoa application, read Worldwide Compatibility in Apple Human Interface Guidelines.
If you are designing or retrofitting a Carbon application for location independence, read Preferences Programming Topics for Core Foundation. Also read Introduction to International Text on the Mac OS and Overview of Text Handling in Handling Unicode Text Editing With MLTE.
If you are designing or retrofitting a Cocoa application for location independence, read Internationalization and Localization Guide and Preferences and Settings Programming Guide.
Adding Unicode Support
Unicode is the native text file encoding for Mac OS X, a feature that streamlines your internationalization effort. But there are a variety of considerations to keep in mind depending on your application and your development strategy.
If your Mac OS X application works with text, read File Encodings and Fonts in Internationalization and Localization Guide.
If you are developing using Carbon, read Handling Unicode Text Editing With MLTE, Multilingual Text Engine Frequently Asked Questions, ATSUI Programming Guide, and Supporting Unicode Input.
If you are developing using Cocoa, read Text System Architecture.
Next Steps
The Internationalization Reference Library includes the following high-level resource pages, which can be bookmarked for easy access:
Conceptual and how-to information for internationalization.
Focused, detailed descriptions in reference format for internationalization in Carbon, Cocoa, and Core Foundation.
Notes containing the latest news about Mac OS X features affecting internationalization.
Sample applications demonstrating internationalization techniques.
Late-breaking information on issues related to Internationalization.
Programming tips, code snippets, and FAQs by Apple’s support engineers.
Mailing Lists
The
andcarbon-development
mailing lists include discussions of internationalization topics among Mac OS X developers.cocoa-dev
These additional internationalization resource pages may also be helpful:
Apple’s Regional Information
Global marketing and business information for Mac OS X.
Publishers of the Unicode standard.
Localization Industry Standards Association
An international association for the globalization, internationalization, localization, and translation industries.
Copyright © 2004, 2008 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2008-02-08