我使用Symfony 3创建了一个新的简易网页(我是Symfony的新手,我在谷歌查看了一些帖子,在Symfony上查了一些帖子,或者在StackOverflow上查了一下,但没有什么不起作用)我只需要设置:
/
为默认en
lang,/cs
为捷克语,/fr
为法语,使用通用选项切换其他页面,例如{{1}等等。/contacts, /fr/contacts /fr/about
app/Resources/translations
我设置 config.yml :
{{ 'someone'|trans }}
messages.en.yml
parameters:
locale: cs
framework:
translator: { fallbacks: [cs] }
并在 base.html.twig :
中调用它contacts: Contacts
非常感谢
答案 0 :(得分:1)
这是我的工作解决方案
config.yml:
parameters:
locale: cs
app_locales: cs|en
web_root: '%kernel.root_dir%/../web/'
framework:
#esi: ~
translator: { fallbacks: ['%locale%'] }
default_locale: "%locale%"
在控制器中:
/**
*
* @Route(
* "/", name="home_cs",
* defaults={"_locale":"%locale%"}
* )
* @Route(
* "/{_locale}/", name="home",
* requirements={"_locale":"%app_locales%"}
* )
*
*/
public function indexAction(Request $request) {
return $this->render('home/index.html.twig');
}
模板header.html.twig:
<select class="selectpicker pull-right lang" data-width="fit">
<option data-content='<span class="flag-icon flag-icon-cz"></span>' {% if app.request.getLocale() == 'cs' %}selected{% endif %} >cs</option>
<option data-content='<span class="flag-icon flag-icon-us"></span>' {% if app.request.getLocale() == 'en' %}selected{% endif %} >en</option>
</select>