Internationalization Symfony2新手:通过特殊路线和css实现国际化

Internationalization Symfony2新手:通过特殊路线和css实现国际化,internationalization,symfony,Internationalization,Symfony,我目前正在学习Symfony2。我喜欢它的干净和专业 我想知道什么是实现这一点的最简单方法,并使我的代码易于扩展 我的主要网站应该是英语www.mysite.com,www.mysite.com/aboutus,www.mysite.com/contact 第二个网站应该是阿拉伯语,链接可以在www.mysite.com/ar、www.mysite.com/ar/aboutus、www.mysite.com/ar/contact 当我点击chosing arabic language(选择阿拉伯

我目前正在学习Symfony2。我喜欢它的干净和专业

我想知道什么是实现这一点的最简单方法,并使我的代码易于扩展

  • 我的主要网站应该是英语
    www.mysite.com
    www.mysite.com/aboutus
    www.mysite.com/contact
  • 第二个网站应该是阿拉伯语,链接可以在
    www.mysite.com/ar、www.mysite.com/ar/aboutus、www.mysite.com/ar/contact
  • 当我点击chosing arabic language(选择阿拉伯语)时,我应该能够选择不同的细枝模板,针对
    RTL(从右到左)
    …和special
    CSS
    …等进行优化
  • 我知道我可以通过路由和细枝来做到这一点……但我(还)无法确定最短路径:哎呀:
    如果有任何帮助,我将不胜感激:)

    对于i18n路由,请检查JMS是否很棒。对于每种语言的细枝模板,有多种方法可以对这只猫进行蒙皮,但是最简单的方法是创建每种语言的模板文件,并在渲染时定义该文件。例如:

    public function indexAction($name)
    {
        return $this->render("AcmeHelloBundle:Hello:index.html.{$this->get('session')->getLocale()}.twig", array('name' => $name));
    }
    

    确保您同时创建index.html.en.twig和index.html.ar.twig模板。

    对于i18n路由,请检查JMS的妙处。对于每种语言的细枝模板,有多种方法可以对这只猫进行蒙皮,但是最简单的方法是创建每种语言的模板文件,并在渲染时定义该文件。例如:

    public function indexAction($name)
    {
        return $this->render("AcmeHelloBundle:Hello:index.html.{$this->get('session')->getLocale()}.twig", array('name' => $name));
    }
    

    确保您同时创建index.html.en.twig和index.html.ar.twig模板。

    甜蜜的回答…感谢男士将查看捆绑包和您的想法并让您知道甜蜜的回答…感谢男士将查看捆绑包和您的想法并让您知道