我想禁用翻译或强制使用英文版本以/admin
开头的路径。
有没有办法在配置中接近它?
如果不是最佳做法? EventListener
检查路由并强制执行英语翻译,无论请求中设置的语言环境如何?
答案 0 :(得分:1)
根据您import your routes的方式,您还可以在其上设置默认语言环境,而不设置其他选项(示例routing.yml):
app:
resource: '@AppBundle/Controller/'
type: annotation
app.admin:
resource: '@AppBundle/Controller/Admin/'
type: annotation
prefix: /admin
defaults:
_locale: nl
答案 1 :(得分:0)
我认为Requirements
方法最舒适:http://symfony.com/doc/current/translation/locale.html
在EventListener
对象中设置区域设置。提示:您可以使用Request
属性检查路由名称,而不是检查绝对URL。
答案 2 :(得分:0)
取自the docs:
app.admin:
resource: '@AppBundle/Controller/Admin/'
type: annotation
prefix: /{_locale}/admin
requirements:
_locale: nl
将语言环境放在网址中,这对搜索引擎更加友好。正如文档所说:
更好的策略是在URL中包含区域设置。路由系统使用特殊的_locale参数完全支持这一点: