Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
ZeMKI
Mesort
Commits
83df6f21
Commit
83df6f21
authored
Feb 12, 2021
by
ZeMKI
Browse files
Update Language.php
* added locale detection and switch to preferred language.
parent
72659ae3
Changes
1
Hide whitespace changes
Inline
Side-by-side
app/Http/Middleware/Language.php
View file @
83df6f21
...
...
@@ -3,6 +3,7 @@
namespace
App\Http\Middleware
;
use
Closure
;
use
Illuminate\Contracts\Session\Session
;
class
Language
{
...
...
@@ -13,12 +14,27 @@ class Language
* @param \Closure $next
* @return mixed
*/
const
SESSION_KEY
=
'locale'
;
const
LOCALES
=
[
'en'
,
'de'
,
'da'
];
public
function
handle
(
$request
,
Closure
$next
)
{
if
(
$request
->
session
()
->
exists
(
'locale'
))
{
\
App
::
setLocale
(
\
Session
::
get
(
'locale'
));
/** @var Session $session */
$session
=
$request
->
getSession
();
if
(
!
$session
->
has
(
self
::
SESSION_KEY
))
{
$session
->
put
(
self
::
SESSION_KEY
,
$request
->
getPreferredLanguage
(
self
::
LOCALES
));
}
if
(
$request
->
has
(
'lang'
))
{
$lang
=
$request
->
get
(
'lang'
);
if
(
in_array
(
$lang
,
self
::
LOCALES
))
{
$session
->
put
(
self
::
SESSION_KEY
,
$lang
);
}
}
app
()
->
setLocale
(
$session
->
get
(
self
::
SESSION_KEY
));
return
$next
(
$request
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment