我正在尝试在我的网站上设置“国际化”。为了处理这个问题,我需要将“locales”设置为所有控制器 URL 的前缀(例如:mywebsite.com/ en /page),然后我在 Symfony4 文档中找到了这个帮助: https ://symfony.com /doc/current/routing/external_resources.html
我修改了这些文件如下
配置/routes.yaml
controllers:
resource: '../src/Controller/'
type: annotation
prefix: /{_locale}
requirements:
_locale: '%app.locales%'
defaults:
_locale: '%locale%'
配置/服务.yaml
parameters:
app.locales: en|es|fr|ru|mg
locale: 'en'
配置/包/translation.yaml
framework:
default_locale: '%locale%'
translator:
paths:
- '%kernel.project_dir%/translations'
fallbacks:
- '%locale%'
如果我按如下方式编写我的 URL:mywebsite.com/en/page,一切正常,但如果我省略在 URL 中编写 _locale,例如:mywebsite.com/page,它会返回 404 错误。我希望它能够到达mywebsite.com/en/page,因为“en”在我的文件中被指定为 default_locale。
我错过了什么 ?谢谢。