Internationalization and Localization
Terminology and best practices
Internationalization (abbreviated i18n, where 18 is the number of left out characters) is about designing a system to be prepared to make localization possible and easy.
Localization (abbreviated l10n, where 10 is the number of left out characters) is the adaptation of a system for a specific region. This includes language related aspects (translations, different characters and scripts), cultural aspects (different units, currencies, time and date formats, meaning of colors and symbols, suitability of images), and legal requirements.
Example: Internationalization is constructing a car in a way to make it possible to build in the steering wheel on either side. Localization is building cars with steering wheels on the right-hand side for a market with right-hand traffic.
Further reading: Localization vs. Internationalization
Use UTF-8 as character encoding. In each part of your system (data base, web pages). This allows you to use each Unicode character without escaping. When not to use escapes
Use language negotiation on multilingual Web sites. When to use language negotiation
Declare the language of your content with the lang attribute. This is useful for spell checkers, screen readers, automatic hyphenation, … Why use the language attribute?
Further reading: Internationalization Quick Tips for the Web