Jelajahi Sumber

reverted a previous commit where translators were made optional

Fabien Potencier 14 tahun lalu
induk
melakukan
5b3e5e454b

+ 3 - 3
src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php

@@ -120,9 +120,9 @@ class FrameworkExtension extends Extension
             $this->registerSessionConfiguration($config, $container);
         }
 
-        if (array_key_exists('translator', $config)) {
-            $this->registerTranslatorConfiguration($config, $container);
-        }
+        // translator must always be registered (as support is included by default for forms for instance)
+        // if you disable it, an identity translator will be used and everything will still work as expected
+        $this->registerTranslatorConfiguration($config, $container);
 
         if (array_key_exists('esi', $config)) {
             $this->registerEsiConfiguration($config, $container);

+ 1 - 1
src/Symfony/Bundle/FrameworkBundle/Resources/config/templating.xml

@@ -93,7 +93,7 @@
         </service>
 
         <service id="templating.helper.translator" class="%templating.helper.translator.class%">
-            <tag name="templating.helper" alias="translator" on-invalid="ignore" />
+            <tag name="templating.helper" alias="translator" />
             <argument type="service" id="translator" />
         </service>
 

+ 1 - 9
src/Symfony/Bundle/FrameworkBundle/Templating/Helper/TranslatorHelper.php

@@ -28,7 +28,7 @@ class TranslatorHelper extends Helper
      *
      * @param TranslatorInterface $translator A TranslatorInterface instance
      */
-    public function __construct(TranslatorInterface $translator = null)
+    public function __construct(TranslatorInterface $translator)
     {
         $this->translator = $translator;
     }
@@ -38,10 +38,6 @@ class TranslatorHelper extends Helper
      */
     public function trans($id, array $parameters = array(), $domain = 'messages', $locale = null)
     {
-        if (null === $this->translator) {
-            throw new \RuntimeException('Translator is not enabled.');
-        }
-
         return $this->translator->trans($id, $parameters, $domain, $locale);
     }
 
@@ -50,10 +46,6 @@ class TranslatorHelper extends Helper
      */
     public function transChoice($id, $number, array $parameters = array(), $domain = 'messages', $locale = null)
     {
-        if (null === $this->translator) {
-            throw new \RuntimeException('Translator is not enabled.');
-        }
-
         return $this->translator->transChoice($id, $number, $parameters, $domain, $locale);
     }
 

+ 1 - 5
src/Symfony/Bundle/TwigBundle/Extension/TransExtension.php

@@ -23,17 +23,13 @@ class TransExtension extends \Twig_Extension
 {
     protected $translator;
 
-    public function __construct(TranslatorInterface $translator = null)
+    public function __construct(TranslatorInterface $translator)
     {
         $this->translator = $translator;
     }
 
     public function getTranslator()
     {
-        if (null === $this->translator) {
-            throw new \RuntimeException('Translator is not enabled.');
-        }
-
         return $this->translator;
     }
 

+ 1 - 1
src/Symfony/Bundle/TwigBundle/Resources/config/twig.xml

@@ -44,7 +44,7 @@
 
         <service id="twig.extension.trans" class="Symfony\Bundle\TwigBundle\Extension\TransExtension" public="false">
             <tag name="twig.extension" />
-            <argument type="service" id="translator" on-invalid="ignore" />
+            <argument type="service" id="translator" />
         </service>
 
         <service id="twig.extension.helpers" class="Symfony\Bundle\TwigBundle\Extension\TemplatingExtension" public="false">