/**
  * Load the languages from JSON files.
  *
  * @param  mixed $ident Optional, set the ident to load.
  * @return array
  */
 public function load($ident = null)
 {
     if ($ident !== null) {
         $this->setIdent($ident);
     }
     $ident = $this->ident();
     $index = [];
     if ($this->cache) {
         $item = $this->cache->getItem('languages/index/' . $ident);
         $index = $item->get();
         if ($item->isMiss()) {
             $item->lock();
             $index = $this->loadFromRepositories();
             if ('all' !== $ident) {
                 $languages = [];
                 $subset = explode(',', $ident);
                 foreach ($subset as $langCode) {
                     if (isset($index[$langCode])) {
                         $languages[$langCode] = $index[$langCode];
                     }
                 }
                 $index = $languages;
             }
             $item->set($index);
             $this->cache->save($item);
         }
     } else {
         $index = $this->loadFromRepositories();
     }
     return $index;
 }
 /**
  * Load the languages from JSON files.
  *
  * @param  mixed $ident Optional, set the ident to load.
  * @return ResourceInterface[]
  */
 public function load($ident = null)
 {
     if ($ident !== null) {
         $this->setIdent($ident);
     }
     $ident = $this->ident();
     $messages = [];
     if ($this->cache) {
         $item = $this->cache->getItem('translations/resources/' . $ident);
         $messages = $item->get();
         if ($item->isMiss()) {
             $item->lock();
             $messages = $this->loadFromRepositories();
             $item->set($messages);
             $this->cache->save($item);
         }
     } else {
         $messages = $this->loadFromRepositories();
     }
     return $messages;
 }
Example #3
0
 /**
  * {@inheritdoc}
  */
 public function addEventCallback($id, $event, $callback)
 {
     self::$pool->addEventCallback($id, $event, $callback);
     return $this;
 }