我已经安装了fos用户包,i18n路由包和翻译包,并在应用内核中启用了它们。
对于我的配置,我有:
parameters.yml
parameters:
locale: en
config.yml
framework:
translator:
enabled: true
default_locale: %locale%
jms_i18n_routing:
default_locale: %locale%
locales: [%locale%, fr, es]
strategy: prefix_except_default
安全配置,所有路径均以^/[a-z][a-z]/
security.yml
access_control:
- { path: ^/[a-z][a-z]/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/[a-z][a-z]/login_check$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/[a-z][a-z]/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/[a-z][a-z]/profile/, role: ROLE_USER }
我还在fos_user
config ...
浏览器中的路线和网址一切正常
但唯一的问题是视图没有翻译。当我有/fr/my-path
语言环境路由属性为fr
_locale
是fr
request::locale
是fr
hl cookie为fr
。
我在Symfony\Component\Translation::trans()
设置了一个断点,似乎getLocale()
总是返回en
。
我的配置错误了吗?或者它可能是一个错误?