我已经实现了可翻译扩展。我使用类别(树扩展)实体和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'
翻译。
答案 0 :(得分:2)
如果您使用stof bundle,则默认语言环境的配置如下:
# app/config/config.yml
stof_doctrine_extensions:
default_locale: en_US
否则您可以直接在listener中进行设置 您也可以仔细阅读文档