Symfony 条令扩展可翻译不';无法检索翻译

Symfony 条令扩展可翻译不';无法检索翻译,symfony,stofdoctrineextensions,Symfony,Stofdoctrineextensions,我使用StofDoctrineExtensionsBundle的个人翻译。 我已经配置了我的应用程序,但我无法检索已翻译的标签,我始终获取默认文本 config.yml # Doctrine Configuration doctrine: orm: auto_generate_proxy_classes: "%kernel.debug%" naming_strategy: doctrine.orm.naming_strategy.underscore

我使用StofDoctrineExtensionsBundle的个人翻译。 我已经配置了我的应用程序,但我无法检索已翻译的标签,我始终获取默认文本

config.yml

# Doctrine Configuration
doctrine:
    orm:
        auto_generate_proxy_classes: "%kernel.debug%"
        naming_strategy: doctrine.orm.naming_strategy.underscore
        auto_mapping: true
        mappings:
            menu_tree:
                type: annotation
                prefix: Gedmo\Tree\Entity
                dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Tree/Entity"
                alias: MenuTree
                is_bundle: false
            gedmo_translatable:
                type: annotation
                prefix: Gedmo\Translatable\Entity
                dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Translatable/Entity"
                alias: GedmoTranslatable # (optional) it will default to the name set for the mapping
                is_bundle: false
            gedmo_translator:
                type: annotation
                prefix: Gedmo\Translator\Entity
                dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Translator/Entity"
                alias: GedmoTranslator # (optional) it will default to the name set for the mapping
                is_bundle: false

stof_doctrine_extensions:
    default_locale: "%locale%"
    translation_fallback: true
    orm:
        default:
            tree: true
            translatable: true
            sluggable: true
然后我写了我的个人实体,这是一个菜单项

<?php

namespace App\Entity\Menu;

use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;

/**
 *
 * @ORM\Table(name="mnu_item")
 * @ORM\Entity(repositoryClass="App\Repository\Menu\MenuItem")
 * @Gedmo\Tree(type="nested")
 * @Gedmo\TranslationEntity(class="App\Entity\Menu\MenuItemTranslation")
 */
class MenuItem{

    /**
     *
     * @var integer
     *
     * @ORM\Column(name="id", type="integer", options={"unsigned"=true})
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     *
     * @var string
     * @Gedmo\Translatable
     * @ORM\Column(name="label", type="string", length=255, nullable=true)
     */
    private $label;

    /**
     * @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;

    /**
     * @ORM\OneToMany(targetEntity="\App\Entity\Menu\MenuItemTranslation",
     *                mappedBy="object",
     *                cascade={"persist", "remove"})
     */
    private $translations;

    /**
     * @var \App\Entity\Menu\Menu
     *
     * @ORM\ManyToOne(targetEntity="App\Entity\Menu\Menu", inversedBy="menuItems")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="menu_id", referencedColumnName="id", onDelete="CASCADE")
     * })
     */
    private $menu;


    /**
     * Constructor
     */
    public function __construct() {
        $this->ruoli = new \Doctrine\Common\Collections\ArrayCollection();
        $this->children = new \Doctrine\Common\Collections\ArrayCollection();
    }

    /**
     * Get id
     *
     * @return integer
     */
    public function getId() {
        return $this->id;
    }

    /**
     * Set label
     *
     * @param string $label
     *
     * @return MenuItem
     */
    public function setLabel($label) {
        $this->label = $label;

        return $this;
    }

    /**
     * Get label
     *
     * @return string
     */
    public function getLabel() {
        return $this->label;
    }

    /**
     * Set menu
     *
     * @param \App\Entity\Menu\Menu $menu
     *
     * @return MenuItem
     */
    public function setMenu(\App\Entity\Menu\Menu $menu = null) {
        $this->menu = $menu;

        return $this;
    }

    /**
     * Get menu
     *
     * @return \App\Entity\Menu\Menu
     */
    public function getMenu() {
        return $this->menu;
    }

    /**
     * 
     * @return type
     */
    public function getTranslations(){
        return $this->translations;
    }

    /**
     * 
     * @param \App\Entity\Menu\MenuItemTranslation $t
     */
    public function addTranslation(MenuItemTranslation $t){
        if (!$this->translations->contains($t)) {
            $this->translations[] = $t;
            $t->setObject($this);
        }
    }

    public function setTranslatableLocale($locale){
        $this->locale = $locale;
    }
}
我搞砸了语言环境。
我改变了stof配置,因为我的网站都是英文的,我需要意大利语翻译

stof_doctrine_extensions:
    default_locale: "%locale%" #this is my error, just remove this line 
                               # to set it back to en_US (default value). 
                               # This indicates the locale of original table, 
                               # if it's set to the same
                               # locale of the entire system it won't 
                               # retrieve any translation
    translation_fallback: true
    orm:
        default:
            tree: true
            translatable: true
            sluggable: true
stof_doctrine_extensions:
    translation_fallback: true
    orm:
        default:
            tree: true
            translatable: true
            sluggable: true
所以正确的答案是

然后我改变了stof配置,因为我的网站都是英文的,我需要意大利语翻译

stof_doctrine_extensions:
    default_locale: "%locale%" #this is my error, just remove this line 
                               # to set it back to en_US (default value). 
                               # This indicates the locale of original table, 
                               # if it's set to the same
                               # locale of the entire system it won't 
                               # retrieve any translation
    translation_fallback: true
    orm:
        default:
            tree: true
            translatable: true
            sluggable: true
stof_doctrine_extensions:
    translation_fallback: true
    orm:
        default:
            tree: true
            translatable: true
            sluggable: true