First and foremost, neither internationalization nor localization is the same thing as translation. In fact, you can have a fully translated websiteall in German, all in Japanese, or all in whatever language you wantand it will not be considered an internationalized or localized website. It will just be a translated one. The key aspects to internationalization are as follows:
After you have constructed your application so that your strings are externalized and your formatting functions can change per locale, you can begin the process of localization. Translation happens to be a part of that.
A locale is essentially a groupingin this case, a grouping of the translated strings, graphics, text, and formatting conventions that will be used in the application or website to be localized. These groupings are usually referred to by the name of the pervasive language of the application, such as the German locale. Although it might be obvious that the German locale includes text translated into German, it does not mean that the website is applicable only to people in GermanyAustrians who speak German would probably utilize a localized German website, but it would not be referred to as the Austrian locale.
In the next few sections, you learn about working with different character sets and how to modify your environment to successfully prepare your applications for localization.