我创建了一个不打算进行翻译的应用程序,但是现在我决定添加此功能。问题是我的所有路线都像这样:

goodbye:
    pattern: /goodbye
    defaults: { _controller: AcmeBudgetTrackerBundle:Goodbye:goodbye }

我现在希望他们像这样:
goodbye:
    pattern: /goodbye/{_locale}
    defaults: { _controller: AcmeBudgetTrackerBundle:Goodbye:goodbye, _locale: en }
    requirements:
        _locale: en|bg

我真的必须这样做吗,并且是否有办法做更多的全局或自动操作,或者至少只添加一次请求,因为所有URL的请求都是相同的?提前非常感谢!

最佳答案

为此,请使用JMS18nRoutingBundle(documentation)。没有自定义加载程序,没有编码...

该捆绑包可以为您的所有路由添加区域设置前缀,而无需更改捆绑包的某些配置。这是使您入门的最快(也是我推荐的)解决方案。

您甚至可以将现有路线转换为不同的语言环境。

快速介绍可以在this coderwall post中找到。

09-10 09:33