laravel - laravel 中的多语言
问题描述
在我的 laravel 项目中,我想要多种语言。我知道有一个 lang 文件夹,您可以在其中存储不同的语言模板和其他内容。
问题是:
我的域是:example.com
,
默认情况下,我希望“EN”作为我的主要语言
所以用户会明白他改变了语言。但是我们他点击“EN”,网址中没有“EN”,并且将显示默认域。
解决方案
我将尝试回答这个问题。Laravel 实际上提供了一种非常干净的方法来做到这一点。所以基本上你需要App::setLocale($locale);
为请求会话设置默认语言环境。
为了清楚起见,从这里添加代码片段:
Route::get('welcome/{locale}', function ($locale) {
if (! in_array($locale, ['en', 'es', 'fr'])) {
abort(400);
}
App::setLocale($locale);
});
如果您不使用此方法,“en”将始终用作默认后备。
现在,进入第二部分,您要特别更改“en”的 url。在这种情况下,您只需添加一个redirect。
推荐阅读
- php - fread() 和 shell_exec() 返回相同的字符串,但是当我比较它们时,它在我的 PHP 代码中不起作用
- flutter - 超类'Bloc
' 没有零参数构造函数 - java - 不会打开从 eclipse Mac OS 导出的可运行 jar
- css - 样式化 React 组件的一致方法
- javascript - 用多个标签功能替换分割字符串
- reactjs - 空车,firebase-firestore react-hooks
- android - 如何更改华为应用市场中的Provider名称?
- c# - 如何在 C# 中优化 Time-Trigger Azure Function 的性能?
- node.js - 将我在 RTP 中收到的 pcma/aluw 文件转换为 wav 时如何消除添加的噪音?
- angular - 无法从 store 中选择最新的 ID,withLatestFrom 返回以前的 ID 而不是最后一个,为什么?