diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php
index 74e13d05b84a..8e34a3d09bd0 100644
--- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php
+++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php
@@ -255,7 +255,7 @@ private function addTranslatorSection(ArrayNodeDefinition $rootNode)
->canBeUnset()
->children()
->booleanNode('enabled')->defaultTrue()->end()
- ->scalarNode('fallback')->end()
+ ->scalarNode('fallback')->defaultValue('en')->end()
->end()
->end()
->end()
diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
index 9b6dd963a99e..27eddda71816 100644
--- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
+++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
@@ -416,7 +416,8 @@ private function registerTranslatorConfiguration(array $config, ContainerBuilder
{
if (!empty($config['enabled'])) {
// Use the "real" translator instead of the identity default
- $container->setDefinition('translator', $container->findDefinition('translator.real'));
+ $container->setDefinition('translator', $translator = $container->findDefinition('translator.real'));
+ $translator->addMethodCall('setFallbackLocale', array($config['fallback']));
// Discover translation directories
$dirs = array();
@@ -444,10 +445,6 @@ private function registerTranslatorConfiguration(array $config, ContainerBuilder
}
$container->setParameter('translation.resources', $resources);
}
-
- if (isset($config['fallback'])) {
- $container->setParameter('translator.fallback_locale', $config['fallback']);
- }
}
/**
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/translation.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/translation.xml
index 1cac11b66cf5..166236a46b4b 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/translation.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/translation.xml
@@ -11,7 +11,6 @@
Symfony\Component\Translation\Loader\PhpFileLoader
Symfony\Component\Translation\Loader\YamlFileLoader
Symfony\Component\Translation\Loader\XliffFileLoader
- en
@@ -23,7 +22,6 @@
%kernel.debug%
- %translator.fallback_locale%
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php
index 705c032b88b8..390990c4ef9e 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php
@@ -131,7 +131,8 @@ public function testTranslator()
'->registerTranslatorConfiguration() finds FrameworkExtension translation resources'
);
- $this->assertEquals('fr', $container->getParameter('translator.fallback_locale'));
+ $calls = $container->getDefinition('translator.real')->getMethodCalls();
+ $this->assertEquals('fr', $calls[0][1][0]);
}
/**