private function setLocale()
{
$default = $this->get('fork.settings')->get('Core', 'default_interface_language');
$locale = $default;
$possibleLocale = array_keys(BackendLanguage::getInterfaceLanguages());
// is the user authenticated
if (Authentication::getUser()->isAuthenticated()) {
$locale = Authentication::getUser()->getSetting('interface_language', $default);
} elseif (CommonCookie::exists('interface_language')) {
// no authenticated user, but available from a cookie
$locale = CommonCookie::get('interface_language');
}
// validate if the requested locale is possible
if (!in_array($locale, $possibleLocale)) {
$locale = $default;
}
BackendLanguage::setLocale($locale);
}