Example #1
0
        $smarty->refreshLanguage();
        return $tikilib->set_user_preference($user, 'language', $localeIdentifier);
    } else {
        return false;
    }
}
if ($prefs['feature_multilingual'] != 'y') {
    // change_language depends on feature_multilingual.
    $prefs['change_language'] = 'n';
}
if ($prefs['change_language'] == 'y') {
    // $noSwitchLang = true; // Uncomment to disable switchLang
    if (isset($_GET['switchLang']) && !isset($noSwitchLang)) {
        // Special feature to allow creating Tiki links that also permanently switch the language of the user following the link.
        // Tiki does not create such links. See http://doc.tiki.org/i18n+Admin#Goodies
        setLanguage($_GET['switchLang']);
    } elseif ($prefs['feature_detect_language'] == 'y' and !$tikilib->userHasPreference('language')) {
        // Detect browser language
        $browser_language = detect_browser_language();
        if (isValidLocale($browser_language)) {
            $prefs['language'] = $browser_language;
        }
    }
} else {
    $prefs['language'] = $prefs['site_language'];
}
if (!isValidLocale($prefs['language'])) {
    // Override broken user locales
    setLanguage($prefs['site_language']);
}
TikiLib::lib('multilingual')->setupBiDi();
    $lang_parse = array();
    preg_match_all('/([a-z]{1,8}(-[a-z]{1,8})?)\\s*(;\\s*q\\s*=\\s*(1|0\\.[0-9]+))?/i', $idiomas, $lang_parse);
    if (count($lang_parse[1]) == 0) {
        return $default_lang;
    }
    foreach ($lang_parse as $lang) {
        $lang = strtoupper($lang);
        if (in_array($lang, $idiomas)) {
            return $lang;
        }
    }
    return $default_lang;
}
session_start();
if (!isset($_SESSION["lang"])) {
    $_SESSION["lang"] = detect_browser_language($default_lang);
}
if (isset($_GET["lang"])) {
    $_SESSION["lang"] = $_GET["lang"];
}
$translations = "";
function TRADUCCION($texto)
{
    //usamos esta global unicamente por optimizacion, para que una vez seteada no tenga que volver a setearse. Como máximo
    //se setearía una vez por página.
    global $translations;
    $idioma = $_SESSION["lang"];
    if ($translations == "") {
        $raw = file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/backoffice/multilenguas/" . $idioma . ".json");
        $translations = json_decode($raw, true);
    }
Example #3
0
require_once api_get_path(LIBRARY_PATH) . 'fileManage.lib.php';
require_once 'install.lib.php';
// The function api_get_setting() might be called within the installation scripts.
// We need to provide some limited support for it through initialization of the
// global array-type variable $_setting.
$_setting = array('platform_charset' => 'UTF-8', 'server_type' => 'production', 'permissions_for_new_directories' => '0770', 'permissions_for_new_files' => '0660', 'stylesheets' => 'chamilo');
// Determination of the language during the installation procedure.
if (!empty($_POST['language_list'])) {
    $search = array('../', '\\0');
    $install_language = str_replace($search, '', urldecode($_POST['language_list']));
    Session::write('install_language', $install_language);
} elseif (isset($_SESSION['install_language']) && $_SESSION['install_language']) {
    $install_language = $_SESSION['install_language'];
} else {
    // Trying to switch to the browser's language, it is covenient for most of the cases.
    $install_language = detect_browser_language();
}
// Language validation.
if (!array_key_exists($install_language, get_language_folder_list())) {
    $install_language = 'english';
}
$installationGuideLink = '../../documentation/installation_guide.html';
// Loading language files.
require api_get_path(SYS_LANG_PATH) . 'english/trad4all.inc.php';
if ($install_language != 'english') {
    include_once api_get_path(SYS_LANG_PATH) . $install_language . '/trad4all.inc.php';
    switch ($install_language) {
        case 'french':
            $installationGuideLink = '../../documentation/installation_guide_fr_FR.html';
            break;
        case 'spanish':
Example #4
0
 /**
 +----------------------------------------------------------
 * 语言检查
 * 检查浏览器支持语言,并自动加载语言包
 +----------------------------------------------------------
 * @access private 
 +----------------------------------------------------------
 * @return void
 +----------------------------------------------------------
 */
 private function checkLanguage()
 {
     //检测浏览器支持语言
     $langSet = detect_browser_language();
     // setlocale操作比较费时,暂时屏蔽
     //setlocale(LC_ALL, $langSet);
     // 定义当前语言
     define('LANG_SET', $langSet);
     // 加载语言类
     import("Think.Util.Language");
     // 加载框架语言包
     if (!file_exists(THINK_PATH . '/Lang/' . LANG_SET . '.php')) {
         Language::load(THINK_PATH . '/Lang/' . LANG_SET . '.php');
     } else {
         Language::load(THINK_PATH . '/Lang/' . C('DEFAULT_LANGUAGE') . '.php');
     }
     // 读取项目(公共)语言包
     if (file_exists(LANG_PATH . LANG_SET . '.php')) {
         Language::load(LANG_PATH . LANG_SET . '.php');
     }
     // 读取当前模块的语言包
     if (file_exists(LANG_PATH . strtolower(MODULE_NAME) . '_' . LANG_SET . '.php')) {
         Language::load(LANG_PATH . strtolower(MODULE_NAME) . '_' . LANG_SET . '.php');
     }
     // 缓存语言变量
     L(Language::$_lang);
     return;
 }