在doctrine扩展中是否有可转换的默认语言环境?

时间:2013-02-24 10:31:40

标签: symfony doctrine-orm doctrine-extensions

我已经实现了可翻译扩展。我使用类别(树扩展)实体和CategoryTranslation实体,如文档中所示。 Category实体中的所有标题都是法语。 我想用英语翻译我的网站,所以我在语言环境'en'中添加翻译,例如,像这样:

$cat = $em->getRepository('MyBundle:Category')->findOneByTitle('Nourriture');
$cat->addTranslation(new CategoryTranslation('en', 'title', 'Food'));
$em->persist($cat);
$em->flush();

但是当我查看mywebsite.com/en时,我发现Nourriture标题而不是英文翻译,而我在config.yml中的默认语言环境是'fr'

当我查看mywebsite.com/fr时,我的标题没有翻译,显示为空白。所以我做了同样的事情,但'fr'和'Nourriture'作为'fr'语言环境的翻译。

然后我重新检查mywebsite.com/fr,它的效果很好我有Nourriture头衔。

但它仍然不适用于en locale,我无法获得英文翻译。所有这些都发生在我的Category实体中的标题中,因为它不需要查找'en'翻译。

1 个答案:

答案 0 :(得分:2)

如果您使用stof bundle,则默认语言环境的配置如下:

# app/config/config.yml
stof_doctrine_extensions:
default_locale: en_US

否则您可以直接在listener中进行设置 您也可以仔细阅读文档