Mar*_*ing 13 php multilingual symfony twig
如何在Symfony中创建多语言页面?在Symfony 1.0中,Jobeet教程有很好的描述.但现在在symfony.com上,我还没有看到与翻译页面有关的事情.在symfony 1.4中,echo __('text'); 使用,但现在使用Symfony 2 TWIG.
Mat*_*att 19
Symfony2网站上有一个关于此的文档部分.
你可以在这里查看:翻译
基本上,您可以在路由中访问一个名为的特殊属性_locale,该属性将放在您的URL中,并将用于在会话中设置区域设置.请注意,使用此方案,区域设置值将自动设置为SessionSymfony2
http://www.host.com/en/contact // English version
http://www.host.com/fr/contact // French version
Run Code Online (Sandbox Code Playgroud)
您还可以_locale在路由中指定默认值,因此不必在URL中提供区域设置.
http://www.host.com/contact // English version if default _locale is 'en'
Run Code Online (Sandbox Code Playgroud)
然后,在twig中,您使用特殊变换器trans并transchoice转换消息.您的消息可以是用作密钥的密钥或自然语言消息,通常是英语.
{{ 'user.prompt.welcome' | trans }} {# Key message #}
{{ 'Welcome to our site' | trans }} {# Natural language message #}
Run Code Online (Sandbox Code Playgroud)
转换消息的语言环境取自会话,因此更改会话中的语言环境(通过url或programmaticaly)会将转换更改为其他内容.
这使用translator引擎盖下的服务.