Internationalization is the process of designing and coding a product so it
can perform properly when it is modified for use in different languages and
locales.
Localization (also known as L10N) refers to the process, on a properly
internationalized base product, of translating messages and documentation as
well as modifying other locale specific files.
Assuming that there is not a separate base product for the locale, the
localized files are installed at their proper location in the base product. This
product is then released as a localized version of the product.
Localizing a properly internationalized product in most cases should require
no changes to the source code.
Internationalization testing is the process, which ensures that product�s
functionality is not broken and all the messages are properly externalized when
used in different languages and locale. Internationalization testing is also
called I18N testing, because there are 18 characters between I and N in
Internationalization.