An internationalized application is one that has been designed and implemented so that it can be modified to adapt to all cultural or linguistic contexts. Thus, internationalizing an application is a prerequisite to creating specific language editions that take regional business conventions into consideration.
Although an internationalized application is often incomplete until it is adapted to a specific region, you can consider an internationalized application deployable if, for example, you supply customizable modules that developers or system administrators on site adapt to their locale. Or if you allow users to tailor preferences, such as the language of the interface, the format of reports, measurement systems, and calendar and date formats, you can consider your application to be internationalized.
The major design principle for an internationalized application is to allow regional aspects to be changeable without requiring modifications to code. You should not hard code anything that might be affected by regional differences—from labels on the user interface to procedures that back up databases based on date information obtained from the operating system that is assumed to be in a specific date format.