This chapter provides basic guidelines for producing applications for international markets. Internationalization is the process of generalizing programs or systems so that they can handle a variety of languages, character sets, and national customs. Localization is the process of providing language-specific or country-specific information or support for programs.
In general, internationalization issues are handled by tools available to programmers on their system. For example, the ANSI C standard (ANS X3.159-1989) and POSIX 1003.1 have defined internationalization in terms of locale. The locale can then be set as part of the user's environment, allowing the program to access locale-specific information, such as data formats, collating sequences, and system messages, from system-specific or application-specific databases. You should use any internationalization tools available on your system to support internationalization in your application.
Following are some of the issues that need to be addressed in an internationalized application. In most cases, these issues are addressed by the internationalization tools available on your system. They are provided here primarily to increase your awareness of issues that can affect your programming. In a few cases, you may need to adjust your program to allow for size and layout changes of data in different locales.