Apple Developer Connection
Advanced Search
Member Login Log In | Not a Member? Contact ADC

Internationalization Overview

Internationalization is the process of designing and modifying your software to handle different scripts, text systems and locale-specific features. Localization is the process of translating an application's text elements and adjusting the user interface for a specific language or region. Mac OS X provides a wide array of resources that do both. You can choose from a suite of international technologies that handle text systems used around the world and conversion utilities that manage locales, dates, and measurement systems in a consistent manner. Apple Type Services for Unicode Imaging (ATSUI) and the Multilingual Text Engine (MLTE) handle Unicode-encoded text, and AppleGlot and ADViewer extract and translate strings and GUI elements. When you're done, Mac OS X puts your application's executables, multiple libraries, and resource files into a single package, so users can launch your internationalized and localized software dynamically from a single application icon. With over half of Macintosh computers being sold outside the United States and because Mac OS X makes it so easy, now is as good a time as any to jump into the international market.

Mac OS X provides a comprehensive suite of services to help you internationalize and localize software. As a multiscript and multilocale operating system, Mac OS X enables users to complete any common regional-specific operation_such as entering and displaying text, printing, and displaying regional formats_in a way that is natural to a user's native script and region, regardless of the user interface language. For example, a Japanese speaker can choose English as the user interface language, but write documents or filenames in Japanese.

Mac OS X delivers a variety of localization tools and techniques to edit user-interface text, resize text-related graphical elements, and modify images and sound to conform to local conventions. Interface Builder allows you to edit the nib files that contain the GUI parts of your application. You can move and resize buttons, text fields, and other graphical components so that they accommodate the increased size of the localized application strings and translated text.

Other localization tools include AppleGlot, a localization environment, and ADViewer, the recommended localization text editor. You can use AppleGlot to extract all the strings and GUI pieces that need to be translated out of Xcode project files, and ADViewer to quickly translate the extracted strings. ADViewer contains many convenient features, such as the ability to recognize UTF-8 and UTF-16 encodings and to open AppleGlot documents.

ATSUI is a set of services for rendering Unicode-encoded text. ATSUI is used by many parts of Mac OS X, including the Finder, making Mac OS X a truly international system that respects the display of complex languages and double-byte scripts. Using ATSUI enables applications to be international-text compliant, accommodating bidirectional and vertical text entry.

MLTE is a full-featured API and ATSUI client for creating and editing Unicode text, providing services such as document-wide tabs, full justification of text, support for more than 32 KB of text, built-in scroll bar handling, and support for built-in printing, inline input, and multiple levels of undo. The result gives text editing fields the look and feel typical to Mac OS X.

Because the popularity of Macintosh extends worldwide, Apple provides all the tools and resources you need to internationalize and localize your software. From AppleGlot and ADViewer to new technologies for taking advantage of Unicode, you can bring your application to international markets quickly and easily.

If you are ready to begin learning about the APIs and tools available for Text & Fonts, go to Getting Started With Internationalization, for a guided introduction and learning path.

For news, updates and links to other ADC content related to Internationalization, return to the Internationalization topic page.

Posted: 2005-11-08