$accepts = explode (',',
strtolower ($_SERVER ['HTTP_ACCEPT_LANGUAGE']));
foreach ($accepts as $acc) {
- if (preg_match ('/^\s*([a-zA-Z-]+)\s*$/', $acc, $matches)) {
+ if (preg_match ('/^\s*([a-zA-Z]+)(-[a-zA-Z]+)?\s*$/', $acc, $matches)) {
$possibilities [$matches [1]] = 1.0;
}
- if (preg_match ('/^\s*([a-zA-Z-]+)\s*;\s*q\s*=\s*([0-9\.]+)\s*$/',
+ if (preg_match ('/^\s*([a-zA-Z]+)(-[a-zA-Z]+)?\s*;\s*q\s*=\s*([0-9\.]+)\s*$/',
$acc, $matches)) {
- $val = floatval ($matches [2]);
+ $val = floatval ($matches [3]);
if ($val > 1.0) {
$val = 1.0;
}
- $possibilities [$matches [1]] = $val;
+ $possibilities [$matches [1]] = max ($val, $possibilities [$matches [1]]);
}
}
arsort ($possibilities);
if ($dotpos !== false) {
$script = substr ($script, 0, $dotpos);
}
-
+
global $translations;
$links = Array ();
foreach ($translations as $lang => $obj) {