public static function newFromArray($catalog, $key, $locale, $data, $bundle = '', $file = '') { $trans = new Translation(); $trans->setKey($key); $trans->setDomain($catalog); $trans->setLocale($locale); $trans->setMessage($data['message']); $trans->setUpdatedAt(self::dateTimeFromArray($data['updatedAt'])); $trans->setBundle($bundle ?: ''); $trans->setFile($file); return $trans; }
/** * @param string $bundleName * @param string $file * @param string $key * @param string $locale * @param string $content * @param string $catalog * @param \DateTime $updatedAt */ protected function updateOrInsertEntry($bundleName, $file, $key, $locale, $content, $catalog, \DateTime $updatedAt = null) { $shortFile = str_replace($this->srcDir, '', $file); $shortFile = str_replace('\\/', '/', $shortFile); $mod = $updatedAt ?: new \DateTime(date('c', filemtime($file))); /** @var Translation $entry */ $entry = $this->translationRepository->findOneBy(array('domain' => $bundleName, 'key' => $key, 'locale' => $locale)); if (!$entry) { $entry = new Translation(); } $entry->setDomain($catalog); $entry->setBundle($bundleName); $entry->setFile($shortFile); $entry->setKey($key); $entry->setMessage($content); $entry->setUpdatedAt($mod); $entry->setLocale($locale); $this->em->persist($entry); }