From 0614a78538bcc91f620abb38a0366d6ecee9eb06 Mon Sep 17 00:00:00 2001 From: Angie Byron Date: Tue, 5 Oct 2010 17:57:09 +0000 Subject: #780318 by plach: Fixed path prefixes are always active on multilingual sites. --- includes/locale.inc | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'includes') diff --git a/includes/locale.inc b/includes/locale.inc index 50f442907..4b2f00556 100644 --- a/includes/locale.inc +++ b/includes/locale.inc @@ -6,6 +6,32 @@ * Administration functions for locale.module. */ +/** + * 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. */ @@ -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 -- cgit v1.2.3