实现了语言更改本身。
中间件检查 URL 是否包含语言目录。如果是,则设置 App::setLocale($locale) 并加载页面。
更改语言时,我编辑 URL,在链接的开头我替换与所选语言对应的目录。更改语言时,会使用语言值写入 cookie。
所有路线合并成一个组。
我在 cookie 中的语言值不等于目录语言值的那一刻停止了(这可能发生在用户更改语言,但后来使用与另一种语言对应的旧链接返回站点时)。
如果 url 中的 cookie 和语言不同,我想进行重定向。但重定向不会保存 setLocale 并获得无限循环。也许在 $next($request) 中以某种方式可以传递其他 URL 值?但很可能这是我病态的幻想)
如果 cookie 中的语言和 url 中的语言不匹配,如何实现语言更改?
使用 cookie 或 url,否则您将始终有冲突。那些: