1
DoctrineExtensions에서 Translatable을 사용하여 traslated 필드가있는 엔티티가 있습니다. 이는 모습입니다 : DoctrineExtensions로 번역 된 Doctrine 엔티티 번역 가능
/**
* @ORM\Table
* @ORM\Entity(repositoryClass="AppBundle\Entity\Repository\SurveyAnswerRepository")
* @Gedmo\Loggable
*/
class SurveyAnswer
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(type="string", length=200)
* @Gedmo\Versioned
* @Gedmo\Translatable
*/
private $name;
/**
* @Gedmo\Locale
* Used locale to override Translation listener`s locale
* this is not a mapped field of entity metadata, just a simple property
* and it is not necessary because globally locale can be set in listener
*/
private $locale;
public function __clone()
{
if ($this->getId())
{
$this->id = null;
}
}
public function setTranslatableLocale($locale)
{
$this->locale = $locale;
}
public function getId()
{
return $this->id;
}
public function setName($name)
{
$this->name = $name;
return $this;
}
public function getName()
{
return $this->name;
}
}
나는 그런 개체를 복제
, 새로운 하나의 심포니 응용 프로그램에서 설정 한 현재의 로케일 만 번역으로 구성되어 있습니다. 다른 모든 언어의 번역이 누락되었습니다.
어떻게 번역이 저장됩니다? 당신은 그들에게 접근 할 수 있습니까? –
별도의 테이블에 있지만 가능하면 수동 복사 (나는 누락 된 번역을 찾아 완성하기위한 몇 가지 추가 코드 작성)를 피하고 싶습니다. :) – Marek