2011-11-23 9 views
5

Bu arada çevirmen önbelleği kapatmak çalışıyorum:çevirmen önbellek

app/config/config.yml

 
    services: 
     translator.default: 
      class: %translator.class% 
      arguments: [ @service_container, @translator.selector, {}, { cache_dir: null, debug: %kernel.debug% }, @?session ] 

önbelleğinde önbelleğe kodu/dev/appDevDebugProjectContainer.php olmalıdır:

 

    protected function getTranslator_DefaultService() 
    { 
     $this->services['translator.default'] = $instance = new \Symfony\Bundle\FrameworkBundle\Translation\Translator($this, new \Symfony\Component\Translation\MessageSelector(), array('translation.loader.php' => 'php', 'translation.loader.yml' => 'yml', 'translation.loader.xliff' => 'xliff'), array('cache_dir' => NULL, 'debug' => true), $this->get('session')); 

     ... resources ... 

     return $instance; 
    } 

Ama takip olsun kod:

 

    protected function getTranslator_DefaultService() 
    { 
     return $this->services['translator.default'] = new \Symfony\Bundle\FrameworkBundle\Translation\Translator($this, new \Symfony\Component\Translation\MessageSelector(), array('translation.loader.db' => 'db', 'translation.loader.php' => 'php', 'translation.loader.yml' => 'yml', 'translation.loader.xliff' => 'xliff'), array('cache_dir' => NULL, 'debug' => true), $this->get('session')); 
    } 

Çevirmen kaynakları boş. Bunu yapmak için

+0

bunu çözdü mü? Aynı problemim var .. –

+0

Hayır, Silex'e çerçeve değiştirdik. – constXife

cevap

-6

Tek yoludur: In

public function setOption($option, $value) 
{ 
    $this->options[$option] = $value; 
} 

senin AppKernel.php bir yöntemi geçersiz:

Düzenleme symfony/src/Symfony/Bundle/FrameworkBundle/Translation/Translator.php ve yöntemi ekleyin

public function boot() 
{ 
    parent::boot(); 
    $this->container->get('translator')->setOption('cache_dir', null); 
} 
+3

Çekirdek dosyaları düzenlemek iyi bir fikir değildir. – CappY

+0

Diğer yorumcularla bu konuda katılıyorum. Her bir besteci güncellemesinde değişikliklerinizi kaybedeceksiniz. –