diff --git a/src/Symfony/Component/Translation/Tests/TranslatorTest.php b/src/Symfony/Component/Translation/Tests/TranslatorTest.php index 742956c0a9..b7d2d1cd18 100644 --- a/src/Symfony/Component/Translation/Tests/TranslatorTest.php +++ b/src/Symfony/Component/Translation/Tests/TranslatorTest.php @@ -50,7 +50,7 @@ class TranslatorTest extends TestCase { $translator = new Translator($locale); - $this->assertSame($locale, $translator->getLocale()); + $this->assertSame($locale ?: (class_exists(\Locale::class) ? \Locale::getDefault() : 'en'), $translator->getLocale()); } /** @@ -91,7 +91,7 @@ class TranslatorTest extends TestCase $translator = new Translator($locale); $translator->setLocale($locale); - $this->assertEquals($locale, $translator->getLocale()); + $this->assertEquals($locale ?: (class_exists(\Locale::class) ? \Locale::getDefault() : 'en'), $translator->getLocale()); } /** diff --git a/src/Symfony/Component/Translation/Translator.php b/src/Symfony/Component/Translation/Translator.php index 5e5d9570ca..c36ae331ba 100644 --- a/src/Symfony/Component/Translation/Translator.php +++ b/src/Symfony/Component/Translation/Translator.php @@ -143,6 +143,7 @@ class Translator implements LegacyTranslatorInterface, TranslatorInterface, Tran } $this->assertValidLocale($locale); + $locale ?: $locale = class_exists(\Locale::class) ? \Locale::getDefault() : 'en'; $this->resources[$locale][] = [$format, $resource, $domain]; @@ -163,7 +164,7 @@ class Translator implements LegacyTranslatorInterface, TranslatorInterface, Tran } $this->assertValidLocale($locale); - $this->locale = $locale ?? (class_exists(\Locale::class) ? \Locale::getDefault() : 'en'); + $this->locale = $locale; } /** @@ -171,7 +172,7 @@ class Translator implements LegacyTranslatorInterface, TranslatorInterface, Tran */ public function getLocale() { - return $this->locale; + return $this->locale ?: (class_exists(\Locale::class) ? \Locale::getDefault() : 'en'); } /** @@ -281,7 +282,7 @@ class Translator implements LegacyTranslatorInterface, TranslatorInterface, Tran */ public function getCatalogue($locale = null) { - if (null === $locale) { + if (!$locale) { $locale = $this->getLocale(); } else { $this->assertValidLocale($locale); @@ -505,7 +506,7 @@ EOF */ protected function assertValidLocale($locale) { - if (null !== $locale && 1 !== preg_match('/^[a-z0-9@_\\.\\-]*$/i', $locale)) { + if (!preg_match('/^[a-z0-9@_\\.\\-]*$/i', (string) $locale)) { throw new InvalidArgumentException(sprintf('Invalid "%s" locale.', $locale)); } }