if (!empty($language_priority3) && api_get_language_from_type($language_priority3) !== false) { $language_interface = api_get_language_from_type($language_priority3); } else { if (isset($_SESSION['user_language_choice'])) { $language_interface = $_SESSION['user_language_choice']; } } if (!empty($language_priority2) && api_get_language_from_type($language_priority2) !== false) { $language_interface = api_get_language_from_type($language_priority2); } else { if (isset($_user['language'])) { $language_interface = $_user['language']; } } if (!empty($language_priority1) && api_get_language_from_type($language_priority1) !== false) { $language_interface = api_get_language_from_type($language_priority1); } else { if (isset($_course['language'])) { $language_interface = $_course['language']; } } } // Sometimes the variable $language_interface is changed // temporarily for achieving translation in different language. // We need to save the genuine value of this variable and // to use it within the function get_lang(...). $language_interface_initial_value = $language_interface; /** * Include the trad4all language file */ // if the sub-language feature is on
/** * gets a string from a component * */ function get_string($key, $component = 'local_ent_installer', $a = '') { global $_configuration; static $strings; static $fallbackstrings; if ($component == 'local_ent_installer') { $fallbackpath = $_configuration['root_sys'] . 'local/ent_installer/lang/english/local_ent_installer.php'; if (!isset($strings)) { $lang = api_get_language_from_type('platform_lang'); if (empty($lang)) { $lang = 'english'; } $path = $_configuration['root_sys'] . 'local/ent_installer/lang/' . $lang . '/local_ent_installer.php'; if (!file_exists($path)) { if (!file_exists($path)) { print_error('missinglang', null); die; } if (!isset($fallbackstrings)) { include $fallbackpath; $fallbackstrings = $string; } } include $path; $strings = $string; } if (!array_key_exists($key, $strings)) { if (!isset($fallbackstrings)) { include $fallbackpath; $fallbackstrings = $string; } if (!array_key_exists($key, $fallbackstrings)) { return "[[{$key}]]"; } if (is_scalar($a)) { return str_replace('{$a}', $a, $fallbackstrings[$key]); } if (is_array($a)) { $a = (object) $a; } if (is_object($a)) { return replace_string_vars($a, $fallbackstrings[$key]); } debugging('String insertion not supported', 1); die; } if (is_scalar($a)) { return str_replace('{$a}', $a, $strings[$key]); } if (is_array($a)) { $a = (object) $a; } if (is_object($a)) { return replace_string_vars($a, $strings[$key]); } debugging('String insertion not supported', 1); die; } else { return get_lang($key); } }
function api_get_language_interface() { $valid_languages = api_get_languages(); $user_language = api_get_user_language(); $courseInfo = api_get_course_info(); $language_interface = 'english'; $languageFromLogin = api_get_language_selected_in_login(); if (!empty($languageFromLogin)) { $language_interface = $languageFromLogin; } if (!empty($valid_languages)) { // User language or platform lang //platformLanguage //if (!empty($user_language)) { $language_interface = $user_language; //} // Course language if (!empty($courseInfo) && isset($courseInfo['language'])) { $language_interface = $courseInfo['language']; } //error_log('$language_interface: '.$language_interface); // Lang priorities could be: course_lang, user_profil_lang, user_selected_lang , platform_lang $language_priority1 = api_get_setting('languagePriority1'); $language_priority2 = api_get_setting('languagePriority2'); $language_priority3 = api_get_setting('languagePriority3'); $language_priority4 = api_get_setting('languagePriority4'); /*error_log('$language_interface1: '.$language_priority1); error_log('$language_interface2: '.$language_priority2); error_log('$language_interface3: '.$language_priority3); error_log('$language_interface4: '.$language_priority4);*/ if (!empty($language_priority4) && api_get_language_from_type($language_priority4) !== false) { $language_interface = api_get_language_from_type($language_priority4); } if (!empty($language_priority3) && api_get_language_from_type($language_priority3) !== false) { $language_interface = api_get_language_from_type($language_priority3); } if (!empty($language_priority2) && api_get_language_from_type($language_priority2) !== false) { $language_interface = api_get_language_from_type($language_priority2); } if (!empty($language_priority1) && api_get_language_from_type($language_priority1) !== false) { $language_interface = api_get_language_from_type($language_priority1); } // If user lang is not valid get the default platform lang if (empty($language_interface) || !in_array($language_interface, $valid_languages['folder'])) { $language_interface = api_get_setting('platformLanguage'); } } return $language_interface; }