From f979d7d4964077b89e88df096efcef84e1b0c521 Mon Sep 17 00:00:00 2001
From: Eric Chavaillaz <eric@hemmer.ch>
Date: Thu, 29 Oct 2015 12:17:50 +0100
Subject: [PATCH] [BUGFIX] Make sure that language key is set in extbase.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

If the TYPO3 context is BE and no user is logged (typically
in the login page), the language key is not set from the
browser's preferred language.

Resolves: #71097
Releases: master
Change-Id: I2521deb46083fccc2bff966b8b264a987689ee6a
Reviewed-on: https://review.typo3.org/44348
Reviewed-by: Daniel Goerz <ervaude@gmail.com>
Tested-by: Daniel Goerz <ervaude@gmail.com>
Reviewed-by: Jérémie Roulin <jeremie@hemmer.ch>
Tested-by: Jérémie Roulin <jeremie@hemmer.ch>
Reviewed-by: Andreas Fernandez <typo3@scripting-base.de>
Tested-by: Andreas Fernandez <typo3@scripting-base.de>
---
 typo3/sysext/extbase/Classes/Utility/LocalizationUtility.php | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/typo3/sysext/extbase/Classes/Utility/LocalizationUtility.php b/typo3/sysext/extbase/Classes/Utility/LocalizationUtility.php
index 2c4e194bed7e..6246473b4e94 100644
--- a/typo3/sysext/extbase/Classes/Utility/LocalizationUtility.php
+++ b/typo3/sysext/extbase/Classes/Utility/LocalizationUtility.php
@@ -206,8 +206,10 @@ class LocalizationUtility
                     }
                 }
             }
-        } elseif ($GLOBALS['BE_USER']->uc['lang'] !== '') {
+        } elseif (!empty($GLOBALS['BE_USER']->uc['lang'])) {
             self::$languageKey = $GLOBALS['BE_USER']->uc['lang'];
+        } elseif (!empty(self::getLanguageService()->lang)) {
+            self::$languageKey = self::getLanguageService()->lang;
         }
     }
 
-- 
GitLab