1.0) { $val = 1.0; } $possibilities [$matches [1]] = $val; } } arsort ($possibilities); foreach ($possibilities as $lang => $value) { if (isset ($translations [$lang])) { return $lang; } } } return "en"; // nothing found; default to english } function other_languages ($current_lang) { $script = pathinfo ($_SERVER ["SCRIPT_NAME"], PATHINFO_FILENAME); $dotpos = strpos ($script, '.'); if ($dotpos !== false) { $script = substr ($script, 0, $dotpos); } global $translations; $links = Array (); foreach ($translations as $lang => $obj) { $lang_name = $obj ["_language_name"]; if ($lang == $current_lang) { array_push ($links, "$lang_name"); } else { array_push ($links, "$lang_name"); } } echo "
" . join("", $links) . "
\n"; } // load languages foreach (scandir ("inc/i10n/") as $entry) { if (is_dir ("inc/i10n/$entry") && ($entry [0] != ".")) { $target = "inc/i10n/$entry/syp.php"; if (is_file ($target)) { include $target; } } } // detects language $fname = pathinfo ($_SERVER ["SCRIPT_NAME"], PATHINFO_FILENAME); $lang = ltrim (strstr ($fname, '.'), '.'); if ((!isset ($lang)) || (strlen ($lang) == 0) || (!isset ($translations [$lang]))) { $lang = parse_accept_language (); }