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:
Alexandre Hannud Abdo 2014-05-23 10:16:03 -03:00
parent 691801120d
commit bc389ff934
2 changed files with 3 additions and 5 deletions

View file

@ -43,8 +43,6 @@ function get_browser_language() {
arsort($langs, SORT_NUMERIC);
}
}
else
$langs['en'] = 1;
return $langs;
}
@ -65,6 +63,7 @@ function get_best_language() {
if(isset($langs) && count($langs)) {
foreach ($langs as $lang => $v) {
$lang = strtolower($lang);
if(file_exists("view/$lang") && is_dir("view/$lang")) {
$preferred = $lang;
break;

View file

@ -27,9 +27,6 @@ $a->install = ((file_exists('.htconfig.php') && filesize('.htconfig.php')) ? fal
@include(".htconfig.php");
$a->language = get_best_language();
/**
*
* Try to open the database;
@ -54,6 +51,7 @@ if(! $a->install) {
load_hooks();
call_hooks('init_1');
$a->language = get_best_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().
@ -69,6 +67,7 @@ if(! $a->install) {
}
else {
// load translations but do not check plugins as we have no database
$a->language = get_best_language();
load_translation_table($a->language,true);
}