SourcePro Core : Essential Tools Module User's Guide : Internationalization Classes
Internationalization Classes
Introduction
As a developer, you belong to an international community. Whatever your nation, you share with other developers the problems of adapting software and applications for your own culture and others. Accommodating the needs of users in different cultures is called localization; making software that can be easily localized is called internationalization.
The Essential Tools Module is made in the United States. It is internationalized in the sense that it provides the framework you need to localize fundamental aspects of different cultures, such as alphabets, languages, currencies, numbers, and date- and time-keeping notations. With the Essential Tools Module, you write a single application you can ship to any country. When your application is executed, it will be able to process times, dates, strings, and currency in the native format.
The Essential Tools Module supports internationalizing and localizing of your applications. Most of that support comes via a useful and flexible interface to the functionality found in POSIX, C, and the C++ Standard Library. By acting as a wrapper for these core capabilities, the module allows you to handle different locales under program control, including multiple locales at the same time, or in different threads.
In the Essential Tools Module, the RWBasicUString class holds strings encoded in UTF-16. It performs basic string manipulation operations such as append() and replace(). It also performs conversion between UTF-16 and UTF-8.
In the Internationalization Module, the RWUString class extends RWBasicUString and offers additional functionality based upon extensive databases of character and locale information. Used in conjunction with the other classes in the Internationalization Module, RWUString supports locale-sensitive string searching and sorting, string normalization, and conversions between UTF-16 and hundreds of other encodings.
For more information on using RWBasicUString and RWUString to perform conversions of character encodings, see the Internationalization Module User’s Guide.
The Essential Tools Module class library is usable with any eight-bit clean or sixteen-bit Unicode encoding.
This chapter discusses several classes that are used for the internationalization process. Some of these classes are located in the Internationalization Classes group. This group allows you to localize your software through the convenient and easy-to-use framework of the RWLocale class and its two implementations: RWLocaleSnapshot and RWAnsiLocale. You can also manipulate time zones and Daylight Saving Time via the RWZone class.
Table 15 lists the Internationalization Classes. The SourcePro API Reference Guide provides detailed information on each class in this class group.
Table 15 – Internationalization Classes 
Class Name