diff --git a/src/Symfony/Component/Translation/Tests/TranslatorTest.php b/src/Symfony/Component/Translation/Tests/TranslatorTest.php index b3f056fc669c..0fae1f574765 100644 --- a/src/Symfony/Component/Translation/Tests/TranslatorTest.php +++ b/src/Symfony/Component/Translation/Tests/TranslatorTest.php @@ -510,7 +510,6 @@ public function getInvalidLocalesTests() public function getValidLocalesTests() { return [ - [''], ['fr'], ['francais'], ['FR'], diff --git a/src/Symfony/Component/Translation/Translator.php b/src/Symfony/Component/Translation/Translator.php index 2e10dbc2fd8c..512309fdcb61 100644 --- a/src/Symfony/Component/Translation/Translator.php +++ b/src/Symfony/Component/Translation/Translator.php @@ -91,6 +91,10 @@ class Translator implements TranslatorInterface, TranslatorBagInterface, LocaleA */ public function __construct(string $locale, MessageFormatterInterface $formatter = null, string $cacheDir = null, bool $debug = false, array $cacheVary = []) { + if ('' === $locale) { + trigger_deprecation('symfony/translator', '5.2', sprintf('Passing "" as the $locale argument to %s::%s() is deprecated, it will throw an InvalidArgumentException in version 6.0.', static::class, __METHOD__)); + } + $this->setLocale($locale); if (null === $formatter) { @@ -158,7 +162,7 @@ public function setLocale(string $locale) */ public function getLocale() { - return $this->locale; + return $this->locale ?: \Locale::getDefault(); } /**