Getting Started with International Windows Development

This topic helps you get started creating world-ready applications, by specifying prerequisites, summarizing technologies, and introducing a getting-started tutorial.

Getting Started

If you write applications for users in a single locale, those applications can be successful even if you design them with locale-specific assumptions, such as presenting dates in a particular format, or sorting strings in a particular sequence. But now you have to ensure that your applications can be used in multiple countries, by users who have different languages and different cultures. To succeed in multiple locales, the applications need to adjust to the locale in which they run. This flexibility is important whether you add it to an existing application, or you design it into a new application.

This section helps you get started in international development. It presents links to topics that provide prerequisite overviews of internationalization. It summarizes the technologies that the SDK offers for support of worldwide customers. Finally, this section provides a sample application that solves a problem that you often encounter when writing global software.


You should become familiar with the issues that arise in developing international software for Windows. Start with these overviews.

Also be aware of the more extensive articles that can be found at the Go Global Developer Center in the Globalization Step-by-Step section. As you develop international software, you will want to consult the additional overviews and detailed articles that can be found there.

Learning Paths

The path you follow next in learning to create international software depends on the scenarios you face. The following scenarios are based on those introduced in the main section topic, Internationalization for Windows Applications.

Internationalization Technologies in the SDK

The International Development Support section of the SDK provides technologies that permit the application to enumerate languages, locales, and locale-specific formats. You can use them in Microsoft Win32 applications that you write in C or C++ .

The Extended Linguistic Services offer Microsoft-patented technology for the identification of languages and scripts in text. Your application can determine the services available based on category as well as on input and output language, script, and content type.

International Fonts and Text Display provides information about international fonts, complex scripts and glyphs, and the fine rendering of typography on the Windows platform.

Input Method Manager (IMM) is a technology that helps the application receive input from Input Method Editor (IME) software, which in turn allows the entry of characters and symbols, such as Japanese kanji, for other languages by using a standard keyboard.

The Hello MUI Application

A common task in international development begins with a monolingual application that you must make world-ready. You need to add support for additional languages, but in a way that does not require that you rewrite the code for each new language or culture.

This task provides the opportunity to present a tutorial that takes you step-by-step through the creation of a Hello MUI application, making use of the Multilingual User Interface (MUI) resource model and associated support provided in Windows.

The tutorial adopts the concept of the familiar Hello World application, demonstrating the use of MUI to build a basic multilingual application.

You can begin the Hello MUI tutorial at Adding Multilingual User Interface Support to an Application.