PHRAS-4111: Default language in the configuration file not taken into account on the homepage. (#4570)

* taken account default langage

* test
This commit is contained in:
Aina Sitraka
2025-01-08 18:30:50 +03:00
committed by GitHub
parent 13fc43aa74
commit c26da21e9c
2 changed files with 3 additions and 10 deletions

View File

@@ -64,13 +64,6 @@ class PhraseaLocaleSubscriber implements EventSubscriberInterface
if ($event->getRequest()->cookies->has('locale') if ($event->getRequest()->cookies->has('locale')
&& isset($this->app['locales.available'][$event->getRequest()->cookies->get('locale')])) { && isset($this->app['locales.available'][$event->getRequest()->cookies->get('locale')])) {
$event->getRequest()->setLocale($event->getRequest()->cookies->get('locale')); $event->getRequest()->setLocale($event->getRequest()->cookies->get('locale'));
} else {
foreach ($event->getRequest()->getLanguages() as $code) {
$data = preg_split('/[-_]/', $code);
if (in_array($data[0], array_keys($this->app['locales.available']), true)) {
$event->getRequest()->setLocale($data[0]);
}
}
} }
$this->locale = $this->app['locale'] = $event->getRequest()->getLocale(); $this->locale = $this->app['locale'] = $event->getRequest()->getLocale();

View File

@@ -48,7 +48,7 @@ class PhraseaLocaleSubscriberTest extends \PhraseanetTestCase
$client = new Client($app); $client = new Client($app);
$client->request('GET', '/', [], [], ['HTTP_ACCEPT_LANGUAGE' => 'fr_FR,fr;q=0.9']); $client->request('GET', '/', [], [], ['HTTP_ACCEPT_LANGUAGE' => 'fr_FR,fr;q=0.9']);
$this->assertEquals('fr', $client->getResponse()->getContent()); $this->assertEquals('en', $client->getResponse()->getContent());
} }
public function testWithHeadersUsingMinus() public function testWithHeadersUsingMinus()
@@ -58,7 +58,7 @@ class PhraseaLocaleSubscriberTest extends \PhraseanetTestCase
$client = new Client($app); $client = new Client($app);
$client->request('GET', '/', [], [], ['HTTP_ACCEPT_LANGUAGE' => 'fr-FR,fr;q=0.9']); $client->request('GET', '/', [], [], ['HTTP_ACCEPT_LANGUAGE' => 'fr-FR,fr;q=0.9']);
$this->assertEquals('fr', $client->getResponse()->getContent()); $this->assertEquals('en', $client->getResponse()->getContent());
} }
public function testCookieIsSet() public function testCookieIsSet()
@@ -75,7 +75,7 @@ class PhraseaLocaleSubscriberTest extends \PhraseanetTestCase
} }
$this->assertNotNull($settedCookie); $this->assertNotNull($settedCookie);
$this->assertEquals('fr', $settedCookie->getValue()); $this->assertEquals('en', $settedCookie->getValue());
} }
/** /**