【发布时间】:2018-07-21 09:13:57
【问题描述】:
我正在尝试在一个小型个人项目中学习 symfony 4。但我对_locale 有一些解决方法。
我有这样的索引路线:
# /config/route.yaml
index:
path: /{_locale}
controller: App\Controller\IndexController::index
requirements:
_locale: '%app.locales%'
defaults:
path: /fr
还有一个服务设置,包含默认的语言环境和参数:
# /config/service.yaml
parameters:
locale: fr
app.locales: fr|en
将包含default_locale 的translation.yml 文件设置为fr。我试图只与fr|en 合作。
# /config/package/translation.yaml
framework:
default_locale: fr
translator:
paths:
- '%kernel.project_dir%/translations'
fallbacks:
- '%locale%'
我的意思是,当我对 url /fr 进行硬编码时,一切正常。但是,当 url 中未设置 {_locale} 时,不会重定向到 default_locale。在这种情况下,symfony 核心分析器会抛出一个错误:
No route found for "GET /%7B_locale%7D"
也许有些东西我不太明白,但如果设置了default_locale,它必须作为_locale 参数的后备,不是吗?
感谢您的宝贵时间
【问题讨论】:
标签: redirect routing localization symfony4