An internationalized application's executable image is portable between languages and regions. To internationalize software:
Use the interfaces described in this book to create software with an environment that can be modified by dynamically recompiling.
Divide software into executable code and all the messages that the user might see. Keep the message strings in a message catalog.
Message strings are translated for a language or region. A locale includes the message strings and methods to specify sorting.
To use a localized version of a product, the user sets certain environment variables. The product then displays messages that are translated into the language of the locale. Date, time, currency, and other information is formatted and displayed according to locale-specific conventions. Message translations and online help contents are provided throughout different layers, as illustrated in the following diagram.