示例#1
0
    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
示例#2
0
/**
 * 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);
    }
}
示例#3
0
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;
}