php - 如何使用 HTTP_ACCEPT_LANGUAGE 更改 Laravel 应用程序的语言?
问题描述
当用户访问它具有“/”、“faq”、“user/1/edit”的任何网址时,我正在尝试更改我的 Laravel 应用程序的语言,我知道我可以使用该请求来了解服务器接受的语言:
$locale = request->server('HTTP_ACCEPT_LANGUAGE');
我已经在处理我的资源/语言文件了。
问题是:如果用户获得了指向其中一个页面的直接链接并且正在加载它,那么无论他们要去哪条路线,我如何更改语言并以他的语言显示页面?
解决方案
创建一个分配给所有应该翻译的路由的中间件,并使用具有正确值的 App::setLocale() (我相信您想从浏览器的 Accept-Language 标头中获取它)
推荐阅读
- java - Spring Boot org.springframework.transaction.UnexpectedRollbackException:事务静默回滚,因为它已被标记为仅回滚
- json - 从一个请求中提取一个属性值,并在运行独立的wiremock服务器时使用不同的请求
- python - 如何在我的 python 代码中启用 Intel Extension for Pytorch(IPEX)?
- python - BananaPi m2 零 GPIO 调用总是导致打印
- html - 如何将一行按钮显示为网格
- ios - iOS:使用 UINavigationBarAppearance 时指定状态栏文本颜色现在 barstyle 被忽略
- javascript - WebGL 流体渐变背景与流体 Canvas.js
- plsql - 在 PL/SQL 中转储所有 blob 的最快方法
- python - 如何使用标记、颜色和 lw 选项绘制多个数据框列
- mongodb - Mongodb:加载导航时出错:BSON 文档中的 UTF-8 字符串无效