diff --git a/src/Symfony/Component/Translation/Loader/XliffFileLoader.php b/src/Symfony/Component/Translation/Loader/XliffFileLoader.php index f6baa2d26f..e8bc40d47a 100644 --- a/src/Symfony/Component/Translation/Loader/XliffFileLoader.php +++ b/src/Symfony/Component/Translation/Loader/XliffFileLoader.php @@ -39,7 +39,7 @@ class XliffFileLoader implements LoaderInterface $catalogue = new MessageCatalogue($locale); foreach ($xml->xpath('//xliff:trans-unit') as $translation) { - if (2 !== count($translation)) { + if (!isset($translation->source) || !isset($translation->target)) { continue; } $catalogue->set((string) $translation->source, (string) $translation->target, $domain); diff --git a/src/Symfony/Component/Translation/Tests/Loader/XliffFileLoaderTest.php b/src/Symfony/Component/Translation/Tests/Loader/XliffFileLoaderTest.php index 44b35816e9..748c13483f 100644 --- a/src/Symfony/Component/Translation/Tests/Loader/XliffFileLoaderTest.php +++ b/src/Symfony/Component/Translation/Tests/Loader/XliffFileLoaderTest.php @@ -38,7 +38,7 @@ class XliffFileLoaderTest extends \PHPUnit_Framework_TestCase $loader = new XliffFileLoader(); $catalogue = $loader->load(__DIR__.'/../fixtures/resources.xlf', 'en', 'domain1'); - $this->assertEquals(array('foo' => 'bar', 'key' => ''), $catalogue->all('domain1')); + $this->assertEquals(array('foo' => 'bar', 'key' => '', 'test' => 'with'), $catalogue->all('domain1')); $this->assertFalse($catalogue->has('extra', 'domain1')); } diff --git a/src/Symfony/Component/Translation/Tests/fixtures/resources.xlf b/src/Symfony/Component/Translation/Tests/fixtures/resources.xlf index 3f43d0b09f..b0e59880f8 100644 --- a/src/Symfony/Component/Translation/Tests/fixtures/resources.xlf +++ b/src/Symfony/Component/Translation/Tests/fixtures/resources.xlf @@ -13,6 +13,11 @@ key + + test + with + note +