PrezentDoctrineTransurableBundle без резервной локали

Я использую хороший пакет Презента, но он не хочет получать запасной вариант. Все конфиги зарегистрированы, все сделано для пример в документации, но это не работает. Может быть, кто-то сталкивался с этой проблемой?

0

Решение

Решено!
Вместо:

/**
* Translation helper method
*/
public function translate($locale = null)
{
if (null === $locale) {
$locale = $this->currentLocale;
}

if (!$locale) {
throw new \RuntimeException('No locale has been set and currentLocale is empty');
}

if ($this->currentTranslation && $this->currentTranslation->getLocale() === $locale) {
return $this->currentTranslation;
}

if (!$translation = $this->translations->get($locale)) {
$className = $this->getTranslationEntityClass();
$translation = new $className;
$translation->setLocale($locale);
$this->addTranslation($translation);
}

$this->currentTranslation = $translation;
return $translation;
}

Должен быть для использования резервной локали:

/**
* Translation helper method that uses a fallback locale
*/
public function translate($locale = null)
{
if (null === $locale) {
$locale = $this->currentLocale;
}

if (!$locale) {
throw new \RuntimeException('No locale has been set and currentLocale is empty');
}

if ($this->currentTranslation && $this->currentTranslation->getLocale() === $locale) {
return $this->currentTranslation;
}

if (!$translation = $this->translations->get($locale)) {
if (!$translation = $this->translations->get($this->fallbackLocale)) {
throw new \RuntimeException('No translation in current or fallback locale');
}
}

$this->currentTranslation = $translation;

return $translation;
}

в TranshableEntity.php, из которого мы наследуем сущность для перевода

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]