Defining globalization

You might probably find several different definitions for globalization. Here, globalization is defined as an architectural process where you place as much application functionality as possible into a foundation that can be shared among multiple languages.

Globalization is composed of the following two parts:

Internationalization
Developing language-neutral application functionality that can recognize, process, and respond to data regardless of its representation. That is, whatever the application can do in one language, it can also do in another. For example, think of copying and pasting text. A copy and paste operation should not be concerned with the language of the text it operates on. For a ColdFusion application, you might have processing logic that performs numeric calculations, queries a database, or performs other operations, independent of language.

Localization
Taking shared, language-neutral functionality, and applying a locale-specific interface to it. Sometimes this interface is referred to as a skin. For example, you can develop a set of menus, buttons, and dialog boxes for a specific language, such as Japanese, that represents the language-specific interface. You then combine this interface with the language-neutral functionality of the underlying application. As part of localization, you create the functionality to handle input from customers in a language-specific manner and respond with appropriate responses for that language.