X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2FI18n.class.php;h=7155edb0c2b2c855bf1cb255a4a55ce100b99910;hb=4d07dc7fef357e5139f35df6271cc15dc6bea955;hp=f21c0a01b56dce67feb75d7e1a8a299b14d190c8;hpb=91e951c88f39495bad54d1e06eb138b65c53c6d8;p=timetracker.git diff --git a/WEB-INF/lib/I18n.class.php b/WEB-INF/lib/I18n.class.php index f21c0a01..7155edb0 100644 --- a/WEB-INF/lib/I18n.class.php +++ b/WEB-INF/lib/I18n.class.php @@ -54,7 +54,7 @@ class I18n { // TODO: refactoring ongoing down from here... function getWeekDayName($id) { - $id = intval($id); + $id = (int) $id; return $this->weekdayNames[$id]; } @@ -70,9 +70,9 @@ class I18n { $this->weekdayNames = $i18n_weekdays; $this->weekdayShortNames = $i18n_weekdays_short; - if (defined('SHOW_HOLIDAYS') && isTrue(SHOW_HOLIDAYS)) { +// if (defined('SHOW_HOLIDAYS') && isTrue(SHOW_HOLIDAYS)) { $this->holidays = $i18n_holidays; - } +// } foreach ($i18n_key_words as $kword=>$value) { $pos = strpos($kword, "."); @@ -97,9 +97,9 @@ class I18n { $this->monthNames = $i18n_months; $this->weekdayNames = $i18n_weekdays; $this->weekdayShortNames = $i18n_weekdays_short; - if (defined('SHOW_HOLIDAYS') && isTrue(SHOW_HOLIDAYS)) { +// if (defined('SHOW_HOLIDAYS') && isTrue(SHOW_HOLIDAYS)) { $this->holidays = $i18n_holidays; - } +// } foreach ($i18n_key_words as $kword=>$value) { if (!$value) continue; $pos = strpos($kword, "."); @@ -124,22 +124,31 @@ class I18n { return file_exists($filename); } + // getBrowserLanguage() returns a first supported language from browser settings. function getBrowserLanguage() { $acclang = @$_SERVER['HTTP_ACCEPT_LANGUAGE']; if (empty($acclang)) { - return ""; + return false; } $lang_prefs = explode(',', $acclang); foreach ($lang_prefs as $lang_pref) { $lang_pref_parts = explode(';', trim($lang_pref)); - $lang_parts = explode('-', trim($lang_pref_parts[0])); + $lang = $lang_pref_parts[0]; + if ($this->hasLang($lang)) { + return $lang; // Return full language designation (if available), such as pt-BR. + } + + if (strlen($lang) <= 2) + continue; // Do not bother determining main language because we already have it. + + $lang_parts = explode('-', trim($lang)); $lang_main = $lang_parts[0]; - if ($this->hasLang($lang_main)) { - return $lang_main; + if ($lang_main != $lang && $this->hasLang($lang_main)) { + return $lang_main; // Return main language designation, such as pt. } } - return ""; + return false; } // getLangFileList() returns a list of language files.