/**
  * @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);
 }
Exemplo n.º 2
0
 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;
 }