diff --git a/src/Symfony/Component/Translation/MessageCatalogue.php b/src/Symfony/Component/Translation/MessageCatalogue.php index f2fc9a92652a..cc8d3ceef366 100644 --- a/src/Symfony/Component/Translation/MessageCatalogue.php +++ b/src/Symfony/Component/Translation/MessageCatalogue.php @@ -167,7 +167,7 @@ public function add($messages, $domain = 'messages') } $intlDomain = $domain; $suffixLength = \strlen(self::INTL_DOMAIN_SUFFIX); - if (\strlen($domain) > $suffixLength && false !== strpos($domain, self::INTL_DOMAIN_SUFFIX, -$suffixLength)) { + if (\strlen($domain) < $suffixLength || false === strpos($domain, self::INTL_DOMAIN_SUFFIX, -$suffixLength)) { $intlDomain .= self::INTL_DOMAIN_SUFFIX; } foreach ($messages as $id => $message) { diff --git a/src/Symfony/Component/Translation/Tests/MessageCatalogueTest.php b/src/Symfony/Component/Translation/Tests/MessageCatalogueTest.php index 89784fe7f417..88f22d3ef990 100644 --- a/src/Symfony/Component/Translation/Tests/MessageCatalogueTest.php +++ b/src/Symfony/Component/Translation/Tests/MessageCatalogueTest.php @@ -129,6 +129,16 @@ public function testAdd() $this->assertEquals('bar', $catalogue->get('foo', 'domain88')); } + public function testAddIntICU() + { + $catalogue = new MessageCatalogue('en', ['domain1+intl-icu' => ['foo' => 'foo']]); + $catalogue->add(['foo1' => 'foo1'], 'domain1'); + $catalogue->add(['foo' => 'bar'], 'domain1'); + + $this->assertEquals('bar', $catalogue->get('foo', 'domain1')); + $this->assertEquals('foo1', $catalogue->get('foo1', 'domain1')); + } + public function testReplace() { $catalogue = new MessageCatalogue('en', ['domain1' => ['foo' => 'foo'], 'domain1+intl-icu' => ['bar' => 'bar']]);