I18N: Making an application locale-independent
Internationalization (i18n) is the process of designing a software or Web application to handle different linguistic and cultural conventions without additional engineering. Central to internationalization is the separation of language and cultural data from the source code.
L10N: Adapting and translating an application for a specific locale
Localization (l10n) is the process of adapting a product to the requirements of a target locale. This involves the translation of the user interface (UI) - including text messages, icons, buttons etc. -, of the online help, and of any documentation and packaging, and the addition of cultural data and language-dependent components, such as spell-checkers, input methods and so forth.
I18N = N * L10N
I18N support in PHP is not as strong as in Java. You have to roll your own i18n support classes.
To make your application global, its best to use Unicode, which supports nearly all languages and scripts in the world. Take care when using Unicode (UTF-8) in PHP: Not all functions will work as expected. More on this on the Character Sets / Character Encoding Issues page.
TODO: Add notes about setting locale in PHP.
The WACT framework itself is not i18nized yet. Hopefully this will change in future versions:
Some relevant features are already available: the Multi-Lang Fileschemes and using language-specific ini-files with UI texts.
The WACT based LIMB CMS already has most of the above-mentioned features, even though the developers stated that they consider these features as still very basic. Maybe these can be integrated into WACT later?