diff options
Diffstat (limited to 'includes/locale.inc')
-rw-r--r-- | includes/locale.inc | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/includes/locale.inc b/includes/locale.inc index 50f442907..4b2f00556 100644 --- a/includes/locale.inc +++ b/includes/locale.inc @@ -7,6 +7,32 @@ */ /** + * The language is determined using a URL language indicator: + * path prefix or domain according to the configuration. + */ +define('LOCALE_LANGUAGE_NEGOTIATION_URL', 'locale-url'); + +/** + * The language is set based on the browser language settings. + */ +define('LOCALE_LANGUAGE_NEGOTIATION_BROWSER', 'locale-browser'); + +/** + * The language is determined using the current interface language. + */ +define('LOCALE_LANGUAGE_NEGOTIATION_INTERFACE', 'locale-interface'); + +/** + * The language is set based on the user language settings. + */ +define('LOCALE_LANGUAGE_NEGOTIATION_USER', 'locale-user'); + +/** + * The language is set based on the request/session parameters. + */ +define('LOCALE_LANGUAGE_NEGOTIATION_SESSION', 'locale-session'); + +/** * Regular expression pattern used to localize JavaScript strings. */ define('LOCALE_JS_STRING', '(?:(?:\'(?:\\\\\'|[^\'])*\'|"(?:\\\\"|[^"])*")(?:\s*\+\s*)?)+'); @@ -156,6 +182,10 @@ function locale_language_from_session($languages) { function locale_language_from_url($languages) { $language_url = FALSE; + if (!language_negotiation_get_any(LOCALE_LANGUAGE_NEGOTIATION_URL)) { + return $language_url; + } + switch (variable_get('locale_language_negotiation_url_part', LOCALE_LANGUAGE_NEGOTIATION_URL_PREFIX)) { case LOCALE_LANGUAGE_NEGOTIATION_URL_PREFIX: // $_GET['q'] might not be available at this time, because |