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; }
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; }