Language selection: case-insensitive and system language
Fixed ignoring HTTP_ACCEPT_LANGUAGE tags that had uppercase characters. Fixed defining a->language too soon to ever get the system lang
This commit is contained in:
parent
691801120d
commit
bc389ff934
@ -43,8 +43,6 @@ function get_browser_language() {
|
|||||||
arsort($langs, SORT_NUMERIC);
|
arsort($langs, SORT_NUMERIC);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
$langs['en'] = 1;
|
|
||||||
|
|
||||||
return $langs;
|
return $langs;
|
||||||
}
|
}
|
||||||
@ -65,6 +63,7 @@ function get_best_language() {
|
|||||||
|
|
||||||
if(isset($langs) && count($langs)) {
|
if(isset($langs) && count($langs)) {
|
||||||
foreach ($langs as $lang => $v) {
|
foreach ($langs as $lang => $v) {
|
||||||
|
$lang = strtolower($lang);
|
||||||
if(file_exists("view/$lang") && is_dir("view/$lang")) {
|
if(file_exists("view/$lang") && is_dir("view/$lang")) {
|
||||||
$preferred = $lang;
|
$preferred = $lang;
|
||||||
break;
|
break;
|
||||||
|
@ -27,9 +27,6 @@ $a->install = ((file_exists('.htconfig.php') && filesize('.htconfig.php')) ? fal
|
|||||||
|
|
||||||
@include(".htconfig.php");
|
@include(".htconfig.php");
|
||||||
|
|
||||||
$a->language = get_best_language();
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Try to open the database;
|
* Try to open the database;
|
||||||
@ -54,6 +51,7 @@ if(! $a->install) {
|
|||||||
load_hooks();
|
load_hooks();
|
||||||
call_hooks('init_1');
|
call_hooks('init_1');
|
||||||
|
|
||||||
|
$a->language = get_best_language();
|
||||||
load_translation_table($a->language);
|
load_translation_table($a->language);
|
||||||
// Force the cookie to be secure (https only) if this site is SSL enabled. Must be done before session_start().
|
// Force the cookie to be secure (https only) if this site is SSL enabled. Must be done before session_start().
|
||||||
|
|
||||||
@ -69,6 +67,7 @@ if(! $a->install) {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// load translations but do not check plugins as we have no database
|
// load translations but do not check plugins as we have no database
|
||||||
|
$a->language = get_best_language();
|
||||||
load_translation_table($a->language,true);
|
load_translation_table($a->language,true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user