Merge pull request #3144 from Icinga/bugfix/http_accept_language-header-missing-2885
Handle missing Accept-Language header
This commit is contained in:
commit
0ce4ccfda9
|
@ -190,7 +190,12 @@ class PreferenceForm extends Form
|
||||||
}
|
}
|
||||||
|
|
||||||
$languages = array();
|
$languages = array();
|
||||||
$languages['autodetect'] = sprintf($this->translate('Browser (%s)', 'preferences.form'), $this->getLocale());
|
|
||||||
|
$locale = $this->getLocale();
|
||||||
|
if ($locale !== null) {
|
||||||
|
$languages['autodetect'] = sprintf($this->translate('Browser (%s)', 'preferences.form'), $locale);
|
||||||
|
}
|
||||||
|
|
||||||
foreach (Translator::getAvailableLocaleCodes() as $language) {
|
foreach (Translator::getAvailableLocaleCodes() as $language) {
|
||||||
$languages[$language] = $language;
|
$languages[$language] = $language;
|
||||||
}
|
}
|
||||||
|
@ -337,12 +342,13 @@ class PreferenceForm extends Form
|
||||||
/**
|
/**
|
||||||
* Return the preferred locale based on the given HTTP header and the available translations
|
* Return the preferred locale based on the given HTTP header and the available translations
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string|null
|
||||||
*/
|
*/
|
||||||
protected function getLocale()
|
protected function getLocale()
|
||||||
{
|
{
|
||||||
$locale = Translator::getPreferredLocaleCode($_SERVER['HTTP_ACCEPT_LANGUAGE']);
|
return isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])
|
||||||
return $locale;
|
? Translator::getPreferredLocaleCode($_SERVER['HTTP_ACCEPT_LANGUAGE'])
|
||||||
|
: null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue