Tools for Localization

Before you begin work on your Chinese, Japanese, or Korean program, you will need to acquire the Far East Win32 Software Development Kit (SDK). You can create a single binary that will run on both the Microsoft Windows NT and the Microsoft Windows 95 platforms, but keep in mind that certain Far Eastern–specific features work differently on each. For example, the Windows NT 3.5 Input Method Editors(IMEs) are based on a model used in Windows 3.1, but the Windows 95 IMEs are based on a redesigned model. (Windows NT 3.51 supports both IME models.) Likewise, the Korean edition of Windows NT 3.5 supports the Wansung code page as well as Unicode, whereas the Korean edition of Windows 95 contains full support for both the Johab and the Wansung code pages, but not for Unicode. (The Korean edition of Windows NT 3.51, which is based on Unicode version 2, also supports Johab.)

Steps for Creating a Far Eastern Application

  1. Enable your code to handle double-byte character sets or Unicode. (See Chapter 3.) Make your code generic. For example, don't hard-wire any code-page information, such as lead-byte ranges. Use the function GetCPInfo instead.
  2. Add Input Method Editor (IME) support. On Windows NT 3.5, you will need to alter IME support slightly, depending on the target language of your application. Windows 95 and Windows NT 3.51 provide a unified IME application programming interface (API), so Far East editions of your application on these platforms can share common IME-related code.
  3. Test your enabled code on the appropriate localized editions of Windows NT and Windows 95.
  4. Test your enabled code on local hardware. Your Japanese application should run smoothly on NEC machines, for example.
  5. Add support for vertical writing and printing.
  6. Localize the user interface.
  7. Add code to make your application degrade gracefully on non–Far East editions of Windows.

Figure 7-1 Creating a Far Eastern application for Windows involves adding code to accommodate different writing systems.

In addition to the SDK, you will need a 32-bit compiler that understands either Unicode or double-byte character sets, depending on the character encoding your application will use. As explained in Chapter 3, Microsoft Visual C++ 2's run-time libraries contain both Unicode-enabled and multibyte-enabled functions. Therefore, you don't have to buy special localized editions of Visual C++ 2, as you did with previous compilers. The English edition's visual editing environment is enabled for double-byte character sets (DBCS) as well. If you run Visual C++ 2 on a localized edition of Windows, you can use ideographic characters in string literals and comments.

To help developers unfamiliar with Chinese, Japanese, or Korean, Microsoft has provided English documentation for the Far East Win32 SDK. Developers can also obtain a Japanese-enabled edition of Windows 95 that has an English user interface. Because the GDI, Input Method Manager (IMM), and USER modules are identical for all Far East editions of Windows 95, and because each Far East edition carries LCTYPE information for all Far East locales, you can develop a common source-code base using the Japanese-enabled edition of the operating system. You will still need to test your application on localized editions, however, because code- page data, fonts, and font association rules differ among Far East editions. If your application is targeted for Windows NT and is based on Unicode, you can develop most of your code using any language edition of Windows NT. The Far East editions of Windows NT are necessary for testing purposes and for adding IME support.