diff --git a/CHANGELOG-2.1.md b/CHANGELOG-2.1.md
index 6605cdfa06..bdce39f925 100644
--- a/CHANGELOG-2.1.md
+++ b/CHANGELOG-2.1.md
@@ -198,6 +198,7 @@ To get the diff between two versions, go to https://github.com/symfony/symfony/c
### Translation
+ * changed the default extension for XLIFF files from .xliff to .xlf
* added support for gettext
* added support for more than one fallback locale
* added support for translations in ResourceBundles
diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/TranslatorPass.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/TranslatorPass.php
index 5889c89854..2f5198c683 100644
--- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/TranslatorPass.php
+++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/TranslatorPass.php
@@ -25,13 +25,18 @@ class TranslatorPass implements CompilerPassInterface
$loaders = array();
foreach ($container->findTaggedServiceIds('translation.loader') as $id => $attributes) {
- $loaders[$id] = $attributes[0]['alias'];
+ $loaders[$id][] = $attributes[0]['alias'];
+ if (isset($attributes[0]['legacy-alias'])) {
+ $loaders[$id][] = $attributes[0]['legacy-alias'];
+ }
}
if ($container->hasDefinition('translation.loader')) {
$definition = $container->getDefinition('translation.loader');
- foreach ($loaders as $id => $format) {
- $definition->addMethodCall('addLoader', array($format, new Reference($id)));
+ foreach ($loaders as $id => $formats) {
+ foreach ($formats as $format) {
+ $definition->addMethodCall('addLoader', array($format, new Reference($id)));
+ }
}
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/translation.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/translation.xml
index 4d9b96b8f6..3739bfd352 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/translation.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/translation.xml
@@ -57,7 +57,7 @@
-
+
@@ -89,7 +89,7 @@
-
+
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ca.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ca.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ca.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ca.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.cs.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.cs.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.cs.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.cs.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.da.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.da.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.da.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.da.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.de.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.de.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.de.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.de.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.es.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.es.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.es.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.es.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.et.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.et.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.et.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.et.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.eu.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.eu.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.eu.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.eu.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.fa.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.fa.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.fa.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.fa.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.fi.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.fi.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.fi.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.fi.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.fr.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.fr.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.fr.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.fr.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.he.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.he.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.he.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.he.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.hu.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.hu.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.hu.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.hu.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.hy.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.hy.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.hy.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.hy.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.id.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.id.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.id.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.id.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.it.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.it.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.it.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.it.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ja.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ja.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ja.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ja.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.lb.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.lb.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.lb.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.lb.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.lt.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.lt.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.lt.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.lt.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.mn.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.mn.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.mn.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.mn.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.nl.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.nl.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.nl.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.nl.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.pl.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.pl.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.pl.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.pl.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.pt_BR.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.pt_BR.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.pt_BR.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.pt_BR.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.pt_PT.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.pt_PT.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.pt_PT.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.pt_PT.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ro.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ro.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ro.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ro.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ru.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ru.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ru.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ru.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sk.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sk.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sk.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sk.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sl.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sl.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sl.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sl.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sr.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sr.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sr.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sr.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sv.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sv.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sv.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.sv.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ua.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ua.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ua.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.ua.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.zh_CN.xliff b/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.zh_CN.xlf
similarity index 100%
rename from src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.zh_CN.xliff
rename to src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.zh_CN.xlf
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/TranslatorPassTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/TranslatorPassTest.php
new file mode 100644
index 0000000000..871acb2525
--- /dev/null
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/TranslatorPassTest.php
@@ -0,0 +1,48 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Bundle\FrameworkBundle\Tests\DependencyInjection\Compiler;
+
+use Symfony\Component\DependencyInjection\ContainerBuilder;
+use Symfony\Component\DependencyInjection\Reference;
+use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\TranslatorPass;
+
+class TranslatorPassTest extends \PHPUnit_Framework_TestCase
+{
+ public function testValidCollector()
+ {
+ $definition = $this->getMock('Symfony\Component\DependencyInjection\Definition');
+ $definition->expects($this->at(0))
+ ->method('addMethodCall')
+ ->with('addLoader', array('xliff', new Reference('xliff')));
+ $definition->expects($this->at(1))
+ ->method('addMethodCall')
+ ->with('addLoader', array('xlf', new Reference('xliff')));
+
+ $container = $this->getMock('Symfony\Component\DependencyInjection\ContainerBuilder');
+ $container->expects($this->any())
+ ->method('hasDefinition')
+ ->will($this->returnValue(true));
+ $container->expects($this->once())
+ ->method('getDefinition')
+ ->will($this->returnValue($definition));
+ $container->expects($this->once())
+ ->method('findTaggedServiceIds')
+ ->will($this->returnValue(array('xliff' => array(array('alias' => 'xliff', 'legacy-alias' => 'xlf')))));
+ $container->expects($this->once())
+ ->method('findDefinition')
+ ->will($this->returnValue($this->getMock('Symfony\Component\DependencyInjection\Definition')));
+ ;
+
+ $pass = new TranslatorPass();
+ $pass->process($container);
+ }
+}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php
index d90fcd2610..90f5738737 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php
@@ -148,7 +148,7 @@ abstract class FrameworkExtensionTest extends TestCase
}
$this->assertContains(
- realpath(__DIR__.'/../../Resources/translations/validators.fr.xliff'),
+ realpath(__DIR__.'/../../Resources/translations/validators.fr.xlf'),
array_map(function($resource) use ($resources) { return realpath($resource[1]); }, $resources),
'->registerTranslatorConfiguration() finds FrameworkExtension translation resources'
);
diff --git a/src/Symfony/Component/Translation/Dumper/XliffFileDumper.php b/src/Symfony/Component/Translation/Dumper/XliffFileDumper.php
index 224a2d4ac3..ab93959ca9 100644
--- a/src/Symfony/Component/Translation/Dumper/XliffFileDumper.php
+++ b/src/Symfony/Component/Translation/Dumper/XliffFileDumper.php
@@ -55,6 +55,6 @@ class XliffFileDumper extends FileDumper
*/
protected function getExtension()
{
- return 'xliff';
+ return 'xlf';
}
}
diff --git a/tests/Symfony/Tests/Component/Translation/Dumper/XliffFileDumperTest.php b/tests/Symfony/Tests/Component/Translation/Dumper/XliffFileDumperTest.php
index ecafc2f3e0..c1bc1117c2 100644
--- a/tests/Symfony/Tests/Component/Translation/Dumper/XliffFileDumperTest.php
+++ b/tests/Symfony/Tests/Component/Translation/Dumper/XliffFileDumperTest.php
@@ -25,8 +25,8 @@ class XliffFileDumperTest extends \PHPUnit_Framework_TestCase
$dumper = new XliffFileDumper();
$dumperString = $dumper->dump($catalogue, array('path' => $tempDir));
- $this->assertEquals(file_get_contents(__DIR__.'/../fixtures/resources.xliff'), file_get_contents($tempDir.'/messages.en.xliff'));
+ $this->assertEquals(file_get_contents(__DIR__.'/../fixtures/resources.xlf'), file_get_contents($tempDir.'/messages.en.xlf'));
- unlink($tempDir.'/messages.en.xliff');
+ unlink($tempDir.'/messages.en.xlf');
}
}
diff --git a/tests/Symfony/Tests/Component/Translation/Loader/XliffFileLoaderTest.php b/tests/Symfony/Tests/Component/Translation/Loader/XliffFileLoaderTest.php
index 71b6d96fd5..8aa4bd4a2d 100644
--- a/tests/Symfony/Tests/Component/Translation/Loader/XliffFileLoaderTest.php
+++ b/tests/Symfony/Tests/Component/Translation/Loader/XliffFileLoaderTest.php
@@ -19,7 +19,7 @@ class XliffFileLoaderTest extends \PHPUnit_Framework_TestCase
public function testLoad()
{
$loader = new XliffFileLoader();
- $resource = __DIR__.'/../fixtures/resources.xliff';
+ $resource = __DIR__.'/../fixtures/resources.xlf';
$catalogue = $loader->load($resource, 'en', 'domain1');
$this->assertEquals(array('foo' => 'bar'), $catalogue->all('domain1'));
@@ -42,7 +42,7 @@ class XliffFileLoaderTest extends \PHPUnit_Framework_TestCase
public function testLoadResourceDoesNotValidate()
{
$loader = new XliffFileLoader();
- $catalogue = $loader->load(__DIR__.'/../fixtures/non-valid.xliff', 'en', 'domain1');
+ $catalogue = $loader->load(__DIR__.'/../fixtures/non-valid.xlf', 'en', 'domain1');
}
/**
@@ -51,7 +51,7 @@ class XliffFileLoaderTest extends \PHPUnit_Framework_TestCase
public function testLoadThrowsAnExceptionIfFileNotLocal()
{
$loader = new XliffFileLoader();
- $resource = 'http://example.com/resources.xliff';
+ $resource = 'http://example.com/resources.xlf';
$loader->load($resource, 'en', 'domain1');
}
}
diff --git a/tests/Symfony/Tests/Component/Translation/fixtures/non-valid.xliff b/tests/Symfony/Tests/Component/Translation/fixtures/non-valid.xlf
similarity index 100%
rename from tests/Symfony/Tests/Component/Translation/fixtures/non-valid.xliff
rename to tests/Symfony/Tests/Component/Translation/fixtures/non-valid.xlf
diff --git a/tests/Symfony/Tests/Component/Translation/fixtures/resources.xliff b/tests/Symfony/Tests/Component/Translation/fixtures/resources.xlf
similarity index 100%
rename from tests/Symfony/Tests/Component/Translation/fixtures/resources.xliff
rename to tests/Symfony/Tests/Component/Translation/fixtures/resources.xlf