/** * Makes additional translation of $entity $field into $locale * using $value * * @param object $entity * @param string $field * @param string $locale * @param mixed $value * @return TranslationRepository */ public function translate($entity, $field, $locale, $value) { $meta = $this->_em->getClassMetadata(get_class($entity)); $config = $this->getTranslationListener()->getConfiguration($this->_em, $meta->name); if (!isset($config['fields']) || !in_array($field, $config['fields'])) { throw new \Gedmo\Exception\InvalidArgumentException("Entity: {$meta->name} does not translate - {$field}"); } $oid = spl_object_hash($entity); $this->listener->addTranslation($oid, $field, $locale, $value); return $this; }