1

我已经实现了可翻译的扩展。如文档所示,我使用 Category (树扩展)实体和 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 语言环境,我无法获得英文翻译。一切都好像我的 Category 实体中的标题是英文一样,所以它不必寻找'en'翻译。

4

1 回答 1

2

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

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

否则你可以直接在监听器中设置 你也可以仔细阅读文档

于 2013-03-06T11:47:00.143 回答