/** * translate all strings marked as multi lang * * @param ObjectEvent $event serialization event * * @return void */ public function onPostSerialize(ObjectEvent $event) { $object = $event->getObject(); foreach ($this->localizedFields[\spl_object_hash($object)] as $field => $value) { $event->getVisitor()->addData($field, $this->utils->getTranslatedField($value)); } }
/** * translate all strings marked as multi lang * * @param ObjectEvent $event serialization event * * @return void */ public function onPostSerialize(ObjectEvent $event) { $object = $event->getObject(); if (!$object instanceof TranslatableDocumentInterface) { return; } foreach ($this->localizedFields[\spl_object_hash($object)] as $field => $value) { if (substr($field, -2, 2) === '[]') { $field = substr($field, 0, -2); $event->getVisitor()->addData($field, array_map([$this->utils, 'getTranslatedField'], $value)); } else { $event->getVisitor()->addData($field, $this->utils->getTranslatedField($value)); } } }