>> What is the difference between internationalization and localization?
>
>i18n is the process of ensuring that software can be localized. L10n is
the
>process of actually doing so. Software may be internationalized while
>supporting only English; in that case, it will be easy to add Spanish,
>Portuguese, .... Klingon at a later date.

Of John's and Michael's explanations, I have to say this is the better one.
(Sorry, Michael.) Certainly, John's definition of I18N fits with what is
the most common definition. (John didn't really define L10N.) Quoting
ISO/IEC TR11017:

<quote>
INTERNATIONALIZATION (I18N): A process of producing an application platform
or application which is easily capable of being localized for (almost) any
cultural environment. (Note, therefore, that an INTERNATIONALIZED
information system does not have a dependency on any specific culture
unless it is LOCALIZED to that selected culture.)

LOCALIZATION (L10N): A process of adapting an INTERNATIONALIZED application
platform or application to a specific cultural environment. In
LOCALIZATION, the same semantics are preserved while the syntax may be
changed (Refer [sic] to clause 5).
</quote>

This doesn't tell the whole story, though, which I find to be a limitation
in that TR. There are two orthogonal issues:

Historically, these weren't separated (hence the language of that TR);
thus, localising a product such as a word processor typically meant making
it work with data in the given language & writing system of the locale and
also presenting the user interface in that language and writing system. But
the two are logically distinct: you could have a word processor that
handles text in any language & writing system while only providing a UI for
one language; and you can in principle also have a program that allows the
UI to be switched between multiple languages but which presents data in
only one language & writing system. (The latter wouldn't be very likely,
but consider, perhaps, an application specifically for doing research on
the Hebrew Bible.)

Given this, would we say that my US version of Office 2000 is *localised*?
(It can do text in multiple languages but only offers me an English UI). I
have preferred to talk about software being *enabled* for multiple
languages/writing systems - meaning that it can handle data in multiple
langs/WSs; being *localisable* - meaning that it is capable of presenting
its UI in many langs/WSs; and *(UI) localised for langs/WSs X, Y and Z* -
meaning that it actually has the UI resources for lang/WSs X, Y and Z.
Thus, my copy of Office 2000 is enabled for a number of languages and
localisable, but it has a monolingual UI. There are Office 2000 products
out there that are also UI-localised for a selection of languages.

Now, I18N isn't a prerequisite for either enabling or UI localisability,
but I wouldn't want to provide either functionality any other way.