xIUA contains several features that are specifically designed for Web servers.
The Apache support which was designed for the Apache Web Server 1.3 are incomplete. This code required some special application assistance. Some of the features are dependent on ICU code changes that we submitted but were not incorporated until release 1.8.1
Normally Apache uses a type code on each file to indicate the language. Most web sites use separate directories for each language. This simplifies maintaining links between pages. One of the functions that the Apache extensions were designed to do was to override the mod_mime processing on selected extensions to support a directory based locale selection.
There are some working routines that are useful for Web servers are xiua_ScanDir, xiua_AcceptLanguage, and xiua_FindLocaleFromLang.
xiua_ScanDir finds locale names in paths. It returns the locale and the level of depth into the path that the locale was found.
xiua_AcceptLanguage parses the browser accept language string as per RFC 3066 standards to find the highest quality preferred language that is installed.
xiua_FindLocaleFromLang converts the language into an ICU locale.
Suggested customization includes modifying the xIUA internal ChkLocale routine to add support for a database table locale check. Most web sites are only implemented for a small number of locales. It would cost too much to translated the web pages into all the languages that ICU supports. Using a database table for extra information about supported languages and locales is a valuable asset but one that is likely to be specific to the application.