Procházet zdrojové kódy

[FrameworkBundle] removed translator.fallback_locale parameter

Fabien Potencier před 14 roky
rodič
revize
68d340b845

+ 1 - 1
src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php

@@ -255,7 +255,7 @@ class Configuration
                     ->canBeUnset()
                     ->children()
                         ->booleanNode('enabled')->defaultTrue()->end()
-                        ->scalarNode('fallback')->end()
+                        ->scalarNode('fallback')->defaultValue('en')->end()
                     ->end()
                 ->end()
             ->end()

+ 2 - 5
src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php

@@ -416,7 +416,8 @@ class FrameworkExtension extends Extension
     {
         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 @@ class FrameworkExtension extends Extension
             }
             $container->setParameter('translation.resources', $resources);
         }
-
-        if (isset($config['fallback'])) {
-            $container->setParameter('translator.fallback_locale', $config['fallback']);
-        }
     }
 
     /**

+ 0 - 2
src/Symfony/Bundle/FrameworkBundle/Resources/config/translation.xml

@@ -11,7 +11,6 @@
         <parameter key="translation.loader.php.class">Symfony\Component\Translation\Loader\PhpFileLoader</parameter>
         <parameter key="translation.loader.yml.class">Symfony\Component\Translation\Loader\YamlFileLoader</parameter>
         <parameter key="translation.loader.xliff.class">Symfony\Component\Translation\Loader\XliffFileLoader</parameter>
-        <parameter key="translator.fallback_locale">en</parameter>
     </parameters>
 
     <services>
@@ -23,7 +22,6 @@
                 <argument key="debug">%kernel.debug%</argument>
             </argument>
             <argument type="service" id="session" on-invalid="ignore" />
-            <call method="setFallbackLocale"><argument>%translator.fallback_locale%</argument></call>
         </service>
 
         <service id="translator" class="%translator.identity.class%">

+ 2 - 1
src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php

@@ -131,7 +131,8 @@ abstract class FrameworkExtensionTest extends TestCase
             '->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]);
     }
 
     /**