Other Localization Issues

In addition to localizing data within an application and UI elements, there are two other issues that architects and developers need to consider: exception handling and testing.

Localized Exception Strings

As mentioned in Chapter 2, in order to save space on the device, the text messages associated with exceptions in the Compact Framework are abstracted into a separate assembly called System.SR.dll. This 90K assembly can be referenced during development and, hence, deployed to the device to debug an application more easily.

The Compact Framework also provides nine additional localized versions[11] of the exception messages, each packaged in a .cab file and installed on the developer's computer in the \Program Files\Microsoft Visual Studio .NET 2003\CompactFramework\SDK\v1.0.500\Windows CE\Diagnostics directory. These .cab files, named, for example, System_SR_fr.cab for the French version, also contain the English (U.S.) versions of the messages. As a result, these .cab files can be deployed during either development or production, especially if the exception messages are to be displayed to the end user.

[11] These include French, German, Italian, Japanese, Korean, Portuguese (Brazil), Spanish, and two forms of Chinese.

Testing World-Ready Applications

A second issue that should be addressed is the testing of world-ready applications. By default, the emulators that ship with SDP include English images of both the Pocket PC 2002 and Windows CE .NET. As mentioned in Chapter 2, these emulators can be configured through VS .NET and customized in appearance through the use of skins.

In addition to the two default images, additional localized images can be obtained through the Pocket PC 2002 and Windows CE .NET SDKs.[12] Starting the emulators manually using these images as described in Chapter 2 allows developers to test their applications more fully before they are used in different cultures and reduces the amount of hardware required for testing. For example, the Pocket PC 2002 SDK includes nine localized images encompassing the same languages as those the Compact Framework provides for exception messages, each of which is 15MB to 24MB in size and can be downloaded separately.

[12] The URL to download the Pocket PC 2002 SDK can be found in the "Related Reading" section at the end of this chapter.

Although we certainly recommend testing in this fashion, the best-case scenario, if at all possible, is to test the application on localized devices where possible.