Identifies admin language from the user preferences.
$languages: An array of valid language objects.
\Symfony\Component\HttpFoundation\Request|null $request: (optional) The HttpRequest object representing the current request. Defaults to NULL.
A valid language code on success, FALSE otherwise.
function language_from_user_admin(array $languages, Request $request = NULL) {
// User preference (only for authenticated users).
global $user;
$request_path = $request ? urldecode(trim($request
->getPathInfo(), '/')) : _current_path();
if ($user->uid && !empty($user->preferred_admin_langcode) && isset($languages[$user->preferred_admin_langcode]) && path_is_admin($request_path)) {
return $user->preferred_admin_langcode;
}
// No language preference from the user or not on an admin path.
return FALSE;
}