public function offsetSet($offset, $menu) { if ($menu instanceof Entity && !$this->active && $offset === NULL) { $this->active = $menu; return; } elseif ($menu instanceof Ytnuk\Translation\Entity) { $entity = new Entity(); $entity->title = $menu; $menu = $entity; } elseif (is_string($menu)) { $this->repository->attach($entity = new Entity()); $entity->title = new Ytnuk\Translation\Entity(); $translate = new Ytnuk\Translation\Translate\Entity(); $translate->value = $this->translator->translate($menu); $entity->title->translates->add($translate); $this->repository->detach($entity); $menu = $entity; } if ($menu instanceof Entity) { if ($offset === NULL) { $this->append[] = $menu; } else { $this->append[$offset] = $menu; } } else { parent::offsetSet($offset, $menu); } }