Prev | Chapter 16. Internationalization | Next

## Design Notes

User locale is a property of ad_conn, `ad_conn locale`. The request processor sets this by calling `lang::conn::locale`, which looks for the following in order of precedence:

1. Use user preference for this package (stored in ad_locale_user_prefs)

2. Use system preference for the package (stored in apm_packages)

3. Use user's general preference (stored in user_preferences)

4. Use Browser header (`Accept-Language` HTTP header)

5. Use system locale (an APM parameter for acs_lang)

6. default to en_US

For ADP pages, message key lookup occurs in the templating engine. For TCL pages, message key lookup happens with the `_` function. In both cases, if the requested locale is not found but a locale which is the default for the language which matches your locale's language is found, then that locale is offered instead.

Prev | Home | Next
How to Internationalize a Package | Up | Translator's Guide

View comments on this page at openacs.org