Getting Started with Internationalization

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:

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.

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.

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.

Next Steps

The Internationalization Reference Library includes the following high-level resource pages, which can be bookmarked for easy access:

  • Guides

    Conceptual and how-to information for internationalization.

  • Reference

    Focused, detailed descriptions in reference format for internationalization in Carbon, Cocoa, and Core Foundation.

  • Release Notes

    Notes containing the latest news about Mac OS X features affecting internationalization.

  • Sample Code

    Sample applications demonstrating internationalization techniques.

  • Technical Notes

    Late-breaking information on issues related to Internationalization.

  • Technical Q&As

    Programming tips, code snippets, and FAQs by Apple’s support engineers.

  • Mailing Lists

    The carbon-development and cocoa-dev mailing lists include discussions of internationalization topics among Mac OS X developers.

These additional internationalization resource pages may also be helpful:



© 2004, 2008 Apple Inc. All Rights Reserved. (Last updated: 2008-02-08)


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.