【问题标题】:Optional culture parameter in Symfony 2 URL structure?Symfony 2 URL结构中的可选文化参数?
【发布时间】:2014-09-26 08:13:30
【问题描述】:

我的 Symfony 2 应用程序存在内部化问题。在旧网站 URL 结构中,默认文化是“en”,并且有许多网站的翻译版本,但对于英文版本,文化参数从 URL 中删除,如下所示:

/search - the culture "/en" is dropped
/fr/search - "/fr" is available
/es/search - likewise

我正在尝试在应用程序中创建路由,但我似乎没有找到使 URL 的“/en”部分成为可选的解决方案。

我检查了文档,但似乎没有选项。是否可以通过标准 Symfony 配置或者我应该为此做一个自定义路由器?

【问题讨论】:

    标签: symfony routing internationalization routes culture


    【解决方案1】:

    我建议查看https://github.com/schmittjoh/JMSI18nRoutingBundle

    基本上,这将允许您根据所选国家/地区将您的路线国际化。

    您可以使用传统的 symfony 路由来做到这一点,例如

     /**
     * @Route("/{country}")
     */
     Class Something {
    
         /**
         *@Route("/search"), name="search"
         */
         public function searchAction(){
    
         }
    
     }
    

    {country} 参数将成为动态路由路径的一部分的位置。

    但我会推荐 jms 解决方案,因为如果您希望采用这种方法,这将有助于轻松翻译您的页面。

    【讨论】:

    • 优秀的捆绑包,刚刚检查过,它完全符合设置所需的 - 策略:prefix_except_default
    • 无忧,乐于助人
    猜你喜欢
    • 2013-10-21
    • 1970-01-01
    • 2019-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多