Forked from
Stud.IP / Stud.IP
3307 commits behind, 103 commits ahead of the upstream repository.
-
Jan-Hendrik Willms authored
Closes #1680 and #1394 Merge request studip/studip!1089
Jan-Hendrik Willms authoredCloses #1680 and #1394 Merge request studip/studip!1089
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Language.php 1.01 KiB
<?php
namespace JsonApi\Middlewares;
use Negotiation\LanguageNegotiator;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Server\RequestHandlerInterface as RequestHandler;
/**
* This class defines a middleware that tries to set the language for Stud.IP
* by analyzing the HTTP header "Accept-Language".
*
* @author Jan-Hendrik Willms <tleilax+studip@gmail.com>
*/
final class Language implements MiddlewareInterface
{
/**
* @param Request $request das Request-Objekt
* @param RequestHandler $handler der PSR-15 Request Handler
*
* @return ResponseInterface das neue Response-Objekt
*/
public function process(Request $request, RequestHandler $handler): ResponseInterface
{
$language = $_SESSION['_language'] ?? get_accepted_languages($request);
init_i18n($language);
$_SESSION['_language'] = $language;
return $handler->handle($request);
}
}