public function factory($id)
 {
     $info = $this->groups[$id];
     $group = ExtensionMessageGroup::factory($info['name'], $id);
     $group->setMessageFile($info['file']);
     $group->setPath($this->path);
     $group->setNamespace($this->namespace);
     if (isset($info['prefix'])) {
         $mangler = new StringMatcher($info['prefix'], $info['mangle']);
         $group->setMangler($mangler);
         $info['ignored'] = $mangler->mangle($info['ignored']);
         $info['optional'] = $mangler->mangle($info['optional']);
     }
     if (!empty($info['var'])) {
         $group->setVariableName($info['var']);
     }
     if (!empty($info['optional'])) {
         $group->setOptional($info['optional']);
     }
     if (!empty($info['ignored'])) {
         $group->setIgnored($info['ignored']);
     }
     if (isset($info['desc'])) {
         $group->setDescription($info['desc']);
     } else {
         $group->setDescriptionMsg($info['descmsg'], $info['url']);
     }
     if (isset($info['aliasfile'])) {
         $group->setAliasFile($info['aliasfile']);
     }
     if (isset($info['magicfile'])) {
         $group->setMagicFile($info['magicfile']);
     }
     return $group;
 }
Example #2
0
 public function initCollection($code, $unique = false)
 {
     $collection = parent::initCollection($code, $unique);
     $defs = $this->load($this->getSourceLanguage());
     foreach ($defs as $key => $value) {
         $collection[$key] = new FatMessage($key, implode(", ", $value));
     }
     $this->fill($collection);
     $this->fillContents($collection);
     foreach ($collection->getMessageKeys() as $key) {
         if ($collection[$key]->translation() === null) {
             unset($collection[$key]);
         }
     }
     return $collection;
 }