### Locale Categories

A locale category is the specification of one of the elements that make up the cultural environment, or locale, in which a program runs.

IBM C and C++ Compilers supports the following locale categories:

- LC_CTYPE defines character attributes
- LC_COLLATE establishes relative order of character collating elements
- LC_MONETARY defines the rules and symbols to format monetary quantities
- LC_NUMERIC defines the rules and symbols to format non-monetary numeric data
- LC_TIME specifies how to format date and time data
- LC_MESSAGES establishes the format and values of positive and negative responses
- LC_TOD controls the start and end of daylight savings time and the time zone
  Note: The LC_TOD locale category is an IBM extension. The locales that ship with IBM C and C++ Compilers do not have LC_TOD specified. To specify time zone and daylight savings time information, you must either add LC_TOD and rebuild the locale or use the tzset function.
- LC_SYNTAX defines variant characters from the portable character set
  Note: The LC_SYNTAX locale category is an IBM extension.

IBM C and C++ Compilers' support of internationalization is based on the IEEE POSIX P1003.2 and X/Open Portability Guide standards for global locales and coded character set conversion, with the following exceptions:

- The grouping arguments in the LC_NUMERIC and LC_MONETARY locale categories must be strings, not sets of integers.
- The use of the ellipsis (...) in the LC_COLLATE locale category is limited.

The ANSI standard C++ Localization library supports the following standard locale categories:

- ctype
- collate
- monetary
- numeric
- time
- messages

Internationalization
Localization and Locales

Make your Program International
Customize a Locale

Locale Source Files
LC environment variables