|
|
|
@ -38,40 +38,9 @@ function get_preferred_language($available_langs) { |
|
|
|
|
// No match |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Wrapper function for the get_lang function |
|
|
|
|
* use this if you want to avoid translation caching issues |
|
|
|
|
* Get a language variable in a specific language |
|
|
|
|
*/ |
|
|
|
|
function cp_get_lang($variable) { |
|
|
|
|
return get_lang($variable, null, $_SESSION['user_language_choice']); |
|
|
|
|
function custompages_get_lang($variable) { |
|
|
|
|
return get_lang($variable, null, $_SESSION['user_language_choice']); |
|
|
|
|
} |
|
|
|
|
/** |
|
|
|
|
* Code |
|
|
|
|
*/ |
|
|
|
|
// Note that Chamilo languages are expressed as full english names, not 2-characters codes |
|
|
|
|
// e.g. 'english' instead of 'en', 'french' instead of 'fr', ... |
|
|
|
|
// We need a matching array. Note the value for the null key, which is the default language. |
|
|
|
|
// Also note that this is an example matchin array, not all languages are present. |
|
|
|
|
$chamilo_langs = array(null => 'english', 'en' => 'english', 'fr' => 'french', 'es' => 'spanish'); |
|
|
|
|
|
|
|
|
|
// Which of these can we actually pick from ? |
|
|
|
|
$available_langs = array('en','fr'); |
|
|
|
|
|
|
|
|
|
// Let's find out which language to serve to this particular browser |
|
|
|
|
$lang_match = $chamilo_langs[get_preferred_language($available_langs)]; |
|
|
|
|
|
|
|
|
|
// Chamilo overrides this parameters at some places, e.g. in the logout link |
|
|
|
|
if (isset($_REQUEST['language']) && !empty($_REQUEST['language']) && in_array($_REQUEST['language'], $chamilo_langs)) { |
|
|
|
|
$lang_match = $_REQUEST['language']; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Maybe a language had already been selected, we should honor this |
|
|
|
|
if (isset($_SESSION['user_language_choice']) && in_array($_SESSION['user_language_choice'], $chamilo_langs)) { |
|
|
|
|
$lang_match = $_SESSION['user_language_choice']; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// We need to set the relevant session variables to the best match, to use Chamilo's i18n lib. |
|
|
|
|
$_user['language'] = $lang_match; |
|
|
|
|
$_SESSION['user_language_choice'] = $lang_match; |
|
|
|
|
?> |
|
|
|
|